damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

project.pbxproj (358962B)


      1 // !$*UTF8*$!
      2 {
      3 	archiveVersion = 1;
      4 	classes = {
      5 	};
      6 	objectVersion = 55;
      7 	objects = {
      8 
      9 /* Begin PBXBuildFile section */
     10 		0E8A4BB72AE4359200065E81 /* NostrFilter+Hashable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E8A4BB62AE4359200065E81 /* NostrFilter+Hashable.swift */; };
     11 		3165648B295B70D500C64604 /* LinkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3165648A295B70D500C64604 /* LinkView.swift */; };
     12 		3169CAE6294E69C000EE4006 /* EmptyTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3169CAE5294E69C000EE4006 /* EmptyTimelineView.swift */; };
     13 		3169CAED294FCCFC00EE4006 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3169CAEC294FCCFC00EE4006 /* Constants.swift */; };
     14 		31D2E847295218AF006D67F8 /* Shimmer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31D2E846295218AF006D67F8 /* Shimmer.swift */; };
     15 		3A23838E2A297DD200E5AA2E /* ZapButtonModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A23838D2A297DD200E5AA2E /* ZapButtonModel.swift */; };
     16 		3A3040ED29A5CB86008A0F29 /* ReplyDescriptionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A3040EC29A5CB86008A0F29 /* ReplyDescriptionTests.swift */; };
     17 		3A3040F129A8FF97008A0F29 /* LocalizationUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A3040F029A8FF97008A0F29 /* LocalizationUtil.swift */; };
     18 		3A3040F329A91366008A0F29 /* ProfileViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A3040F229A91366008A0F29 /* ProfileViewTests.swift */; };
     19 		3A30410129AB12AA008A0F29 /* EventGroupViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A30410029AB12AA008A0F29 /* EventGroupViewTests.swift */; };
     20 		3A4325A82961E11400BFCD9D /* Localizable.stringsdict in Resources */ = {isa = PBXBuildFile; fileRef = 3A4325AA2961E11400BFCD9D /* Localizable.stringsdict */; };
     21 		3A4647CF2A413ADC00386AD8 /* CondensedProfilePicturesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A4647CE2A413ADC00386AD8 /* CondensedProfilePicturesView.swift */; };
     22 		3A48E7B029DFBE9D006E787E /* MutedThreadsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A48E7AF29DFBE9D006E787E /* MutedThreadsManager.swift */; };
     23 		3A5E47C52A4A6CF400C0D090 /* Trie.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A5E47C42A4A6CF400C0D090 /* Trie.swift */; };
     24 		3A5E47C72A4A76C800C0D090 /* TrieTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A5E47C62A4A76C800C0D090 /* TrieTests.swift */; };
     25 		3A8CC6CC2A2CFEF900940F5F /* StringUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A8CC6CB2A2CFEF900940F5F /* StringUtil.swift */; };
     26 		3A90B1812A4EA3AF00000D94 /* UserSearchCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A90B1802A4EA3AF00000D94 /* UserSearchCache.swift */; };
     27 		3A90B1832A4EA3C600000D94 /* UserSearchCacheTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A90B1822A4EA3C600000D94 /* UserSearchCacheTests.swift */; };
     28 		3AA247FF297E3D900090C62D /* RepostsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AA247FE297E3D900090C62D /* RepostsView.swift */; };
     29 		3AA24802297E3DC20090C62D /* RepostView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AA24801297E3DC20090C62D /* RepostView.swift */; };
     30 		3AA59D1D2999B0400061C48E /* DraftsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AA59D1C2999B0400061C48E /* DraftsModel.swift */; };
     31 		3AAA95CA298DF87B00F3D526 /* TranslationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AAA95C9298DF87B00F3D526 /* TranslationService.swift */; };
     32 		3AAA95CC298E07E900F3D526 /* DeepLPlan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AAA95CB298E07E900F3D526 /* DeepLPlan.swift */; };
     33 		3AAC7A022A60FE72002B50DF /* LocalizationUtilTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AAC7A012A60FE72002B50DF /* LocalizationUtilTests.swift */; };
     34 		3AB72AB9298ECF30004BB58C /* Translator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AB72AB8298ECF30004BB58C /* Translator.swift */; };
     35 		3ACB685C297633BC00C46468 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3ACB685A297633BC00C46468 /* InfoPlist.strings */; };
     36 		3ACB685F297633BC00C46468 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3ACB685D297633BC00C46468 /* Localizable.strings */; };
     37 		3ACBCB78295FE5C70037388A /* TimeAgoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ACBCB77295FE5C70037388A /* TimeAgoTests.swift */; };
     38 		3AE45AF6297BB2E700C1D842 /* LibreTranslateServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AE45AF5297BB2E700C1D842 /* LibreTranslateServer.swift */; };
     39 		3CCD1E6A2A874C4E0099A953 /* Nip98HTTPAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CCD1E692A874C4E0099A953 /* Nip98HTTPAuth.swift */; };
     40 		4C06670128FC7C5900038D2A /* RelayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670028FC7C5900038D2A /* RelayView.swift */; };
     41 		4C06670428FC7EC500038D2A /* Kingfisher in Frameworks */ = {isa = PBXBuildFile; productRef = 4C06670328FC7EC500038D2A /* Kingfisher */; };
     42 		4C06670628FCB08600038D2A /* ImageCarousel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670528FCB08600038D2A /* ImageCarousel.swift */; };
     43 		4C06670B28FDE64700038D2A /* damus.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670A28FDE64700038D2A /* damus.c */; };
     44 		4C06670E28FDEAA000038D2A /* utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670D28FDEAA000038D2A /* utf8.c */; };
     45 		4C0A3F8F280F640A000448DE /* ThreadModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A3F8E280F640A000448DE /* ThreadModel.swift */; };
     46 		4C0A3F93280F66F5000448DE /* ReplyMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C0A3F92280F66F5000448DE /* ReplyMap.swift */; };
     47 		4C0C03992A61E27B0098B3B8 /* primal.wasm in Resources */ = {isa = PBXBuildFile; fileRef = 4C0C03972A61E27B0098B3B8 /* primal.wasm */; };
     48 		4C0C039A2A61E27B0098B3B8 /* bool_setting.wasm in Resources */ = {isa = PBXBuildFile; fileRef = 4C0C03982A61E27B0098B3B8 /* bool_setting.wasm */; };
     49 		4C1253502A76C5B20004F4B8 /* UnfollowedNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C12534F2A76C5B20004F4B8 /* UnfollowedNotify.swift */; };
     50 		4C1253522A76C6130004F4B8 /* ComposeNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253512A76C6130004F4B8 /* ComposeNotify.swift */; };
     51 		4C1253542A76C7D60004F4B8 /* LogoutNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253532A76C7D60004F4B8 /* LogoutNotify.swift */; };
     52 		4C1253562A76C8C60004F4B8 /* BroadcastNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253552A76C8C60004F4B8 /* BroadcastNotify.swift */; };
     53 		4C1253582A76C9060004F4B8 /* PresentSheetNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253572A76C9060004F4B8 /* PresentSheetNotify.swift */; };
     54 		4C12535A2A76C9960004F4B8 /* UnfollowNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253592A76C9960004F4B8 /* UnfollowNotify.swift */; };
     55 		4C12535C2A76CA540004F4B8 /* LoginNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C12535B2A76CA540004F4B8 /* LoginNotify.swift */; };
     56 		4C12535E2A76CA870004F4B8 /* SwitchedTimelineNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C12535D2A76CA870004F4B8 /* SwitchedTimelineNotify.swift */; };
     57 		4C1253602A76CF890004F4B8 /* ScrollToTopNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C12535F2A76CF890004F4B8 /* ScrollToTopNotify.swift */; };
     58 		4C1253622A76D00B0004F4B8 /* PostNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253612A76D00B0004F4B8 /* PostNotify.swift */; };
     59 		4C1253642A76D08F0004F4B8 /* ReportNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253632A76D08F0004F4B8 /* ReportNotify.swift */; };
     60 		4C1253662A76D0FF0004F4B8 /* OnlyZapsNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253652A76D0FF0004F4B8 /* OnlyZapsNotify.swift */; };
     61 		4C1253682A76D2470004F4B8 /* MuteNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253672A76D2470004F4B8 /* MuteNotify.swift */; };
     62 		4C12536A2A76D3850004F4B8 /* RelaysChangedNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1253692A76D3850004F4B8 /* RelaysChangedNotify.swift */; };
     63 		4C15C7152A55DE7A00D0A0DB /* ReactionsSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C15C7142A55DE7A00D0A0DB /* ReactionsSettingsView.swift */; };
     64 		4C190F202A535FC200027FD5 /* CustomizeZapModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C190F1F2A535FC200027FD5 /* CustomizeZapModel.swift */; };
     65 		4C190F252A547D2000027FD5 /* LoadScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C190F242A547D2000027FD5 /* LoadScript.swift */; };
     66 		4C198DEF29F88C6B004C165C /* BlurHashEncode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C198DEB29F88C6B004C165C /* BlurHashEncode.swift */; };
     67 		4C198DF029F88C6B004C165C /* Readme.md in Resources */ = {isa = PBXBuildFile; fileRef = 4C198DEC29F88C6B004C165C /* Readme.md */; };
     68 		4C198DF129F88C6B004C165C /* License.txt in Resources */ = {isa = PBXBuildFile; fileRef = 4C198DED29F88C6B004C165C /* License.txt */; };
     69 		4C198DF229F88C6B004C165C /* BlurHashDecode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C198DEE29F88C6B004C165C /* BlurHashDecode.swift */; };
     70 		4C198DF529F88D2E004C165C /* ImageMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C198DF429F88D2E004C165C /* ImageMetadata.swift */; };
     71 		4C19AE512A5CEF7C00C90DB7 /* NostrScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C19AE4C2A5CEF7C00C90DB7 /* NostrScript.swift */; };
     72 		4C19AE552A5D977400C90DB7 /* HashtagTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C19AE542A5D977400C90DB7 /* HashtagTests.swift */; };
     73 		4C1A9A1A29DCA17E00516EAC /* ReplyCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A1929DCA17E00516EAC /* ReplyCounter.swift */; };
     74 		4C1A9A1D29DDCF9B00516EAC /* NotificationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A1C29DDCF9B00516EAC /* NotificationSettingsView.swift */; };
     75 		4C1A9A1F29DDD24B00516EAC /* AppearanceSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A1E29DDD24B00516EAC /* AppearanceSettingsView.swift */; };
     76 		4C1A9A2129DDD3E100516EAC /* KeySettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A2029DDD3E100516EAC /* KeySettingsView.swift */; };
     77 		4C1A9A2329DDDB8100516EAC /* IconLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A2229DDDB8100516EAC /* IconLabel.swift */; };
     78 		4C1A9A2529DDDF2600516EAC /* ZapSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A2429DDDF2600516EAC /* ZapSettingsView.swift */; };
     79 		4C1A9A2729DDE31900516EAC /* TranslationSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A2629DDE31900516EAC /* TranslationSettingsView.swift */; };
     80 		4C1A9A2A29DDF54400516EAC /* DamusVideoPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1A9A2929DDF54400516EAC /* DamusVideoPlayer.swift */; };
     81 		4C1D4FB12A7958E60024F453 /* VersionInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1D4FB02A7958E60024F453 /* VersionInfo.swift */; };
     82 		4C1D4FB42A7967990024F453 /* build-git-hash.txt in Resources */ = {isa = PBXBuildFile; fileRef = 4C1D4FB32A7967990024F453 /* build-git-hash.txt */; };
     83 		4C216F32286E388800040376 /* DMChatView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C216F31286E388800040376 /* DMChatView.swift */; };
     84 		4C216F34286F5ACD00040376 /* DMView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C216F33286F5ACD00040376 /* DMView.swift */; };
     85 		4C216F362870A9A700040376 /* InputDismissKeyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C216F352870A9A700040376 /* InputDismissKeyboard.swift */; };
     86 		4C216F382871EDE300040376 /* DirectMessageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C216F372871EDE300040376 /* DirectMessageModel.swift */; };
     87 		4C27C9322A64766F007DBC75 /* MarkdownUI in Frameworks */ = {isa = PBXBuildFile; productRef = 4C27C9312A64766F007DBC75 /* MarkdownUI */; };
     88 		4C2859602A12A2BE004746F7 /* SupporterBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C28595F2A12A2BE004746F7 /* SupporterBadge.swift */; };
     89 		4C2859622A12A7F0004746F7 /* GoldSupportGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2859612A12A7F0004746F7 /* GoldSupportGradient.swift */; };
     90 		4C285C8228385570008A31F1 /* CarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C8128385570008A31F1 /* CarouselView.swift */; };
     91 		4C285C8428385690008A31F1 /* CreateAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C8328385690008A31F1 /* CreateAccountView.swift */; };
     92 		4C285C86283892E7008A31F1 /* CreateAccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C85283892E7008A31F1 /* CreateAccountModel.swift */; };
     93 		4C285C8A2838B985008A31F1 /* ProfilePictureSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C892838B985008A31F1 /* ProfilePictureSelector.swift */; };
     94 		4C285C8C28398BC7008A31F1 /* Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C8B28398BC6008A31F1 /* Keys.swift */; };
     95 		4C285C8E28399BFE008A31F1 /* SaveKeysView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C8D28399BFD008A31F1 /* SaveKeysView.swift */; };
     96 		4C28A4122A6D03D200C1A7A5 /* ReferencedId.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C28A4112A6D03D200C1A7A5 /* ReferencedId.swift */; };
     97 		4C2B10282A7B0F5C008AA43E /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2B10272A7B0F5C008AA43E /* Log.swift */; };
     98 		4C2B7BF22A71B6540049DEE7 /* Id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2B7BF12A71B6540049DEE7 /* Id.swift */; };
     99 		4C2CDDF7299D4A5E00879FD5 /* Debouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2CDDF6299D4A5E00879FD5 /* Debouncer.swift */; };
    100 		4C30AC7229A5677A00E2BD5A /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C30AC7129A5677A00E2BD5A /* NotificationsView.swift */; };
    101 		4C30AC7429A5680900E2BD5A /* EventGroupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C30AC7329A5680900E2BD5A /* EventGroupView.swift */; };
    102 		4C30AC7629A5770900E2BD5A /* NotificationItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C30AC7529A5770900E2BD5A /* NotificationItemView.swift */; };
    103 		4C30AC7829A577AB00E2BD5A /* EventCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C30AC7729A577AB00E2BD5A /* EventCache.swift */; };
    104 		4C30AC8029A6A53F00E2BD5A /* ProfilePicturesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C30AC7F29A6A53F00E2BD5A /* ProfilePicturesView.swift */; };
    105 		4C32B9332A99845B00DC3548 /* Ndb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C478E242A9932C100489948 /* Ndb.swift */; };
    106 		4C32B9342A9AD01A00DC3548 /* NdbProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C478E2C2A9935D300489948 /* NdbProfile.swift */; };
    107 		4C32B94C2A9AD44700DC3548 /* FbConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9372A9AD44700DC3548 /* FbConstants.swift */; };
    108 		4C32B94D2A9AD44700DC3548 /* Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9382A9AD44700DC3548 /* Offset.swift */; };
    109 		4C32B94E2A9AD44700DC3548 /* Mutable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9392A9AD44700DC3548 /* Mutable.swift */; };
    110 		4C32B94F2A9AD44700DC3548 /* Int+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93A2A9AD44700DC3548 /* Int+extension.swift */; };
    111 		4C32B9502A9AD44700DC3548 /* FlatBufferBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93B2A9AD44700DC3548 /* FlatBufferBuilder.swift */; };
    112 		4C32B9512A9AD44700DC3548 /* FlatbuffersErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93C2A9AD44700DC3548 /* FlatbuffersErrors.swift */; };
    113 		4C32B9522A9AD44700DC3548 /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93D2A9AD44700DC3548 /* Message.swift */; };
    114 		4C32B9532A9AD44700DC3548 /* Verifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93E2A9AD44700DC3548 /* Verifier.swift */; };
    115 		4C32B9542A9AD44700DC3548 /* FlatBuffersUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93F2A9AD44700DC3548 /* FlatBuffersUtils.swift */; };
    116 		4C32B9552A9AD44700DC3548 /* ByteBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9402A9AD44700DC3548 /* ByteBuffer.swift */; };
    117 		4C32B9562A9AD44700DC3548 /* TableVerifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9412A9AD44700DC3548 /* TableVerifier.swift */; };
    118 		4C32B9572A9AD44700DC3548 /* Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9422A9AD44700DC3548 /* Root.swift */; };
    119 		4C32B9582A9AD44700DC3548 /* VeriferOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9432A9AD44700DC3548 /* VeriferOptions.swift */; };
    120 		4C32B9592A9AD44700DC3548 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9442A9AD44700DC3548 /* Table.swift */; };
    121 		4C32B95A2A9AD44700DC3548 /* Verifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9452A9AD44700DC3548 /* Verifiable.swift */; };
    122 		4C32B95B2A9AD44700DC3548 /* NativeObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9462A9AD44700DC3548 /* NativeObject.swift */; };
    123 		4C32B95C2A9AD44700DC3548 /* String+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9472A9AD44700DC3548 /* String+extension.swift */; };
    124 		4C32B95D2A9AD44700DC3548 /* Documentation.docc in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9482A9AD44700DC3548 /* Documentation.docc */; };
    125 		4C32B95E2A9AD44700DC3548 /* FlatBufferObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9492A9AD44700DC3548 /* FlatBufferObject.swift */; };
    126 		4C32B95F2A9AD44700DC3548 /* Enum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B94A2A9AD44700DC3548 /* Enum.swift */; };
    127 		4C32B9602A9AD44700DC3548 /* Struct.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B94B2A9AD44700DC3548 /* Struct.swift */; };
    128 		4C363A8428233689006E126D /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A8328233689006E126D /* Parser.swift */; };
    129 		4C363A8828236948006E126D /* BlocksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A8728236948006E126D /* BlocksView.swift */; };
    130 		4C363A8C28236B92006E126D /* PubkeyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A8B28236B92006E126D /* PubkeyView.swift */; };
    131 		4C363A8E28236FE4006E126D /* NoteContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A8D28236FE4006E126D /* NoteContentView.swift */; };
    132 		4C363A9028247A1D006E126D /* NostrLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A8F28247A1D006E126D /* NostrLink.swift */; };
    133 		4C363A922825FCF2006E126D /* ProfileUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A912825FCF2006E126D /* ProfileUpdate.swift */; };
    134 		4C363A94282704FA006E126D /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A93282704FA006E126D /* Post.swift */; };
    135 		4C363A962827096D006E126D /* PostBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A952827096D006E126D /* PostBlock.swift */; };
    136 		4C363A9A28283854006E126D /* Reply.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A9928283854006E126D /* Reply.swift */; };
    137 		4C363A9C282838B9006E126D /* EventRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A9B282838B9006E126D /* EventRef.swift */; };
    138 		4C363A9E2828A822006E126D /* ReplyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A9D2828A822006E126D /* ReplyTests.swift */; };
    139 		4C363AA02828A8DD006E126D /* LikeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A9F2828A8DD006E126D /* LikeTests.swift */; };
    140 		4C363AA228296A7E006E126D /* SearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363AA128296A7E006E126D /* SearchView.swift */; };
    141 		4C363AA428296DEE006E126D /* SearchModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363AA328296DEE006E126D /* SearchModel.swift */; };
    142 		4C363AA828297703006E126D /* InsertSort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363AA728297703006E126D /* InsertSort.swift */; };
    143 		4C3A1D3729637E0500558C0F /* PreviewCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3A1D3629637E0500558C0F /* PreviewCache.swift */; };
    144 		4C3AC79B28306D7B00E1F516 /* Contacts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC79A28306D7B00E1F516 /* Contacts.swift */; };
    145 		4C3AC79D2833036D00E1F516 /* FollowingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC79C2833036D00E1F516 /* FollowingView.swift */; };
    146 		4C3AC79F2833115300E1F516 /* FollowButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC79E2833115300E1F516 /* FollowButtonView.swift */; };
    147 		4C3AC7A12835A81400E1F516 /* SetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC7A02835A81400E1F516 /* SetupView.swift */; };
    148 		4C3AC7A52836987600E1F516 /* MainTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC7A42836987600E1F516 /* MainTabView.swift */; };
    149 		4C3AC7A728369BA200E1F516 /* SearchHomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC7A628369BA200E1F516 /* SearchHomeView.swift */; };
    150 		4C3BEFD22819DB9B00B3DE84 /* ProfileModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFD12819DB9B00B3DE84 /* ProfileModel.swift */; };
    151 		4C3BEFD42819DE8F00B3DE84 /* NostrKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFD32819DE8F00B3DE84 /* NostrKind.swift */; };
    152 		4C3BEFD6281D995700B3DE84 /* ActionBarModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFD5281D995700B3DE84 /* ActionBarModel.swift */; };
    153 		4C3BEFDA281DCA1400B3DE84 /* LikeCounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFD9281DCA1400B3DE84 /* LikeCounter.swift */; };
    154 		4C3BEFDC281DCE6100B3DE84 /* Liked.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFDB281DCE6100B3DE84 /* Liked.swift */; };
    155 		4C3BEFE0281DE1ED00B3DE84 /* DamusState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFDF281DE1ED00B3DE84 /* DamusState.swift */; };
    156 		4C3D52B6298DB4E6001C5831 /* ZapEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D52B5298DB4E6001C5831 /* ZapEvent.swift */; };
    157 		4C3D52B8298DB5C6001C5831 /* TextEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3D52B7298DB5C6001C5831 /* TextEvent.swift */; };
    158 		4C3DCC762A9FE9EC0091E592 /* NdbTxn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3DCC752A9FC2030091E592 /* NdbTxn.swift */; };
    159 		4C3EA63D28FF52D600C48A62 /* bolt11.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA63C28FF52D600C48A62 /* bolt11.c */; };
    160 		4C3EA64128FF553900C48A62 /* hash_u5.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64028FF553900C48A62 /* hash_u5.c */; };
    161 		4C3EA64428FF558100C48A62 /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64328FF558100C48A62 /* sha256.c */; };
    162 		4C3EA64928FF597700C48A62 /* bech32.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64828FF597700C48A62 /* bech32.c */; };
    163 		4C3EA64C28FF59AC00C48A62 /* bech32_util.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64B28FF59AC00C48A62 /* bech32_util.c */; };
    164 		4C3EA64F28FF59F200C48A62 /* tal.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64E28FF59F200C48A62 /* tal.c */; };
    165 		4C3EA66028FF5E7700C48A62 /* node_id.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA65F28FF5E7700C48A62 /* node_id.c */; };
    166 		4C3EA66528FF5F6800C48A62 /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA66428FF5F6800C48A62 /* mem.c */; };
    167 		4C3EA66828FF5F9900C48A62 /* hex.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA66728FF5F9900C48A62 /* hex.c */; };
    168 		4C3EA66D28FF782800C48A62 /* amount.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA66C28FF782800C48A62 /* amount.c */; };
    169 		4C3EA67528FF7A5A00C48A62 /* take.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67428FF7A5A00C48A62 /* take.c */; };
    170 		4C3EA67728FF7A9800C48A62 /* talstr.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67628FF7A9800C48A62 /* talstr.c */; };
    171 		4C3EA67928FF7ABF00C48A62 /* list.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67828FF7ABF00C48A62 /* list.c */; };
    172 		4C3EA67B28FF7B3900C48A62 /* InvoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67A28FF7B3900C48A62 /* InvoiceTests.swift */; };
    173 		4C3EA67D28FFBBA300C48A62 /* InvoicesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67C28FFBBA200C48A62 /* InvoicesView.swift */; };
    174 		4C3EA67F28FFC01D00C48A62 /* InvoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67E28FFC01D00C48A62 /* InvoiceView.swift */; };
    175 		4C42812C298C848200DBF26F /* TranslateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C42812B298C848200DBF26F /* TranslateView.swift */; };
    176 		4C463CBF2B960B96008A8C36 /* PurpleBackdrop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C463CBE2B960B96008A8C36 /* PurpleBackdrop.swift */; };
    177 		4C4793012A993CDA00489948 /* mdb.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4793002A993B9A00489948 /* mdb.c */; settings = {COMPILER_FLAGS = "-w"; }; };
    178 		4C4793042A993DC000489948 /* midl.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4793032A993DB900489948 /* midl.c */; settings = {COMPILER_FLAGS = "-w"; }; };
    179 		4C4793052A993E3200489948 /* builder.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792942A9939BD00489948 /* builder.c */; };
    180 		4C4793062A993E5300489948 /* json_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792C82A9939BD00489948 /* json_parser.c */; };
    181 		4C4793072A993E6200489948 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792CF2A9939BD00489948 /* emitter.c */; };
    182 		4C4793082A993E8900489948 /* refmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792D12A9939BD00489948 /* refmap.c */; };
    183 		4C4DD3DB2A6CA7E8005B4E85 /* ContentParsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4DD3DA2A6CA7E8005B4E85 /* ContentParsing.swift */; };
    184 		4C4E137B2A76D5FB00BDD832 /* MuteThreadNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4E137A2A76D5FB00BDD832 /* MuteThreadNotify.swift */; };
    185 		4C4E137D2A76D63600BDD832 /* UnmuteThreadNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4E137C2A76D63600BDD832 /* UnmuteThreadNotify.swift */; };
    186 		4C4F14A72A2A61A30045A0B9 /* NostrScriptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4F14A62A2A61A30045A0B9 /* NostrScriptTests.swift */; };
    187 		4C54AA0729A540BA003E4487 /* NotificationsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C54AA0629A540BA003E4487 /* NotificationsModel.swift */; };
    188 		4C54AA0A29A55429003E4487 /* EventGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C54AA0929A55429003E4487 /* EventGroup.swift */; };
    189 		4C54AA0C29A5543C003E4487 /* ZapGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C54AA0B29A5543C003E4487 /* ZapGroup.swift */; };
    190 		4C59B98C2A76C2550032FFEB /* ProfileUpdatedNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C59B98B2A76C2550032FFEB /* ProfileUpdatedNotify.swift */; };
    191 		4C5C7E68284ED36500A22DF5 /* SearchHomeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5C7E67284ED36500A22DF5 /* SearchHomeModel.swift */; };
    192 		4C5C7E6A284EDE2E00A22DF5 /* SearchResultsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5C7E69284EDE2E00A22DF5 /* SearchResultsView.swift */; };
    193 		4C5D5C992A6AF8F80024563C /* NdbNote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C90548A2A6AEDEE00811EEC /* NdbNote.swift */; };
    194 		4C5D5C9A2A6AF8F80024563C /* NdbTagIterator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9054882A6AED4700811EEC /* NdbTagIterator.swift */; };
    195 		4C5D5C9D2A6B2CB40024563C /* AsciiCharacter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5D5C9C2A6B2CB40024563C /* AsciiCharacter.swift */; };
    196 		4C5E54032A9522F600FF6E60 /* UserStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5E54022A9522F600FF6E60 /* UserStatus.swift */; };
    197 		4C5E54062A9671F800FF6E60 /* UserStatusSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5E54052A9671F800FF6E60 /* UserStatusSheet.swift */; };
    198 		4C5F9114283D694D0052CD1C /* FollowTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5F9113283D694D0052CD1C /* FollowTarget.swift */; };
    199 		4C5F9116283D855D0052CD1C /* EventsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5F9115283D855D0052CD1C /* EventsModel.swift */; };
    200 		4C5F9118283D88E40052CD1C /* FollowingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5F9117283D88E40052CD1C /* FollowingModel.swift */; };
    201 		4C633350283D40E500B1C9C3 /* HomeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C63334F283D40E500B1C9C3 /* HomeModel.swift */; };
    202 		4C633352283D419F00B1C9C3 /* SignalModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C633351283D419F00B1C9C3 /* SignalModel.swift */; };
    203 		4C64305C2A945AFF00B0C0E9 /* MusicController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C64305B2A945AFF00B0C0E9 /* MusicController.swift */; };
    204 		4C64987C286D03E000EAE2B3 /* DirectMessagesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C64987B286D03E000EAE2B3 /* DirectMessagesView.swift */; };
    205 		4C64987E286D082C00EAE2B3 /* DirectMessagesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C64987D286D082C00EAE2B3 /* DirectMessagesModel.swift */; };
    206 		4C649881286E0EE300EAE2B3 /* secp256k1 in Frameworks */ = {isa = PBXBuildFile; productRef = 4C649880286E0EE300EAE2B3 /* secp256k1 */; };
    207 		4C684A552A7E91FE005E6031 /* LongPostTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C684A542A7E91FE005E6031 /* LongPostTests.swift */; };
    208 		4C684A572A7FFAE6005E6031 /* UrlTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C684A562A7FFAE6005E6031 /* UrlTests.swift */; };
    209 		4C687C212A5F7ED00092C550 /* DamusBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C687C202A5F7ED00092C550 /* DamusBackground.swift */; };
    210 		4C687C242A5FA86D0092C550 /* SearchHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C687C232A5FA86D0092C550 /* SearchHeaderView.swift */; };
    211 		4C687C272A6039500092C550 /* TestData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C687C262A6039500092C550 /* TestData.swift */; };
    212 		4C73C5142A4437C10062CAC0 /* ZapUserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C73C5132A4437C10062CAC0 /* ZapUserView.swift */; };
    213 		4C75EFA427FA577B0006080F /* PostView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFA327FA577B0006080F /* PostView.swift */; };
    214 		4C75EFA627FF87A20006080F /* Nostr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFA527FF87A20006080F /* Nostr.swift */; };
    215 		4C75EFAD28049CFB0006080F /* PostButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFAC28049CFB0006080F /* PostButton.swift */; };
    216 		4C75EFAF28049D350006080F /* NostrFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFAE28049D340006080F /* NostrFilter.swift */; };
    217 		4C75EFB128049D510006080F /* NostrResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB028049D510006080F /* NostrResponse.swift */; };
    218 		4C75EFB328049D640006080F /* NostrEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB228049D640006080F /* NostrEvent.swift */; };
    219 		4C75EFB528049D790006080F /* Relay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB428049D790006080F /* Relay.swift */; };
    220 		4C75EFB728049D990006080F /* RelayPool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB628049D990006080F /* RelayPool.swift */; };
    221 		4C75EFB92804A2740006080F /* EventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB82804A2740006080F /* EventView.swift */; };
    222 		4C75EFBB2804A34C0006080F /* ProofOfWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFBA2804A34C0006080F /* ProofOfWork.swift */; };
    223 		4C7D09592A05BEAD00943473 /* KeyboardVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09582A05BEAD00943473 /* KeyboardVisible.swift */; };
    224 		4C7D095F2A098C5D00943473 /* ConnectWalletView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D095C2A098C5D00943473 /* ConnectWalletView.swift */; };
    225 		4C7D09602A098C5D00943473 /* WalletView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D095D2A098C5D00943473 /* WalletView.swift */; };
    226 		4C7D09622A098D0E00943473 /* WalletConnect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09612A098D0E00943473 /* WalletConnect.swift */; };
    227 		4C7D09662A0AE62100943473 /* AlbyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09652A0AE62100943473 /* AlbyButton.swift */; };
    228 		4C7D09682A0AE9B200943473 /* NWCScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09672A0AE9B200943473 /* NWCScannerView.swift */; };
    229 		4C7D096D2A0AEA0400943473 /* CodeScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D096A2A0AEA0400943473 /* CodeScanner.swift */; };
    230 		4C7D096E2A0AEA0400943473 /* ScannerCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D096B2A0AEA0400943473 /* ScannerCoordinator.swift */; };
    231 		4C7D096F2A0AEA0400943473 /* ScannerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D096C2A0AEA0400943473 /* ScannerViewController.swift */; };
    232 		4C7D09722A0AEF5E00943473 /* DamusGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09712A0AEF5E00943473 /* DamusGradient.swift */; };
    233 		4C7D09742A0AEF9000943473 /* AlbyGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09732A0AEF9000943473 /* AlbyGradient.swift */; };
    234 		4C7D09762A0AF19E00943473 /* FillAndStroke.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09752A0AF19E00943473 /* FillAndStroke.swift */; };
    235 		4C7D09782A0B0CC900943473 /* WalletModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09772A0B0CC900943473 /* WalletModel.swift */; };
    236 		4C7D097E2A0C58B900943473 /* WalletConnectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D097D2A0C58B900943473 /* WalletConnectTests.swift */; };
    237 		4C7FF7D52823313F009601DB /* Mentions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7FF7D42823313F009601DB /* Mentions.swift */; };
    238 		4C8682872814DE470026224F /* ProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8682862814DE470026224F /* ProfileView.swift */; };
    239 		4C86F7C42A76C44C00EC0817 /* ZappingNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C86F7C32A76C44C00EC0817 /* ZappingNotify.swift */; };
    240 		4C86F7C62A76C51100EC0817 /* AttachedWalletNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C86F7C52A76C51100EC0817 /* AttachedWalletNotify.swift */; };
    241 		4C8D00C829DF791C0036AF10 /* CompatibleAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00C729DF791C0036AF10 /* CompatibleAttribute.swift */; };
    242 		4C8D00CA29DF80350036AF10 /* TruncatedText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00C929DF80350036AF10 /* TruncatedText.swift */; };
    243 		4C8D00CC29DF92DF0036AF10 /* Hashtags.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00CB29DF92DF0036AF10 /* Hashtags.swift */; };
    244 		4C8D00CF29E38B950036AF10 /* nostr_bech32.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00CE29E38B950036AF10 /* nostr_bech32.c */; };
    245 		4C8D00D429E3C5D40036AF10 /* NIP19Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00D329E3C5D40036AF10 /* NIP19Tests.swift */; };
    246 		4C8D1A6C29F1DFC200ACDF75 /* FriendIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D1A6B29F1DFC200ACDF75 /* FriendIcon.swift */; };
    247 		4C8D1A6F29F31E5000ACDF75 /* FriendsButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D1A6E29F31E5000ACDF75 /* FriendsButton.swift */; };
    248 		4C8EC52529D1FA6C0085D9A8 /* DamusColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8EC52429D1FA6C0085D9A8 /* DamusColors.swift */; };
    249 		4C9054852A6AEAA000811EEC /* NdbTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9054842A6AEAA000811EEC /* NdbTests.swift */; };
    250 		4C90BD18283A9EE5008EE7EF /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C90BD17283A9EE5008EE7EF /* LoginView.swift */; };
    251 		4C90BD1A283AA67F008EE7EF /* Bech32.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C90BD19283AA67F008EE7EF /* Bech32.swift */; };
    252 		4C90BD1C283AC38E008EE7EF /* Bech32Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C90BD1B283AC38E008EE7EF /* Bech32Tests.swift */; };
    253 		4C9146FD2A2A87C200DDEA40 /* wasm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CA9276E2A2A5D110098A105 /* wasm.c */; };
    254 		4C9146FE2A2A87C200DDEA40 /* nostrscript.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4F14A92A2A71AB0045A0B9 /* nostrscript.c */; };
    255 		4C9147002A2A891E00DDEA40 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C9146FF2A2A891E00DDEA40 /* error.c */; };
    256 		4C94D6432BA5AEFE00C26EFF /* QuoteRepostsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C94D6422BA5AEFE00C26EFF /* QuoteRepostsView.swift */; };
    257 		4C987B57283FD07F0042CE38 /* FollowersModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C987B56283FD07F0042CE38 /* FollowersModel.swift */; };
    258 		4C9AA14A2A4587A6003F49FD /* NotificationStatusModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9AA1492A4587A6003F49FD /* NotificationStatusModel.swift */; };
    259 		4C9B0DEE2A65A75F00CBDA21 /* AttrStringTestExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9B0DED2A65A75F00CBDA21 /* AttrStringTestExtensions.swift */; };
    260 		4C9B0DF32A65C46800CBDA21 /* ProfileEditButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9B0DF22A65C46800CBDA21 /* ProfileEditButton.swift */; };
    261 		4C9BB83129C0ED4F00FC4E37 /* DisplayName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BB83029C0ED4F00FC4E37 /* DisplayName.swift */; };
    262 		4C9BB83429C12D9900FC4E37 /* EventProfileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BB83329C12D9900FC4E37 /* EventProfileName.swift */; };
    263 		4C9D6D162B1AA9C6004E5CD9 /* DisplayTabBarNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6D152B1AA9C6004E5CD9 /* DisplayTabBarNotify.swift */; };
    264 		4C9D6D1B2B1D35D7004E5CD9 /* PullDownSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9D6D1A2B1D35D7004E5CD9 /* PullDownSearch.swift */; };
    265 		4C9F18E229AA9B6C008C55EC /* CustomizeZapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9F18E129AA9B6C008C55EC /* CustomizeZapView.swift */; };
    266 		4C9F18E429ABDE6D008C55EC /* MaybeAnonPfpView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9F18E329ABDE6D008C55EC /* MaybeAnonPfpView.swift */; };
    267 		4CA2EFA0280E37AC0044ACD8 /* TimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA2EF9F280E37AC0044ACD8 /* TimelineView.swift */; };
    268 		4CA3529E2A76AE67003BB08B /* FollowNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3529D2A76AE67003BB08B /* FollowNotify.swift */; };
    269 		4CA352A02A76AE80003BB08B /* Notify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3529F2A76AE80003BB08B /* Notify.swift */; };
    270 		4CA352A22A76AEC5003BB08B /* LikedNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352A12A76AEC5003BB08B /* LikedNotify.swift */; };
    271 		4CA352A42A76AFF3003BB08B /* UpdateStatsNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352A32A76AFF3003BB08B /* UpdateStatsNotify.swift */; };
    272 		4CA352A82A76B37E003BB08B /* NewMutesNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352A72A76B37E003BB08B /* NewMutesNotify.swift */; };
    273 		4CA352AA2A76BF3A003BB08B /* LocalNotificationNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352A92A76BF3A003BB08B /* LocalNotificationNotify.swift */; };
    274 		4CA352AC2A76C07F003BB08B /* NewUnmutesNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352AB2A76C07F003BB08B /* NewUnmutesNotify.swift */; };
    275 		4CA352AE2A76C1AC003BB08B /* FollowedNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352AD2A76C1AC003BB08B /* FollowedNotify.swift */; };
    276 		4CA3FA1029F593D000FDB3C3 /* ZapTypePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3FA0F29F593D000FDB3C3 /* ZapTypePicker.swift */; };
    277 		4CA5588329F33F5B00DC6A45 /* StringCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA5588229F33F5B00DC6A45 /* StringCodable.swift */; };
    278 		4CA9275D2A28FF630098A105 /* LongformView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA9275C2A28FF630098A105 /* LongformView.swift */; };
    279 		4CA9275F2A2902B20098A105 /* LongformPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA9275E2A2902B20098A105 /* LongformPreview.swift */; };
    280 		4CA927612A290E340098A105 /* EventShell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA927602A290E340098A105 /* EventShell.swift */; };
    281 		4CA927632A290EB10098A105 /* EventTop.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA927622A290EB10098A105 /* EventTop.swift */; };
    282 		4CA927652A290F1A0098A105 /* TimeDot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA927642A290F1A0098A105 /* TimeDot.swift */; };
    283 		4CA927672A290F8B0098A105 /* RelativeTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA927662A290F8B0098A105 /* RelativeTime.swift */; };
    284 		4CA9276A2A290FC00098A105 /* ContextButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA927692A290FC00098A105 /* ContextButton.swift */; };
    285 		4CA9276C2A2910D10098A105 /* ReplyPart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA9276B2A2910D10098A105 /* ReplyPart.swift */; };
    286 		4CAAD8AD298851D000060CEA /* AccountDeletion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CAAD8AC298851D000060CEA /* AccountDeletion.swift */; };
    287 		4CAAD8B029888AD200060CEA /* RelayConfigView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CAAD8AF29888AD200060CEA /* RelayConfigView.swift */; };
    288 		4CACA9D5280C31E100D9BBE8 /* ReplyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CACA9D4280C31E100D9BBE8 /* ReplyView.swift */; };
    289 		4CACA9DC280C38C000D9BBE8 /* Profiles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CACA9DB280C38C000D9BBE8 /* Profiles.swift */; };
    290 		4CB55EF5295E679D007FD187 /* UserRelaysView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB55EF4295E679D007FD187 /* UserRelaysView.swift */; };
    291 		4CB8838629656C8B00DC99E7 /* NIP05.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8838529656C8B00DC99E7 /* NIP05.swift */; };
    292 		4CB88389296AF99A00DC99E7 /* EventDetailBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB88388296AF99A00DC99E7 /* EventDetailBar.swift */; };
    293 		4CB8838B296F6E1E00DC99E7 /* NIP05Badge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8838A296F6E1E00DC99E7 /* NIP05Badge.swift */; };
    294 		4CB8838D296F710400DC99E7 /* Reposted.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8838C296F710400DC99E7 /* Reposted.swift */; };
    295 		4CB8838F296F781C00DC99E7 /* ReactionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8838E296F781C00DC99E7 /* ReactionsView.swift */; };
    296 		4CB88396296F7F8B00DC99E7 /* ReactionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB88395296F7F8B00DC99E7 /* ReactionView.swift */; };
    297 		4CB8839A297322D200DC99E7 /* DMTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB88399297322D200DC99E7 /* DMTests.swift */; };
    298 		4CB883A62975F83C00DC99E7 /* LNUrlPayRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883A52975F83C00DC99E7 /* LNUrlPayRequest.swift */; };
    299 		4CB883A82975FC1800DC99E7 /* Zaps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883A72975FC1800DC99E7 /* Zaps.swift */; };
    300 		4CB883AA297612FF00DC99E7 /* ZapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883A9297612FF00DC99E7 /* ZapTests.swift */; };
    301 		4CB883AE2976FA9300DC99E7 /* FormatTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883AD2976FA9300DC99E7 /* FormatTests.swift */; };
    302 		4CB883B0297705DD00DC99E7 /* NoteZapButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883AF297705DD00DC99E7 /* NoteZapButton.swift */; };
    303 		4CB883B6297730E400DC99E7 /* LNUrls.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883B5297730E400DC99E7 /* LNUrls.swift */; };
    304 		4CB8FC232A41ABA800763C51 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8FC222A41ABA500763C51 /* AboutView.swift */; };
    305 		4CB9D4A72992D02B00A9A7E4 /* ProfileNameView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB9D4A62992D02B00A9A7E4 /* ProfileNameView.swift */; };
    306 		4CBCA930297DB57F00EC6B2F /* WebsiteLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CBCA92F297DB57F00EC6B2F /* WebsiteLink.swift */; };
    307 		4CC14FEF2A73FCCB007AEB17 /* IdType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FEE2A73FCCB007AEB17 /* IdType.swift */; };
    308 		4CC14FF12A73FCDB007AEB17 /* Pubkey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FF02A73FCDB007AEB17 /* Pubkey.swift */; };
    309 		4CC14FF52A740BB7007AEB17 /* NoteId.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FF42A740BB7007AEB17 /* NoteId.swift */; };
    310 		4CC14FF92A741939007AEB17 /* Referenced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FF82A741939007AEB17 /* Referenced.swift */; };
    311 		4CC6193A29DC777C006A86D1 /* RelayBootstrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC6193929DC777C006A86D1 /* RelayBootstrap.swift */; };
    312 		4CC7AAE7297EFA7B00430951 /* Zap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAE6297EFA7B00430951 /* Zap.swift */; };
    313 		4CC7AAEB297F0AEC00430951 /* BuilderEventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAEA297F0AEC00430951 /* BuilderEventView.swift */; };
    314 		4CC7AAED297F0B9E00430951 /* Highlight.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAEC297F0B9E00430951 /* Highlight.swift */; };
    315 		4CC7AAF0297F11C700430951 /* SelectedEventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAEF297F11C700430951 /* SelectedEventView.swift */; };
    316 		4CC7AAF4297F18B400430951 /* ReplyDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAF3297F18B400430951 /* ReplyDescription.swift */; };
    317 		4CC7AAF6297F1A6A00430951 /* EventBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAF5297F1A6A00430951 /* EventBody.swift */; };
    318 		4CC7AAF8297F1CEE00430951 /* EventProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAF7297F1CEE00430951 /* EventProfile.swift */; };
    319 		4CC7AAFA297F64AC00430951 /* EventMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAF9297F64AC00430951 /* EventMenu.swift */; };
    320 		4CCEB7AE29B53D260078AA28 /* SearchingEventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEB7AD29B53D260078AA28 /* SearchingEventView.swift */; };
    321 		4CCEB7B029B5415A0078AA28 /* SearchingProfileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CCEB7AF29B5415A0078AA28 /* SearchingProfileView.swift */; };
    322 		4CD348EF29C3659D00497EB2 /* ImageUploadModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CD348EE29C3659D00497EB2 /* ImageUploadModel.swift */; };
    323 		4CD7641B28A1641400B6928F /* EndBlock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CD7641A28A1641400B6928F /* EndBlock.swift */; };
    324 		4CDA128A29E9D10C0006FA5A /* SignalView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDA128929E9D10C0006FA5A /* SignalView.swift */; };
    325 		4CDA128C29EB19C40006FA5A /* LocalNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDA128B29EB19C40006FA5A /* LocalNotification.swift */; };
    326 		4CDD1AE02A6B305F001CD4DF /* NdbTagElem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDD1ADF2A6B305F001CD4DF /* NdbTagElem.swift */; };
    327 		4CDD1AE22A6B3074001CD4DF /* NdbTagsIterator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDD1AE12A6B3074001CD4DF /* NdbTagsIterator.swift */; };
    328 		4CE0E2AF29A2E82100DB4CA2 /* EventHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE0E2AE29A2E82100DB4CA2 /* EventHolder.swift */; };
    329 		4CE0E2B629A3ED5500DB4CA2 /* InnerTimelineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE0E2B529A3ED5500DB4CA2 /* InnerTimelineView.swift */; };
    330 		4CE1399029F0661A00AC6A0B /* RepostAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE1398F29F0661A00AC6A0B /* RepostAction.swift */; };
    331 		4CE1399229F0666100AC6A0B /* ShareActionButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE1399129F0666100AC6A0B /* ShareActionButton.swift */; };
    332 		4CE1399429F0669900AC6A0B /* BigButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE1399329F0669900AC6A0B /* BigButton.swift */; };
    333 		4CE4F0F229D4FCFA005914DB /* DebouncedOnChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4F0F129D4FCFA005914DB /* DebouncedOnChange.swift */; };
    334 		4CE4F0F429D779B5005914DB /* PostBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4F0F329D779B5005914DB /* PostBox.swift */; };
    335 		4CE4F0F829DB7399005914DB /* ThiccDivider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4F0F729DB7399005914DB /* ThiccDivider.swift */; };
    336 		4CE4F9DE2852768D00C00DD9 /* ConfigView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4F9DD2852768D00C00DD9 /* ConfigView.swift */; };
    337 		4CE4F9E328528C5200C00DD9 /* AddRelayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE4F9E228528C5200C00DD9 /* AddRelayView.swift */; };
    338 		4CE6DEE727F7A08100C66700 /* damusApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6DEE627F7A08100C66700 /* damusApp.swift */; };
    339 		4CE6DEE927F7A08100C66700 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6DEE827F7A08100C66700 /* ContentView.swift */; };
    340 		4CE6DEEB27F7A08200C66700 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4CE6DEEA27F7A08200C66700 /* Assets.xcassets */; };
    341 		4CE6DEEE27F7A08200C66700 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4CE6DEED27F7A08200C66700 /* Preview Assets.xcassets */; };
    342 		4CE6DEF827F7A08200C66700 /* damusTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6DEF727F7A08200C66700 /* damusTests.swift */; };
    343 		4CE6DF0227F7A08200C66700 /* damusUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6DF0127F7A08200C66700 /* damusUITests.swift */; };
    344 		4CE6DF0427F7A08200C66700 /* damusUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6DF0327F7A08200C66700 /* damusUITestsLaunchTests.swift */; };
    345 		4CE6DF1627F8DEBF00C66700 /* RelayConnection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE6DF1527F8DEBF00C66700 /* RelayConnection.swift */; };
    346 		4CE8794829941DA700F758CC /* RelayFilters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8794729941DA700F758CC /* RelayFilters.swift */; };
    347 		4CE8794E2996B16A00F758CC /* RelayToggle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8794D2996B16A00F758CC /* RelayToggle.swift */; };
    348 		4CE879502996B2BD00F758CC /* RelayStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8794F2996B2BD00F758CC /* RelayStatusView.swift */; };
    349 		4CE879522996B68900F758CC /* RelayType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE879512996B68900F758CC /* RelayType.swift */; };
    350 		4CE879552996BAB900F758CC /* RelayPaidDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE879542996BAB900F758CC /* RelayPaidDetail.swift */; };
    351 		4CE879582996C45300F758CC /* ZapsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE879572996C45300F758CC /* ZapsView.swift */; };
    352 		4CE8795B2996C47A00F758CC /* ZapsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CE8795A2996C47A00F758CC /* ZapsModel.swift */; };
    353 		4CE9FBBA2A6B3C63007E485C /* nostrdb.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CE9FBB82A6B3B26007E485C /* nostrdb.c */; settings = {COMPILER_FLAGS = "-w"; }; };
    354 		4CEE2AED2805B22500AB5EEF /* NostrRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE2AEC2805B22500AB5EEF /* NostrRequest.swift */; };
    355 		4CEE2AF1280B216B00AB5EEF /* EventDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE2AF0280B216B00AB5EEF /* EventDetailView.swift */; };
    356 		4CEE2AF3280B25C500AB5EEF /* ProfilePicView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE2AF2280B25C500AB5EEF /* ProfilePicView.swift */; };
    357 		4CEE2AF5280B29E600AB5EEF /* TimeAgo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE2AF4280B29E600AB5EEF /* TimeAgo.swift */; };
    358 		4CEE2AF7280B2DEA00AB5EEF /* ProfileName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE2AF6280B2DEA00AB5EEF /* ProfileName.swift */; };
    359 		4CEE2B02280B39E800AB5EEF /* EventActionBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CEE2B01280B39E800AB5EEF /* EventActionBar.swift */; };
    360 		4CEF958D2A9CE650000F901B /* verifier.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792D42A9939BD00489948 /* verifier.c */; };
    361 		4CF0ABD42980996B00D66079 /* Report.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABD32980996B00D66079 /* Report.swift */; };
    362 		4CF0ABD629817F5B00D66079 /* ReportView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABD529817F5B00D66079 /* ReportView.swift */; };
    363 		4CF0ABD82981980C00D66079 /* Lists.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABD72981980C00D66079 /* Lists.swift */; };
    364 		4CF0ABDC2981A19E00D66079 /* ListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABDB2981A19E00D66079 /* ListTests.swift */; };
    365 		4CF0ABE12981A83900D66079 /* MutelistView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE02981A83900D66079 /* MutelistView.swift */; };
    366 		4CF0ABE32981BC7D00D66079 /* UserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE22981BC7D00D66079 /* UserView.swift */; };
    367 		4CF0ABE52981EE0C00D66079 /* EULAView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE42981EE0C00D66079 /* EULAView.swift */; };
    368 		4CF0ABE7298444FD00D66079 /* EventMutingContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE6298444FC00D66079 /* EventMutingContainerView.swift */; };
    369 		4CF0ABE929844AF100D66079 /* AnyCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABE829844AF100D66079 /* AnyCodable.swift */; };
    370 		4CF0ABEC29844B4700D66079 /* AnyDecodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABEB29844B4700D66079 /* AnyDecodable.swift */; };
    371 		4CF0ABEE29844B5500D66079 /* AnyEncodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABED29844B5500D66079 /* AnyEncodable.swift */; };
    372 		4CF0ABF029857E9200D66079 /* Bech32Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABEF29857E9200D66079 /* Bech32Object.swift */; };
    373 		4CF0ABF62985CD5500D66079 /* UserSearch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABF52985CD5500D66079 /* UserSearch.swift */; };
    374 		4CF38C882A9442DC00BE01B6 /* UserStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF38C872A9442DC00BE01B6 /* UserStatusView.swift */; };
    375 		4CFD502F2A2DA45800A229DB /* MediaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFD502E2A2DA45800A229DB /* MediaView.swift */; };
    376 		4CFF8F5929C9FD1E008DB934 /* DamusPurpleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF8F5829C9FD1E008DB934 /* DamusPurpleView.swift */; };
    377 		4CFF8F6329CC9AD7008DB934 /* ImageContextMenuModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF8F6229CC9AD7008DB934 /* ImageContextMenuModifier.swift */; };
    378 		4CFF8F6729CC9E3A008DB934 /* FullScreenCarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF8F6629CC9E3A008DB934 /* FullScreenCarouselView.swift */; };
    379 		4CFF8F6929CC9ED1008DB934 /* ImageContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF8F6829CC9ED1008DB934 /* ImageContainerView.swift */; };
    380 		4CFF8F6B29CD0079008DB934 /* RepostedEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF8F6A29CD0079008DB934 /* RepostedEvent.swift */; };
    381 		4CFF8F6D29CD022E008DB934 /* WideEventView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CFF8F6C29CD022E008DB934 /* WideEventView.swift */; };
    382 		4FE60CDD295E1C5E00105A1F /* Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE60CDC295E1C5E00105A1F /* Wallet.swift */; };
    383 		50088DA129E8271A008A1FDF /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50088DA029E8271A008A1FDF /* WebSocket.swift */; };
    384 		501F8C802A0220E1001AFC1D /* KeychainStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 501F8C7F2A0220E1001AFC1D /* KeychainStorage.swift */; };
    385 		501F8C822A0224EB001AFC1D /* KeychainStorageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 501F8C812A0224EB001AFC1D /* KeychainStorageTests.swift */; };
    386 		504323A72A34915F006AE6DC /* RelayModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504323A62A34915F006AE6DC /* RelayModel.swift */; };
    387 		504323A92A3495B6006AE6DC /* RelayModelCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504323A82A3495B6006AE6DC /* RelayModelCache.swift */; };
    388 		5053ACA72A56DF3B00851AE3 /* DeveloperSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5053ACA62A56DF3B00851AE3 /* DeveloperSettingsView.swift */; };
    389 		50A16FFB2AA6C06600DFEC1F /* DamusAVPlayerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A16FFA2AA6C06600DFEC1F /* DamusAVPlayerView.swift */; };
    390 		50A16FFD2AA7525700DFEC1F /* DamusVideoPlayerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A16FFC2AA7525700DFEC1F /* DamusVideoPlayerViewModel.swift */; };
    391 		50A16FFF2AA76A0900DFEC1F /* VideoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A16FFE2AA76A0900DFEC1F /* VideoController.swift */; };
    392 		50A50A8D29A09E1C00C01BE7 /* RequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A50A8C29A09E1C00C01BE7 /* RequestTests.swift */; };
    393 		50A60D142A28BEEE00186190 /* RelayLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50A60D132A28BEEE00186190 /* RelayLog.swift */; };
    394 		50B5685329F97CB400A23243 /* CredentialHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50B5685229F97CB400A23243 /* CredentialHandler.swift */; };
    395 		50C3E08A2AA8E3F7006A4BC0 /* AVPlayer+Additions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C3E0892AA8E3F7006A4BC0 /* AVPlayer+Additions.swift */; };
    396 		50DA11262A16A23F00236234 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 50DA11252A16A23F00236234 /* Launch.storyboard */; };
    397 		5C0707D12A1ECB38004E7B51 /* DamusLogoGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C0707D02A1ECB38004E7B51 /* DamusLogoGradient.swift */; };
    398 		5C14C29B2BBBA29C00079FD2 /* RelaySoftwareDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C14C29A2BBBA29C00079FD2 /* RelaySoftwareDetail.swift */; };
    399 		5C14C29D2BBBA40B00079FD2 /* RelayAdminDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C14C29C2BBBA40B00079FD2 /* RelayAdminDetail.swift */; };
    400 		5C14C29F2BBBA5C600079FD2 /* RelayNipList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C14C29E2BBBA5C600079FD2 /* RelayNipList.swift */; };
    401 		5C42E78C29DB76D90086AAC1 /* EmptyUserSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C42E78B29DB76D90086AAC1 /* EmptyUserSearchView.swift */; };
    402 		5C513FBA297F72980072348F /* CustomPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C513FB9297F72980072348F /* CustomPicker.swift */; };
    403 		5C513FCC2984ACA60072348F /* QRCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C513FCB2984ACA60072348F /* QRCodeView.swift */; };
    404 		5C6E1DAD2A193EC2008FC15A /* GradientButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C6E1DAC2A193EC2008FC15A /* GradientButtonStyle.swift */; };
    405 		5C6E1DAF2A194075008FC15A /* PinkGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C6E1DAE2A194075008FC15A /* PinkGradient.swift */; };
    406 		5C7389B12B6EFA7100781E0A /* ProxyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C7389B02B6EFA7100781E0A /* ProxyView.swift */; };
    407 		5C7389B72B9E692E00781E0A /* MutinyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C7389B62B9E692E00781E0A /* MutinyButton.swift */; };
    408 		5C7389B92B9E69ED00781E0A /* MutinyGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C7389B82B9E69ED00781E0A /* MutinyGradient.swift */; };
    409 		5CC868DD2AA29B3200FB22BA /* NeutralButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CC868DC2AA29B3200FB22BA /* NeutralButtonStyle.swift */; };
    410 		5CF2DCCC2AA3AF0B00984B8D /* RelayPicView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF2DCCB2AA3AF0B00984B8D /* RelayPicView.swift */; };
    411 		5CF2DCCE2AABE1A500984B8D /* DamusLightGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF2DCCD2AABE1A500984B8D /* DamusLightGradient.swift */; };
    412 		5CF72FC229B9142F00124A13 /* ShareAction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CF72FC129B9142F00124A13 /* ShareAction.swift */; };
    413 		6439E014296790CF0020672B /* ProfilePicImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6439E013296790CF0020672B /* ProfilePicImageView.swift */; };
    414 		643EA5C8296B764E005081BB /* RelayFilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 643EA5C7296B764E005081BB /* RelayFilterView.swift */; };
    415 		647D9A8D2968520300A295DE /* SideMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 647D9A8C2968520300A295DE /* SideMenuView.swift */; };
    416 		64FBD06F296255C400D9D3B2 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64FBD06E296255C400D9D3B2 /* Theme.swift */; };
    417 		7527271E2A93FF0100214108 /* Block.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7527271D2A93FF0100214108 /* Block.swift */; };
    418 		75AD872B2AA23A460085EF2C /* Block+Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75AD872A2AA23A460085EF2C /* Block+Tests.swift */; };
    419 		7C60CAEF298471A1009C80D6 /* CoreSVG.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C60CAEE298471A1009C80D6 /* CoreSVG.swift */; };
    420 		7C902AE32981D55B002AB16E /* ZoomableScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C902AE22981D55B002AB16E /* ZoomableScrollView.swift */; };
    421 		7C95CAEE299DCEF1009DCB67 /* KFOptionSetter+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C95CAED299DCEF1009DCB67 /* KFOptionSetter+.swift */; };
    422 		7CFF6317299FEFE5005D382A /* SelectableText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CFF6316299FEFE5005D382A /* SelectableText.swift */; };
    423 		9609F058296E220800069BF3 /* BannerImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9609F057296E220800069BF3 /* BannerImageView.swift */; };
    424 		9C83F89329A937B900136C08 /* TextViewWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C83F89229A937B900136C08 /* TextViewWrapper.swift */; };
    425 		9CA876E229A00CEA0003B9A3 /* AttachMediaUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CA876E129A00CE90003B9A3 /* AttachMediaUtility.swift */; };
    426 		ADFE73552AD4793100EC7326 /* QRScanNSECView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADFE73542AD4793100EC7326 /* QRScanNSECView.swift */; };
    427 		B501062D2B363036003874F5 /* AuthIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B501062C2B363036003874F5 /* AuthIntegrationTests.swift */; };
    428 		B51C1CEA2B55A60A00E312A9 /* AddMuteItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51C1CE82B55A60A00E312A9 /* AddMuteItemView.swift */; };
    429 		B51C1CEB2B55A60A00E312A9 /* MuteDurationMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51C1CE92B55A60A00E312A9 /* MuteDurationMenu.swift */; };
    430 		B533694E2B66D791008A805E /* MutelistManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B533694D2B66D791008A805E /* MutelistManager.swift */; };
    431 		B57B4C622B312BD700A232C0 /* ReconnectRelaysNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = B57B4C612B312BD700A232C0 /* ReconnectRelaysNotify.swift */; };
    432 		B57B4C642B312BFA00A232C0 /* RelayAuthenticationDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = B57B4C632B312BFA00A232C0 /* RelayAuthenticationDetail.swift */; };
    433 		B57B4C662B312C3700A232C0 /* NostrAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = B57B4C652B312C3700A232C0 /* NostrAuth.swift */; };
    434 		B59CAD4D2B688D1000677E8B /* MutelistManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = B533694D2B66D791008A805E /* MutelistManager.swift */; };
    435 		B5A75C2A2B546D94007AFBC0 /* MuteItemTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A75C292B546D94007AFBC0 /* MuteItemTests.swift */; };
    436 		B5B4D1432B37D47600844320 /* NdbExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5B4D1422B37D47600844320 /* NdbExtensions.swift */; };
    437 		B5C60C202B530D5100C5ECA7 /* MuteItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5C60C1F2B530D5100C5ECA7 /* MuteItem.swift */; };
    438 		B5C60C212B530D5600C5ECA7 /* MuteItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5C60C1F2B530D5100C5ECA7 /* MuteItem.swift */; };
    439 		B5C60C232B532A8700C5ECA7 /* DamusDuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5C60C222B532A8700C5ECA7 /* DamusDuration.swift */; };
    440 		BA37598A2ABCCDE40018D73B /* ImageResizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3759892ABCCDE30018D73B /* ImageResizer.swift */; };
    441 		BA37598D2ABCCE500018D73B /* PhotoCaptureProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA37598B2ABCCE500018D73B /* PhotoCaptureProcessor.swift */; };
    442 		BA37598E2ABCCE500018D73B /* VideoCaptureProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA37598C2ABCCE500018D73B /* VideoCaptureProcessor.swift */; };
    443 		BA3759922ABCCEBA0018D73B /* CameraService+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA37598F2ABCCEBA0018D73B /* CameraService+Extensions.swift */; };
    444 		BA3759932ABCCEBA0018D73B /* CameraModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3759902ABCCEBA0018D73B /* CameraModel.swift */; };
    445 		BA3759942ABCCEBA0018D73B /* CameraService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3759912ABCCEBA0018D73B /* CameraService.swift */; };
    446 		BA3759972ABCCF360018D73B /* CameraPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA3759962ABCCF360018D73B /* CameraPreview.swift */; };
    447 		BA4AB0AE2A63B9270070A32A /* AddEmojiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA4AB0AD2A63B9270070A32A /* AddEmojiView.swift */; };
    448 		BA4AB0B02A63B94D0070A32A /* EmojiListItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA4AB0AF2A63B94D0070A32A /* EmojiListItemView.swift */; };
    449 		BA693074295D649800ADDB87 /* UserSettingsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA693073295D649800ADDB87 /* UserSettingsStore.swift */; };
    450 		BAB68BED29543FA3007BA466 /* SelectWalletView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAB68BEC29543FA3007BA466 /* SelectWalletView.swift */; };
    451 		D2277EEA2A089BD5006C3807 /* Router.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2277EE92A089BD5006C3807 /* Router.swift */; };
    452 		D70A3B172B02DCE5008BD568 /* NotificationFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D70A3B162B02DCE5008BD568 /* NotificationFormatter.swift */; };
    453 		D7100C562B76F8E600C59298 /* PurpleViewPrimitives.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7100C552B76F8E600C59298 /* PurpleViewPrimitives.swift */; };
    454 		D7100C582B76FC8400C59298 /* MarketingContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7100C572B76FC8400C59298 /* MarketingContentView.swift */; };
    455 		D7100C5A2B76FD5100C59298 /* LogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7100C592B76FD5100C59298 /* LogoView.swift */; };
    456 		D7100C5C2B77016700C59298 /* IAPProductStateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7100C5B2B77016700C59298 /* IAPProductStateView.swift */; };
    457 		D7100C5E2B7709ED00C59298 /* PurpleStoreKitManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7100C5D2B7709ED00C59298 /* PurpleStoreKitManager.swift */; };
    458 		D71AC4CC2BA8E3480076268E /* VisibilityTracker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71AC4CB2BA8E3480076268E /* VisibilityTracker.swift */; };
    459 		D71DC1EC2A9129C3006E207C /* PostViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D71DC1EB2A9129C3006E207C /* PostViewTests.swift */; };
    460 		D72341192B6864F200E1E135 /* DamusPurpleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72341182B6864F200E1E135 /* DamusPurpleEnvironment.swift */; };
    461 		D723411A2B6864F200E1E135 /* DamusPurpleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72341182B6864F200E1E135 /* DamusPurpleEnvironment.swift */; };
    462 		D723C38E2AB8D83400065664 /* ContentFilters.swift in Sources */ = {isa = PBXBuildFile; fileRef = D723C38D2AB8D83400065664 /* ContentFilters.swift */; };
    463 		D724D8272B64B40B00ABE789 /* DamusPurpleAccountView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D724D8262B64B40B00ABE789 /* DamusPurpleAccountView.swift */; };
    464 		D72927AD2BAB515C00F93E90 /* RelayURLTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72927AC2BAB515C00F93E90 /* RelayURLTests.swift */; };
    465 		D72A2D022AD9C136002AFF62 /* EventViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72A2CFF2AD9B66B002AFF62 /* EventViewTests.swift */; };
    466 		D72A2D052AD9C1B5002AFF62 /* MockDamusState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72A2D042AD9C1B5002AFF62 /* MockDamusState.swift */; };
    467 		D72A2D072AD9C1FB002AFF62 /* MockProfiles.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72A2D062AD9C1FB002AFF62 /* MockProfiles.swift */; };
    468 		D7315A2A2ACDF3B70036E30A /* DamusCacheManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7315A292ACDF3B70036E30A /* DamusCacheManager.swift */; };
    469 		D7315A2C2ACDF4DA0036E30A /* DamusCacheManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7315A2B2ACDF4DA0036E30A /* DamusCacheManagerTests.swift */; };
    470 		D7373BA62B688EA300F7783D /* DamusPurpleTranslationSetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7373BA52B688EA200F7783D /* DamusPurpleTranslationSetupView.swift */; };
    471 		D7373BA82B68974500F7783D /* DamusPurpleNewUserOnboardingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7373BA72B68974500F7783D /* DamusPurpleNewUserOnboardingView.swift */; };
    472 		D7373BAA2B68A65A00F7783D /* PurpleAccountUpdateNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7373BA92B68A65A00F7783D /* PurpleAccountUpdateNotify.swift */; };
    473 		D74AAFC22B153395006CF0F4 /* HeadlessDamusState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFC12B153395006CF0F4 /* HeadlessDamusState.swift */; };
    474 		D74AAFC32B153395006CF0F4 /* HeadlessDamusState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFC12B153395006CF0F4 /* HeadlessDamusState.swift */; };
    475 		D74AAFC52B1538DF006CF0F4 /* NotificationExtensionState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFC42B1538DE006CF0F4 /* NotificationExtensionState.swift */; };
    476 		D74AAFC62B155B8B006CF0F4 /* Zaps.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883A72975FC1800DC99E7 /* Zaps.swift */; };
    477 		D74AAFC72B155BD0006CF0F4 /* Zap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC7AAE6297EFA7B00430951 /* Zap.swift */; };
    478 		D74AAFC82B155C9D006CF0F4 /* InsertSort.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363AA728297703006E126D /* InsertSort.swift */; };
    479 		D74AAFC92B155CA5006CF0F4 /* UpdateStatsNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352A32A76AFF3003BB08B /* UpdateStatsNotify.swift */; };
    480 		D74AAFCC2B155D07006CF0F4 /* MakeZapRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFCB2B155D07006CF0F4 /* MakeZapRequest.swift */; };
    481 		D74AAFCD2B155D07006CF0F4 /* MakeZapRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFCB2B155D07006CF0F4 /* MakeZapRequest.swift */; };
    482 		D74AAFCF2B155D8C006CF0F4 /* ZapDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFCE2B155D8C006CF0F4 /* ZapDataModel.swift */; };
    483 		D74AAFD02B155D8C006CF0F4 /* ZapDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFCE2B155D8C006CF0F4 /* ZapDataModel.swift */; };
    484 		D74AAFD12B155DA4006CF0F4 /* RelayURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7FF93FF2AC7AC5200FD969D /* RelayURL.swift */; };
    485 		D74AAFD22B155E78006CF0F4 /* WalletConnect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7D09612A098D0E00943473 /* WalletConnect.swift */; };
    486 		D74AAFD42B155ECB006CF0F4 /* Zaps+.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFD32B155ECB006CF0F4 /* Zaps+.swift */; };
    487 		D74AAFD62B155F0C006CF0F4 /* WalletConnect+.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74AAFD52B155F0C006CF0F4 /* WalletConnect+.swift */; };
    488 		D74F430A2B23F0BE00425B75 /* DamusPurple.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74F43092B23F0BE00425B75 /* DamusPurple.swift */; };
    489 		D74F430C2B23FB9B00425B75 /* StoreObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D74F430B2B23FB9B00425B75 /* StoreObserver.swift */; };
    490 		D76556D62B1E6C08001B0CCC /* DamusPurpleWelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76556D52B1E6C08001B0CCC /* DamusPurpleWelcomeView.swift */; };
    491 		D76874F32AE3632B00FB0F68 /* ProfileZapLinkView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D76874F22AE3632B00FB0F68 /* ProfileZapLinkView.swift */; };
    492 		D77BFA0B2AE3051200621634 /* ProfileActionSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D77BFA0A2AE3051200621634 /* ProfileActionSheetView.swift */; };
    493 		D783A63F2AD4E53D00658DDA /* SuggestedHashtagsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D783A63E2AD4E53D00658DDA /* SuggestedHashtagsView.swift */; };
    494 		D78525252A7B2EA4002FA637 /* NoteContentViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D78525242A7B2EA4002FA637 /* NoteContentViewTests.swift */; };
    495 		D7870BC12AC4750B0080BA88 /* MentionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7870BC02AC4750B0080BA88 /* MentionView.swift */; };
    496 		D7870BC32AC47EBC0080BA88 /* EventLoaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7870BC22AC47EBC0080BA88 /* EventLoaderView.swift */; };
    497 		D789D1202AFEFBF20083A7AB /* secp256k1 in Frameworks */ = {isa = PBXBuildFile; productRef = D789D11F2AFEFBF20083A7AB /* secp256k1 */; };
    498 		D78CD5982B8990300014D539 /* DamusAppNotificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D78CD5972B8990300014D539 /* DamusAppNotificationView.swift */; };
    499 		D798D21A2B0856CC00234419 /* Mentions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C7FF7D42823313F009601DB /* Mentions.swift */; };
    500 		D798D21B2B0856F200234419 /* NdbTagsIterator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDD1AE12A6B3074001CD4DF /* NdbTagsIterator.swift */; };
    501 		D798D21C2B0857E400234419 /* Bech32Object.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CF0ABEF29857E9200D66079 /* Bech32Object.swift */; };
    502 		D798D21E2B0858BB00234419 /* MigratedTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D798D21D2B0858BB00234419 /* MigratedTypes.swift */; };
    503 		D798D21F2B0858D600234419 /* MigratedTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D798D21D2B0858BB00234419 /* MigratedTypes.swift */; };
    504 		D798D2202B08592000234419 /* NdbTagIterator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9054882A6AED4700811EEC /* NdbTagIterator.swift */; };
    505 		D798D2212B08594800234419 /* NdbTagElem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDD1ADF2A6B305F001CD4DF /* NdbTagElem.swift */; };
    506 		D798D2222B08598A00234419 /* ReferencedId.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C28A4112A6D03D200C1A7A5 /* ReferencedId.swift */; };
    507 		D798D2232B0859B700234419 /* KeychainStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 501F8C7F2A0220E1001AFC1D /* KeychainStorage.swift */; };
    508 		D798D2242B0859C900234419 /* LocalizationUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A3040F029A8FF97008A0F29 /* LocalizationUtil.swift */; };
    509 		D798D2252B0859D700234419 /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A93282704FA006E126D /* Post.swift */; };
    510 		D798D2262B085C4200234419 /* Bech32.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C90BD19283AA67F008EE7EF /* Bech32.swift */; };
    511 		D798D2282B085CDA00234419 /* NdbNote+.swift in Sources */ = {isa = PBXBuildFile; fileRef = D798D2272B085CDA00234419 /* NdbNote+.swift */; };
    512 		D798D2292B08686C00234419 /* ContentParsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4DD3DA2A6CA7E8005B4E85 /* ContentParsing.swift */; };
    513 		D798D22C2B086C7400234419 /* NostrEvent+.swift in Sources */ = {isa = PBXBuildFile; fileRef = D798D22B2B086C7400234419 /* NostrEvent+.swift */; };
    514 		D798D22D2B086DC400234419 /* NostrEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB228049D640006080F /* NostrEvent.swift */; };
    515 		D798D22E2B086E4800234419 /* NostrResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFB028049D510006080F /* NostrResponse.swift */; };
    516 		D79C4C172AFEB061003A41B4 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D79C4C162AFEB061003A41B4 /* NotificationService.swift */; };
    517 		D79C4C1B2AFEB061003A41B4 /* DamusNotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = D79C4C142AFEB061003A41B4 /* DamusNotificationService.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
    518 		D7A343EE2AD0D77C00CED48B /* InlineSnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = D7A343ED2AD0D77C00CED48B /* InlineSnapshotTesting */; };
    519 		D7A343F02AD0D77C00CED48B /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = D7A343EF2AD0D77C00CED48B /* SnapshotTesting */; };
    520 		D7ADD3DE2B53854300F104C4 /* DamusPurpleURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7ADD3DD2B53854300F104C4 /* DamusPurpleURL.swift */; };
    521 		D7ADD3E02B538D4200F104C4 /* DamusPurpleURLSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7ADD3DF2B538D4200F104C4 /* DamusPurpleURLSheetView.swift */; };
    522 		D7ADD3E22B538E3500F104C4 /* DamusPurpleVerifyNpubView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7ADD3E12B538E3500F104C4 /* DamusPurpleVerifyNpubView.swift */; };
    523 		D7C6787E2B2D34CC00BCEAFB /* NIP98AuthenticatedRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C6787D2B2D34CC00BCEAFB /* NIP98AuthenticatedRequest.swift */; };
    524 		D7CB5D3B2B112FBB00AD4105 /* NotificationFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D70A3B162B02DCE5008BD568 /* NotificationFormatter.swift */; };
    525 		D7CB5D3C2B1130C600AD4105 /* LocalNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CDA128B29EB19C40006FA5A /* LocalNotification.swift */; };
    526 		D7CB5D3E2B116DAD00AD4105 /* NotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D3D2B116DAD00AD4105 /* NotificationsManager.swift */; };
    527 		D7CB5D3F2B116DAD00AD4105 /* NotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D3D2B116DAD00AD4105 /* NotificationsManager.swift */; };
    528 		D7CB5D402B116E8A00AD4105 /* UserSettingsStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA693073295D649800ADDB87 /* UserSettingsStore.swift */; };
    529 		D7CB5D412B116F0900AD4105 /* StringCodable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA5588229F33F5B00DC6A45 /* StringCodable.swift */; };
    530 		D7CB5D422B116F8900AD4105 /* Contacts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3AC79A28306D7B00E1F516 /* Contacts.swift */; };
    531 		D7CB5D452B116FE800AD4105 /* Contacts+.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D442B116FE800AD4105 /* Contacts+.swift */; };
    532 		D7CB5D462B11703D00AD4105 /* Notify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA3529F2A76AE80003BB08B /* Notify.swift */; };
    533 		D7CB5D472B11718700AD4105 /* Wallet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE60CDC295E1C5E00105A1F /* Wallet.swift */; };
    534 		D7CB5D482B11719300AD4105 /* Profiles.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CACA9DB280C38C000D9BBE8 /* Profiles.swift */; };
    535 		D7CB5D4B2B11721600AD4105 /* ZapType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D4A2B11721600AD4105 /* ZapType.swift */; };
    536 		D7CB5D4C2B11721600AD4105 /* ZapType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D4A2B11721600AD4105 /* ZapType.swift */; };
    537 		D7CB5D4E2B11728000AD4105 /* NewEventsBits.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D4D2B11728000AD4105 /* NewEventsBits.swift */; };
    538 		D7CB5D4F2B11728000AD4105 /* NewEventsBits.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D4D2B11728000AD4105 /* NewEventsBits.swift */; };
    539 		D7CB5D512B1174D100AD4105 /* FriendFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D502B1174D100AD4105 /* FriendFilter.swift */; };
    540 		D7CB5D522B1174D100AD4105 /* FriendFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D502B1174D100AD4105 /* FriendFilter.swift */; };
    541 		D7CB5D532B1174E900AD4105 /* DeepLPlan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AAA95CB298E07E900F3D526 /* DeepLPlan.swift */; };
    542 		D7CB5D542B1174F700AD4105 /* NIP05.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB8838529656C8B00DC99E7 /* NIP05.swift */; };
    543 		D7CB5D552B11758A00AD4105 /* UnmuteThreadNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4E137C2A76D63600BDD832 /* UnmuteThreadNotify.swift */; };
    544 		D7CB5D562B11759900AD4105 /* MuteThreadNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C4E137A2A76D5FB00BDD832 /* MuteThreadNotify.swift */; };
    545 		D7CB5D572B11762900AD4105 /* UserStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5E54022A9522F600FF6E60 /* UserStatus.swift */; };
    546 		D7CB5D582B11763C00AD4105 /* NewMutesNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352A72A76B37E003BB08B /* NewMutesNotify.swift */; };
    547 		D7CB5D592B11764000AD4105 /* NewUnmutesNotify.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CA352AB2A76C07F003BB08B /* NewUnmutesNotify.swift */; };
    548 		D7CB5D5C2B1176B200AD4105 /* MediaUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D5B2B1176B200AD4105 /* MediaUploader.swift */; };
    549 		D7CB5D5D2B1176B200AD4105 /* MediaUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D5B2B1176B200AD4105 /* MediaUploader.swift */; };
    550 		D7CB5D5F2B11770C00AD4105 /* FollowState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D5E2B11770C00AD4105 /* FollowState.swift */; };
    551 		D7CB5D602B11770C00AD4105 /* FollowState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CB5D5E2B11770C00AD4105 /* FollowState.swift */; };
    552 		D7CBD1D42B8D21DC00BFD889 /* DamusPurpleNotificationManagement.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CBD1D32B8D21DC00BFD889 /* DamusPurpleNotificationManagement.swift */; };
    553 		D7CBD1D62B8D509800BFD889 /* DamusPurpleImpendingExpirationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7CBD1D52B8D509800BFD889 /* DamusPurpleImpendingExpirationTests.swift */; };
    554 		D7CCFC072B05833200323D86 /* NdbNote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C90548A2A6AEDEE00811EEC /* NdbNote.swift */; };
    555 		D7CCFC082B05834500323D86 /* NoteId.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FF42A740BB7007AEB17 /* NoteId.swift */; };
    556 		D7CCFC0B2B0585EA00323D86 /* nostrdb.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CE9FBB82A6B3B26007E485C /* nostrdb.c */; settings = {COMPILER_FLAGS = "-w"; }; };
    557 		D7CCFC0E2B0587C300323D86 /* EventRef.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C363A9B282838B9006E126D /* EventRef.swift */; };
    558 		D7CCFC0F2B0587F600323D86 /* Keys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C285C8B28398BC6008A31F1 /* Keys.swift */; };
    559 		D7CCFC102B05880F00323D86 /* Id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2B7BF12A71B6540049DEE7 /* Id.swift */; };
    560 		D7CCFC112B05884E00323D86 /* AsciiCharacter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C5D5C9C2A6B2CB40024563C /* AsciiCharacter.swift */; };
    561 		D7CCFC122B05886D00323D86 /* IdType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FEE2A73FCCB007AEB17 /* IdType.swift */; };
    562 		D7CCFC132B05887C00323D86 /* ProofOfWork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFBA2804A34C0006080F /* ProofOfWork.swift */; };
    563 		D7CCFC152B05891000323D86 /* Referenced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FF82A741939007AEB17 /* Referenced.swift */; };
    564 		D7CCFC162B05894300323D86 /* Pubkey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CC14FF02A73FCDB007AEB17 /* Pubkey.swift */; };
    565 		D7CCFC192B058A3F00323D86 /* Block.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7527271D2A93FF0100214108 /* Block.swift */; };
    566 		D7CD35132B1A72B800D63139 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3169CAEC294FCCFC00EE4006 /* Constants.swift */; };
    567 		D7CE1B182B0BDFDD002EDAD4 /* mdb.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4793002A993B9A00489948 /* mdb.c */; };
    568 		D7CE1B192B0BE132002EDAD4 /* builder.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792942A9939BD00489948 /* builder.c */; };
    569 		D7CE1B1A2B0BE135002EDAD4 /* json_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792C82A9939BD00489948 /* json_parser.c */; };
    570 		D7CE1B1B2B0BE144002EDAD4 /* emitter.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792CF2A9939BD00489948 /* emitter.c */; };
    571 		D7CE1B1C2B0BE147002EDAD4 /* refmap.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792D12A9939BD00489948 /* refmap.c */; };
    572 		D7CE1B1D2B0BE14A002EDAD4 /* verifier.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4792D42A9939BD00489948 /* verifier.c */; };
    573 		D7CE1B1E2B0BE190002EDAD4 /* midl.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C4793032A993DB900489948 /* midl.c */; };
    574 		D7CE1B1F2B0BE1B8002EDAD4 /* damus.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670A28FDE64700038D2A /* damus.c */; };
    575 		D7CE1B202B0BE1C8002EDAD4 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C9146FF2A2A891E00DDEA40 /* error.c */; };
    576 		D7CE1B212B0BE1CB002EDAD4 /* wasm.c in Sources */ = {isa = PBXBuildFile; fileRef = 4CA9276E2A2A5D110098A105 /* wasm.c */; };
    577 		D7CE1B222B0BE1EB002EDAD4 /* utf8.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C06670D28FDEAA000038D2A /* utf8.c */; };
    578 		D7CE1B232B0BE1EE002EDAD4 /* bolt11.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA63C28FF52D600C48A62 /* bolt11.c */; };
    579 		D7CE1B242B0BE1F1002EDAD4 /* hash_u5.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64028FF553900C48A62 /* hash_u5.c */; };
    580 		D7CE1B252B0BE1F4002EDAD4 /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64328FF558100C48A62 /* sha256.c */; };
    581 		D7CE1B262B0BE1F8002EDAD4 /* bech32.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64828FF597700C48A62 /* bech32.c */; };
    582 		D7CE1B272B0BE224002EDAD4 /* bech32_util.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64B28FF59AC00C48A62 /* bech32_util.c */; };
    583 		D7CE1B282B0BE226002EDAD4 /* tal.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA64E28FF59F200C48A62 /* tal.c */; };
    584 		D7CE1B292B0BE239002EDAD4 /* node_id.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA65F28FF5E7700C48A62 /* node_id.c */; };
    585 		D7CE1B2A2B0BE23E002EDAD4 /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA66428FF5F6800C48A62 /* mem.c */; };
    586 		D7CE1B2B2B0BE243002EDAD4 /* hex.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA66728FF5F9900C48A62 /* hex.c */; };
    587 		D7CE1B2C2B0BE24B002EDAD4 /* amount.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA66C28FF782800C48A62 /* amount.c */; };
    588 		D7CE1B2D2B0BE250002EDAD4 /* take.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67428FF7A5A00C48A62 /* take.c */; };
    589 		D7CE1B2E2B0BE25C002EDAD4 /* talstr.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67628FF7A9800C48A62 /* talstr.c */; };
    590 		D7CE1B2F2B0BE260002EDAD4 /* list.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C3EA67828FF7ABF00C48A62 /* list.c */; };
    591 		D7CE1B302B0BE263002EDAD4 /* nostr_bech32.c in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00CE29E38B950036AF10 /* nostr_bech32.c */; };
    592 		D7CE1B312B0BE69D002EDAD4 /* Ndb.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C478E242A9932C100489948 /* Ndb.swift */; };
    593 		D7CE1B322B0BE6C3002EDAD4 /* NdbTxn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3DCC752A9FC2030091E592 /* NdbTxn.swift */; };
    594 		D7CE1B332B0BE6DE002EDAD4 /* Nostr.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C75EFA527FF87A20006080F /* Nostr.swift */; };
    595 		D7CE1B342B0BE6EE002EDAD4 /* NdbProfile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C478E2C2A9935D300489948 /* NdbProfile.swift */; };
    596 		D7CE1B352B0BE6FA002EDAD4 /* ByteBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9402A9AD44700DC3548 /* ByteBuffer.swift */; };
    597 		D7CE1B362B0BE702002EDAD4 /* FbConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9372A9AD44700DC3548 /* FbConstants.swift */; };
    598 		D7CE1B372B0BE719002EDAD4 /* Verifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93E2A9AD44700DC3548 /* Verifier.swift */; };
    599 		D7CE1B382B0BE719002EDAD4 /* VeriferOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9432A9AD44700DC3548 /* VeriferOptions.swift */; };
    600 		D7CE1B392B0BE719002EDAD4 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9442A9AD44700DC3548 /* Table.swift */; };
    601 		D7CE1B3A2B0BE719002EDAD4 /* Struct.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B94B2A9AD44700DC3548 /* Struct.swift */; };
    602 		D7CE1B3B2B0BE719002EDAD4 /* Int+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93A2A9AD44700DC3548 /* Int+extension.swift */; };
    603 		D7CE1B3C2B0BE719002EDAD4 /* TableVerifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9412A9AD44700DC3548 /* TableVerifier.swift */; };
    604 		D7CE1B3D2B0BE719002EDAD4 /* Verifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9452A9AD44700DC3548 /* Verifiable.swift */; };
    605 		D7CE1B3E2B0BE719002EDAD4 /* FlatbuffersErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93C2A9AD44700DC3548 /* FlatbuffersErrors.swift */; };
    606 		D7CE1B3F2B0BE719002EDAD4 /* Enum.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B94A2A9AD44700DC3548 /* Enum.swift */; };
    607 		D7CE1B402B0BE719002EDAD4 /* FlatBufferObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9492A9AD44700DC3548 /* FlatBufferObject.swift */; };
    608 		D7CE1B412B0BE719002EDAD4 /* FlatBuffersUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93F2A9AD44700DC3548 /* FlatBuffersUtils.swift */; };
    609 		D7CE1B422B0BE719002EDAD4 /* Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9382A9AD44700DC3548 /* Offset.swift */; };
    610 		D7CE1B432B0BE719002EDAD4 /* String+extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9472A9AD44700DC3548 /* String+extension.swift */; };
    611 		D7CE1B442B0BE719002EDAD4 /* Mutable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9392A9AD44700DC3548 /* Mutable.swift */; };
    612 		D7CE1B452B0BE719002EDAD4 /* Root.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9422A9AD44700DC3548 /* Root.swift */; };
    613 		D7CE1B462B0BE719002EDAD4 /* FlatBufferBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93B2A9AD44700DC3548 /* FlatBufferBuilder.swift */; };
    614 		D7CE1B472B0BE719002EDAD4 /* NativeObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B9462A9AD44700DC3548 /* NativeObject.swift */; };
    615 		D7CE1B482B0BE719002EDAD4 /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C32B93D2A9AD44700DC3548 /* Message.swift */; };
    616 		D7CE1B492B0BE729002EDAD4 /* DisplayName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C9BB83029C0ED4F00FC4E37 /* DisplayName.swift */; };
    617 		D7DBD41F2B02F15E002A6197 /* NostrKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C3BEFD32819DE8F00B3DE84 /* NostrKind.swift */; };
    618 		D7DEEF2F2A8C021E00E0C99F /* NostrEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7DEEF2E2A8C021E00E0C99F /* NostrEventTests.swift */; };
    619 		D7EDED152B11776B0018B19C /* LibreTranslateServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AE45AF5297BB2E700C1D842 /* LibreTranslateServer.swift */; };
    620 		D7EDED162B1177840018B19C /* LNUrls.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883B5297730E400DC99E7 /* LNUrls.swift */; };
    621 		D7EDED172B1177960018B19C /* TranslationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AAA95C9298DF87B00F3D526 /* TranslationService.swift */; };
    622 		D7EDED182B1177A00018B19C /* LNUrlPayRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CB883A52975F83C00DC99E7 /* LNUrlPayRequest.swift */; };
    623 		D7EDED1C2B1178FE0018B19C /* NoteContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED1B2B1178FE0018B19C /* NoteContent.swift */; };
    624 		D7EDED1E2B11797D0018B19C /* LongformEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED1D2B11797D0018B19C /* LongformEvent.swift */; };
    625 		D7EDED1F2B11797D0018B19C /* LongformEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED1D2B11797D0018B19C /* LongformEvent.swift */; };
    626 		D7EDED212B117DCA0018B19C /* SequenceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED202B117DCA0018B19C /* SequenceUtils.swift */; };
    627 		D7EDED222B117DCA0018B19C /* SequenceUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED202B117DCA0018B19C /* SequenceUtils.swift */; };
    628 		D7EDED232B117DFB0018B19C /* NoteContent.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED1B2B1178FE0018B19C /* NoteContent.swift */; };
    629 		D7EDED262B117FC80018B19C /* StringUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A8CC6CB2A2CFEF900940F5F /* StringUtil.swift */; };
    630 		D7EDED272B117FF10018B19C /* CompatibleAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00C729DF791C0036AF10 /* CompatibleAttribute.swift */; };
    631 		D7EDED282B1180940018B19C /* ImageUploadModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4CD348EE29C3659D00497EB2 /* ImageUploadModel.swift */; };
    632 		D7EDED292B1182060018B19C /* AttachMediaUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CA876E129A00CE90003B9A3 /* AttachMediaUtility.swift */; };
    633 		D7EDED2A2B128CB40018B19C /* Nip98HTTPAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CCD1E692A874C4E0099A953 /* Nip98HTTPAuth.swift */; };
    634 		D7EDED2B2B128CDB0018B19C /* Hashtags.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8D00CB29DF92DF0036AF10 /* Hashtags.swift */; };
    635 		D7EDED2C2B128CFA0018B19C /* DamusColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C8EC52429D1FA6C0085D9A8 /* DamusColors.swift */; };
    636 		D7EDED2E2B128E8A0018B19C /* CollectionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED2D2B128E8A0018B19C /* CollectionExtension.swift */; };
    637 		D7EDED2F2B128E8A0018B19C /* CollectionExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED2D2B128E8A0018B19C /* CollectionExtension.swift */; };
    638 		D7EDED312B1290B80018B19C /* MarkdownUI in Frameworks */ = {isa = PBXBuildFile; productRef = D7EDED302B1290B80018B19C /* MarkdownUI */; };
    639 		D7EDED332B12ACAE0018B19C /* DamusUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED322B12ACAE0018B19C /* DamusUserDefaults.swift */; };
    640 		D7EDED342B12ACAE0018B19C /* DamusUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7EDED322B12ACAE0018B19C /* DamusUserDefaults.swift */; };
    641 		D7FB10A72B0C371A00FA8D42 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C2B10272A7B0F5C008AA43E /* Log.swift */; };
    642 		D7FF94002AC7AC5300FD969D /* RelayURL.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7FF93FF2AC7AC5200FD969D /* RelayURL.swift */; };
    643 		E02429952B7E97740088B16C /* CameraController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E02429942B7E97740088B16C /* CameraController.swift */; };
    644 		E02B54182B4DFADA0077FF42 /* Bech32ObjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E02B54172B4DFADA0077FF42 /* Bech32ObjectTests.swift */; };
    645 		E04A37C62B544F090029650D /* URIParsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = E04A37C52B544F090029650D /* URIParsing.swift */; };
    646 		E06336AA2B75832100A88E6B /* ImageMetadataTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E06336A92B75832100A88E6B /* ImageMetadataTest.swift */; };
    647 		E06336AB2B75850100A88E6B /* img_with_location.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = E06336A82B7582E000A88E6B /* img_with_location.jpeg */; };
    648 		E0E024112B7C19C20075735D /* TranslationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0E024102B7C19C20075735D /* TranslationTests.swift */; };
    649 		E0EE9DD42B8E5FEA00F3002D /* ImageProcessing.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0EE9DD32B8E5FEA00F3002D /* ImageProcessing.swift */; };
    650 		E4FA1C032A24BB7F00482697 /* SearchSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4FA1C022A24BB7F00482697 /* SearchSettingsView.swift */; };
    651 		E990020F2955F837003BBC5A /* EditMetadataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E990020E2955F837003BBC5A /* EditMetadataView.swift */; };
    652 		E9E4ED0B295867B900DD7078 /* ThreadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9E4ED0A295867B900DD7078 /* ThreadView.swift */; };
    653 		F71694EA2A662232001F4053 /* OnboardingSuggestionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F71694E92A662232001F4053 /* OnboardingSuggestionsView.swift */; };
    654 		F71694EC2A662292001F4053 /* SuggestedUsersViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F71694EB2A662292001F4053 /* SuggestedUsersViewModel.swift */; };
    655 		F71694EE2A6624F9001F4053 /* suggested_users.json in Resources */ = {isa = PBXBuildFile; fileRef = F71694ED2A6624F9001F4053 /* suggested_users.json */; };
    656 		F71694F22A67314D001F4053 /* SuggestedUserView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F71694F12A67314D001F4053 /* SuggestedUserView.swift */; };
    657 		F71694F42A6732B7001F4053 /* GradientFollowButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = F71694F32A6732B7001F4053 /* GradientFollowButton.swift */; };
    658 		F71694F82A6983AF001F4053 /* GrayGradient.swift in Sources */ = {isa = PBXBuildFile; fileRef = F71694F72A6983AF001F4053 /* GrayGradient.swift */; };
    659 		F757933A29D7AECD007DEAC1 /* MediaPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = F757933929D7AECD007DEAC1 /* MediaPicker.swift */; };
    660 		F75BA12D29A1855400E10810 /* BookmarksManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75BA12C29A1855400E10810 /* BookmarksManager.swift */; };
    661 		F75BA12F29A18EF500E10810 /* BookmarksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F75BA12E29A18EF500E10810 /* BookmarksView.swift */; };
    662 		F7908E92298B0F0700AB113A /* RelayDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7908E91298B0F0700AB113A /* RelayDetailView.swift */; };
    663 		F7908E97298B1FDF00AB113A /* NIPURLBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7908E96298B1FDF00AB113A /* NIPURLBuilder.swift */; };
    664 		F79C7FAD29D5E9620000F946 /* EditPictureControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = F79C7FAC29D5E9620000F946 /* EditPictureControl.swift */; };
    665 		F7F0BA25297892BD009531F3 /* SwipeToDismiss.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F0BA24297892BD009531F3 /* SwipeToDismiss.swift */; };
    666 		F7F0BA272978E54D009531F3 /* ParticipantsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F0BA262978E54D009531F3 /* ParticipantsView.swift */; };
    667 		F944F56E29EA9CCC0067B3BF /* DamusParseContentTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F944F56D29EA9CCC0067B3BF /* DamusParseContentTests.swift */; };
    668 /* End PBXBuildFile section */
    669 
    670 /* Begin PBXContainerItemProxy section */
    671 		4CE6DEF427F7A08200C66700 /* PBXContainerItemProxy */ = {
    672 			isa = PBXContainerItemProxy;
    673 			containerPortal = 4CE6DEDB27F7A08100C66700 /* Project object */;
    674 			proxyType = 1;
    675 			remoteGlobalIDString = 4CE6DEE227F7A08100C66700;
    676 			remoteInfo = damus;
    677 		};
    678 		4CE6DEFE27F7A08200C66700 /* PBXContainerItemProxy */ = {
    679 			isa = PBXContainerItemProxy;
    680 			containerPortal = 4CE6DEDB27F7A08100C66700 /* Project object */;
    681 			proxyType = 1;
    682 			remoteGlobalIDString = 4CE6DEE227F7A08100C66700;
    683 			remoteInfo = damus;
    684 		};
    685 		D79C4C192AFEB061003A41B4 /* PBXContainerItemProxy */ = {
    686 			isa = PBXContainerItemProxy;
    687 			containerPortal = 4CE6DEDB27F7A08100C66700 /* Project object */;
    688 			proxyType = 1;
    689 			remoteGlobalIDString = D79C4C132AFEB061003A41B4;
    690 			remoteInfo = DamusNotificationService;
    691 		};
    692 /* End PBXContainerItemProxy section */
    693 
    694 /* Begin PBXCopyFilesBuildPhase section */
    695 		D79C4C1D2AFEB061003A41B4 /* Embed Foundation Extensions */ = {
    696 			isa = PBXCopyFilesBuildPhase;
    697 			buildActionMask = 2147483647;
    698 			dstPath = "";
    699 			dstSubfolderSpec = 13;
    700 			files = (
    701 				D79C4C1B2AFEB061003A41B4 /* DamusNotificationService.appex in Embed Foundation Extensions */,
    702 			);
    703 			name = "Embed Foundation Extensions";
    704 			runOnlyForDeploymentPostprocessing = 0;
    705 		};
    706 /* End PBXCopyFilesBuildPhase section */
    707 
    708 /* Begin PBXFileReference section */
    709 		0E8A4BB62AE4359200065E81 /* NostrFilter+Hashable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NostrFilter+Hashable.swift"; sourceTree = "<group>"; };
    710 		3165648A295B70D500C64604 /* LinkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinkView.swift; sourceTree = "<group>"; };
    711 		3169CAE5294E69C000EE4006 /* EmptyTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyTimelineView.swift; sourceTree = "<group>"; };
    712 		3169CAEC294FCCFC00EE4006 /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Constants.swift; path = damus/Util/Constants.swift; sourceTree = SOURCE_ROOT; };
    713 		31D2E846295218AF006D67F8 /* Shimmer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Shimmer.swift; sourceTree = "<group>"; };
    714 		3A185A04297F2C3800F4BDC0 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    715 		3A185A05297F2C3800F4BDC0 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "lv-LV"; path = "lv-LV.lproj/Localizable.strings"; sourceTree = "<group>"; };
    716 		3A185A06297F2C3800F4BDC0 /* lv-LV */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "lv-LV"; path = "lv-LV.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    717 		3A23838D2A297DD200E5AA2E /* ZapButtonModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapButtonModel.swift; sourceTree = "<group>"; };
    718 		3A25EF132992DA5D008ABE69 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    719 		3A25EF142992DA5D008ABE69 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "el-GR"; path = "el-GR.lproj/Localizable.strings"; sourceTree = "<group>"; };
    720 		3A25EF152992DA5D008ABE69 /* el-GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "el-GR"; path = "el-GR.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    721 		3A2B8B0A296A8982009CC16D /* en-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "en-US"; path = "en-US.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    722 		3A3040EC29A5CB86008A0F29 /* ReplyDescriptionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyDescriptionTests.swift; sourceTree = "<group>"; };
    723 		3A3040F029A8FF97008A0F29 /* LocalizationUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizationUtil.swift; sourceTree = "<group>"; };
    724 		3A3040F229A91366008A0F29 /* ProfileViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileViewTests.swift; sourceTree = "<group>"; };
    725 		3A3040F929A91ED6008A0F29 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    726 		3A3040FA29A91EFC008A0F29 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-HK"; path = "zh-HK.lproj/Localizable.strings"; sourceTree = "<group>"; };
    727 		3A3040FB29A91F03008A0F29 /* zh-HK */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-HK"; path = "zh-HK.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    728 		3A3040FC29A91F31008A0F29 /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = "zh-TW.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    729 		3A3040FD29A91F31008A0F29 /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-TW"; path = "zh-TW.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    730 		3A3040FE29A91F31008A0F29 /* zh-TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-TW"; path = "zh-TW.lproj/Localizable.strings"; sourceTree = "<group>"; };
    731 		3A3040FF29AB02D1008A0F29 /* en-US */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-US"; path = "en-US.lproj/Localizable.strings"; sourceTree = "<group>"; };
    732 		3A30410029AB12AA008A0F29 /* EventGroupViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventGroupViewTests.swift; sourceTree = "<group>"; };
    733 		3A325AC429C9E0B8002BE7ED /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Localizable.strings; sourceTree = "<group>"; };
    734 		3A325AC529C9E0B8002BE7ED /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    735 		3A325AC629C9E0B8002BE7ED /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = vi; path = vi.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    736 		3A325AC729C9E0CF002BE7ED /* es-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-ES"; path = "es-ES.lproj/Localizable.strings"; sourceTree = "<group>"; };
    737 		3A325AC829C9E0CF002BE7ED /* es-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-ES"; path = "es-ES.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    738 		3A325AC929C9E0CF002BE7ED /* es-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "es-ES"; path = "es-ES.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    739 		3A41E559299D52BE001FA465 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    740 		3A41E55A299D52BE001FA465 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Localizable.strings; sourceTree = "<group>"; };
    741 		3A41E55B299D52BE001FA465 /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = id; path = id.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    742 		3A4647CE2A413ADC00386AD8 /* CondensedProfilePicturesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CondensedProfilePicturesView.swift; sourceTree = "<group>"; };
    743 		3A48E7AF29DFBE9D006E787E /* MutedThreadsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutedThreadsManager.swift; sourceTree = "<group>"; };
    744 		3A5C4575296A879E0032D398 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "es-419"; path = "es-419.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    745 		3A5CAE1D298DC0DB00B5334F /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-CN"; path = "zh-CN.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    746 		3A5CAE1E298DC0DB00B5334F /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-CN"; path = "zh-CN.lproj/Localizable.strings"; sourceTree = "<group>"; };
    747 		3A5CAE1F298DC0DB00B5334F /* zh-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "zh-CN"; path = "zh-CN.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    748 		3A5E47C42A4A6CF400C0D090 /* Trie.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Trie.swift; sourceTree = "<group>"; };
    749 		3A5E47C62A4A76C800C0D090 /* TrieTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrieTests.swift; sourceTree = "<group>"; };
    750 		3A66D927299472FA008B44F4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    751 		3A66D928299472FA008B44F4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Localizable.strings; sourceTree = "<group>"; };
    752 		3A66D929299472FA008B44F4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ja; path = ja.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    753 		3A821C3E29E819D500B4BCA7 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
    754 		3A821C3F29E819D500B4BCA7 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    755 		3A821C4029E819D500B4BCA7 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = fr; path = fr.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    756 		3A827A18299FC69D00C4D171 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    757 		3A827A19299FC69D00C4D171 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = "<group>"; };
    758 		3A827A1A299FC69D00C4D171 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ru; path = ru.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    759 		3A8624D9299E82BE00BD8BE9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    760 		3A8624DA299E82BE00BD8BE9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
    761 		3A8624DB299E82BE00BD8BE9 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = cs; path = cs.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    762 		3A8CC6CB2A2CFEF900940F5F /* StringUtil.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringUtil.swift; sourceTree = "<group>"; };
    763 		3A90B1802A4EA3AF00000D94 /* UserSearchCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserSearchCache.swift; sourceTree = "<group>"; };
    764 		3A90B1822A4EA3C600000D94 /* UserSearchCacheTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSearchCacheTests.swift; sourceTree = "<group>"; };
    765 		3A929C20297F2CF80090925E /* it-IT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "it-IT"; path = "it-IT.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    766 		3A929C21297F2CF80090925E /* it-IT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "it-IT"; path = "it-IT.lproj/Localizable.strings"; sourceTree = "<group>"; };
    767 		3A929C22297F2CF80090925E /* it-IT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "it-IT"; path = "it-IT.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    768 		3A93342929884CA600D6A8F3 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    769 		3A93342A29884CA600D6A8F3 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pl-PL"; path = "pl-PL.lproj/Localizable.strings"; sourceTree = "<group>"; };
    770 		3A93342B29884CA600D6A8F3 /* pl-PL */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pl-PL"; path = "pl-PL.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    771 		3A96D41A298DA94500388A2A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    772 		3A96D41B298DA94500388A2A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = "<group>"; };
    773 		3A96D41C298DA94500388A2A /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = nl; path = nl.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    774 		3AA247FE297E3D900090C62D /* RepostsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RepostsView.swift; sourceTree = "<group>"; };
    775 		3AA24801297E3DC20090C62D /* RepostView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RepostView.swift; sourceTree = "<group>"; };
    776 		3AA59D1C2999B0400061C48E /* DraftsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DraftsModel.swift; sourceTree = "<group>"; };
    777 		3AA5E70229B682A5002701ED /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Localizable.strings; sourceTree = "<group>"; };
    778 		3AA5E70329B682AD002701ED /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    779 		3AA5E70429B682B3002701ED /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = uk; path = uk.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    780 		3AA5E70529B9E83E002701ED /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    781 		3AA5E70629B9E844002701ED /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg; path = bg.lproj/Localizable.strings; sourceTree = "<group>"; };
    782 		3AA5E70729B9E84A002701ED /* bg */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = bg; path = bg.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    783 		3AAA95C9298DF87B00F3D526 /* TranslationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranslationService.swift; sourceTree = "<group>"; };
    784 		3AAA95CB298E07E900F3D526 /* DeepLPlan.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeepLPlan.swift; sourceTree = "<group>"; };
    785 		3AAC7A012A60FE72002B50DF /* LocalizationUtilTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalizationUtilTests.swift; sourceTree = "<group>"; };
    786 		3AB5B86A2986D8A3006599D2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    787 		3AB5B86B2986D8A3006599D2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = "<group>"; };
    788 		3AB5B86C2986D8A3006599D2 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = de; path = de.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    789 		3AB72AB8298ECF30004BB58C /* Translator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Translator.swift; sourceTree = "<group>"; };
    790 		3ABACEBF2A5B3ED10037A847 /* sw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sw; path = sw.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    791 		3ABACEC02A5B3ED10037A847 /* sw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = sw; path = sw.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    792 		3ABACEC12A5B3ED10037A847 /* sw */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sw; path = sw.lproj/Localizable.strings; sourceTree = "<group>"; };
    793 		3AC524EE298C000B00693EBF /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    794 		3AC524EF298C000B00693EBF /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
    795 		3AC524F0298C000B00693EBF /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ar; path = ar.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    796 		3AC59CA729CDDB78007E04A6 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Localizable.strings"; sourceTree = "<group>"; };
    797 		3AC59CA829CDDB78007E04A6 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    798 		3AC59CA929CDDB78007E04A6 /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pt-BR"; path = "pt-BR.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    799 		3ACB685B297633BC00C46468 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    800 		3ACB685E297633BC00C46468 /* es-419 */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-419"; path = "es-419.lproj/Localizable.strings"; sourceTree = "<group>"; };
    801 		3ACBCB77295FE5C70037388A /* TimeAgoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeAgoTests.swift; sourceTree = "<group>"; };
    802 		3AD14EB529C40F38009D2D9C /* hu-HU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "hu-HU"; path = "hu-HU.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    803 		3AD14EB629C40F38009D2D9C /* hu-HU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "hu-HU"; path = "hu-HU.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    804 		3AD14EB729C40F38009D2D9C /* hu-HU */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "hu-HU"; path = "hu-HU.lproj/Localizable.strings"; sourceTree = "<group>"; };
    805 		3AD14EB829C40F3F009D2D9C /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "sv-SE"; path = "sv-SE.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    806 		3AD14EB929C40F3F009D2D9C /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    807 		3AD14EBA29C40F3F009D2D9C /* sv-SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "sv-SE"; path = "sv-SE.lproj/Localizable.strings"; sourceTree = "<group>"; };
    808 		3AD5662B29BD2F5300BF77C5 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    809 		3AD5662C29BD2F5300BF77C5 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = fa; path = fa.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    810 		3AD5662D29BD2F5300BF77C5 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/Localizable.strings; sourceTree = "<group>"; };
    811 		3AD5663129C0DA4B00BF77C5 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Localizable.strings; sourceTree = "<group>"; };
    812 		3AD5663229C0DA4B00BF77C5 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = ko; path = ko.lproj/Localizable.stringsdict; sourceTree = "<group>"; };
    813 		3AD5663329C0DA4B00BF77C5 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/InfoPlist.strings; sourceTree = "<group>"; };
    814 		3AE45AF5297BB2E700C1D842 /* LibreTranslateServer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibreTranslateServer.swift; sourceTree = "<group>"; };
    815 		3AEB8003297CCEA800713A25 /* tr-TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "tr-TR"; path = "tr-TR.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    816 		3AEB8004297CCEA800713A25 /* tr-TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "tr-TR"; path = "tr-TR.lproj/Localizable.strings"; sourceTree = "<group>"; };
    817 		3AEB8005297CCEA900713A25 /* tr-TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "tr-TR"; path = "tr-TR.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    818 		3AF6336829884C6B0005672A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/InfoPlist.strings"; sourceTree = "<group>"; };
    819 		3AF6336929884C6B0005672A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = "<group>"; };
    820 		3AF6336A29884C6B0005672A /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.stringsdict; name = "pt-PT"; path = "pt-PT.lproj/Localizable.stringsdict"; sourceTree = "<group>"; };
    821 		3CCD1E692A874C4E0099A953 /* Nip98HTTPAuth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Nip98HTTPAuth.swift; sourceTree = "<group>"; };
    822 		4C06670028FC7C5900038D2A /* RelayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayView.swift; sourceTree = "<group>"; };
    823 		4C06670528FCB08600038D2A /* ImageCarousel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageCarousel.swift; sourceTree = "<group>"; };
    824 		4C06670828FDE64700038D2A /* damus-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "damus-Bridging-Header.h"; sourceTree = "<group>"; };
    825 		4C06670928FDE64700038D2A /* damus.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = damus.h; sourceTree = "<group>"; };
    826 		4C06670A28FDE64700038D2A /* damus.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = damus.c; sourceTree = "<group>"; };
    827 		4C06670C28FDEAA000038D2A /* utf8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = "<group>"; };
    828 		4C06670D28FDEAA000038D2A /* utf8.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = utf8.c; sourceTree = "<group>"; };
    829 		4C0A3F8E280F640A000448DE /* ThreadModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadModel.swift; sourceTree = "<group>"; };
    830 		4C0A3F92280F66F5000448DE /* ReplyMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyMap.swift; sourceTree = "<group>"; };
    831 		4C0C03972A61E27B0098B3B8 /* primal.wasm */ = {isa = PBXFileReference; lastKnownFileType = file; name = primal.wasm; path = nostrscript/primal.wasm; sourceTree = SOURCE_ROOT; };
    832 		4C0C03982A61E27B0098B3B8 /* bool_setting.wasm */ = {isa = PBXFileReference; lastKnownFileType = file; name = bool_setting.wasm; path = nostrscript/bool_setting.wasm; sourceTree = SOURCE_ROOT; };
    833 		4C12534F2A76C5B20004F4B8 /* UnfollowedNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnfollowedNotify.swift; sourceTree = "<group>"; };
    834 		4C1253512A76C6130004F4B8 /* ComposeNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComposeNotify.swift; sourceTree = "<group>"; };
    835 		4C1253532A76C7D60004F4B8 /* LogoutNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoutNotify.swift; sourceTree = "<group>"; };
    836 		4C1253552A76C8C60004F4B8 /* BroadcastNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BroadcastNotify.swift; sourceTree = "<group>"; };
    837 		4C1253572A76C9060004F4B8 /* PresentSheetNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PresentSheetNotify.swift; sourceTree = "<group>"; };
    838 		4C1253592A76C9960004F4B8 /* UnfollowNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnfollowNotify.swift; sourceTree = "<group>"; };
    839 		4C12535B2A76CA540004F4B8 /* LoginNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginNotify.swift; sourceTree = "<group>"; };
    840 		4C12535D2A76CA870004F4B8 /* SwitchedTimelineNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwitchedTimelineNotify.swift; sourceTree = "<group>"; };
    841 		4C12535F2A76CF890004F4B8 /* ScrollToTopNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollToTopNotify.swift; sourceTree = "<group>"; };
    842 		4C1253612A76D00B0004F4B8 /* PostNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostNotify.swift; sourceTree = "<group>"; };
    843 		4C1253632A76D08F0004F4B8 /* ReportNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportNotify.swift; sourceTree = "<group>"; };
    844 		4C1253652A76D0FF0004F4B8 /* OnlyZapsNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnlyZapsNotify.swift; sourceTree = "<group>"; };
    845 		4C1253672A76D2470004F4B8 /* MuteNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MuteNotify.swift; sourceTree = "<group>"; };
    846 		4C1253692A76D3850004F4B8 /* RelaysChangedNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelaysChangedNotify.swift; sourceTree = "<group>"; };
    847 		4C15C7142A55DE7A00D0A0DB /* ReactionsSettingsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReactionsSettingsView.swift; sourceTree = "<group>"; };
    848 		4C190F1F2A535FC200027FD5 /* CustomizeZapModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomizeZapModel.swift; sourceTree = "<group>"; };
    849 		4C190F242A547D2000027FD5 /* LoadScript.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadScript.swift; sourceTree = "<group>"; };
    850 		4C198DEB29F88C6B004C165C /* BlurHashEncode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BlurHashEncode.swift; sourceTree = "<group>"; };
    851 		4C198DEC29F88C6B004C165C /* Readme.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = "<group>"; };
    852 		4C198DED29F88C6B004C165C /* License.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = License.txt; sourceTree = "<group>"; };
    853 		4C198DEE29F88C6B004C165C /* BlurHashDecode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BlurHashDecode.swift; sourceTree = "<group>"; };
    854 		4C198DF429F88D2E004C165C /* ImageMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageMetadata.swift; sourceTree = "<group>"; };
    855 		4C19AE4B2A5CEF7C00C90DB7 /* primal.ts */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.typescript; path = primal.ts; sourceTree = "<group>"; };
    856 		4C19AE4C2A5CEF7C00C90DB7 /* NostrScript.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NostrScript.swift; sourceTree = "<group>"; };
    857 		4C19AE502A5CEF7C00C90DB7 /* nostr.ts */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.typescript; path = nostr.ts; sourceTree = "<group>"; };
    858 		4C19AE542A5D977400C90DB7 /* HashtagTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HashtagTests.swift; sourceTree = "<group>"; };
    859 		4C1A9A1929DCA17E00516EAC /* ReplyCounter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyCounter.swift; sourceTree = "<group>"; };
    860 		4C1A9A1C29DDCF9B00516EAC /* NotificationSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationSettingsView.swift; sourceTree = "<group>"; };
    861 		4C1A9A1E29DDD24B00516EAC /* AppearanceSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceSettingsView.swift; sourceTree = "<group>"; };
    862 		4C1A9A2029DDD3E100516EAC /* KeySettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeySettingsView.swift; sourceTree = "<group>"; };
    863 		4C1A9A2229DDDB8100516EAC /* IconLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconLabel.swift; sourceTree = "<group>"; };
    864 		4C1A9A2429DDDF2600516EAC /* ZapSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapSettingsView.swift; sourceTree = "<group>"; };
    865 		4C1A9A2629DDE31900516EAC /* TranslationSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranslationSettingsView.swift; sourceTree = "<group>"; };
    866 		4C1A9A2929DDF54400516EAC /* DamusVideoPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusVideoPlayer.swift; sourceTree = "<group>"; };
    867 		4C1D4FB02A7958E60024F453 /* VersionInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VersionInfo.swift; sourceTree = "<group>"; };
    868 		4C1D4FB32A7967990024F453 /* build-git-hash.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "build-git-hash.txt"; sourceTree = SOURCE_ROOT; };
    869 		4C216F31286E388800040376 /* DMChatView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DMChatView.swift; sourceTree = "<group>"; };
    870 		4C216F33286F5ACD00040376 /* DMView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DMView.swift; sourceTree = "<group>"; };
    871 		4C216F352870A9A700040376 /* InputDismissKeyboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputDismissKeyboard.swift; sourceTree = "<group>"; };
    872 		4C216F372871EDE300040376 /* DirectMessageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DirectMessageModel.swift; sourceTree = "<group>"; };
    873 		4C28595F2A12A2BE004746F7 /* SupporterBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SupporterBadge.swift; sourceTree = "<group>"; };
    874 		4C2859612A12A7F0004746F7 /* GoldSupportGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GoldSupportGradient.swift; sourceTree = "<group>"; };
    875 		4C285C8128385570008A31F1 /* CarouselView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarouselView.swift; sourceTree = "<group>"; };
    876 		4C285C8328385690008A31F1 /* CreateAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateAccountView.swift; sourceTree = "<group>"; };
    877 		4C285C85283892E7008A31F1 /* CreateAccountModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateAccountModel.swift; sourceTree = "<group>"; };
    878 		4C285C892838B985008A31F1 /* ProfilePictureSelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePictureSelector.swift; sourceTree = "<group>"; };
    879 		4C285C8B28398BC6008A31F1 /* Keys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keys.swift; sourceTree = "<group>"; };
    880 		4C285C8D28399BFD008A31F1 /* SaveKeysView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SaveKeysView.swift; sourceTree = "<group>"; };
    881 		4C28A4112A6D03D200C1A7A5 /* ReferencedId.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReferencedId.swift; sourceTree = "<group>"; };
    882 		4C2B10272A7B0F5C008AA43E /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = "<group>"; };
    883 		4C2B7BF12A71B6540049DEE7 /* Id.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Id.swift; sourceTree = "<group>"; };
    884 		4C2CDDF6299D4A5E00879FD5 /* Debouncer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debouncer.swift; sourceTree = "<group>"; };
    885 		4C30AC7129A5677A00E2BD5A /* NotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsView.swift; sourceTree = "<group>"; };
    886 		4C30AC7329A5680900E2BD5A /* EventGroupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventGroupView.swift; sourceTree = "<group>"; };
    887 		4C30AC7529A5770900E2BD5A /* NotificationItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationItemView.swift; sourceTree = "<group>"; };
    888 		4C30AC7729A577AB00E2BD5A /* EventCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventCache.swift; sourceTree = "<group>"; };
    889 		4C30AC7F29A6A53F00E2BD5A /* ProfilePicturesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicturesView.swift; sourceTree = "<group>"; };
    890 		4C32B9372A9AD44700DC3548 /* FbConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FbConstants.swift; sourceTree = "<group>"; };
    891 		4C32B9382A9AD44700DC3548 /* Offset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Offset.swift; sourceTree = "<group>"; };
    892 		4C32B9392A9AD44700DC3548 /* Mutable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mutable.swift; sourceTree = "<group>"; };
    893 		4C32B93A2A9AD44700DC3548 /* Int+extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Int+extension.swift"; sourceTree = "<group>"; };
    894 		4C32B93B2A9AD44700DC3548 /* FlatBufferBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatBufferBuilder.swift; sourceTree = "<group>"; };
    895 		4C32B93C2A9AD44700DC3548 /* FlatbuffersErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatbuffersErrors.swift; sourceTree = "<group>"; };
    896 		4C32B93D2A9AD44700DC3548 /* Message.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Message.swift; sourceTree = "<group>"; };
    897 		4C32B93E2A9AD44700DC3548 /* Verifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Verifier.swift; sourceTree = "<group>"; };
    898 		4C32B93F2A9AD44700DC3548 /* FlatBuffersUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatBuffersUtils.swift; sourceTree = "<group>"; };
    899 		4C32B9402A9AD44700DC3548 /* ByteBuffer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ByteBuffer.swift; sourceTree = "<group>"; };
    900 		4C32B9412A9AD44700DC3548 /* TableVerifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableVerifier.swift; sourceTree = "<group>"; };
    901 		4C32B9422A9AD44700DC3548 /* Root.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Root.swift; sourceTree = "<group>"; };
    902 		4C32B9432A9AD44700DC3548 /* VeriferOptions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VeriferOptions.swift; sourceTree = "<group>"; };
    903 		4C32B9442A9AD44700DC3548 /* Table.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = "<group>"; };
    904 		4C32B9452A9AD44700DC3548 /* Verifiable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Verifiable.swift; sourceTree = "<group>"; };
    905 		4C32B9462A9AD44700DC3548 /* NativeObject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NativeObject.swift; sourceTree = "<group>"; };
    906 		4C32B9472A9AD44700DC3548 /* String+extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+extension.swift"; sourceTree = "<group>"; };
    907 		4C32B9482A9AD44700DC3548 /* Documentation.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = Documentation.docc; sourceTree = "<group>"; };
    908 		4C32B9492A9AD44700DC3548 /* FlatBufferObject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatBufferObject.swift; sourceTree = "<group>"; };
    909 		4C32B94A2A9AD44700DC3548 /* Enum.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Enum.swift; sourceTree = "<group>"; };
    910 		4C32B94B2A9AD44700DC3548 /* Struct.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Struct.swift; sourceTree = "<group>"; };
    911 		4C363A8328233689006E126D /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = "<group>"; };
    912 		4C363A8728236948006E126D /* BlocksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlocksView.swift; sourceTree = "<group>"; };
    913 		4C363A8B28236B92006E126D /* PubkeyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PubkeyView.swift; sourceTree = "<group>"; };
    914 		4C363A8D28236FE4006E126D /* NoteContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteContentView.swift; sourceTree = "<group>"; };
    915 		4C363A8F28247A1D006E126D /* NostrLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrLink.swift; sourceTree = "<group>"; };
    916 		4C363A912825FCF2006E126D /* ProfileUpdate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileUpdate.swift; sourceTree = "<group>"; };
    917 		4C363A93282704FA006E126D /* Post.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Post.swift; sourceTree = "<group>"; };
    918 		4C363A952827096D006E126D /* PostBlock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostBlock.swift; sourceTree = "<group>"; };
    919 		4C363A9928283854006E126D /* Reply.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reply.swift; sourceTree = "<group>"; };
    920 		4C363A9B282838B9006E126D /* EventRef.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventRef.swift; sourceTree = "<group>"; };
    921 		4C363A9D2828A822006E126D /* ReplyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyTests.swift; sourceTree = "<group>"; };
    922 		4C363A9F2828A8DD006E126D /* LikeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LikeTests.swift; sourceTree = "<group>"; };
    923 		4C363AA128296A7E006E126D /* SearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchView.swift; sourceTree = "<group>"; };
    924 		4C363AA328296DEE006E126D /* SearchModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchModel.swift; sourceTree = "<group>"; };
    925 		4C363AA728297703006E126D /* InsertSort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsertSort.swift; sourceTree = "<group>"; };
    926 		4C3A1D3629637E0500558C0F /* PreviewCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewCache.swift; sourceTree = "<group>"; };
    927 		4C3AC79A28306D7B00E1F516 /* Contacts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Contacts.swift; sourceTree = "<group>"; };
    928 		4C3AC79C2833036D00E1F516 /* FollowingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowingView.swift; sourceTree = "<group>"; };
    929 		4C3AC79E2833115300E1F516 /* FollowButtonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowButtonView.swift; sourceTree = "<group>"; };
    930 		4C3AC7A02835A81400E1F516 /* SetupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupView.swift; sourceTree = "<group>"; };
    931 		4C3AC7A42836987600E1F516 /* MainTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabView.swift; sourceTree = "<group>"; };
    932 		4C3AC7A628369BA200E1F516 /* SearchHomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchHomeView.swift; sourceTree = "<group>"; };
    933 		4C3BEFD12819DB9B00B3DE84 /* ProfileModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileModel.swift; sourceTree = "<group>"; };
    934 		4C3BEFD32819DE8F00B3DE84 /* NostrKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrKind.swift; sourceTree = "<group>"; };
    935 		4C3BEFD5281D995700B3DE84 /* ActionBarModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionBarModel.swift; sourceTree = "<group>"; };
    936 		4C3BEFD9281DCA1400B3DE84 /* LikeCounter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LikeCounter.swift; sourceTree = "<group>"; };
    937 		4C3BEFDB281DCE6100B3DE84 /* Liked.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Liked.swift; sourceTree = "<group>"; };
    938 		4C3BEFDF281DE1ED00B3DE84 /* DamusState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusState.swift; sourceTree = "<group>"; };
    939 		4C3D52B5298DB4E6001C5831 /* ZapEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapEvent.swift; sourceTree = "<group>"; };
    940 		4C3D52B7298DB5C6001C5831 /* TextEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextEvent.swift; sourceTree = "<group>"; };
    941 		4C3DCC752A9FC2030091E592 /* NdbTxn.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbTxn.swift; sourceTree = "<group>"; };
    942 		4C3EA63B28FF52D600C48A62 /* bolt11.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bolt11.h; sourceTree = "<group>"; };
    943 		4C3EA63C28FF52D600C48A62 /* bolt11.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = bolt11.c; sourceTree = "<group>"; };
    944 		4C3EA63E28FF54BD00C48A62 /* short_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = short_types.h; sourceTree = "<group>"; };
    945 		4C3EA63F28FF553900C48A62 /* hash_u5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hash_u5.h; sourceTree = "<group>"; };
    946 		4C3EA64028FF553900C48A62 /* hash_u5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hash_u5.c; sourceTree = "<group>"; };
    947 		4C3EA64228FF558100C48A62 /* sha256.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = sha256.h; sourceTree = "<group>"; };
    948 		4C3EA64328FF558100C48A62 /* sha256.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = sha256.c; sourceTree = "<group>"; };
    949 		4C3EA64528FF56D300C48A62 /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
    950 		4C3EA64628FF570F00C48A62 /* node_id.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = node_id.h; sourceTree = "<group>"; };
    951 		4C3EA64728FF597700C48A62 /* bech32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bech32.h; sourceTree = "<group>"; };
    952 		4C3EA64828FF597700C48A62 /* bech32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = bech32.c; sourceTree = "<group>"; };
    953 		4C3EA64A28FF59AC00C48A62 /* bech32_util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bech32_util.h; sourceTree = "<group>"; };
    954 		4C3EA64B28FF59AC00C48A62 /* bech32_util.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = bech32_util.c; sourceTree = "<group>"; };
    955 		4C3EA64D28FF59F200C48A62 /* tal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = tal.h; sourceTree = "<group>"; };
    956 		4C3EA64E28FF59F200C48A62 /* tal.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = tal.c; sourceTree = "<group>"; };
    957 		4C3EA65028FF5A5500C48A62 /* list.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = "<group>"; };
    958 		4C3EA65328FF5A8600C48A62 /* str.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = str.h; sourceTree = "<group>"; };
    959 		4C3EA65428FF5AAE00C48A62 /* container_of.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = container_of.h; sourceTree = "<group>"; };
    960 		4C3EA65528FF5AC300C48A62 /* check_type.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = check_type.h; sourceTree = "<group>"; };
    961 		4C3EA65628FF5B0200C48A62 /* compiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = compiler.h; sourceTree = "<group>"; };
    962 		4C3EA65728FF5B1E00C48A62 /* likely.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = likely.h; sourceTree = "<group>"; };
    963 		4C3EA65828FF5B3700C48A62 /* typesafe_cb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = typesafe_cb.h; sourceTree = "<group>"; };
    964 		4C3EA65928FF5B5100C48A62 /* take.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = take.h; sourceTree = "<group>"; };
    965 		4C3EA65A28FF5BC900C48A62 /* alignof.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = alignof.h; sourceTree = "<group>"; };
    966 		4C3EA65B28FF5C7E00C48A62 /* str_debug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = str_debug.h; sourceTree = "<group>"; };
    967 		4C3EA65C28FF5CAF00C48A62 /* endian.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = endian.h; sourceTree = "<group>"; };
    968 		4C3EA65D28FF5CF300C48A62 /* talstr.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = talstr.h; sourceTree = "<group>"; };
    969 		4C3EA65E28FF5DA400C48A62 /* amount.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = amount.h; sourceTree = "<group>"; };
    970 		4C3EA65F28FF5E7700C48A62 /* node_id.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = node_id.c; sourceTree = "<group>"; };
    971 		4C3EA66128FF5EA800C48A62 /* array_size.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = array_size.h; sourceTree = "<group>"; };
    972 		4C3EA66228FF5EBC00C48A62 /* build_assert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = build_assert.h; sourceTree = "<group>"; };
    973 		4C3EA66328FF5F6800C48A62 /* mem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mem.h; sourceTree = "<group>"; };
    974 		4C3EA66428FF5F6800C48A62 /* mem.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mem.c; sourceTree = "<group>"; };
    975 		4C3EA66628FF5F9900C48A62 /* hex.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hex.h; sourceTree = "<group>"; };
    976 		4C3EA66728FF5F9900C48A62 /* hex.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hex.c; sourceTree = "<group>"; };
    977 		4C3EA66C28FF782800C48A62 /* amount.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = amount.c; sourceTree = "<group>"; };
    978 		4C3EA66E28FF787100C48A62 /* overflows.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = overflows.h; sourceTree = "<group>"; };
    979 		4C3EA67228FF79F600C48A62 /* structeq.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = structeq.h; sourceTree = "<group>"; };
    980 		4C3EA67328FF7A2600C48A62 /* cppmagic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cppmagic.h; sourceTree = "<group>"; };
    981 		4C3EA67428FF7A5A00C48A62 /* take.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = take.c; sourceTree = "<group>"; };
    982 		4C3EA67628FF7A9800C48A62 /* talstr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = talstr.c; sourceTree = "<group>"; };
    983 		4C3EA67828FF7ABF00C48A62 /* list.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = list.c; sourceTree = "<group>"; };
    984 		4C3EA67A28FF7B3900C48A62 /* InvoiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvoiceTests.swift; sourceTree = "<group>"; };
    985 		4C3EA67C28FFBBA200C48A62 /* InvoicesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvoicesView.swift; sourceTree = "<group>"; };
    986 		4C3EA67E28FFC01D00C48A62 /* InvoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InvoiceView.swift; sourceTree = "<group>"; };
    987 		4C42812B298C848200DBF26F /* TranslateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranslateView.swift; sourceTree = "<group>"; };
    988 		4C463CBE2B960B96008A8C36 /* PurpleBackdrop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurpleBackdrop.swift; sourceTree = "<group>"; };
    989 		4C478E242A9932C100489948 /* Ndb.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Ndb.swift; sourceTree = "<group>"; };
    990 		4C478E262A99353500489948 /* threadpool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = threadpool.h; sourceTree = "<group>"; };
    991 		4C478E272A99354E00489948 /* protected_queue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = protected_queue.h; sourceTree = "<group>"; };
    992 		4C478E282A99357400489948 /* memchr.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = memchr.h; sourceTree = "<group>"; };
    993 		4C478E292A99359900489948 /* util.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
    994 		4C478E2C2A9935D300489948 /* NdbProfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbProfile.swift; sourceTree = "<group>"; };
    995 		4C478E2E2A9935D300489948 /* profile_json_parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = profile_json_parser.h; sourceTree = "<group>"; };
    996 		4C478E2F2A9935D300489948 /* profile_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = profile_reader.h; sourceTree = "<group>"; };
    997 		4C478E302A9935D300489948 /* meta_json_parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = meta_json_parser.h; sourceTree = "<group>"; };
    998 		4C478E312A9935D300489948 /* profile_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = profile_builder.h; sourceTree = "<group>"; };
    999 		4C478E322A9935D300489948 /* meta_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = meta_builder.h; sourceTree = "<group>"; };
   1000 		4C478E332A9935D300489948 /* profile_verifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = profile_verifier.h; sourceTree = "<group>"; };
   1001 		4C478E352A9935D300489948 /* meta_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = meta_reader.h; sourceTree = "<group>"; };
   1002 		4C478E362A9935D300489948 /* flatbuffers_common_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatbuffers_common_reader.h; sourceTree = "<group>"; };
   1003 		4C478E372A9935D300489948 /* meta_verifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = meta_verifier.h; sourceTree = "<group>"; };
   1004 		4C478E382A9935D300489948 /* flatbuffers_common_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatbuffers_common_builder.h; sourceTree = "<group>"; };
   1005 		4C47928E2A9939BD00489948 /* flatcc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc.h; sourceTree = "<group>"; };
   1006 		4C47928F2A9939BD00489948 /* flatcc_version.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_version.h; sourceTree = "<group>"; };
   1007 		4C4792902A9939BD00489948 /* flatcc_emitter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_emitter.h; sourceTree = "<group>"; };
   1008 		4C4792912A9939BD00489948 /* flatcc_alloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_alloc.h; sourceTree = "<group>"; };
   1009 		4C4792922A9939BD00489948 /* flatcc_json_printer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_json_printer.h; sourceTree = "<group>"; };
   1010 		4C4792932A9939BD00489948 /* CMakeLists.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
   1011 		4C4792942A9939BD00489948 /* builder.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = builder.c; sourceTree = "<group>"; };
   1012 		4C4792952A9939BD00489948 /* flatcc_verifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_verifier.h; sourceTree = "<group>"; };
   1013 		4C4792962A9939BD00489948 /* flatcc_refmap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_refmap.h; sourceTree = "<group>"; };
   1014 		4C4792972A9939BD00489948 /* flatcc_unaligned.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_unaligned.h; sourceTree = "<group>"; };
   1015 		4C4792992A9939BD00489948 /* grisu3_print.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = grisu3_print.h; sourceTree = "<group>"; };
   1016 		4C47929A2A9939BD00489948 /* pprintfp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pprintfp.h; sourceTree = "<group>"; };
   1017 		4C47929B2A9939BD00489948 /* pbase64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pbase64.h; sourceTree = "<group>"; };
   1018 		4C47929C2A9939BD00489948 /* punaligned.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = punaligned.h; sourceTree = "<group>"; };
   1019 		4C47929D2A9939BD00489948 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
   1020 		4C47929E2A9939BD00489948 /* pdiagnostic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pdiagnostic.h; sourceTree = "<group>"; };
   1021 		4C47929F2A9939BD00489948 /* pinttypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pinttypes.h; sourceTree = "<group>"; };
   1022 		4C4792A02A9939BD00489948 /* pinline.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pinline.h; sourceTree = "<group>"; };
   1023 		4C4792A12A9939BD00489948 /* pprintint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pprintint.h; sourceTree = "<group>"; };
   1024 		4C4792A22A9939BD00489948 /* pdiagnostic_pop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pdiagnostic_pop.h; sourceTree = "<group>"; };
   1025 		4C4792A52A9939BD00489948 /* stdalign.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stdalign.h; sourceTree = "<group>"; };
   1026 		4C4792A62A9939BD00489948 /* inttypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = inttypes.h; sourceTree = "<group>"; };
   1027 		4C4792A72A9939BD00489948 /* stdbool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stdbool.h; sourceTree = "<group>"; };
   1028 		4C4792A82A9939BD00489948 /* stdint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = stdint.h; sourceTree = "<group>"; };
   1029 		4C4792A92A9939BD00489948 /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
   1030 		4C4792AB2A9939BD00489948 /* endian.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = endian.h; sourceTree = "<group>"; };
   1031 		4C4792AC2A9939BD00489948 /* pversion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pversion.h; sourceTree = "<group>"; };
   1032 		4C4792AD2A9939BD00489948 /* pstdalign.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pstdalign.h; sourceTree = "<group>"; };
   1033 		4C4792AE2A9939BD00489948 /* pdiagnostic_push.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pdiagnostic_push.h; sourceTree = "<group>"; };
   1034 		4C4792AF2A9939BD00489948 /* pendian_detect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pendian_detect.h; sourceTree = "<group>"; };
   1035 		4C4792B02A9939BD00489948 /* paligned_alloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = paligned_alloc.h; sourceTree = "<group>"; };
   1036 		4C4792B12A9939BD00489948 /* pendian.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pendian.h; sourceTree = "<group>"; };
   1037 		4C4792B22A9939BD00489948 /* pstatic_assert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pstatic_assert.h; sourceTree = "<group>"; };
   1038 		4C4792B32A9939BD00489948 /* pwarnings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pwarnings.h; sourceTree = "<group>"; };
   1039 		4C4792B42A9939BD00489948 /* pparsefp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pparsefp.h; sourceTree = "<group>"; };
   1040 		4C4792B52A9939BD00489948 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
   1041 		4C4792B62A9939BD00489948 /* portable_basic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = portable_basic.h; sourceTree = "<group>"; };
   1042 		4C4792B72A9939BD00489948 /* portable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = portable.h; sourceTree = "<group>"; };
   1043 		4C4792B82A9939BD00489948 /* grisu3_math.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = grisu3_math.h; sourceTree = "<group>"; };
   1044 		4C4792B92A9939BD00489948 /* pattributes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pattributes.h; sourceTree = "<group>"; };
   1045 		4C4792BA2A9939BD00489948 /* pstdint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pstdint.h; sourceTree = "<group>"; };
   1046 		4C4792BB2A9939BD00489948 /* pstdbool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pstdbool.h; sourceTree = "<group>"; };
   1047 		4C4792BC2A9939BD00489948 /* pcrt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pcrt.h; sourceTree = "<group>"; };
   1048 		4C4792BD2A9939BD00489948 /* pstatic_assert_scope.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pstatic_assert_scope.h; sourceTree = "<group>"; };
   1049 		4C4792BE2A9939BD00489948 /* grisu3_parse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = grisu3_parse.h; sourceTree = "<group>"; };
   1050 		4C4792BF2A9939BD00489948 /* pparseint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pparseint.h; sourceTree = "<group>"; };
   1051 		4C4792C02A9939BD00489948 /* flatcc_endian.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_endian.h; sourceTree = "<group>"; };
   1052 		4C4792C12A9939BD00489948 /* flatcc_iov.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_iov.h; sourceTree = "<group>"; };
   1053 		4C4792C22A9939BD00489948 /* flatcc_rtconfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_rtconfig.h; sourceTree = "<group>"; };
   1054 		4C4792C32A9939BD00489948 /* flatcc_accessors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_accessors.h; sourceTree = "<group>"; };
   1055 		4C4792C42A9939BD00489948 /* flatcc_epilogue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_epilogue.h; sourceTree = "<group>"; };
   1056 		4C4792C52A9939BD00489948 /* flatcc_identifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_identifier.h; sourceTree = "<group>"; };
   1057 		4C4792C62A9939BD00489948 /* flatcc_prologue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_prologue.h; sourceTree = "<group>"; };
   1058 		4C4792C72A9939BD00489948 /* flatcc_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_builder.h; sourceTree = "<group>"; };
   1059 		4C4792C82A9939BD00489948 /* json_parser.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = json_parser.c; sourceTree = "<group>"; };
   1060 		4C4792CA2A9939BD00489948 /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
   1061 		4C4792CB2A9939BD00489948 /* readfile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = readfile.h; sourceTree = "<group>"; };
   1062 		4C4792CC2A9939BD00489948 /* cdump.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cdump.h; sourceTree = "<group>"; };
   1063 		4C4792CD2A9939BD00489948 /* elapsed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = elapsed.h; sourceTree = "<group>"; };
   1064 		4C4792CE2A9939BD00489948 /* hexdump.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = hexdump.h; sourceTree = "<group>"; };
   1065 		4C4792CF2A9939BD00489948 /* emitter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = emitter.c; sourceTree = "<group>"; };
   1066 		4C4792D02A9939BD00489948 /* flatcc_json_parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_json_parser.h; sourceTree = "<group>"; };
   1067 		4C4792D12A9939BD00489948 /* refmap.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = refmap.c; sourceTree = "<group>"; };
   1068 		4C4792D22A9939BD00489948 /* flatcc_flatbuffers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_flatbuffers.h; sourceTree = "<group>"; };
   1069 		4C4792D32A9939BD00489948 /* flatcc_portable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_portable.h; sourceTree = "<group>"; };
   1070 		4C4792D42A9939BD00489948 /* verifier.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = verifier.c; sourceTree = "<group>"; };
   1071 		4C4792D52A9939BD00489948 /* flatcc_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_types.h; sourceTree = "<group>"; };
   1072 		4C4792D62A9939BD00489948 /* json_printer.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = json_printer.c; sourceTree = "<group>"; };
   1073 		4C4792D72A9939BD00489948 /* flatcc_assert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatcc_assert.h; sourceTree = "<group>"; };
   1074 		4C4792D92A9939BD00489948 /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
   1075 		4C4792DA2A9939BD00489948 /* reflection_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = reflection_reader.h; sourceTree = "<group>"; };
   1076 		4C4792DB2A9939BD00489948 /* flatbuffers_common_reader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatbuffers_common_reader.h; sourceTree = "<group>"; };
   1077 		4C4792DC2A9939BD00489948 /* reflection_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = reflection_builder.h; sourceTree = "<group>"; };
   1078 		4C4792DD2A9939BD00489948 /* reflection_verifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = reflection_verifier.h; sourceTree = "<group>"; };
   1079 		4C4792DE2A9939BD00489948 /* flatbuffers_common_builder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = flatbuffers_common_builder.h; sourceTree = "<group>"; };
   1080 		4C4792FF2A993B9A00489948 /* lmdb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = lmdb.h; sourceTree = "<group>"; };
   1081 		4C4793002A993B9A00489948 /* mdb.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mdb.c; sourceTree = "<group>"; };
   1082 		4C4793022A993D9300489948 /* midl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = midl.h; sourceTree = "<group>"; };
   1083 		4C4793032A993DB900489948 /* midl.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = midl.c; sourceTree = "<group>"; };
   1084 		4C4A3A5A288A1B2200453788 /* damus.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = damus.entitlements; sourceTree = "<group>"; };
   1085 		4C4DD3DA2A6CA7E8005B4E85 /* ContentParsing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentParsing.swift; sourceTree = "<group>"; };
   1086 		4C4E137A2A76D5FB00BDD832 /* MuteThreadNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MuteThreadNotify.swift; sourceTree = "<group>"; };
   1087 		4C4E137C2A76D63600BDD832 /* UnmuteThreadNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnmuteThreadNotify.swift; sourceTree = "<group>"; };
   1088 		4C4F14A62A2A61A30045A0B9 /* NostrScriptTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrScriptTests.swift; sourceTree = "<group>"; };
   1089 		4C4F14A82A2A71AB0045A0B9 /* nostrscript.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nostrscript.h; sourceTree = "<group>"; };
   1090 		4C4F14A92A2A71AB0045A0B9 /* nostrscript.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nostrscript.c; sourceTree = "<group>"; };
   1091 		4C54AA0629A540BA003E4487 /* NotificationsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsModel.swift; sourceTree = "<group>"; };
   1092 		4C54AA0929A55429003E4487 /* EventGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventGroup.swift; sourceTree = "<group>"; };
   1093 		4C54AA0B29A5543C003E4487 /* ZapGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapGroup.swift; sourceTree = "<group>"; };
   1094 		4C59B98B2A76C2550032FFEB /* ProfileUpdatedNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileUpdatedNotify.swift; sourceTree = "<group>"; };
   1095 		4C5C7E67284ED36500A22DF5 /* SearchHomeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchHomeModel.swift; sourceTree = "<group>"; };
   1096 		4C5C7E69284EDE2E00A22DF5 /* SearchResultsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultsView.swift; sourceTree = "<group>"; };
   1097 		4C5D5C9C2A6B2CB40024563C /* AsciiCharacter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsciiCharacter.swift; sourceTree = "<group>"; };
   1098 		4C5E54022A9522F600FF6E60 /* UserStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserStatus.swift; sourceTree = "<group>"; };
   1099 		4C5E54052A9671F800FF6E60 /* UserStatusSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserStatusSheet.swift; sourceTree = "<group>"; };
   1100 		4C5F9113283D694D0052CD1C /* FollowTarget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowTarget.swift; sourceTree = "<group>"; };
   1101 		4C5F9115283D855D0052CD1C /* EventsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventsModel.swift; sourceTree = "<group>"; };
   1102 		4C5F9117283D88E40052CD1C /* FollowingModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowingModel.swift; sourceTree = "<group>"; };
   1103 		4C63334F283D40E500B1C9C3 /* HomeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeModel.swift; sourceTree = "<group>"; };
   1104 		4C633351283D419F00B1C9C3 /* SignalModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignalModel.swift; sourceTree = "<group>"; };
   1105 		4C64305B2A945AFF00B0C0E9 /* MusicController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MusicController.swift; sourceTree = "<group>"; };
   1106 		4C64987B286D03E000EAE2B3 /* DirectMessagesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DirectMessagesView.swift; sourceTree = "<group>"; };
   1107 		4C64987D286D082C00EAE2B3 /* DirectMessagesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DirectMessagesModel.swift; sourceTree = "<group>"; };
   1108 		4C684A542A7E91FE005E6031 /* LongPostTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LongPostTests.swift; sourceTree = "<group>"; };
   1109 		4C684A562A7FFAE6005E6031 /* UrlTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UrlTests.swift; sourceTree = "<group>"; };
   1110 		4C687C202A5F7ED00092C550 /* DamusBackground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusBackground.swift; sourceTree = "<group>"; };
   1111 		4C687C232A5FA86D0092C550 /* SearchHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchHeaderView.swift; sourceTree = "<group>"; };
   1112 		4C687C262A6039500092C550 /* TestData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestData.swift; sourceTree = "<group>"; };
   1113 		4C73C5132A4437C10062CAC0 /* ZapUserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapUserView.swift; sourceTree = "<group>"; };
   1114 		4C75EFA327FA577B0006080F /* PostView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostView.swift; sourceTree = "<group>"; };
   1115 		4C75EFA527FF87A20006080F /* Nostr.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Nostr.swift; sourceTree = "<group>"; };
   1116 		4C75EFA72804823E0006080F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
   1117 		4C75EFAC28049CFB0006080F /* PostButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostButton.swift; sourceTree = "<group>"; };
   1118 		4C75EFAE28049D340006080F /* NostrFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrFilter.swift; sourceTree = "<group>"; };
   1119 		4C75EFB028049D510006080F /* NostrResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrResponse.swift; sourceTree = "<group>"; };
   1120 		4C75EFB228049D640006080F /* NostrEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrEvent.swift; sourceTree = "<group>"; };
   1121 		4C75EFB428049D790006080F /* Relay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Relay.swift; sourceTree = "<group>"; };
   1122 		4C75EFB628049D990006080F /* RelayPool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayPool.swift; sourceTree = "<group>"; };
   1123 		4C75EFB82804A2740006080F /* EventView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventView.swift; sourceTree = "<group>"; };
   1124 		4C75EFBA2804A34C0006080F /* ProofOfWork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProofOfWork.swift; sourceTree = "<group>"; };
   1125 		4C78EFD62A7078C5007E8197 /* random.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = random.h; sourceTree = "<group>"; };
   1126 		4C78EFD72A707C4D007E8197 /* secp256k1_schnorrsig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = secp256k1_schnorrsig.h; sourceTree = "<group>"; };
   1127 		4C78EFD82A707C4D007E8197 /* secp256k1_ecdh.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = secp256k1_ecdh.h; sourceTree = "<group>"; };
   1128 		4C78EFD92A707C4D007E8197 /* secp256k1.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = secp256k1.h; sourceTree = "<group>"; };
   1129 		4C78EFDA2A707C67007E8197 /* secp256k1_extrakeys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = secp256k1_extrakeys.h; sourceTree = "<group>"; };
   1130 		4C7D09582A05BEAD00943473 /* KeyboardVisible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardVisible.swift; sourceTree = "<group>"; };
   1131 		4C7D095C2A098C5D00943473 /* ConnectWalletView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConnectWalletView.swift; sourceTree = "<group>"; };
   1132 		4C7D095D2A098C5D00943473 /* WalletView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletView.swift; sourceTree = "<group>"; };
   1133 		4C7D09612A098D0E00943473 /* WalletConnect.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletConnect.swift; sourceTree = "<group>"; };
   1134 		4C7D09652A0AE62100943473 /* AlbyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbyButton.swift; sourceTree = "<group>"; };
   1135 		4C7D09672A0AE9B200943473 /* NWCScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWCScannerView.swift; sourceTree = "<group>"; };
   1136 		4C7D096A2A0AEA0400943473 /* CodeScanner.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CodeScanner.swift; sourceTree = "<group>"; };
   1137 		4C7D096B2A0AEA0400943473 /* ScannerCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScannerCoordinator.swift; sourceTree = "<group>"; };
   1138 		4C7D096C2A0AEA0400943473 /* ScannerViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScannerViewController.swift; sourceTree = "<group>"; };
   1139 		4C7D09712A0AEF5E00943473 /* DamusGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusGradient.swift; sourceTree = "<group>"; };
   1140 		4C7D09732A0AEF9000943473 /* AlbyGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbyGradient.swift; sourceTree = "<group>"; };
   1141 		4C7D09752A0AF19E00943473 /* FillAndStroke.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FillAndStroke.swift; sourceTree = "<group>"; };
   1142 		4C7D09772A0B0CC900943473 /* WalletModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletModel.swift; sourceTree = "<group>"; };
   1143 		4C7D097D2A0C58B900943473 /* WalletConnectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WalletConnectTests.swift; sourceTree = "<group>"; };
   1144 		4C7FF7D42823313F009601DB /* Mentions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Mentions.swift; sourceTree = "<group>"; };
   1145 		4C8682862814DE470026224F /* ProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileView.swift; sourceTree = "<group>"; };
   1146 		4C86F7C32A76C44C00EC0817 /* ZappingNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZappingNotify.swift; sourceTree = "<group>"; };
   1147 		4C86F7C52A76C51100EC0817 /* AttachedWalletNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachedWalletNotify.swift; sourceTree = "<group>"; };
   1148 		4C8AE1182A0320BE00B944E6 /* Purple.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = Purple.storekit; sourceTree = "<group>"; };
   1149 		4C8D00C729DF791C0036AF10 /* CompatibleAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompatibleAttribute.swift; sourceTree = "<group>"; };
   1150 		4C8D00C929DF80350036AF10 /* TruncatedText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TruncatedText.swift; sourceTree = "<group>"; };
   1151 		4C8D00CB29DF92DF0036AF10 /* Hashtags.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Hashtags.swift; sourceTree = "<group>"; };
   1152 		4C8D00CD29E38B950036AF10 /* nostr_bech32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nostr_bech32.h; sourceTree = "<group>"; };
   1153 		4C8D00CE29E38B950036AF10 /* nostr_bech32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nostr_bech32.c; sourceTree = "<group>"; };
   1154 		4C8D00D029E38E4C0036AF10 /* cursor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = cursor.h; sourceTree = "<group>"; };
   1155 		4C8D00D129E397AD0036AF10 /* block.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = block.h; sourceTree = "<group>"; };
   1156 		4C8D00D229E3C19F0036AF10 /* str_block.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = str_block.h; sourceTree = "<group>"; };
   1157 		4C8D00D329E3C5D40036AF10 /* NIP19Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NIP19Tests.swift; sourceTree = "<group>"; };
   1158 		4C8D1A6B29F1DFC200ACDF75 /* FriendIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendIcon.swift; sourceTree = "<group>"; };
   1159 		4C8D1A6E29F31E5000ACDF75 /* FriendsButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendsButton.swift; sourceTree = "<group>"; };
   1160 		4C8EC52429D1FA6C0085D9A8 /* DamusColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusColors.swift; sourceTree = "<group>"; };
   1161 		4C9054842A6AEAA000811EEC /* NdbTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbTests.swift; sourceTree = "<group>"; };
   1162 		4C9054882A6AED4700811EEC /* NdbTagIterator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbTagIterator.swift; sourceTree = "<group>"; };
   1163 		4C90548A2A6AEDEE00811EEC /* NdbNote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbNote.swift; sourceTree = "<group>"; };
   1164 		4C90BD17283A9EE5008EE7EF /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = "<group>"; };
   1165 		4C90BD19283AA67F008EE7EF /* Bech32.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bech32.swift; sourceTree = "<group>"; };
   1166 		4C90BD1B283AC38E008EE7EF /* Bech32Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bech32Tests.swift; sourceTree = "<group>"; };
   1167 		4C9146FF2A2A891E00DDEA40 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = "<group>"; };
   1168 		4C94D6422BA5AEFE00C26EFF /* QuoteRepostsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuoteRepostsView.swift; sourceTree = "<group>"; };
   1169 		4C987B56283FD07F0042CE38 /* FollowersModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowersModel.swift; sourceTree = "<group>"; };
   1170 		4C9AA1492A4587A6003F49FD /* NotificationStatusModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationStatusModel.swift; sourceTree = "<group>"; };
   1171 		4C9B0DED2A65A75F00CBDA21 /* AttrStringTestExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttrStringTestExtensions.swift; sourceTree = "<group>"; };
   1172 		4C9B0DF22A65C46800CBDA21 /* ProfileEditButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileEditButton.swift; sourceTree = "<group>"; };
   1173 		4C9BB83029C0ED4F00FC4E37 /* DisplayName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayName.swift; sourceTree = "<group>"; };
   1174 		4C9BB83329C12D9900FC4E37 /* EventProfileName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventProfileName.swift; sourceTree = "<group>"; };
   1175 		4C9D6D152B1AA9C6004E5CD9 /* DisplayTabBarNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisplayTabBarNotify.swift; sourceTree = "<group>"; };
   1176 		4C9D6D1A2B1D35D7004E5CD9 /* PullDownSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PullDownSearch.swift; sourceTree = "<group>"; };
   1177 		4C9F18E129AA9B6C008C55EC /* CustomizeZapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomizeZapView.swift; sourceTree = "<group>"; };
   1178 		4C9F18E329ABDE6D008C55EC /* MaybeAnonPfpView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MaybeAnonPfpView.swift; sourceTree = "<group>"; };
   1179 		4CA2EF9F280E37AC0044ACD8 /* TimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimelineView.swift; sourceTree = "<group>"; };
   1180 		4CA3529D2A76AE67003BB08B /* FollowNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowNotify.swift; sourceTree = "<group>"; };
   1181 		4CA3529F2A76AE80003BB08B /* Notify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notify.swift; sourceTree = "<group>"; };
   1182 		4CA352A12A76AEC5003BB08B /* LikedNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LikedNotify.swift; sourceTree = "<group>"; };
   1183 		4CA352A32A76AFF3003BB08B /* UpdateStatsNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateStatsNotify.swift; sourceTree = "<group>"; };
   1184 		4CA352A72A76B37E003BB08B /* NewMutesNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewMutesNotify.swift; sourceTree = "<group>"; };
   1185 		4CA352A92A76BF3A003BB08B /* LocalNotificationNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalNotificationNotify.swift; sourceTree = "<group>"; };
   1186 		4CA352AB2A76C07F003BB08B /* NewUnmutesNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewUnmutesNotify.swift; sourceTree = "<group>"; };
   1187 		4CA352AD2A76C1AC003BB08B /* FollowedNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowedNotify.swift; sourceTree = "<group>"; };
   1188 		4CA3FA0F29F593D000FDB3C3 /* ZapTypePicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapTypePicker.swift; sourceTree = "<group>"; };
   1189 		4CA5588229F33F5B00DC6A45 /* StringCodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringCodable.swift; sourceTree = "<group>"; };
   1190 		4CA9275C2A28FF630098A105 /* LongformView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LongformView.swift; sourceTree = "<group>"; };
   1191 		4CA9275E2A2902B20098A105 /* LongformPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LongformPreview.swift; sourceTree = "<group>"; };
   1192 		4CA927602A290E340098A105 /* EventShell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventShell.swift; sourceTree = "<group>"; };
   1193 		4CA927622A290EB10098A105 /* EventTop.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventTop.swift; sourceTree = "<group>"; };
   1194 		4CA927642A290F1A0098A105 /* TimeDot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeDot.swift; sourceTree = "<group>"; };
   1195 		4CA927662A290F8B0098A105 /* RelativeTime.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelativeTime.swift; sourceTree = "<group>"; };
   1196 		4CA927692A290FC00098A105 /* ContextButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContextButton.swift; sourceTree = "<group>"; };
   1197 		4CA9276B2A2910D10098A105 /* ReplyPart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyPart.swift; sourceTree = "<group>"; };
   1198 		4CA9276D2A2A5D110098A105 /* wasm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wasm.h; sourceTree = "<group>"; };
   1199 		4CA9276E2A2A5D110098A105 /* wasm.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = wasm.c; sourceTree = "<group>"; };
   1200 		4CA9276F2A2A5D470098A105 /* parser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = parser.h; sourceTree = "<group>"; };
   1201 		4CA927702A2A5D470098A105 /* debug.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = debug.h; sourceTree = "<group>"; };
   1202 		4CA927712A2A5D480098A105 /* error.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
   1203 		4CA927742A2A5E2F0098A105 /* varint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = varint.h; sourceTree = "<group>"; };
   1204 		4CA927752A2A5E2F0098A105 /* typedefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = typedefs.h; sourceTree = "<group>"; };
   1205 		4CAAD8AC298851D000060CEA /* AccountDeletion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountDeletion.swift; sourceTree = "<group>"; };
   1206 		4CAAD8AF29888AD200060CEA /* RelayConfigView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayConfigView.swift; sourceTree = "<group>"; };
   1207 		4CACA9D4280C31E100D9BBE8 /* ReplyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyView.swift; sourceTree = "<group>"; };
   1208 		4CACA9DB280C38C000D9BBE8 /* Profiles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Profiles.swift; sourceTree = "<group>"; };
   1209 		4CB55EF4295E679D007FD187 /* UserRelaysView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserRelaysView.swift; sourceTree = "<group>"; };
   1210 		4CB8838529656C8B00DC99E7 /* NIP05.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NIP05.swift; sourceTree = "<group>"; };
   1211 		4CB88388296AF99A00DC99E7 /* EventDetailBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventDetailBar.swift; sourceTree = "<group>"; };
   1212 		4CB8838A296F6E1E00DC99E7 /* NIP05Badge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NIP05Badge.swift; sourceTree = "<group>"; };
   1213 		4CB8838C296F710400DC99E7 /* Reposted.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Reposted.swift; sourceTree = "<group>"; };
   1214 		4CB8838E296F781C00DC99E7 /* ReactionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionsView.swift; sourceTree = "<group>"; };
   1215 		4CB88395296F7F8B00DC99E7 /* ReactionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionView.swift; sourceTree = "<group>"; };
   1216 		4CB88399297322D200DC99E7 /* DMTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DMTests.swift; sourceTree = "<group>"; };
   1217 		4CB883A52975F83C00DC99E7 /* LNUrlPayRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LNUrlPayRequest.swift; sourceTree = "<group>"; };
   1218 		4CB883A72975FC1800DC99E7 /* Zaps.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Zaps.swift; sourceTree = "<group>"; };
   1219 		4CB883A9297612FF00DC99E7 /* ZapTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapTests.swift; sourceTree = "<group>"; };
   1220 		4CB883AD2976FA9300DC99E7 /* FormatTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormatTests.swift; sourceTree = "<group>"; };
   1221 		4CB883AF297705DD00DC99E7 /* NoteZapButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteZapButton.swift; sourceTree = "<group>"; };
   1222 		4CB883B5297730E400DC99E7 /* LNUrls.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LNUrls.swift; sourceTree = "<group>"; };
   1223 		4CB8FC222A41ABA500763C51 /* AboutView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
   1224 		4CB9D4A62992D02B00A9A7E4 /* ProfileNameView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileNameView.swift; sourceTree = "<group>"; };
   1225 		4CBCA92F297DB57F00EC6B2F /* WebsiteLink.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebsiteLink.swift; sourceTree = "<group>"; };
   1226 		4CC14FEE2A73FCCB007AEB17 /* IdType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IdType.swift; sourceTree = "<group>"; };
   1227 		4CC14FF02A73FCDB007AEB17 /* Pubkey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pubkey.swift; sourceTree = "<group>"; };
   1228 		4CC14FF42A740BB7007AEB17 /* NoteId.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteId.swift; sourceTree = "<group>"; };
   1229 		4CC14FF82A741939007AEB17 /* Referenced.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Referenced.swift; sourceTree = "<group>"; };
   1230 		4CC6193929DC777C006A86D1 /* RelayBootstrap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayBootstrap.swift; sourceTree = "<group>"; };
   1231 		4CC7AAE6297EFA7B00430951 /* Zap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Zap.swift; sourceTree = "<group>"; };
   1232 		4CC7AAEA297F0AEC00430951 /* BuilderEventView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuilderEventView.swift; sourceTree = "<group>"; };
   1233 		4CC7AAEC297F0B9E00430951 /* Highlight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Highlight.swift; sourceTree = "<group>"; };
   1234 		4CC7AAEF297F11C700430951 /* SelectedEventView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectedEventView.swift; sourceTree = "<group>"; };
   1235 		4CC7AAF3297F18B400430951 /* ReplyDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplyDescription.swift; sourceTree = "<group>"; };
   1236 		4CC7AAF5297F1A6A00430951 /* EventBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventBody.swift; sourceTree = "<group>"; };
   1237 		4CC7AAF7297F1CEE00430951 /* EventProfile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventProfile.swift; sourceTree = "<group>"; };
   1238 		4CC7AAF9297F64AC00430951 /* EventMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventMenu.swift; sourceTree = "<group>"; };
   1239 		4CCEB7AD29B53D260078AA28 /* SearchingEventView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchingEventView.swift; sourceTree = "<group>"; };
   1240 		4CCEB7AF29B5415A0078AA28 /* SearchingProfileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchingProfileView.swift; sourceTree = "<group>"; };
   1241 		4CD348EE29C3659D00497EB2 /* ImageUploadModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageUploadModel.swift; sourceTree = "<group>"; };
   1242 		4CD7641A28A1641400B6928F /* EndBlock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EndBlock.swift; sourceTree = "<group>"; };
   1243 		4CDA128929E9D10C0006FA5A /* SignalView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignalView.swift; sourceTree = "<group>"; };
   1244 		4CDA128B29EB19C40006FA5A /* LocalNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalNotification.swift; sourceTree = "<group>"; };
   1245 		4CDD1ADF2A6B305F001CD4DF /* NdbTagElem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbTagElem.swift; sourceTree = "<group>"; };
   1246 		4CDD1AE12A6B3074001CD4DF /* NdbTagsIterator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbTagsIterator.swift; sourceTree = "<group>"; };
   1247 		4CDD1AE72A6B3611001CD4DF /* jsmn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = jsmn.h; sourceTree = "<group>"; };
   1248 		4CE0E2AE29A2E82100DB4CA2 /* EventHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventHolder.swift; sourceTree = "<group>"; };
   1249 		4CE0E2B529A3ED5500DB4CA2 /* InnerTimelineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InnerTimelineView.swift; sourceTree = "<group>"; };
   1250 		4CE1398F29F0661A00AC6A0B /* RepostAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RepostAction.swift; sourceTree = "<group>"; };
   1251 		4CE1399129F0666100AC6A0B /* ShareActionButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareActionButton.swift; sourceTree = "<group>"; };
   1252 		4CE1399329F0669900AC6A0B /* BigButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BigButton.swift; sourceTree = "<group>"; };
   1253 		4CE4F0F129D4FCFA005914DB /* DebouncedOnChange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebouncedOnChange.swift; sourceTree = "<group>"; };
   1254 		4CE4F0F329D779B5005914DB /* PostBox.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PostBox.swift; sourceTree = "<group>"; };
   1255 		4CE4F0F729DB7399005914DB /* ThiccDivider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThiccDivider.swift; sourceTree = "<group>"; };
   1256 		4CE4F9DD2852768D00C00DD9 /* ConfigView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigView.swift; sourceTree = "<group>"; };
   1257 		4CE4F9E228528C5200C00DD9 /* AddRelayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddRelayView.swift; sourceTree = "<group>"; };
   1258 		4CE6DEE327F7A08100C66700 /* damus.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = damus.app; sourceTree = BUILT_PRODUCTS_DIR; };
   1259 		4CE6DEE627F7A08100C66700 /* damusApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = damusApp.swift; sourceTree = "<group>"; };
   1260 		4CE6DEE827F7A08100C66700 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
   1261 		4CE6DEEA27F7A08200C66700 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
   1262 		4CE6DEED27F7A08200C66700 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
   1263 		4CE6DEF327F7A08200C66700 /* damusTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = damusTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
   1264 		4CE6DEF727F7A08200C66700 /* damusTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = damusTests.swift; sourceTree = "<group>"; };
   1265 		4CE6DEFD27F7A08200C66700 /* damusUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = damusUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
   1266 		4CE6DF0127F7A08200C66700 /* damusUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = damusUITests.swift; sourceTree = "<group>"; };
   1267 		4CE6DF0327F7A08200C66700 /* damusUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = damusUITestsLaunchTests.swift; sourceTree = "<group>"; };
   1268 		4CE6DF1527F8DEBF00C66700 /* RelayConnection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayConnection.swift; sourceTree = "<group>"; };
   1269 		4CE8794729941DA700F758CC /* RelayFilters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayFilters.swift; sourceTree = "<group>"; };
   1270 		4CE8794D2996B16A00F758CC /* RelayToggle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayToggle.swift; sourceTree = "<group>"; };
   1271 		4CE8794F2996B2BD00F758CC /* RelayStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayStatusView.swift; sourceTree = "<group>"; };
   1272 		4CE879512996B68900F758CC /* RelayType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayType.swift; sourceTree = "<group>"; };
   1273 		4CE879542996BAB900F758CC /* RelayPaidDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayPaidDetail.swift; sourceTree = "<group>"; };
   1274 		4CE879572996C45300F758CC /* ZapsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapsView.swift; sourceTree = "<group>"; };
   1275 		4CE8795A2996C47A00F758CC /* ZapsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapsModel.swift; sourceTree = "<group>"; };
   1276 		4CE9FBB82A6B3B26007E485C /* nostrdb.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = nostrdb.c; sourceTree = "<group>"; };
   1277 		4CE9FBB92A6B3B26007E485C /* nostrdb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = nostrdb.h; sourceTree = "<group>"; };
   1278 		4CEE2AE72804F57C00AB5EEF /* libsecp256k1.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libsecp256k1.a; sourceTree = "<group>"; };
   1279 		4CEE2AEC2805B22500AB5EEF /* NostrRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrRequest.swift; sourceTree = "<group>"; };
   1280 		4CEE2AF0280B216B00AB5EEF /* EventDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventDetailView.swift; sourceTree = "<group>"; };
   1281 		4CEE2AF2280B25C500AB5EEF /* ProfilePicView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicView.swift; sourceTree = "<group>"; };
   1282 		4CEE2AF4280B29E600AB5EEF /* TimeAgo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeAgo.swift; sourceTree = "<group>"; };
   1283 		4CEE2AF6280B2DEA00AB5EEF /* ProfileName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileName.swift; sourceTree = "<group>"; };
   1284 		4CEE2B01280B39E800AB5EEF /* EventActionBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventActionBar.swift; sourceTree = "<group>"; };
   1285 		4CF0ABD32980996B00D66079 /* Report.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Report.swift; sourceTree = "<group>"; };
   1286 		4CF0ABD529817F5B00D66079 /* ReportView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReportView.swift; sourceTree = "<group>"; };
   1287 		4CF0ABD72981980C00D66079 /* Lists.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lists.swift; sourceTree = "<group>"; };
   1288 		4CF0ABDB2981A19E00D66079 /* ListTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListTests.swift; sourceTree = "<group>"; };
   1289 		4CF0ABE02981A83900D66079 /* MutelistView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutelistView.swift; sourceTree = "<group>"; };
   1290 		4CF0ABE22981BC7D00D66079 /* UserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserView.swift; sourceTree = "<group>"; };
   1291 		4CF0ABE42981EE0C00D66079 /* EULAView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EULAView.swift; sourceTree = "<group>"; };
   1292 		4CF0ABE6298444FC00D66079 /* EventMutingContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventMutingContainerView.swift; sourceTree = "<group>"; };
   1293 		4CF0ABE829844AF100D66079 /* AnyCodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyCodable.swift; sourceTree = "<group>"; };
   1294 		4CF0ABEB29844B4700D66079 /* AnyDecodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyDecodable.swift; sourceTree = "<group>"; };
   1295 		4CF0ABED29844B5500D66079 /* AnyEncodable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyEncodable.swift; sourceTree = "<group>"; };
   1296 		4CF0ABEF29857E9200D66079 /* Bech32Object.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bech32Object.swift; sourceTree = "<group>"; };
   1297 		4CF0ABF52985CD5500D66079 /* UserSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSearch.swift; sourceTree = "<group>"; };
   1298 		4CF38C872A9442DC00BE01B6 /* UserStatusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserStatusView.swift; sourceTree = "<group>"; };
   1299 		4CFD502E2A2DA45800A229DB /* MediaView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaView.swift; sourceTree = "<group>"; };
   1300 		4CFF8F5829C9FD1E008DB934 /* DamusPurpleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleView.swift; sourceTree = "<group>"; };
   1301 		4CFF8F6229CC9AD7008DB934 /* ImageContextMenuModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageContextMenuModifier.swift; sourceTree = "<group>"; };
   1302 		4CFF8F6629CC9E3A008DB934 /* FullScreenCarouselView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullScreenCarouselView.swift; sourceTree = "<group>"; };
   1303 		4CFF8F6829CC9ED1008DB934 /* ImageContainerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageContainerView.swift; sourceTree = "<group>"; };
   1304 		4CFF8F6A29CD0079008DB934 /* RepostedEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RepostedEvent.swift; sourceTree = "<group>"; };
   1305 		4CFF8F6C29CD022E008DB934 /* WideEventView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WideEventView.swift; sourceTree = "<group>"; };
   1306 		4FE60CDC295E1C5E00105A1F /* Wallet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Wallet.swift; sourceTree = "<group>"; };
   1307 		50088DA029E8271A008A1FDF /* WebSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebSocket.swift; sourceTree = "<group>"; };
   1308 		501F8C7F2A0220E1001AFC1D /* KeychainStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainStorage.swift; sourceTree = "<group>"; };
   1309 		501F8C812A0224EB001AFC1D /* KeychainStorageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainStorageTests.swift; sourceTree = "<group>"; };
   1310 		504323A62A34915F006AE6DC /* RelayModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayModel.swift; sourceTree = "<group>"; };
   1311 		504323A82A3495B6006AE6DC /* RelayModelCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayModelCache.swift; sourceTree = "<group>"; };
   1312 		5053ACA62A56DF3B00851AE3 /* DeveloperSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeveloperSettingsView.swift; sourceTree = "<group>"; };
   1313 		50A16FFA2AA6C06600DFEC1F /* DamusAVPlayerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusAVPlayerView.swift; sourceTree = "<group>"; };
   1314 		50A16FFC2AA7525700DFEC1F /* DamusVideoPlayerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusVideoPlayerViewModel.swift; sourceTree = "<group>"; };
   1315 		50A16FFE2AA76A0900DFEC1F /* VideoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoController.swift; sourceTree = "<group>"; };
   1316 		50A50A8C29A09E1C00C01BE7 /* RequestTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequestTests.swift; sourceTree = "<group>"; };
   1317 		50A60D132A28BEEE00186190 /* RelayLog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayLog.swift; sourceTree = "<group>"; };
   1318 		50B5685229F97CB400A23243 /* CredentialHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CredentialHandler.swift; sourceTree = "<group>"; };
   1319 		50C3E0892AA8E3F7006A4BC0 /* AVPlayer+Additions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AVPlayer+Additions.swift"; sourceTree = "<group>"; };
   1320 		50DA11252A16A23F00236234 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Launch.storyboard; sourceTree = "<group>"; };
   1321 		5C0707D02A1ECB38004E7B51 /* DamusLogoGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusLogoGradient.swift; sourceTree = "<group>"; };
   1322 		5C14C29A2BBBA29C00079FD2 /* RelaySoftwareDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelaySoftwareDetail.swift; sourceTree = "<group>"; };
   1323 		5C14C29C2BBBA40B00079FD2 /* RelayAdminDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayAdminDetail.swift; sourceTree = "<group>"; };
   1324 		5C14C29E2BBBA5C600079FD2 /* RelayNipList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayNipList.swift; sourceTree = "<group>"; };
   1325 		5C42E78B29DB76D90086AAC1 /* EmptyUserSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyUserSearchView.swift; sourceTree = "<group>"; };
   1326 		5C513FB9297F72980072348F /* CustomPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomPicker.swift; sourceTree = "<group>"; };
   1327 		5C513FCB2984ACA60072348F /* QRCodeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRCodeView.swift; sourceTree = "<group>"; };
   1328 		5C6E1DAC2A193EC2008FC15A /* GradientButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GradientButtonStyle.swift; sourceTree = "<group>"; };
   1329 		5C6E1DAE2A194075008FC15A /* PinkGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinkGradient.swift; sourceTree = "<group>"; };
   1330 		5C7389B02B6EFA7100781E0A /* ProxyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProxyView.swift; sourceTree = "<group>"; };
   1331 		5C7389B62B9E692E00781E0A /* MutinyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutinyButton.swift; sourceTree = "<group>"; };
   1332 		5C7389B82B9E69ED00781E0A /* MutinyGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutinyGradient.swift; sourceTree = "<group>"; };
   1333 		5CC868DC2AA29B3200FB22BA /* NeutralButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NeutralButtonStyle.swift; sourceTree = "<group>"; };
   1334 		5CF2DCCB2AA3AF0B00984B8D /* RelayPicView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayPicView.swift; sourceTree = "<group>"; };
   1335 		5CF2DCCD2AABE1A500984B8D /* DamusLightGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusLightGradient.swift; sourceTree = "<group>"; };
   1336 		5CF72FC129B9142F00124A13 /* ShareAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareAction.swift; sourceTree = "<group>"; };
   1337 		6439E013296790CF0020672B /* ProfilePicImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePicImageView.swift; sourceTree = "<group>"; };
   1338 		643EA5C7296B764E005081BB /* RelayFilterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayFilterView.swift; sourceTree = "<group>"; };
   1339 		647D9A8C2968520300A295DE /* SideMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SideMenuView.swift; sourceTree = "<group>"; };
   1340 		64FBD06E296255C400D9D3B2 /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
   1341 		7527271D2A93FF0100214108 /* Block.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Block.swift; sourceTree = "<group>"; };
   1342 		75AD872A2AA23A460085EF2C /* Block+Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Block+Tests.swift"; sourceTree = "<group>"; };
   1343 		7C60CAEE298471A1009C80D6 /* CoreSVG.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreSVG.swift; sourceTree = "<group>"; };
   1344 		7C902AE22981D55B002AB16E /* ZoomableScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZoomableScrollView.swift; sourceTree = "<group>"; };
   1345 		7C95CAED299DCEF1009DCB67 /* KFOptionSetter+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KFOptionSetter+.swift"; sourceTree = "<group>"; };
   1346 		7CFF6316299FEFE5005D382A /* SelectableText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectableText.swift; sourceTree = "<group>"; };
   1347 		9609F057296E220800069BF3 /* BannerImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerImageView.swift; sourceTree = "<group>"; };
   1348 		9C83F89229A937B900136C08 /* TextViewWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewWrapper.swift; sourceTree = "<group>"; };
   1349 		9CA876E129A00CE90003B9A3 /* AttachMediaUtility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttachMediaUtility.swift; sourceTree = "<group>"; };
   1350 		ADFE73542AD4793100EC7326 /* QRScanNSECView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QRScanNSECView.swift; sourceTree = "<group>"; };
   1351 		B501062C2B363036003874F5 /* AuthIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthIntegrationTests.swift; sourceTree = "<group>"; usesTabs = 0; };
   1352 		B51C1CE82B55A60A00E312A9 /* AddMuteItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddMuteItemView.swift; sourceTree = "<group>"; };
   1353 		B51C1CE92B55A60A00E312A9 /* MuteDurationMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MuteDurationMenu.swift; sourceTree = "<group>"; };
   1354 		B533694D2B66D791008A805E /* MutelistManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MutelistManager.swift; sourceTree = "<group>"; usesTabs = 0; };
   1355 		B57B4C612B312BD700A232C0 /* ReconnectRelaysNotify.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReconnectRelaysNotify.swift; sourceTree = "<group>"; };
   1356 		B57B4C632B312BFA00A232C0 /* RelayAuthenticationDetail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RelayAuthenticationDetail.swift; sourceTree = "<group>"; };
   1357 		B57B4C652B312C3700A232C0 /* NostrAuth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NostrAuth.swift; sourceTree = "<group>"; };
   1358 		B5A75C292B546D94007AFBC0 /* MuteItemTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MuteItemTests.swift; sourceTree = "<group>"; usesTabs = 0; };
   1359 		B5B4D1422B37D47600844320 /* NdbExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NdbExtensions.swift; sourceTree = "<group>"; usesTabs = 0; };
   1360 		B5C60C1F2B530D5100C5ECA7 /* MuteItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MuteItem.swift; sourceTree = "<group>"; usesTabs = 0; };
   1361 		B5C60C222B532A8700C5ECA7 /* DamusDuration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusDuration.swift; sourceTree = "<group>"; usesTabs = 0; };
   1362 		BA3759892ABCCDE30018D73B /* ImageResizer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageResizer.swift; sourceTree = "<group>"; };
   1363 		BA37598B2ABCCE500018D73B /* PhotoCaptureProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PhotoCaptureProcessor.swift; sourceTree = "<group>"; };
   1364 		BA37598C2ABCCE500018D73B /* VideoCaptureProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VideoCaptureProcessor.swift; sourceTree = "<group>"; };
   1365 		BA37598F2ABCCEBA0018D73B /* CameraService+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CameraService+Extensions.swift"; sourceTree = "<group>"; };
   1366 		BA3759902ABCCEBA0018D73B /* CameraModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CameraModel.swift; sourceTree = "<group>"; };
   1367 		BA3759912ABCCEBA0018D73B /* CameraService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CameraService.swift; sourceTree = "<group>"; };
   1368 		BA3759962ABCCF360018D73B /* CameraPreview.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CameraPreview.swift; sourceTree = "<group>"; };
   1369 		BA4AB0AD2A63B9270070A32A /* AddEmojiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddEmojiView.swift; sourceTree = "<group>"; };
   1370 		BA4AB0AF2A63B94D0070A32A /* EmojiListItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiListItemView.swift; sourceTree = "<group>"; };
   1371 		BA693073295D649800ADDB87 /* UserSettingsStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSettingsStore.swift; sourceTree = "<group>"; };
   1372 		BAB68BEC29543FA3007BA466 /* SelectWalletView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectWalletView.swift; sourceTree = "<group>"; };
   1373 		D2277EE92A089BD5006C3807 /* Router.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Router.swift; sourceTree = "<group>"; };
   1374 		D70A3B162B02DCE5008BD568 /* NotificationFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationFormatter.swift; sourceTree = "<group>"; };
   1375 		D7100C552B76F8E600C59298 /* PurpleViewPrimitives.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurpleViewPrimitives.swift; sourceTree = "<group>"; };
   1376 		D7100C572B76FC8400C59298 /* MarketingContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketingContentView.swift; sourceTree = "<group>"; };
   1377 		D7100C592B76FD5100C59298 /* LogoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoView.swift; sourceTree = "<group>"; };
   1378 		D7100C5B2B77016700C59298 /* IAPProductStateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IAPProductStateView.swift; sourceTree = "<group>"; };
   1379 		D7100C5D2B7709ED00C59298 /* PurpleStoreKitManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurpleStoreKitManager.swift; sourceTree = "<group>"; };
   1380 		D71AC4CB2BA8E3480076268E /* VisibilityTracker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisibilityTracker.swift; sourceTree = "<group>"; };
   1381 		D71DC1EB2A9129C3006E207C /* PostViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PostViewTests.swift; sourceTree = "<group>"; };
   1382 		D72341182B6864F200E1E135 /* DamusPurpleEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleEnvironment.swift; sourceTree = "<group>"; };
   1383 		D723C38D2AB8D83400065664 /* ContentFilters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentFilters.swift; sourceTree = "<group>"; };
   1384 		D724D8262B64B40B00ABE789 /* DamusPurpleAccountView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleAccountView.swift; sourceTree = "<group>"; };
   1385 		D72927AC2BAB515C00F93E90 /* RelayURLTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayURLTests.swift; sourceTree = "<group>"; };
   1386 		D72A2CFF2AD9B66B002AFF62 /* EventViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventViewTests.swift; sourceTree = "<group>"; };
   1387 		D72A2D042AD9C1B5002AFF62 /* MockDamusState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockDamusState.swift; sourceTree = "<group>"; };
   1388 		D72A2D062AD9C1FB002AFF62 /* MockProfiles.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockProfiles.swift; sourceTree = "<group>"; };
   1389 		D7315A292ACDF3B70036E30A /* DamusCacheManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusCacheManager.swift; sourceTree = "<group>"; };
   1390 		D7315A2B2ACDF4DA0036E30A /* DamusCacheManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusCacheManagerTests.swift; sourceTree = "<group>"; };
   1391 		D7373BA52B688EA200F7783D /* DamusPurpleTranslationSetupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleTranslationSetupView.swift; sourceTree = "<group>"; };
   1392 		D7373BA72B68974500F7783D /* DamusPurpleNewUserOnboardingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleNewUserOnboardingView.swift; sourceTree = "<group>"; };
   1393 		D7373BA92B68A65A00F7783D /* PurpleAccountUpdateNotify.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurpleAccountUpdateNotify.swift; sourceTree = "<group>"; };
   1394 		D74AAFC12B153395006CF0F4 /* HeadlessDamusState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlessDamusState.swift; sourceTree = "<group>"; };
   1395 		D74AAFC42B1538DE006CF0F4 /* NotificationExtensionState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationExtensionState.swift; sourceTree = "<group>"; };
   1396 		D74AAFCB2B155D07006CF0F4 /* MakeZapRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MakeZapRequest.swift; sourceTree = "<group>"; };
   1397 		D74AAFCE2B155D8C006CF0F4 /* ZapDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapDataModel.swift; sourceTree = "<group>"; };
   1398 		D74AAFD32B155ECB006CF0F4 /* Zaps+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Zaps+.swift"; sourceTree = "<group>"; };
   1399 		D74AAFD52B155F0C006CF0F4 /* WalletConnect+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WalletConnect+.swift"; sourceTree = "<group>"; };
   1400 		D74F43092B23F0BE00425B75 /* DamusPurple.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurple.swift; sourceTree = "<group>"; };
   1401 		D74F430B2B23FB9B00425B75 /* StoreObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreObserver.swift; sourceTree = "<group>"; };
   1402 		D76556D52B1E6C08001B0CCC /* DamusPurpleWelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleWelcomeView.swift; sourceTree = "<group>"; };
   1403 		D76874F22AE3632B00FB0F68 /* ProfileZapLinkView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileZapLinkView.swift; sourceTree = "<group>"; };
   1404 		D77BFA0A2AE3051200621634 /* ProfileActionSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileActionSheetView.swift; sourceTree = "<group>"; };
   1405 		D783A63E2AD4E53D00658DDA /* SuggestedHashtagsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuggestedHashtagsView.swift; sourceTree = "<group>"; };
   1406 		D78525242A7B2EA4002FA637 /* NoteContentViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteContentViewTests.swift; sourceTree = "<group>"; };
   1407 		D7870BC02AC4750B0080BA88 /* MentionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MentionView.swift; sourceTree = "<group>"; };
   1408 		D7870BC22AC47EBC0080BA88 /* EventLoaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventLoaderView.swift; sourceTree = "<group>"; };
   1409 		D78CD5972B8990300014D539 /* DamusAppNotificationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusAppNotificationView.swift; sourceTree = "<group>"; };
   1410 		D798D21D2B0858BB00234419 /* MigratedTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MigratedTypes.swift; sourceTree = "<group>"; };
   1411 		D798D2272B085CDA00234419 /* NdbNote+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NdbNote+.swift"; sourceTree = "<group>"; };
   1412 		D798D22B2B086C7400234419 /* NostrEvent+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NostrEvent+.swift"; sourceTree = "<group>"; };
   1413 		D79C4C142AFEB061003A41B4 /* DamusNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = DamusNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
   1414 		D79C4C162AFEB061003A41B4 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; };
   1415 		D79C4C182AFEB061003A41B4 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
   1416 		D79C4C1C2AFEB061003A41B4 /* DamusNotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DamusNotificationService.entitlements; sourceTree = "<group>"; };
   1417 		D7ADD3DD2B53854300F104C4 /* DamusPurpleURL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleURL.swift; sourceTree = "<group>"; };
   1418 		D7ADD3DF2B538D4200F104C4 /* DamusPurpleURLSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleURLSheetView.swift; sourceTree = "<group>"; };
   1419 		D7ADD3E12B538E3500F104C4 /* DamusPurpleVerifyNpubView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleVerifyNpubView.swift; sourceTree = "<group>"; };
   1420 		D7C6787D2B2D34CC00BCEAFB /* NIP98AuthenticatedRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NIP98AuthenticatedRequest.swift; sourceTree = "<group>"; };
   1421 		D7CB5D3D2B116DAD00AD4105 /* NotificationsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsManager.swift; sourceTree = "<group>"; };
   1422 		D7CB5D442B116FE800AD4105 /* Contacts+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Contacts+.swift"; sourceTree = "<group>"; };
   1423 		D7CB5D4A2B11721600AD4105 /* ZapType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZapType.swift; sourceTree = "<group>"; };
   1424 		D7CB5D4D2B11728000AD4105 /* NewEventsBits.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewEventsBits.swift; sourceTree = "<group>"; };
   1425 		D7CB5D502B1174D100AD4105 /* FriendFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendFilter.swift; sourceTree = "<group>"; };
   1426 		D7CB5D5B2B1176B200AD4105 /* MediaUploader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaUploader.swift; sourceTree = "<group>"; };
   1427 		D7CB5D5E2B11770C00AD4105 /* FollowState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FollowState.swift; sourceTree = "<group>"; };
   1428 		D7CBD1D32B8D21DC00BFD889 /* DamusPurpleNotificationManagement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleNotificationManagement.swift; sourceTree = "<group>"; };
   1429 		D7CBD1D52B8D509800BFD889 /* DamusPurpleImpendingExpirationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusPurpleImpendingExpirationTests.swift; sourceTree = "<group>"; };
   1430 		D7DEEF2E2A8C021E00E0C99F /* NostrEventTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NostrEventTests.swift; sourceTree = "<group>"; };
   1431 		D7EDED1B2B1178FE0018B19C /* NoteContent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteContent.swift; sourceTree = "<group>"; };
   1432 		D7EDED1D2B11797D0018B19C /* LongformEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LongformEvent.swift; sourceTree = "<group>"; };
   1433 		D7EDED202B117DCA0018B19C /* SequenceUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SequenceUtils.swift; sourceTree = "<group>"; };
   1434 		D7EDED2D2B128E8A0018B19C /* CollectionExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionExtension.swift; sourceTree = "<group>"; };
   1435 		D7EDED322B12ACAE0018B19C /* DamusUserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusUserDefaults.swift; sourceTree = "<group>"; };
   1436 		D7FF93FF2AC7AC5200FD969D /* RelayURL.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayURL.swift; sourceTree = "<group>"; };
   1437 		E02429942B7E97740088B16C /* CameraController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraController.swift; sourceTree = "<group>"; };
   1438 		E02B54172B4DFADA0077FF42 /* Bech32ObjectTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Bech32ObjectTests.swift; sourceTree = "<group>"; };
   1439 		E04A37C52B544F090029650D /* URIParsing.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = URIParsing.swift; sourceTree = "<group>"; };
   1440 		E06336A82B7582E000A88E6B /* img_with_location.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = img_with_location.jpeg; sourceTree = "<group>"; };
   1441 		E06336A92B75832100A88E6B /* ImageMetadataTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageMetadataTest.swift; sourceTree = "<group>"; };
   1442 		E0E024102B7C19C20075735D /* TranslationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TranslationTests.swift; sourceTree = "<group>"; };
   1443 		E0EE9DD32B8E5FEA00F3002D /* ImageProcessing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageProcessing.swift; sourceTree = "<group>"; };
   1444 		E4FA1C022A24BB7F00482697 /* SearchSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSettingsView.swift; sourceTree = "<group>"; };
   1445 		E990020E2955F837003BBC5A /* EditMetadataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditMetadataView.swift; sourceTree = "<group>"; };
   1446 		E9E4ED0A295867B900DD7078 /* ThreadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadView.swift; sourceTree = "<group>"; };
   1447 		F71694E92A662232001F4053 /* OnboardingSuggestionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingSuggestionsView.swift; sourceTree = "<group>"; };
   1448 		F71694EB2A662292001F4053 /* SuggestedUsersViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuggestedUsersViewModel.swift; sourceTree = "<group>"; };
   1449 		F71694ED2A6624F9001F4053 /* suggested_users.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = suggested_users.json; sourceTree = "<group>"; };
   1450 		F71694F12A67314D001F4053 /* SuggestedUserView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuggestedUserView.swift; sourceTree = "<group>"; };
   1451 		F71694F32A6732B7001F4053 /* GradientFollowButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GradientFollowButton.swift; sourceTree = "<group>"; };
   1452 		F71694F72A6983AF001F4053 /* GrayGradient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GrayGradient.swift; sourceTree = "<group>"; };
   1453 		F757933929D7AECD007DEAC1 /* MediaPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaPicker.swift; sourceTree = "<group>"; };
   1454 		F75BA12C29A1855400E10810 /* BookmarksManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarksManager.swift; sourceTree = "<group>"; };
   1455 		F75BA12E29A18EF500E10810 /* BookmarksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarksView.swift; sourceTree = "<group>"; };
   1456 		F7908E91298B0F0700AB113A /* RelayDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelayDetailView.swift; sourceTree = "<group>"; };
   1457 		F7908E96298B1FDF00AB113A /* NIPURLBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NIPURLBuilder.swift; sourceTree = "<group>"; };
   1458 		F79C7FAC29D5E9620000F946 /* EditPictureControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditPictureControl.swift; sourceTree = "<group>"; };
   1459 		F7F0BA24297892BD009531F3 /* SwipeToDismiss.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwipeToDismiss.swift; sourceTree = "<group>"; };
   1460 		F7F0BA262978E54D009531F3 /* ParticipantsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParticipantsView.swift; sourceTree = "<group>"; };
   1461 		F944F56D29EA9CCC0067B3BF /* DamusParseContentTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamusParseContentTests.swift; sourceTree = "<group>"; };
   1462 /* End PBXFileReference section */
   1463 
   1464 /* Begin PBXFrameworksBuildPhase section */
   1465 		4CE6DEE027F7A08100C66700 /* Frameworks */ = {
   1466 			isa = PBXFrameworksBuildPhase;
   1467 			buildActionMask = 2147483647;
   1468 			files = (
   1469 				4C06670428FC7EC500038D2A /* Kingfisher in Frameworks */,
   1470 				4C649881286E0EE300EAE2B3 /* secp256k1 in Frameworks */,
   1471 				4C27C9322A64766F007DBC75 /* MarkdownUI in Frameworks */,
   1472 			);
   1473 			runOnlyForDeploymentPostprocessing = 0;
   1474 		};
   1475 		4CE6DEF027F7A08200C66700 /* Frameworks */ = {
   1476 			isa = PBXFrameworksBuildPhase;
   1477 			buildActionMask = 2147483647;
   1478 			files = (
   1479 				D7A343EE2AD0D77C00CED48B /* InlineSnapshotTesting in Frameworks */,
   1480 				D7A343F02AD0D77C00CED48B /* SnapshotTesting in Frameworks */,
   1481 			);
   1482 			runOnlyForDeploymentPostprocessing = 0;
   1483 		};
   1484 		4CE6DEFA27F7A08200C66700 /* Frameworks */ = {
   1485 			isa = PBXFrameworksBuildPhase;
   1486 			buildActionMask = 2147483647;
   1487 			files = (
   1488 			);
   1489 			runOnlyForDeploymentPostprocessing = 0;
   1490 		};
   1491 		D79C4C112AFEB061003A41B4 /* Frameworks */ = {
   1492 			isa = PBXFrameworksBuildPhase;
   1493 			buildActionMask = 2147483647;
   1494 			files = (
   1495 				D789D1202AFEFBF20083A7AB /* secp256k1 in Frameworks */,
   1496 				D7EDED312B1290B80018B19C /* MarkdownUI in Frameworks */,
   1497 			);
   1498 			runOnlyForDeploymentPostprocessing = 0;
   1499 		};
   1500 /* End PBXFrameworksBuildPhase section */
   1501 
   1502 /* Begin PBXGroup section */
   1503 		3169CAE4294E699400EE4006 /* Empty Views */ = {
   1504 			isa = PBXGroup;
   1505 			children = (
   1506 				3169CAE5294E69C000EE4006 /* EmptyTimelineView.swift */,
   1507 				5C42E78B29DB76D90086AAC1 /* EmptyUserSearchView.swift */,
   1508 			);
   1509 			path = "Empty Views";
   1510 			sourceTree = "<group>";
   1511 		};
   1512 		3AA24800297E3DAE0090C62D /* Reposts */ = {
   1513 			isa = PBXGroup;
   1514 			children = (
   1515 				3AA24801297E3DC20090C62D /* RepostView.swift */,
   1516 				4CFF8F6A29CD0079008DB934 /* RepostedEvent.swift */,
   1517 				4C94D6422BA5AEFE00C26EFF /* QuoteRepostsView.swift */,
   1518 			);
   1519 			path = Reposts;
   1520 			sourceTree = "<group>";
   1521 		};
   1522 		4C06670728FDE62900038D2A /* damus-c */ = {
   1523 			isa = PBXGroup;
   1524 			children = (
   1525 				4C9146FF2A2A891E00DDEA40 /* error.c */,
   1526 				4CA927752A2A5E2F0098A105 /* typedefs.h */,
   1527 				4CA927742A2A5E2F0098A105 /* varint.h */,
   1528 				4CA927702A2A5D470098A105 /* debug.h */,
   1529 				4CA927712A2A5D480098A105 /* error.h */,
   1530 				4CA9276F2A2A5D470098A105 /* parser.h */,
   1531 				4CA9276E2A2A5D110098A105 /* wasm.c */,
   1532 				4CA9276D2A2A5D110098A105 /* wasm.h */,
   1533 				4C06670928FDE64700038D2A /* damus.h */,
   1534 				4C06670A28FDE64700038D2A /* damus.c */,
   1535 				4C06670828FDE64700038D2A /* damus-Bridging-Header.h */,
   1536 				4C06670C28FDEAA000038D2A /* utf8.h */,
   1537 				4C06670D28FDEAA000038D2A /* utf8.c */,
   1538 				4C3EA63B28FF52D600C48A62 /* bolt11.h */,
   1539 				4C3EA63C28FF52D600C48A62 /* bolt11.c */,
   1540 				4C3EA63E28FF54BD00C48A62 /* short_types.h */,
   1541 				4C3EA63F28FF553900C48A62 /* hash_u5.h */,
   1542 				4C3EA64028FF553900C48A62 /* hash_u5.c */,
   1543 				4C3EA64228FF558100C48A62 /* sha256.h */,
   1544 				4C3EA64328FF558100C48A62 /* sha256.c */,
   1545 				4C3EA64528FF56D300C48A62 /* config.h */,
   1546 				4C3EA64628FF570F00C48A62 /* node_id.h */,
   1547 				4C3EA64728FF597700C48A62 /* bech32.h */,
   1548 				4C3EA64828FF597700C48A62 /* bech32.c */,
   1549 				4C3EA64A28FF59AC00C48A62 /* bech32_util.h */,
   1550 				4C3EA64B28FF59AC00C48A62 /* bech32_util.c */,
   1551 				4C3EA64D28FF59F200C48A62 /* tal.h */,
   1552 				4C3EA64E28FF59F200C48A62 /* tal.c */,
   1553 				4C3EA65028FF5A5500C48A62 /* list.h */,
   1554 				4C3EA65328FF5A8600C48A62 /* str.h */,
   1555 				4C3EA65428FF5AAE00C48A62 /* container_of.h */,
   1556 				4C3EA65528FF5AC300C48A62 /* check_type.h */,
   1557 				4C3EA65628FF5B0200C48A62 /* compiler.h */,
   1558 				4C3EA65728FF5B1E00C48A62 /* likely.h */,
   1559 				4C3EA65828FF5B3700C48A62 /* typesafe_cb.h */,
   1560 				4C3EA65928FF5B5100C48A62 /* take.h */,
   1561 				4C3EA65A28FF5BC900C48A62 /* alignof.h */,
   1562 				4C3EA65B28FF5C7E00C48A62 /* str_debug.h */,
   1563 				4C3EA65C28FF5CAF00C48A62 /* endian.h */,
   1564 				4C3EA65D28FF5CF300C48A62 /* talstr.h */,
   1565 				4C3EA65E28FF5DA400C48A62 /* amount.h */,
   1566 				4C3EA65F28FF5E7700C48A62 /* node_id.c */,
   1567 				4C3EA66128FF5EA800C48A62 /* array_size.h */,
   1568 				4C3EA66228FF5EBC00C48A62 /* build_assert.h */,
   1569 				4C3EA66328FF5F6800C48A62 /* mem.h */,
   1570 				4C3EA66428FF5F6800C48A62 /* mem.c */,
   1571 				4C3EA66628FF5F9900C48A62 /* hex.h */,
   1572 				4C3EA66728FF5F9900C48A62 /* hex.c */,
   1573 				4C3EA66C28FF782800C48A62 /* amount.c */,
   1574 				4C3EA66E28FF787100C48A62 /* overflows.h */,
   1575 				4C3EA67228FF79F600C48A62 /* structeq.h */,
   1576 				4C3EA67328FF7A2600C48A62 /* cppmagic.h */,
   1577 				4C3EA67428FF7A5A00C48A62 /* take.c */,
   1578 				4C3EA67628FF7A9800C48A62 /* talstr.c */,
   1579 				4C3EA67828FF7ABF00C48A62 /* list.c */,
   1580 				4C8D00CD29E38B950036AF10 /* nostr_bech32.h */,
   1581 				4C8D00CE29E38B950036AF10 /* nostr_bech32.c */,
   1582 				4C8D00D029E38E4C0036AF10 /* cursor.h */,
   1583 				4C8D00D129E397AD0036AF10 /* block.h */,
   1584 				4C8D00D229E3C19F0036AF10 /* str_block.h */,
   1585 			);
   1586 			path = "damus-c";
   1587 			sourceTree = "<group>";
   1588 		};
   1589 		4C0A3F8D280F63FF000448DE /* Models */ = {
   1590 			isa = PBXGroup;
   1591 			children = (
   1592 				D74F43082B23F09300425B75 /* Purple */,
   1593 				BA3759882ABCCDE30018D73B /* Camera */,
   1594 				4C190F1E2A535FC200027FD5 /* Zaps */,
   1595 				4C54AA0829A55416003E4487 /* Notifications */,
   1596 				4C0A3F8E280F640A000448DE /* ThreadModel.swift */,
   1597 				4C0A3F92280F66F5000448DE /* ReplyMap.swift */,
   1598 				4C3BEFD12819DB9B00B3DE84 /* ProfileModel.swift */,
   1599 				4C3BEFD5281D995700B3DE84 /* ActionBarModel.swift */,
   1600 				4C3BEFD9281DCA1400B3DE84 /* LikeCounter.swift */,
   1601 				4C3BEFDB281DCE6100B3DE84 /* Liked.swift */,
   1602 				4C3BEFDF281DE1ED00B3DE84 /* DamusState.swift */,
   1603 				4C7FF7D42823313F009601DB /* Mentions.swift */,
   1604 				4C363A912825FCF2006E126D /* ProfileUpdate.swift */,
   1605 				4C363A93282704FA006E126D /* Post.swift */,
   1606 				4C363A952827096D006E126D /* PostBlock.swift */,
   1607 				4C363A9928283854006E126D /* Reply.swift */,
   1608 				4C363A9B282838B9006E126D /* EventRef.swift */,
   1609 				4C363AA328296DEE006E126D /* SearchModel.swift */,
   1610 				0E8A4BB62AE4359200065E81 /* NostrFilter+Hashable.swift */,
   1611 				4C3AC79A28306D7B00E1F516 /* Contacts.swift */,
   1612 				4C285C85283892E7008A31F1 /* CreateAccountModel.swift */,
   1613 				4C63334F283D40E500B1C9C3 /* HomeModel.swift */,
   1614 				4C633351283D419F00B1C9C3 /* SignalModel.swift */,
   1615 				4C5F9113283D694D0052CD1C /* FollowTarget.swift */,
   1616 				F75BA12C29A1855400E10810 /* BookmarksManager.swift */,
   1617 				4C5F9115283D855D0052CD1C /* EventsModel.swift */,
   1618 				4C5F9117283D88E40052CD1C /* FollowingModel.swift */,
   1619 				4C987B56283FD07F0042CE38 /* FollowersModel.swift */,
   1620 				4C5C7E67284ED36500A22DF5 /* SearchHomeModel.swift */,
   1621 				4C64987D286D082C00EAE2B3 /* DirectMessagesModel.swift */,
   1622 				4C216F372871EDE300040376 /* DirectMessageModel.swift */,
   1623 				BA693073295D649800ADDB87 /* UserSettingsStore.swift */,
   1624 				4FE60CDC295E1C5E00105A1F /* Wallet.swift */,
   1625 				4CF0ABD32980996B00D66079 /* Report.swift */,
   1626 				3AE45AF5297BB2E700C1D842 /* LibreTranslateServer.swift */,
   1627 				3AAA95C9298DF87B00F3D526 /* TranslationService.swift */,
   1628 				3AAA95CB298E07E900F3D526 /* DeepLPlan.swift */,
   1629 				4CE8795A2996C47A00F758CC /* ZapsModel.swift */,
   1630 				3AA59D1C2999B0400061C48E /* DraftsModel.swift */,
   1631 				4C54AA0629A540BA003E4487 /* NotificationsModel.swift */,
   1632 				4CD348EE29C3659D00497EB2 /* ImageUploadModel.swift */,
   1633 				3A48E7AF29DFBE9D006E787E /* MutedThreadsManager.swift */,
   1634 				4C7D09772A0B0CC900943473 /* WalletModel.swift */,
   1635 				3A23838D2A297DD200E5AA2E /* ZapButtonModel.swift */,
   1636 				3A5E47C42A4A6CF400C0D090 /* Trie.swift */,
   1637 				3A90B1802A4EA3AF00000D94 /* UserSearchCache.swift */,
   1638 				D723C38D2AB8D83400065664 /* ContentFilters.swift */,
   1639 				D7315A292ACDF3B70036E30A /* DamusCacheManager.swift */,
   1640 				D7CB5D3D2B116DAD00AD4105 /* NotificationsManager.swift */,
   1641 				D7CB5D442B116FE800AD4105 /* Contacts+.swift */,
   1642 				D7CB5D4A2B11721600AD4105 /* ZapType.swift */,
   1643 				D7CB5D4D2B11728000AD4105 /* NewEventsBits.swift */,
   1644 				D7CB5D502B1174D100AD4105 /* FriendFilter.swift */,
   1645 				D7CB5D5B2B1176B200AD4105 /* MediaUploader.swift */,
   1646 				D7CB5D5E2B11770C00AD4105 /* FollowState.swift */,
   1647 				D7EDED1B2B1178FE0018B19C /* NoteContent.swift */,
   1648 				D7EDED1D2B11797D0018B19C /* LongformEvent.swift */,
   1649 				D7EDED322B12ACAE0018B19C /* DamusUserDefaults.swift */,
   1650 				D74AAFC12B153395006CF0F4 /* HeadlessDamusState.swift */,
   1651 				B5C60C1F2B530D5100C5ECA7 /* MuteItem.swift */,
   1652 				B533694D2B66D791008A805E /* MutelistManager.swift */,
   1653 			);
   1654 			path = Models;
   1655 			sourceTree = "<group>";
   1656 		};
   1657 		4C0C03962A61E2670098B3B8 /* Fixtures */ = {
   1658 			isa = PBXGroup;
   1659 			children = (
   1660 				4C0C03982A61E27B0098B3B8 /* bool_setting.wasm */,
   1661 				4C0C03972A61E27B0098B3B8 /* primal.wasm */,
   1662 			);
   1663 			name = Fixtures;
   1664 			sourceTree = "<group>";
   1665 		};
   1666 		4C190F1E2A535FC200027FD5 /* Zaps */ = {
   1667 			isa = PBXGroup;
   1668 			children = (
   1669 				4C190F1F2A535FC200027FD5 /* CustomizeZapModel.swift */,
   1670 			);
   1671 			path = Zaps;
   1672 			sourceTree = "<group>";
   1673 		};
   1674 		4C190F232A547D1700027FD5 /* NostrScript */ = {
   1675 			isa = PBXGroup;
   1676 			children = (
   1677 				4C190F242A547D2000027FD5 /* LoadScript.swift */,
   1678 			);
   1679 			path = NostrScript;
   1680 			sourceTree = "<group>";
   1681 		};
   1682 		4C198DEA29F88C6B004C165C /* BlurHash */ = {
   1683 			isa = PBXGroup;
   1684 			children = (
   1685 				4C198DEB29F88C6B004C165C /* BlurHashEncode.swift */,
   1686 				4C198DEC29F88C6B004C165C /* Readme.md */,
   1687 				4C198DED29F88C6B004C165C /* License.txt */,
   1688 				4C198DEE29F88C6B004C165C /* BlurHashDecode.swift */,
   1689 			);
   1690 			path = BlurHash;
   1691 			sourceTree = "<group>";
   1692 		};
   1693 		4C198DF329F88D23004C165C /* Images */ = {
   1694 			isa = PBXGroup;
   1695 			children = (
   1696 				4C198DF429F88D2E004C165C /* ImageMetadata.swift */,
   1697 				E0EE9DD32B8E5FEA00F3002D /* ImageProcessing.swift */,
   1698 			);
   1699 			path = Images;
   1700 			sourceTree = "<group>";
   1701 		};
   1702 		4C19AE4A2A5CEF7C00C90DB7 /* nostrscript */ = {
   1703 			isa = PBXGroup;
   1704 			children = (
   1705 				4C19AE4B2A5CEF7C00C90DB7 /* primal.ts */,
   1706 				4C19AE4C2A5CEF7C00C90DB7 /* NostrScript.swift */,
   1707 				4C19AE502A5CEF7C00C90DB7 /* nostr.ts */,
   1708 				4C4F14A82A2A71AB0045A0B9 /* nostrscript.h */,
   1709 				4C4F14A92A2A71AB0045A0B9 /* nostrscript.c */,
   1710 			);
   1711 			path = nostrscript;
   1712 			sourceTree = "<group>";
   1713 		};
   1714 		4C1A9A1B29DDCF8B00516EAC /* Settings */ = {
   1715 			isa = PBXGroup;
   1716 			children = (
   1717 				4C15C7142A55DE7A00D0A0DB /* ReactionsSettingsView.swift */,
   1718 				4C1A9A1C29DDCF9B00516EAC /* NotificationSettingsView.swift */,
   1719 				4C1A9A1E29DDD24B00516EAC /* AppearanceSettingsView.swift */,
   1720 				4C1A9A2029DDD3E100516EAC /* KeySettingsView.swift */,
   1721 				4C1A9A2429DDDF2600516EAC /* ZapSettingsView.swift */,
   1722 				4C1A9A2629DDE31900516EAC /* TranslationSettingsView.swift */,
   1723 				E4FA1C022A24BB7F00482697 /* SearchSettingsView.swift */,
   1724 				5053ACA62A56DF3B00851AE3 /* DeveloperSettingsView.swift */,
   1725 				BA4AB0AD2A63B9270070A32A /* AddEmojiView.swift */,
   1726 				BA4AB0AF2A63B94D0070A32A /* EmojiListItemView.swift */,
   1727 			);
   1728 			path = Settings;
   1729 			sourceTree = "<group>";
   1730 		};
   1731 		4C1A9A2829DDF53B00516EAC /* Video */ = {
   1732 			isa = PBXGroup;
   1733 			children = (
   1734 				4C1A9A2929DDF54400516EAC /* DamusVideoPlayer.swift */,
   1735 				50A16FFC2AA7525700DFEC1F /* DamusVideoPlayerViewModel.swift */,
   1736 				50A16FFE2AA76A0900DFEC1F /* VideoController.swift */,
   1737 				50A16FFA2AA6C06600DFEC1F /* DamusAVPlayerView.swift */,
   1738 			);
   1739 			path = Video;
   1740 			sourceTree = "<group>";
   1741 		};
   1742 		4C30AC7029A5676F00E2BD5A /* Notifications */ = {
   1743 			isa = PBXGroup;
   1744 			children = (
   1745 				4C30AC7129A5677A00E2BD5A /* NotificationsView.swift */,
   1746 				4C30AC7329A5680900E2BD5A /* EventGroupView.swift */,
   1747 				4C30AC7529A5770900E2BD5A /* NotificationItemView.swift */,
   1748 				4C30AC7F29A6A53F00E2BD5A /* ProfilePicturesView.swift */,
   1749 				D78CD5972B8990300014D539 /* DamusAppNotificationView.swift */,
   1750 			);
   1751 			path = Notifications;
   1752 			sourceTree = "<group>";
   1753 		};
   1754 		4C32B9362A9AD44700DC3548 /* flatbuffers */ = {
   1755 			isa = PBXGroup;
   1756 			children = (
   1757 				4C32B9372A9AD44700DC3548 /* FbConstants.swift */,
   1758 				4C32B9382A9AD44700DC3548 /* Offset.swift */,
   1759 				4C32B9392A9AD44700DC3548 /* Mutable.swift */,
   1760 				4C32B93A2A9AD44700DC3548 /* Int+extension.swift */,
   1761 				4C32B93B2A9AD44700DC3548 /* FlatBufferBuilder.swift */,
   1762 				4C32B93C2A9AD44700DC3548 /* FlatbuffersErrors.swift */,
   1763 				4C32B93D2A9AD44700DC3548 /* Message.swift */,
   1764 				4C32B93E2A9AD44700DC3548 /* Verifier.swift */,
   1765 				4C32B93F2A9AD44700DC3548 /* FlatBuffersUtils.swift */,
   1766 				4C32B9402A9AD44700DC3548 /* ByteBuffer.swift */,
   1767 				4C32B9412A9AD44700DC3548 /* TableVerifier.swift */,
   1768 				4C32B9422A9AD44700DC3548 /* Root.swift */,
   1769 				4C32B9432A9AD44700DC3548 /* VeriferOptions.swift */,
   1770 				4C32B9442A9AD44700DC3548 /* Table.swift */,
   1771 				4C32B9452A9AD44700DC3548 /* Verifiable.swift */,
   1772 				4C32B9462A9AD44700DC3548 /* NativeObject.swift */,
   1773 				4C32B9472A9AD44700DC3548 /* String+extension.swift */,
   1774 				4C32B9482A9AD44700DC3548 /* Documentation.docc */,
   1775 				4C32B9492A9AD44700DC3548 /* FlatBufferObject.swift */,
   1776 				4C32B94A2A9AD44700DC3548 /* Enum.swift */,
   1777 				4C32B94B2A9AD44700DC3548 /* Struct.swift */,
   1778 			);
   1779 			path = flatbuffers;
   1780 			sourceTree = "<group>";
   1781 		};
   1782 		4C478E2A2A9935D300489948 /* bindings */ = {
   1783 			isa = PBXGroup;
   1784 			children = (
   1785 				4C478E2B2A9935D300489948 /* swift */,
   1786 				4C478E2D2A9935D300489948 /* c */,
   1787 			);
   1788 			path = bindings;
   1789 			sourceTree = "<group>";
   1790 		};
   1791 		4C478E2B2A9935D300489948 /* swift */ = {
   1792 			isa = PBXGroup;
   1793 			children = (
   1794 				4C478E2C2A9935D300489948 /* NdbProfile.swift */,
   1795 			);
   1796 			path = swift;
   1797 			sourceTree = "<group>";
   1798 		};
   1799 		4C478E2D2A9935D300489948 /* c */ = {
   1800 			isa = PBXGroup;
   1801 			children = (
   1802 				4C478E2E2A9935D300489948 /* profile_json_parser.h */,
   1803 				4C478E2F2A9935D300489948 /* profile_reader.h */,
   1804 				4C478E302A9935D300489948 /* meta_json_parser.h */,
   1805 				4C478E312A9935D300489948 /* profile_builder.h */,
   1806 				4C478E322A9935D300489948 /* meta_builder.h */,
   1807 				4C478E332A9935D300489948 /* profile_verifier.h */,
   1808 				4C478E352A9935D300489948 /* meta_reader.h */,
   1809 				4C478E362A9935D300489948 /* flatbuffers_common_reader.h */,
   1810 				4C478E372A9935D300489948 /* meta_verifier.h */,
   1811 				4C478E382A9935D300489948 /* flatbuffers_common_builder.h */,
   1812 			);
   1813 			path = c;
   1814 			sourceTree = "<group>";
   1815 		};
   1816 		4C47928D2A9939BD00489948 /* flatcc */ = {
   1817 			isa = PBXGroup;
   1818 			children = (
   1819 				4C47928E2A9939BD00489948 /* flatcc.h */,
   1820 				4C47928F2A9939BD00489948 /* flatcc_version.h */,
   1821 				4C4792902A9939BD00489948 /* flatcc_emitter.h */,
   1822 				4C4792912A9939BD00489948 /* flatcc_alloc.h */,
   1823 				4C4792922A9939BD00489948 /* flatcc_json_printer.h */,
   1824 				4C4792932A9939BD00489948 /* CMakeLists.txt */,
   1825 				4C4792942A9939BD00489948 /* builder.c */,
   1826 				4C4792952A9939BD00489948 /* flatcc_verifier.h */,
   1827 				4C4792962A9939BD00489948 /* flatcc_refmap.h */,
   1828 				4C4792972A9939BD00489948 /* flatcc_unaligned.h */,
   1829 				4C4792982A9939BD00489948 /* portable */,
   1830 				4C4792C02A9939BD00489948 /* flatcc_endian.h */,
   1831 				4C4792C12A9939BD00489948 /* flatcc_iov.h */,
   1832 				4C4792C22A9939BD00489948 /* flatcc_rtconfig.h */,
   1833 				4C4792C32A9939BD00489948 /* flatcc_accessors.h */,
   1834 				4C4792C42A9939BD00489948 /* flatcc_epilogue.h */,
   1835 				4C4792C52A9939BD00489948 /* flatcc_identifier.h */,
   1836 				4C4792C62A9939BD00489948 /* flatcc_prologue.h */,
   1837 				4C4792C72A9939BD00489948 /* flatcc_builder.h */,
   1838 				4C4792C82A9939BD00489948 /* json_parser.c */,
   1839 				4C4792C92A9939BD00489948 /* support */,
   1840 				4C4792CF2A9939BD00489948 /* emitter.c */,
   1841 				4C4792D02A9939BD00489948 /* flatcc_json_parser.h */,
   1842 				4C4792D12A9939BD00489948 /* refmap.c */,
   1843 				4C4792D22A9939BD00489948 /* flatcc_flatbuffers.h */,
   1844 				4C4792D32A9939BD00489948 /* flatcc_portable.h */,
   1845 				4C4792D42A9939BD00489948 /* verifier.c */,
   1846 				4C4792D52A9939BD00489948 /* flatcc_types.h */,
   1847 				4C4792D62A9939BD00489948 /* json_printer.c */,
   1848 				4C4792D72A9939BD00489948 /* flatcc_assert.h */,
   1849 				4C4792D82A9939BD00489948 /* reflection */,
   1850 			);
   1851 			path = flatcc;
   1852 			sourceTree = "<group>";
   1853 		};
   1854 		4C4792982A9939BD00489948 /* portable */ = {
   1855 			isa = PBXGroup;
   1856 			children = (
   1857 				4C4792992A9939BD00489948 /* grisu3_print.h */,
   1858 				4C47929A2A9939BD00489948 /* pprintfp.h */,
   1859 				4C47929B2A9939BD00489948 /* pbase64.h */,
   1860 				4C47929C2A9939BD00489948 /* punaligned.h */,
   1861 				4C47929D2A9939BD00489948 /* LICENSE */,
   1862 				4C47929E2A9939BD00489948 /* pdiagnostic.h */,
   1863 				4C47929F2A9939BD00489948 /* pinttypes.h */,
   1864 				4C4792A02A9939BD00489948 /* pinline.h */,
   1865 				4C4792A12A9939BD00489948 /* pprintint.h */,
   1866 				4C4792A22A9939BD00489948 /* pdiagnostic_pop.h */,
   1867 				4C4792A32A9939BD00489948 /* include */,
   1868 				4C4792AC2A9939BD00489948 /* pversion.h */,
   1869 				4C4792AD2A9939BD00489948 /* pstdalign.h */,
   1870 				4C4792AE2A9939BD00489948 /* pdiagnostic_push.h */,
   1871 				4C4792AF2A9939BD00489948 /* pendian_detect.h */,
   1872 				4C4792B02A9939BD00489948 /* paligned_alloc.h */,
   1873 				4C4792B12A9939BD00489948 /* pendian.h */,
   1874 				4C4792B22A9939BD00489948 /* pstatic_assert.h */,
   1875 				4C4792B32A9939BD00489948 /* pwarnings.h */,
   1876 				4C4792B42A9939BD00489948 /* pparsefp.h */,
   1877 				4C4792B52A9939BD00489948 /* README.md */,
   1878 				4C4792B62A9939BD00489948 /* portable_basic.h */,
   1879 				4C4792B72A9939BD00489948 /* portable.h */,
   1880 				4C4792B82A9939BD00489948 /* grisu3_math.h */,
   1881 				4C4792B92A9939BD00489948 /* pattributes.h */,
   1882 				4C4792BA2A9939BD00489948 /* pstdint.h */,
   1883 				4C4792BB2A9939BD00489948 /* pstdbool.h */,
   1884 				4C4792BC2A9939BD00489948 /* pcrt.h */,
   1885 				4C4792BD2A9939BD00489948 /* pstatic_assert_scope.h */,
   1886 				4C4792BE2A9939BD00489948 /* grisu3_parse.h */,
   1887 				4C4792BF2A9939BD00489948 /* pparseint.h */,
   1888 			);
   1889 			path = portable;
   1890 			sourceTree = "<group>";
   1891 		};
   1892 		4C4792A32A9939BD00489948 /* include */ = {
   1893 			isa = PBXGroup;
   1894 			children = (
   1895 				4C4792A42A9939BD00489948 /* std */,
   1896 				4C4792A92A9939BD00489948 /* README */,
   1897 				4C4792AA2A9939BD00489948 /* linux */,
   1898 			);
   1899 			path = include;
   1900 			sourceTree = "<group>";
   1901 		};
   1902 		4C4792A42A9939BD00489948 /* std */ = {
   1903 			isa = PBXGroup;
   1904 			children = (
   1905 				4C4792A52A9939BD00489948 /* stdalign.h */,
   1906 				4C4792A62A9939BD00489948 /* inttypes.h */,
   1907 				4C4792A72A9939BD00489948 /* stdbool.h */,
   1908 				4C4792A82A9939BD00489948 /* stdint.h */,
   1909 			);
   1910 			path = std;
   1911 			sourceTree = "<group>";
   1912 		};
   1913 		4C4792AA2A9939BD00489948 /* linux */ = {
   1914 			isa = PBXGroup;
   1915 			children = (
   1916 				4C4792AB2A9939BD00489948 /* endian.h */,
   1917 			);
   1918 			path = linux;
   1919 			sourceTree = "<group>";
   1920 		};
   1921 		4C4792C92A9939BD00489948 /* support */ = {
   1922 			isa = PBXGroup;
   1923 			children = (
   1924 				4C4792CA2A9939BD00489948 /* README */,
   1925 				4C4792CB2A9939BD00489948 /* readfile.h */,
   1926 				4C4792CC2A9939BD00489948 /* cdump.h */,
   1927 				4C4792CD2A9939BD00489948 /* elapsed.h */,
   1928 				4C4792CE2A9939BD00489948 /* hexdump.h */,
   1929 			);
   1930 			path = support;
   1931 			sourceTree = "<group>";
   1932 		};
   1933 		4C4792D82A9939BD00489948 /* reflection */ = {
   1934 			isa = PBXGroup;
   1935 			children = (
   1936 				4C4792D92A9939BD00489948 /* README */,
   1937 				4C4792DA2A9939BD00489948 /* reflection_reader.h */,
   1938 				4C4792DB2A9939BD00489948 /* flatbuffers_common_reader.h */,
   1939 				4C4792DC2A9939BD00489948 /* reflection_builder.h */,
   1940 				4C4792DD2A9939BD00489948 /* reflection_verifier.h */,
   1941 				4C4792DE2A9939BD00489948 /* flatbuffers_common_builder.h */,
   1942 			);
   1943 			path = reflection;
   1944 			sourceTree = "<group>";
   1945 		};
   1946 		4C54AA0829A55416003E4487 /* Notifications */ = {
   1947 			isa = PBXGroup;
   1948 			children = (
   1949 				4C54AA0929A55429003E4487 /* EventGroup.swift */,
   1950 				4C54AA0B29A5543C003E4487 /* ZapGroup.swift */,
   1951 				4C9AA1492A4587A6003F49FD /* NotificationStatusModel.swift */,
   1952 			);
   1953 			path = Notifications;
   1954 			sourceTree = "<group>";
   1955 		};
   1956 		4C5E54042A95232A00FF6E60 /* Status */ = {
   1957 			isa = PBXGroup;
   1958 			children = (
   1959 				4C64305A2A945AF200B0C0E9 /* Music */,
   1960 				4CF38C872A9442DC00BE01B6 /* UserStatusView.swift */,
   1961 				4C5E54022A9522F600FF6E60 /* UserStatus.swift */,
   1962 				4C5E54052A9671F800FF6E60 /* UserStatusSheet.swift */,
   1963 			);
   1964 			path = Status;
   1965 			sourceTree = "<group>";
   1966 		};
   1967 		4C64305A2A945AF200B0C0E9 /* Music */ = {
   1968 			isa = PBXGroup;
   1969 			children = (
   1970 				4C64305B2A945AFF00B0C0E9 /* MusicController.swift */,
   1971 			);
   1972 			path = Music;
   1973 			sourceTree = "<group>";
   1974 		};
   1975 		4C687C2A2A6058450092C550 /* Search */ = {
   1976 			isa = PBXGroup;
   1977 			children = (
   1978 				4C687C232A5FA86D0092C550 /* SearchHeaderView.swift */,
   1979 			);
   1980 			path = Search;
   1981 			sourceTree = "<group>";
   1982 		};
   1983 		4C75EFA227FA576C0006080F /* Views */ = {
   1984 			isa = PBXGroup;
   1985 			children = (
   1986 				D71AC4CA2BA8E3320076268E /* Extensions */,
   1987 				BA3759952ABCCF360018D73B /* Camera */,
   1988 				F71694E82A66221E001F4053 /* Onboarding */,
   1989 				4C190F232A547D1700027FD5 /* NostrScript */,
   1990 				4C7D09692A0AEA0400943473 /* CodeScanner */,
   1991 				4C7D095A2A098C5C00943473 /* Wallet */,
   1992 				4C8D1A6D29F31E4100ACDF75 /* Buttons */,
   1993 				4C1A9A2829DDF53B00516EAC /* Video */,
   1994 				4C1A9A1B29DDCF8B00516EAC /* Settings */,
   1995 				4CFF8F6129CC9A80008DB934 /* Images */,
   1996 				4CFF8F5729C9FD07008DB934 /* Purple */,
   1997 				4CCEB7AC29B53D180078AA28 /* Search */,
   1998 				4C30AC7029A5676F00E2BD5A /* Notifications */,
   1999 				4CE0E2B029A3DF4700DB4CA2 /* Timeline */,
   2000 				4CE879562996C44A00F758CC /* Zaps */,
   2001 				4CB9D4A52992D01900A9A7E4 /* Profile */,
   2002 				4CAAD8AE29888A9B00060CEA /* Relays */,
   2003 				4CF0ABF42985CD4200D66079 /* Posting */,
   2004 				4CF0ABDF2981A83000D66079 /* Muting */,
   2005 				4CC7AAEE297F11B300430951 /* Events */,
   2006 				3AA24800297E3DAE0090C62D /* Reposts */,
   2007 				4CB88394296F7F8100DC99E7 /* Reactions */,
   2008 				4CB88387296AF97C00DC99E7 /* ActionBar */,
   2009 				4CE4F9E228528C5200C00DD9 /* AddRelayView.swift */,
   2010 				4C363A8728236948006E126D /* BlocksView.swift */,
   2011 				F75BA12E29A18EF500E10810 /* BookmarksView.swift */,
   2012 				4C285C8128385570008A31F1 /* CarouselView.swift */,
   2013 				4CE4F9DD2852768D00C00DD9 /* ConfigView.swift */,
   2014 				4C285C8328385690008A31F1 /* CreateAccountView.swift */,
   2015 				4C64987B286D03E000EAE2B3 /* DirectMessagesView.swift */,
   2016 				4C216F31286E388800040376 /* DMChatView.swift */,
   2017 				4C216F33286F5ACD00040376 /* DMView.swift */,
   2018 				3169CAE4294E699400EE4006 /* Empty Views */,
   2019 				4C75EFB82804A2740006080F /* EventView.swift */,
   2020 				4CEE2AF0280B216B00AB5EEF /* EventDetailView.swift */,
   2021 				4C3AC79E2833115300E1F516 /* FollowButtonView.swift */,
   2022 				4C3AC79C2833036D00E1F516 /* FollowingView.swift */,
   2023 				4C90BD17283A9EE5008EE7EF /* LoginView.swift */,
   2024 				ADFE73542AD4793100EC7326 /* QRScanNSECView.swift */,
   2025 				4C363A8D28236FE4006E126D /* NoteContentView.swift */,
   2026 				4C75EFAC28049CFB0006080F /* PostButton.swift */,
   2027 				4C75EFA327FA577B0006080F /* PostView.swift */,
   2028 				9CA876E129A00CE90003B9A3 /* AttachMediaUtility.swift */,
   2029 				F757933929D7AECD007DEAC1 /* MediaPicker.swift */,
   2030 				9C83F89229A937B900136C08 /* TextViewWrapper.swift */,
   2031 				4C3AC7A42836987600E1F516 /* MainTabView.swift */,
   2032 				4C363A8B28236B92006E126D /* PubkeyView.swift */,
   2033 				4CACA9D4280C31E100D9BBE8 /* ReplyView.swift */,
   2034 				F7F0BA262978E54D009531F3 /* ParticipantsView.swift */,
   2035 				4C285C8D28399BFD008A31F1 /* SaveKeysView.swift */,
   2036 				4C3AC7A628369BA200E1F516 /* SearchHomeView.swift */,
   2037 				4C5C7E69284EDE2E00A22DF5 /* SearchResultsView.swift */,
   2038 				4C363AA128296A7E006E126D /* SearchView.swift */,
   2039 				BAB68BEC29543FA3007BA466 /* SelectWalletView.swift */,
   2040 				4C3AC7A02835A81400E1F516 /* SetupView.swift */,
   2041 				E9E4ED0A295867B900DD7078 /* ThreadView.swift */,
   2042 				4CA2EF9F280E37AC0044ACD8 /* TimelineView.swift */,
   2043 				4CB55EF4295E679D007FD187 /* UserRelaysView.swift */,
   2044 				647D9A8C2968520300A295DE /* SideMenuView.swift */,
   2045 				9609F057296E220800069BF3 /* BannerImageView.swift */,
   2046 				4CB8838E296F781C00DC99E7 /* ReactionsView.swift */,
   2047 				4CF0ABD529817F5B00D66079 /* ReportView.swift */,
   2048 				4CF0ABE42981EE0C00D66079 /* EULAView.swift */,
   2049 				3AA247FE297E3D900090C62D /* RepostsView.swift */,
   2050 				50DA11252A16A23F00236234 /* Launch.storyboard */,
   2051 				5C513FCB2984ACA60072348F /* QRCodeView.swift */,
   2052 				643EA5C7296B764E005081BB /* RelayFilterView.swift */,
   2053 				D783A63E2AD4E53D00658DDA /* SuggestedHashtagsView.swift */,
   2054 				D77BFA0A2AE3051200621634 /* ProfileActionSheetView.swift */,
   2055 			);
   2056 			path = Views;
   2057 			sourceTree = "<group>";
   2058 		};
   2059 		4C75EFAB28049CC80006080F /* Nostr */ = {
   2060 			isa = PBXGroup;
   2061 			children = (
   2062 				4CE6DF1527F8DEBF00C66700 /* RelayConnection.swift */,
   2063 				50A60D132A28BEEE00186190 /* RelayLog.swift */,
   2064 				4C75EFA527FF87A20006080F /* Nostr.swift */,
   2065 				4C75EFAE28049D340006080F /* NostrFilter.swift */,
   2066 				4C75EFB028049D510006080F /* NostrResponse.swift */,
   2067 				4C75EFB228049D640006080F /* NostrEvent.swift */,
   2068 				3CCD1E692A874C4E0099A953 /* Nip98HTTPAuth.swift */,
   2069 				4C75EFB428049D790006080F /* Relay.swift */,
   2070 				4C75EFB628049D990006080F /* RelayPool.swift */,
   2071 				4C75EFBA2804A34C0006080F /* ProofOfWork.swift */,
   2072 				4CEE2AEC2805B22500AB5EEF /* NostrRequest.swift */,
   2073 				4CACA9DB280C38C000D9BBE8 /* Profiles.swift */,
   2074 				4C3BEFD32819DE8F00B3DE84 /* NostrKind.swift */,
   2075 				4C363A8F28247A1D006E126D /* NostrLink.swift */,
   2076 				50088DA029E8271A008A1FDF /* WebSocket.swift */,
   2077 				4C28A4112A6D03D200C1A7A5 /* ReferencedId.swift */,
   2078 				4C2B7BF12A71B6540049DEE7 /* Id.swift */,
   2079 				D7FF93FF2AC7AC5200FD969D /* RelayURL.swift */,
   2080 				D798D22B2B086C7400234419 /* NostrEvent+.swift */,
   2081 				D7C6787D2B2D34CC00BCEAFB /* NIP98AuthenticatedRequest.swift */,
   2082 				B57B4C652B312C3700A232C0 /* NostrAuth.swift */,
   2083 				D74AAFCB2B155D07006CF0F4 /* MakeZapRequest.swift */,
   2084 			);
   2085 			path = Nostr;
   2086 			sourceTree = "<group>";
   2087 		};
   2088 		4C7D095A2A098C5C00943473 /* Wallet */ = {
   2089 			isa = PBXGroup;
   2090 			children = (
   2091 				4C7D095C2A098C5D00943473 /* ConnectWalletView.swift */,
   2092 				4C7D095D2A098C5D00943473 /* WalletView.swift */,
   2093 				4C7D09672A0AE9B200943473 /* NWCScannerView.swift */,
   2094 			);
   2095 			path = Wallet;
   2096 			sourceTree = "<group>";
   2097 		};
   2098 		4C7D09692A0AEA0400943473 /* CodeScanner */ = {
   2099 			isa = PBXGroup;
   2100 			children = (
   2101 				4C7D096A2A0AEA0400943473 /* CodeScanner.swift */,
   2102 				4C7D096B2A0AEA0400943473 /* ScannerCoordinator.swift */,
   2103 				4C7D096C2A0AEA0400943473 /* ScannerViewController.swift */,
   2104 			);
   2105 			path = CodeScanner;
   2106 			sourceTree = "<group>";
   2107 		};
   2108 		4C7D09702A0AEF4C00943473 /* Gradients */ = {
   2109 			isa = PBXGroup;
   2110 			children = (
   2111 				4C7D09712A0AEF5E00943473 /* DamusGradient.swift */,
   2112 				4C7D09732A0AEF9000943473 /* AlbyGradient.swift */,
   2113 				4C2859612A12A7F0004746F7 /* GoldSupportGradient.swift */,
   2114 				5C6E1DAE2A194075008FC15A /* PinkGradient.swift */,
   2115 				F71694F72A6983AF001F4053 /* GrayGradient.swift */,
   2116 				5C0707D02A1ECB38004E7B51 /* DamusLogoGradient.swift */,
   2117 				4C687C202A5F7ED00092C550 /* DamusBackground.swift */,
   2118 				5CF2DCCD2AABE1A500984B8D /* DamusLightGradient.swift */,
   2119 				5C7389B82B9E69ED00781E0A /* MutinyGradient.swift */,
   2120 			);
   2121 			path = Gradients;
   2122 			sourceTree = "<group>";
   2123 		};
   2124 		4C7FF7D628233637009601DB /* Util */ = {
   2125 			isa = PBXGroup;
   2126 			children = (
   2127 				E04A37C52B544F090029650D /* URIParsing.swift */,
   2128 				4C1D4FB02A7958E60024F453 /* VersionInfo.swift */,
   2129 				4C7D09612A098D0E00943473 /* WalletConnect.swift */,
   2130 				4C198DF329F88D23004C165C /* Images */,
   2131 				4C198DEA29F88C6B004C165C /* BlurHash */,
   2132 				4CE4F0F329D779B5005914DB /* PostBox.swift */,
   2133 				7C0F392D29B57C8F0039859C /* Extensions */,
   2134 				4CE879492995B58700F758CC /* Relays */,
   2135 				4CF0ABEA29844B2F00D66079 /* AnyCodable */,
   2136 				4CC7AAE6297EFA7B00430951 /* Zap.swift */,
   2137 				F7908E96298B1FDF00AB113A /* NIPURLBuilder.swift */,
   2138 				4CEE2AF4280B29E600AB5EEF /* TimeAgo.swift */,
   2139 				4C363A8328233689006E126D /* Parser.swift */,
   2140 				4C363AA728297703006E126D /* InsertSort.swift */,
   2141 				4C285C8B28398BC6008A31F1 /* Keys.swift */,
   2142 				501F8C7F2A0220E1001AFC1D /* KeychainStorage.swift */,
   2143 				4C90BD19283AA67F008EE7EF /* Bech32.swift */,
   2144 				4C216F352870A9A700040376 /* InputDismissKeyboard.swift */,
   2145 				3169CAEC294FCCFC00EE4006 /* Constants.swift */,
   2146 				3165648A295B70D500C64604 /* LinkView.swift */,
   2147 				4C3A1D3629637E0500558C0F /* PreviewCache.swift */,
   2148 				64FBD06E296255C400D9D3B2 /* Theme.swift */,
   2149 				4CB8838529656C8B00DC99E7 /* NIP05.swift */,
   2150 				4CF0ABD72981980C00D66079 /* Lists.swift */,
   2151 				4CF0ABEF29857E9200D66079 /* Bech32Object.swift */,
   2152 				7C60CAEE298471A1009C80D6 /* CoreSVG.swift */,
   2153 				4CAAD8AC298851D000060CEA /* AccountDeletion.swift */,
   2154 				4CB883A52975F83C00DC99E7 /* LNUrlPayRequest.swift */,
   2155 				4CB883A72975FC1800DC99E7 /* Zaps.swift */,
   2156 				4CB883B5297730E400DC99E7 /* LNUrls.swift */,
   2157 				3AB72AB8298ECF30004BB58C /* Translator.swift */,
   2158 				4C2CDDF6299D4A5E00879FD5 /* Debouncer.swift */,
   2159 				4CE0E2AE29A2E82100DB4CA2 /* EventHolder.swift */,
   2160 				3A3040F029A8FF97008A0F29 /* LocalizationUtil.swift */,
   2161 				4C30AC7729A577AB00E2BD5A /* EventCache.swift */,
   2162 				4C9BB83029C0ED4F00FC4E37 /* DisplayName.swift */,
   2163 				4CE4F0F129D4FCFA005914DB /* DebouncedOnChange.swift */,
   2164 				4C1A9A1929DCA17E00516EAC /* ReplyCounter.swift */,
   2165 				4C8D00C729DF791C0036AF10 /* CompatibleAttribute.swift */,
   2166 				4C8D00CB29DF92DF0036AF10 /* Hashtags.swift */,
   2167 				4CDA128B29EB19C40006FA5A /* LocalNotification.swift */,
   2168 				4CA5588229F33F5B00DC6A45 /* StringCodable.swift */,
   2169 				50B5685229F97CB400A23243 /* CredentialHandler.swift */,
   2170 				4C7D09582A05BEAD00943473 /* KeyboardVisible.swift */,
   2171 				3A8CC6CB2A2CFEF900940F5F /* StringUtil.swift */,
   2172 				D2277EE92A089BD5006C3807 /* Router.swift */,
   2173 				4C2B10272A7B0F5C008AA43E /* Log.swift */,
   2174 				50C3E0892AA8E3F7006A4BC0 /* AVPlayer+Additions.swift */,
   2175 				D7EDED202B117DCA0018B19C /* SequenceUtils.swift */,
   2176 				D7EDED2D2B128E8A0018B19C /* CollectionExtension.swift */,
   2177 				D74AAFCE2B155D8C006CF0F4 /* ZapDataModel.swift */,
   2178 				D74AAFD32B155ECB006CF0F4 /* Zaps+.swift */,
   2179 				D74AAFD52B155F0C006CF0F4 /* WalletConnect+.swift */,
   2180 			);
   2181 			path = Util;
   2182 			sourceTree = "<group>";
   2183 		};
   2184 		4C8D1A6D29F31E4100ACDF75 /* Buttons */ = {
   2185 			isa = PBXGroup;
   2186 			children = (
   2187 				4C8D1A6E29F31E5000ACDF75 /* FriendsButton.swift */,
   2188 				F71694F32A6732B7001F4053 /* GradientFollowButton.swift */,
   2189 				4C7D09652A0AE62100943473 /* AlbyButton.swift */,
   2190 				5C7389B62B9E692E00781E0A /* MutinyButton.swift */,
   2191 			);
   2192 			path = Buttons;
   2193 			sourceTree = "<group>";
   2194 		};
   2195 		4C9054862A6AEB4500811EEC /* nostrdb */ = {
   2196 			isa = PBXGroup;
   2197 			children = (
   2198 				4C47928D2A9939BD00489948 /* flatcc */,
   2199 				4C478E2A2A9935D300489948 /* bindings */,
   2200 				4CE9FBBB2A6B3D9C007E485C /* Test */,
   2201 				4C9054882A6AED4700811EEC /* NdbTagIterator.swift */,
   2202 				4C90548A2A6AEDEE00811EEC /* NdbNote.swift */,
   2203 				4C5D5C9C2A6B2CB40024563C /* AsciiCharacter.swift */,
   2204 				4CDD1ADF2A6B305F001CD4DF /* NdbTagElem.swift */,
   2205 				4C478E242A9932C100489948 /* Ndb.swift */,
   2206 				4CDD1AE12A6B3074001CD4DF /* NdbTagsIterator.swift */,
   2207 				4C3DCC752A9FC2030091E592 /* NdbTxn.swift */,
   2208 				4CE9FBB82A6B3B26007E485C /* nostrdb.c */,
   2209 				4C4793032A993DB900489948 /* midl.c */,
   2210 				4C4793002A993B9A00489948 /* mdb.c */,
   2211 				4C4793022A993D9300489948 /* midl.h */,
   2212 				4C4792FF2A993B9A00489948 /* lmdb.h */,
   2213 				4CE9FBB92A6B3B26007E485C /* nostrdb.h */,
   2214 				4C78EFD62A7078C5007E8197 /* random.h */,
   2215 				4CDD1AE72A6B3611001CD4DF /* jsmn.h */,
   2216 				4C478E292A99359900489948 /* util.h */,
   2217 				4C478E282A99357400489948 /* memchr.h */,
   2218 				4C478E272A99354E00489948 /* protected_queue.h */,
   2219 				4C478E262A99353500489948 /* threadpool.h */,
   2220 				4C78EFD82A707C4D007E8197 /* secp256k1_ecdh.h */,
   2221 				4C78EFD72A707C4D007E8197 /* secp256k1_schnorrsig.h */,
   2222 				4C78EFDA2A707C67007E8197 /* secp256k1_extrakeys.h */,
   2223 				4C78EFD92A707C4D007E8197 /* secp256k1.h */,
   2224 				D798D2272B085CDA00234419 /* NdbNote+.swift */,
   2225 			);
   2226 			path = nostrdb;
   2227 			sourceTree = "<group>";
   2228 		};
   2229 		4C9B0DEC2A65A74000CBDA21 /* Util */ = {
   2230 			isa = PBXGroup;
   2231 			children = (
   2232 				4C9B0DED2A65A75F00CBDA21 /* AttrStringTestExtensions.swift */,
   2233 				B5B4D1422B37D47600844320 /* NdbExtensions.swift */,
   2234 			);
   2235 			path = Util;
   2236 			sourceTree = "<group>";
   2237 		};
   2238 		4CA3529C2A76AE47003BB08B /* Notify */ = {
   2239 			isa = PBXGroup;
   2240 			children = (
   2241 				4C86F7C52A76C51100EC0817 /* AttachedWalletNotify.swift */,
   2242 				4C9D6D152B1AA9C6004E5CD9 /* DisplayTabBarNotify.swift */,
   2243 				4C1253552A76C8C60004F4B8 /* BroadcastNotify.swift */,
   2244 				4C1253512A76C6130004F4B8 /* ComposeNotify.swift */,
   2245 				4CA352AD2A76C1AC003BB08B /* FollowedNotify.swift */,
   2246 				4CA3529D2A76AE67003BB08B /* FollowNotify.swift */,
   2247 				4CA352A12A76AEC5003BB08B /* LikedNotify.swift */,
   2248 				4CA352A92A76BF3A003BB08B /* LocalNotificationNotify.swift */,
   2249 				4C12535B2A76CA540004F4B8 /* LoginNotify.swift */,
   2250 				4C1253532A76C7D60004F4B8 /* LogoutNotify.swift */,
   2251 				4CA352A72A76B37E003BB08B /* NewMutesNotify.swift */,
   2252 				4CA352AB2A76C07F003BB08B /* NewUnmutesNotify.swift */,
   2253 				4CA3529F2A76AE80003BB08B /* Notify.swift */,
   2254 				4C1253652A76D0FF0004F4B8 /* OnlyZapsNotify.swift */,
   2255 				4C1253612A76D00B0004F4B8 /* PostNotify.swift */,
   2256 				4C1253572A76C9060004F4B8 /* PresentSheetNotify.swift */,
   2257 				4C59B98B2A76C2550032FFEB /* ProfileUpdatedNotify.swift */,
   2258 				4C1253632A76D08F0004F4B8 /* ReportNotify.swift */,
   2259 				4C12535F2A76CF890004F4B8 /* ScrollToTopNotify.swift */,
   2260 				4C12535D2A76CA870004F4B8 /* SwitchedTimelineNotify.swift */,
   2261 				4C12534F2A76C5B20004F4B8 /* UnfollowedNotify.swift */,
   2262 				4C1253592A76C9960004F4B8 /* UnfollowNotify.swift */,
   2263 				4CA352A32A76AFF3003BB08B /* UpdateStatsNotify.swift */,
   2264 				4C86F7C32A76C44C00EC0817 /* ZappingNotify.swift */,
   2265 				4C1253672A76D2470004F4B8 /* MuteNotify.swift */,
   2266 				4C1253692A76D3850004F4B8 /* RelaysChangedNotify.swift */,
   2267 				4C4E137A2A76D5FB00BDD832 /* MuteThreadNotify.swift */,
   2268 				4C4E137C2A76D63600BDD832 /* UnmuteThreadNotify.swift */,
   2269 				B57B4C612B312BD700A232C0 /* ReconnectRelaysNotify.swift */,
   2270 				D7373BA92B68A65A00F7783D /* PurpleAccountUpdateNotify.swift */,
   2271 			);
   2272 			path = Notify;
   2273 			sourceTree = "<group>";
   2274 		};
   2275 		4CA9275B2A28FF570098A105 /* Longform */ = {
   2276 			isa = PBXGroup;
   2277 			children = (
   2278 				4CA9275C2A28FF630098A105 /* LongformView.swift */,
   2279 				4CA9275E2A2902B20098A105 /* LongformPreview.swift */,
   2280 			);
   2281 			path = Longform;
   2282 			sourceTree = "<group>";
   2283 		};
   2284 		4CA927682A290F8F0098A105 /* Components */ = {
   2285 			isa = PBXGroup;
   2286 			children = (
   2287 				4CA927642A290F1A0098A105 /* TimeDot.swift */,
   2288 				4CA927622A290EB10098A105 /* EventTop.swift */,
   2289 				4CC7AAF3297F18B400430951 /* ReplyDescription.swift */,
   2290 				4CA927662A290F8B0098A105 /* RelativeTime.swift */,
   2291 				4CA927692A290FC00098A105 /* ContextButton.swift */,
   2292 				4CA9276B2A2910D10098A105 /* ReplyPart.swift */,
   2293 				5C7389B02B6EFA7100781E0A /* ProxyView.swift */,
   2294 			);
   2295 			path = Components;
   2296 			sourceTree = "<group>";
   2297 		};
   2298 		4CAAD8AE29888A9B00060CEA /* Relays */ = {
   2299 			isa = PBXGroup;
   2300 			children = (
   2301 				4CE879532996BA0000F758CC /* Detail */,
   2302 				4C06670028FC7C5900038D2A /* RelayView.swift */,
   2303 				4CAAD8AF29888AD200060CEA /* RelayConfigView.swift */,
   2304 				F7908E91298B0F0700AB113A /* RelayDetailView.swift */,
   2305 				4CE8794D2996B16A00F758CC /* RelayToggle.swift */,
   2306 				4CE8794F2996B2BD00F758CC /* RelayStatusView.swift */,
   2307 				4CE879512996B68900F758CC /* RelayType.swift */,
   2308 				4CDA128929E9D10C0006FA5A /* SignalView.swift */,
   2309 				5CF2DCCB2AA3AF0B00984B8D /* RelayPicView.swift */,
   2310 			);
   2311 			path = Relays;
   2312 			sourceTree = "<group>";
   2313 		};
   2314 		4CB88387296AF97C00DC99E7 /* ActionBar */ = {
   2315 			isa = PBXGroup;
   2316 			children = (
   2317 				4CEE2B01280B39E800AB5EEF /* EventActionBar.swift */,
   2318 				4CB88388296AF99A00DC99E7 /* EventDetailBar.swift */,
   2319 				5CF72FC129B9142F00124A13 /* ShareAction.swift */,
   2320 				4CE1398F29F0661A00AC6A0B /* RepostAction.swift */,
   2321 				4CE1399129F0666100AC6A0B /* ShareActionButton.swift */,
   2322 				4CE1399329F0669900AC6A0B /* BigButton.swift */,
   2323 			);
   2324 			path = ActionBar;
   2325 			sourceTree = "<group>";
   2326 		};
   2327 		4CB88394296F7F8100DC99E7 /* Reactions */ = {
   2328 			isa = PBXGroup;
   2329 			children = (
   2330 				4CB88395296F7F8B00DC99E7 /* ReactionView.swift */,
   2331 			);
   2332 			path = Reactions;
   2333 			sourceTree = "<group>";
   2334 		};
   2335 		4CB9D4A52992D01900A9A7E4 /* Profile */ = {
   2336 			isa = PBXGroup;
   2337 			children = (
   2338 				4CB8FC222A41ABA500763C51 /* AboutView.swift */,
   2339 				4CEE2AF6280B2DEA00AB5EEF /* ProfileName.swift */,
   2340 				4C285C892838B985008A31F1 /* ProfilePictureSelector.swift */,
   2341 				E990020E2955F837003BBC5A /* EditMetadataView.swift */,
   2342 				F79C7FAC29D5E9620000F946 /* EditPictureControl.swift */,
   2343 				4CEE2AF2280B25C500AB5EEF /* ProfilePicView.swift */,
   2344 				4C8682862814DE470026224F /* ProfileView.swift */,
   2345 				4CB9D4A62992D02B00A9A7E4 /* ProfileNameView.swift */,
   2346 				4C9F18E329ABDE6D008C55EC /* MaybeAnonPfpView.swift */,
   2347 				4C9BB83329C12D9900FC4E37 /* EventProfileName.swift */,
   2348 				4C8D1A6B29F1DFC200ACDF75 /* FriendIcon.swift */,
   2349 				3A4647CE2A413ADC00386AD8 /* CondensedProfilePicturesView.swift */,
   2350 				4C9B0DF22A65C46800CBDA21 /* ProfileEditButton.swift */,
   2351 			);
   2352 			path = Profile;
   2353 			sourceTree = "<group>";
   2354 		};
   2355 		4CC14FEC2A73FC9A007AEB17 /* Types */ = {
   2356 			isa = PBXGroup;
   2357 			children = (
   2358 				4CC14FED2A73FCBB007AEB17 /* Ids */,
   2359 				7527271D2A93FF0100214108 /* Block.swift */,
   2360 				D798D21D2B0858BB00234419 /* MigratedTypes.swift */,
   2361 				B5C60C222B532A8700C5ECA7 /* DamusDuration.swift */,
   2362 			);
   2363 			path = Types;
   2364 			sourceTree = "<group>";
   2365 		};
   2366 		4CC14FED2A73FCBB007AEB17 /* Ids */ = {
   2367 			isa = PBXGroup;
   2368 			children = (
   2369 				4CC14FEE2A73FCCB007AEB17 /* IdType.swift */,
   2370 				4CC14FF02A73FCDB007AEB17 /* Pubkey.swift */,
   2371 				4CC14FF42A740BB7007AEB17 /* NoteId.swift */,
   2372 				4CC14FF82A741939007AEB17 /* Referenced.swift */,
   2373 			);
   2374 			path = Ids;
   2375 			sourceTree = "<group>";
   2376 		};
   2377 		4CC7AAEE297F11B300430951 /* Events */ = {
   2378 			isa = PBXGroup;
   2379 			children = (
   2380 				4CA927682A290F8F0098A105 /* Components */,
   2381 				4CC7AAEF297F11C700430951 /* SelectedEventView.swift */,
   2382 				4CC7AAF5297F1A6A00430951 /* EventBody.swift */,
   2383 				4CC7AAEA297F0AEC00430951 /* BuilderEventView.swift */,
   2384 				4CC7AAF7297F1CEE00430951 /* EventProfile.swift */,
   2385 				4CC7AAF9297F64AC00430951 /* EventMenu.swift */,
   2386 				4CF0ABE6298444FC00D66079 /* EventMutingContainerView.swift */,
   2387 				4C3D52B5298DB4E6001C5831 /* ZapEvent.swift */,
   2388 				4C3D52B7298DB5C6001C5831 /* TextEvent.swift */,
   2389 				4CFF8F6C29CD022E008DB934 /* WideEventView.swift */,
   2390 				4CA9275B2A28FF570098A105 /* Longform */,
   2391 				4CA927602A290E340098A105 /* EventShell.swift */,
   2392 				D7870BC02AC4750B0080BA88 /* MentionView.swift */,
   2393 				D7870BC22AC47EBC0080BA88 /* EventLoaderView.swift */,
   2394 			);
   2395 			path = Events;
   2396 			sourceTree = "<group>";
   2397 		};
   2398 		4CCEB7AC29B53D180078AA28 /* Search */ = {
   2399 			isa = PBXGroup;
   2400 			children = (
   2401 				4CCEB7AD29B53D260078AA28 /* SearchingEventView.swift */,
   2402 				4CCEB7AF29B5415A0078AA28 /* SearchingProfileView.swift */,
   2403 				4C9D6D1A2B1D35D7004E5CD9 /* PullDownSearch.swift */,
   2404 			);
   2405 			path = Search;
   2406 			sourceTree = "<group>";
   2407 		};
   2408 		4CE0E2B029A3DF4700DB4CA2 /* Timeline */ = {
   2409 			isa = PBXGroup;
   2410 			children = (
   2411 				4CE0E2B529A3ED5500DB4CA2 /* InnerTimelineView.swift */,
   2412 			);
   2413 			path = Timeline;
   2414 			sourceTree = "<group>";
   2415 		};
   2416 		4CE4F9DF285287A000C00DD9 /* Components */ = {
   2417 			isa = PBXGroup;
   2418 			children = (
   2419 				4C5E54042A95232A00FF6E60 /* Status */,
   2420 				4C687C2A2A6058450092C550 /* Search */,
   2421 				4C7D09702A0AEF4C00943473 /* Gradients */,
   2422 				31D2E846295218AF006D67F8 /* Shimmer.swift */,
   2423 				4CD7641A28A1641400B6928F /* EndBlock.swift */,
   2424 				4C06670528FCB08600038D2A /* ImageCarousel.swift */,
   2425 				4C3EA67C28FFBBA200C48A62 /* InvoicesView.swift */,
   2426 				4C3EA67E28FFC01D00C48A62 /* InvoiceView.swift */,
   2427 				4CB8838A296F6E1E00DC99E7 /* NIP05Badge.swift */,
   2428 				4CB8838C296F710400DC99E7 /* Reposted.swift */,
   2429 				4CBCA92F297DB57F00EC6B2F /* WebsiteLink.swift */,
   2430 				4CC7AAEC297F0B9E00430951 /* Highlight.swift */,
   2431 				5C513FB9297F72980072348F /* CustomPicker.swift */,
   2432 				4CF0ABE22981BC7D00D66079 /* UserView.swift */,
   2433 				7C902AE22981D55B002AB16E /* ZoomableScrollView.swift */,
   2434 				4CB883AF297705DD00DC99E7 /* NoteZapButton.swift */,
   2435 				4C42812B298C848200DBF26F /* TranslateView.swift */,
   2436 				7CFF6316299FEFE5005D382A /* SelectableText.swift */,
   2437 				4C8EC52429D1FA6C0085D9A8 /* DamusColors.swift */,
   2438 				4CE4F0F729DB7399005914DB /* ThiccDivider.swift */,
   2439 				4C1A9A2229DDDB8100516EAC /* IconLabel.swift */,
   2440 				4C8D00C929DF80350036AF10 /* TruncatedText.swift */,
   2441 				4C28595F2A12A2BE004746F7 /* SupporterBadge.swift */,
   2442 				5C6E1DAC2A193EC2008FC15A /* GradientButtonStyle.swift */,
   2443 				5CC868DC2AA29B3200FB22BA /* NeutralButtonStyle.swift */,
   2444 			);
   2445 			path = Components;
   2446 			sourceTree = "<group>";
   2447 		};
   2448 		4CE6DEDA27F7A08100C66700 = {
   2449 			isa = PBXGroup;
   2450 			children = (
   2451 				4C32B9362A9AD44700DC3548 /* flatbuffers */,
   2452 				4C9054862A6AEB4500811EEC /* nostrdb */,
   2453 				4C19AE4A2A5CEF7C00C90DB7 /* nostrscript */,
   2454 				4C8AE1182A0320BE00B944E6 /* Purple.storekit */,
   2455 				4C06670728FDE62900038D2A /* damus-c */,
   2456 				4CE6DEE527F7A08100C66700 /* damus */,
   2457 				4CE6DEF627F7A08200C66700 /* damusTests */,
   2458 				4CE6DF0027F7A08200C66700 /* damusUITests */,
   2459 				D79C4C152AFEB061003A41B4 /* DamusNotificationService */,
   2460 				4CE6DEE427F7A08100C66700 /* Products */,
   2461 				4CEE2AE62804F57B00AB5EEF /* Frameworks */,
   2462 			);
   2463 			indentWidth = 4;
   2464 			sourceTree = "<group>";
   2465 			tabWidth = 4;
   2466 		};
   2467 		4CE6DEE427F7A08100C66700 /* Products */ = {
   2468 			isa = PBXGroup;
   2469 			children = (
   2470 				4CE6DEE327F7A08100C66700 /* damus.app */,
   2471 				4CE6DEF327F7A08200C66700 /* damusTests.xctest */,
   2472 				4CE6DEFD27F7A08200C66700 /* damusUITests.xctest */,
   2473 				D79C4C142AFEB061003A41B4 /* DamusNotificationService.appex */,
   2474 			);
   2475 			name = Products;
   2476 			sourceTree = "<group>";
   2477 		};
   2478 		4CE6DEE527F7A08100C66700 /* damus */ = {
   2479 			isa = PBXGroup;
   2480 			children = (
   2481 				4C1D4FB32A7967990024F453 /* build-git-hash.txt */,
   2482 				4CA3529C2A76AE47003BB08B /* Notify */,
   2483 				4CC14FEC2A73FC9A007AEB17 /* Types */,
   2484 				F7F0BA23297892AE009531F3 /* Modifiers */,
   2485 				4C4A3A5A288A1B2200453788 /* damus.entitlements */,
   2486 				4CE4F9DF285287A000C00DD9 /* Components */,
   2487 				4C7FF7D628233637009601DB /* Util */,
   2488 				4C0A3F8D280F63FF000448DE /* Models */,
   2489 				4C75EFAB28049CC80006080F /* Nostr */,
   2490 				4C75EFA72804823E0006080F /* Info.plist */,
   2491 				3ACB685D297633BC00C46468 /* Localizable.strings */,
   2492 				3ACB685A297633BC00C46468 /* InfoPlist.strings */,
   2493 				4C75EFA227FA576C0006080F /* Views */,
   2494 				4CE6DEE627F7A08100C66700 /* damusApp.swift */,
   2495 				4CE6DEE827F7A08100C66700 /* ContentView.swift */,
   2496 				4CE6DEEA27F7A08200C66700 /* Assets.xcassets */,
   2497 				4CE6DEEC27F7A08200C66700 /* Preview Content */,
   2498 				3A4325AA2961E11400BFCD9D /* Localizable.stringsdict */,
   2499 				4C687C262A6039500092C550 /* TestData.swift */,
   2500 				4C4DD3DA2A6CA7E8005B4E85 /* ContentParsing.swift */,
   2501 			);
   2502 			path = damus;
   2503 			sourceTree = "<group>";
   2504 		};
   2505 		4CE6DEEC27F7A08200C66700 /* Preview Content */ = {
   2506 			isa = PBXGroup;
   2507 			children = (
   2508 				4CE6DEED27F7A08200C66700 /* Preview Assets.xcassets */,
   2509 			);
   2510 			path = "Preview Content";
   2511 			sourceTree = "<group>";
   2512 		};
   2513 		4CE6DEF627F7A08200C66700 /* damusTests */ = {
   2514 			isa = PBXGroup;
   2515 			children = (
   2516 				E06336A72B7582D600A88E6B /* Assets */,
   2517 				D72A2D032AD9C165002AFF62 /* Mocking */,
   2518 				4C9B0DEC2A65A74000CBDA21 /* Util */,
   2519 				4C0C03962A61E2670098B3B8 /* Fixtures */,
   2520 				4C7D097D2A0C58B900943473 /* WalletConnectTests.swift */,
   2521 				F944F56C29EA9CB20067B3BF /* Models */,
   2522 				50A50A8C29A09E1C00C01BE7 /* RequestTests.swift */,
   2523 				4C90BD1B283AC38E008EE7EF /* Bech32Tests.swift */,
   2524 				E02B54172B4DFADA0077FF42 /* Bech32ObjectTests.swift */,
   2525 				4C363A9F2828A8DD006E126D /* LikeTests.swift */,
   2526 				4C363A9D2828A822006E126D /* ReplyTests.swift */,
   2527 				4CE6DEF727F7A08200C66700 /* damusTests.swift */,
   2528 				4C3EA67A28FF7B3900C48A62 /* InvoiceTests.swift */,
   2529 				3ACBCB77295FE5C70037388A /* TimeAgoTests.swift */,
   2530 				4CB88399297322D200DC99E7 /* DMTests.swift */,
   2531 				4CF0ABDB2981A19E00D66079 /* ListTests.swift */,
   2532 				4CB883A9297612FF00DC99E7 /* ZapTests.swift */,
   2533 				4CB883AD2976FA9300DC99E7 /* FormatTests.swift */,
   2534 				3A3040EC29A5CB86008A0F29 /* ReplyDescriptionTests.swift */,
   2535 				3A3040F229A91366008A0F29 /* ProfileViewTests.swift */,
   2536 				3A30410029AB12AA008A0F29 /* EventGroupViewTests.swift */,
   2537 				4C8D00D329E3C5D40036AF10 /* NIP19Tests.swift */,
   2538 				501F8C812A0224EB001AFC1D /* KeychainStorageTests.swift */,
   2539 				3A5E47C62A4A76C800C0D090 /* TrieTests.swift */,
   2540 				3A90B1822A4EA3C600000D94 /* UserSearchCacheTests.swift */,
   2541 				4C4F14A62A2A61A30045A0B9 /* NostrScriptTests.swift */,
   2542 				4C19AE542A5D977400C90DB7 /* HashtagTests.swift */,
   2543 				3AAC7A012A60FE72002B50DF /* LocalizationUtilTests.swift */,
   2544 				D78525242A7B2EA4002FA637 /* NoteContentViewTests.swift */,
   2545 				4C684A542A7E91FE005E6031 /* LongPostTests.swift */,
   2546 				4C684A562A7FFAE6005E6031 /* UrlTests.swift */,
   2547 				D7DEEF2E2A8C021E00E0C99F /* NostrEventTests.swift */,
   2548 				D71DC1EB2A9129C3006E207C /* PostViewTests.swift */,
   2549 				D72A2CFF2AD9B66B002AFF62 /* EventViewTests.swift */,
   2550 				D7315A2B2ACDF4DA0036E30A /* DamusCacheManagerTests.swift */,
   2551 				B501062C2B363036003874F5 /* AuthIntegrationTests.swift */,
   2552 				E0E024102B7C19C20075735D /* TranslationTests.swift */,
   2553 				E06336A92B75832100A88E6B /* ImageMetadataTest.swift */,
   2554 				D7CBD1D52B8D509800BFD889 /* DamusPurpleImpendingExpirationTests.swift */,
   2555 				D72927AC2BAB515C00F93E90 /* RelayURLTests.swift */,
   2556 			);
   2557 			path = damusTests;
   2558 			sourceTree = "<group>";
   2559 		};
   2560 		4CE6DF0027F7A08200C66700 /* damusUITests */ = {
   2561 			isa = PBXGroup;
   2562 			children = (
   2563 				4CE6DF0127F7A08200C66700 /* damusUITests.swift */,
   2564 				4CE6DF0327F7A08200C66700 /* damusUITestsLaunchTests.swift */,
   2565 			);
   2566 			path = damusUITests;
   2567 			sourceTree = "<group>";
   2568 		};
   2569 		4CE879492995B58700F758CC /* Relays */ = {
   2570 			isa = PBXGroup;
   2571 			children = (
   2572 				4CE8794729941DA700F758CC /* RelayFilters.swift */,
   2573 				504323A82A3495B6006AE6DC /* RelayModelCache.swift */,
   2574 				4CC6193929DC777C006A86D1 /* RelayBootstrap.swift */,
   2575 				504323A62A34915F006AE6DC /* RelayModel.swift */,
   2576 			);
   2577 			path = Relays;
   2578 			sourceTree = "<group>";
   2579 		};
   2580 		4CE879532996BA0000F758CC /* Detail */ = {
   2581 			isa = PBXGroup;
   2582 			children = (
   2583 				4CE879542996BAB900F758CC /* RelayPaidDetail.swift */,
   2584 				B57B4C632B312BFA00A232C0 /* RelayAuthenticationDetail.swift */,
   2585 				5C14C29A2BBBA29C00079FD2 /* RelaySoftwareDetail.swift */,
   2586 				5C14C29C2BBBA40B00079FD2 /* RelayAdminDetail.swift */,
   2587 				5C14C29E2BBBA5C600079FD2 /* RelayNipList.swift */,
   2588 			);
   2589 			path = Detail;
   2590 			sourceTree = "<group>";
   2591 		};
   2592 		4CE879562996C44A00F758CC /* Zaps */ = {
   2593 			isa = PBXGroup;
   2594 			children = (
   2595 				4CE879572996C45300F758CC /* ZapsView.swift */,
   2596 				4C9F18E129AA9B6C008C55EC /* CustomizeZapView.swift */,
   2597 				4CA3FA0F29F593D000FDB3C3 /* ZapTypePicker.swift */,
   2598 				4C73C5132A4437C10062CAC0 /* ZapUserView.swift */,
   2599 				D76874F22AE3632B00FB0F68 /* ProfileZapLinkView.swift */,
   2600 			);
   2601 			path = Zaps;
   2602 			sourceTree = "<group>";
   2603 		};
   2604 		4CE9FBBB2A6B3D9C007E485C /* Test */ = {
   2605 			isa = PBXGroup;
   2606 			children = (
   2607 				4C9054842A6AEAA000811EEC /* NdbTests.swift */,
   2608 			);
   2609 			path = Test;
   2610 			sourceTree = "<group>";
   2611 		};
   2612 		4CEE2AE62804F57B00AB5EEF /* Frameworks */ = {
   2613 			isa = PBXGroup;
   2614 			children = (
   2615 				4CEE2AE72804F57C00AB5EEF /* libsecp256k1.a */,
   2616 			);
   2617 			name = Frameworks;
   2618 			sourceTree = "<group>";
   2619 		};
   2620 		4CF0ABDF2981A83000D66079 /* Muting */ = {
   2621 			isa = PBXGroup;
   2622 			children = (
   2623 				B51C1CE82B55A60A00E312A9 /* AddMuteItemView.swift */,
   2624 				B51C1CE92B55A60A00E312A9 /* MuteDurationMenu.swift */,
   2625 				4CF0ABE02981A83900D66079 /* MutelistView.swift */,
   2626 			);
   2627 			path = Muting;
   2628 			sourceTree = "<group>";
   2629 		};
   2630 		4CF0ABEA29844B2F00D66079 /* AnyCodable */ = {
   2631 			isa = PBXGroup;
   2632 			children = (
   2633 				4CF0ABE829844AF100D66079 /* AnyCodable.swift */,
   2634 				4CF0ABEB29844B4700D66079 /* AnyDecodable.swift */,
   2635 				4CF0ABED29844B5500D66079 /* AnyEncodable.swift */,
   2636 			);
   2637 			path = AnyCodable;
   2638 			sourceTree = "<group>";
   2639 		};
   2640 		4CF0ABF42985CD4200D66079 /* Posting */ = {
   2641 			isa = PBXGroup;
   2642 			children = (
   2643 				4CF0ABF52985CD5500D66079 /* UserSearch.swift */,
   2644 			);
   2645 			path = Posting;
   2646 			sourceTree = "<group>";
   2647 		};
   2648 		4CFF8F5729C9FD07008DB934 /* Purple */ = {
   2649 			isa = PBXGroup;
   2650 			children = (
   2651 				D7100C542B76F8C200C59298 /* Detail */,
   2652 				4CFF8F5829C9FD1E008DB934 /* DamusPurpleView.swift */,
   2653 				D76556D52B1E6C08001B0CCC /* DamusPurpleWelcomeView.swift */,
   2654 				D7373BA52B688EA200F7783D /* DamusPurpleTranslationSetupView.swift */,
   2655 				D7ADD3DF2B538D4200F104C4 /* DamusPurpleURLSheetView.swift */,
   2656 				D7ADD3E12B538E3500F104C4 /* DamusPurpleVerifyNpubView.swift */,
   2657 				D724D8262B64B40B00ABE789 /* DamusPurpleAccountView.swift */,
   2658 				D7373BA72B68974500F7783D /* DamusPurpleNewUserOnboardingView.swift */,
   2659 			);
   2660 			path = Purple;
   2661 			sourceTree = "<group>";
   2662 		};
   2663 		4CFF8F6129CC9A80008DB934 /* Images */ = {
   2664 			isa = PBXGroup;
   2665 			children = (
   2666 				4CFF8F6229CC9AD7008DB934 /* ImageContextMenuModifier.swift */,
   2667 				4CFF8F6629CC9E3A008DB934 /* FullScreenCarouselView.swift */,
   2668 				6439E013296790CF0020672B /* ProfilePicImageView.swift */,
   2669 				4CFF8F6829CC9ED1008DB934 /* ImageContainerView.swift */,
   2670 				4CFD502E2A2DA45800A229DB /* MediaView.swift */,
   2671 			);
   2672 			path = Images;
   2673 			sourceTree = "<group>";
   2674 		};
   2675 		7C0F392D29B57C8F0039859C /* Extensions */ = {
   2676 			isa = PBXGroup;
   2677 			children = (
   2678 				7C95CAED299DCEF1009DCB67 /* KFOptionSetter+.swift */,
   2679 				4C7D09752A0AF19E00943473 /* FillAndStroke.swift */,
   2680 			);
   2681 			path = Extensions;
   2682 			sourceTree = "<group>";
   2683 		};
   2684 		BA3759882ABCCDE30018D73B /* Camera */ = {
   2685 			isa = PBXGroup;
   2686 			children = (
   2687 				BA3759902ABCCEBA0018D73B /* CameraModel.swift */,
   2688 				BA3759912ABCCEBA0018D73B /* CameraService.swift */,
   2689 				BA37598F2ABCCEBA0018D73B /* CameraService+Extensions.swift */,
   2690 				BA3759892ABCCDE30018D73B /* ImageResizer.swift */,
   2691 				BA37598B2ABCCE500018D73B /* PhotoCaptureProcessor.swift */,
   2692 				BA37598C2ABCCE500018D73B /* VideoCaptureProcessor.swift */,
   2693 			);
   2694 			path = Camera;
   2695 			sourceTree = "<group>";
   2696 		};
   2697 		BA3759952ABCCF360018D73B /* Camera */ = {
   2698 			isa = PBXGroup;
   2699 			children = (
   2700 				BA3759962ABCCF360018D73B /* CameraPreview.swift */,
   2701 				E02429942B7E97740088B16C /* CameraController.swift */,
   2702 			);
   2703 			path = Camera;
   2704 			sourceTree = "<group>";
   2705 		};
   2706 		D7100C542B76F8C200C59298 /* Detail */ = {
   2707 			isa = PBXGroup;
   2708 			children = (
   2709 				D7100C552B76F8E600C59298 /* PurpleViewPrimitives.swift */,
   2710 				D7100C572B76FC8400C59298 /* MarketingContentView.swift */,
   2711 				D7100C592B76FD5100C59298 /* LogoView.swift */,
   2712 				D7100C5B2B77016700C59298 /* IAPProductStateView.swift */,
   2713 				4C463CBE2B960B96008A8C36 /* PurpleBackdrop.swift */,
   2714 			);
   2715 			path = Detail;
   2716 			sourceTree = "<group>";
   2717 		};
   2718 		D71AC4CA2BA8E3320076268E /* Extensions */ = {
   2719 			isa = PBXGroup;
   2720 			children = (
   2721 				D71AC4CB2BA8E3480076268E /* VisibilityTracker.swift */,
   2722 			);
   2723 			path = Extensions;
   2724 			sourceTree = "<group>";
   2725 		};
   2726 		D72A2D032AD9C165002AFF62 /* Mocking */ = {
   2727 			isa = PBXGroup;
   2728 			children = (
   2729 				D72A2D042AD9C1B5002AFF62 /* MockDamusState.swift */,
   2730 				D72A2D062AD9C1FB002AFF62 /* MockProfiles.swift */,
   2731 			);
   2732 			path = Mocking;
   2733 			sourceTree = "<group>";
   2734 		};
   2735 		D74F43082B23F09300425B75 /* Purple */ = {
   2736 			isa = PBXGroup;
   2737 			children = (
   2738 				D7CBD1D22B8D21C100BFD889 /* Extensions */,
   2739 				D74F43092B23F0BE00425B75 /* DamusPurple.swift */,
   2740 				D74F430B2B23FB9B00425B75 /* StoreObserver.swift */,
   2741 				D7ADD3DD2B53854300F104C4 /* DamusPurpleURL.swift */,
   2742 				D72341182B6864F200E1E135 /* DamusPurpleEnvironment.swift */,
   2743 				D7100C5D2B7709ED00C59298 /* PurpleStoreKitManager.swift */,
   2744 			);
   2745 			path = Purple;
   2746 			sourceTree = "<group>";
   2747 		};
   2748 		D79C4C152AFEB061003A41B4 /* DamusNotificationService */ = {
   2749 			isa = PBXGroup;
   2750 			children = (
   2751 				D79C4C1C2AFEB061003A41B4 /* DamusNotificationService.entitlements */,
   2752 				D79C4C162AFEB061003A41B4 /* NotificationService.swift */,
   2753 				D79C4C182AFEB061003A41B4 /* Info.plist */,
   2754 				D70A3B162B02DCE5008BD568 /* NotificationFormatter.swift */,
   2755 				D74AAFC42B1538DE006CF0F4 /* NotificationExtensionState.swift */,
   2756 			);
   2757 			path = DamusNotificationService;
   2758 			sourceTree = "<group>";
   2759 		};
   2760 		D7CBD1D22B8D21C100BFD889 /* Extensions */ = {
   2761 			isa = PBXGroup;
   2762 			children = (
   2763 				D7CBD1D32B8D21DC00BFD889 /* DamusPurpleNotificationManagement.swift */,
   2764 			);
   2765 			path = Extensions;
   2766 			sourceTree = "<group>";
   2767 		};
   2768 		E06336A72B7582D600A88E6B /* Assets */ = {
   2769 			isa = PBXGroup;
   2770 			children = (
   2771 				E06336A82B7582E000A88E6B /* img_with_location.jpeg */,
   2772 			);
   2773 			path = Assets;
   2774 			sourceTree = "<group>";
   2775 		};
   2776 		F71694E82A66221E001F4053 /* Onboarding */ = {
   2777 			isa = PBXGroup;
   2778 			children = (
   2779 				F71694E92A662232001F4053 /* OnboardingSuggestionsView.swift */,
   2780 				F71694F12A67314D001F4053 /* SuggestedUserView.swift */,
   2781 				F71694EB2A662292001F4053 /* SuggestedUsersViewModel.swift */,
   2782 				F71694ED2A6624F9001F4053 /* suggested_users.json */,
   2783 			);
   2784 			path = Onboarding;
   2785 			sourceTree = "<group>";
   2786 		};
   2787 		F7F0BA23297892AE009531F3 /* Modifiers */ = {
   2788 			isa = PBXGroup;
   2789 			children = (
   2790 				F7F0BA24297892BD009531F3 /* SwipeToDismiss.swift */,
   2791 			);
   2792 			path = Modifiers;
   2793 			sourceTree = "<group>";
   2794 		};
   2795 		F944F56C29EA9CB20067B3BF /* Models */ = {
   2796 			isa = PBXGroup;
   2797 			children = (
   2798 				F944F56D29EA9CCC0067B3BF /* DamusParseContentTests.swift */,
   2799 				75AD872A2AA23A460085EF2C /* Block+Tests.swift */,
   2800 				B5A75C292B546D94007AFBC0 /* MuteItemTests.swift */,
   2801 			);
   2802 			path = Models;
   2803 			sourceTree = "<group>";
   2804 		};
   2805 /* End PBXGroup section */
   2806 
   2807 /* Begin PBXNativeTarget section */
   2808 		4CE6DEE227F7A08100C66700 /* damus */ = {
   2809 			isa = PBXNativeTarget;
   2810 			buildConfigurationList = 4CE6DF0727F7A08200C66700 /* Build configuration list for PBXNativeTarget "damus" */;
   2811 			buildPhases = (
   2812 				4CE6DEDF27F7A08100C66700 /* Sources */,
   2813 				4CE6DEE027F7A08100C66700 /* Frameworks */,
   2814 				4C1D4FB22A7965230024F453 /* ShellScript */,
   2815 				4CE6DEE127F7A08100C66700 /* Resources */,
   2816 				D79C4C1D2AFEB061003A41B4 /* Embed Foundation Extensions */,
   2817 			);
   2818 			buildRules = (
   2819 			);
   2820 			dependencies = (
   2821 				D79C4C1A2AFEB061003A41B4 /* PBXTargetDependency */,
   2822 			);
   2823 			name = damus;
   2824 			packageProductDependencies = (
   2825 				4C649880286E0EE300EAE2B3 /* secp256k1 */,
   2826 				4C06670328FC7EC500038D2A /* Kingfisher */,
   2827 				4C27C9312A64766F007DBC75 /* MarkdownUI */,
   2828 			);
   2829 			productName = damus;
   2830 			productReference = 4CE6DEE327F7A08100C66700 /* damus.app */;
   2831 			productType = "com.apple.product-type.application";
   2832 		};
   2833 		4CE6DEF227F7A08200C66700 /* damusTests */ = {
   2834 			isa = PBXNativeTarget;
   2835 			buildConfigurationList = 4CE6DF0A27F7A08200C66700 /* Build configuration list for PBXNativeTarget "damusTests" */;
   2836 			buildPhases = (
   2837 				4CE6DEEF27F7A08200C66700 /* Sources */,
   2838 				4CE6DEF027F7A08200C66700 /* Frameworks */,
   2839 				4CE6DEF127F7A08200C66700 /* Resources */,
   2840 			);
   2841 			buildRules = (
   2842 			);
   2843 			dependencies = (
   2844 				4CE6DEF527F7A08200C66700 /* PBXTargetDependency */,
   2845 			);
   2846 			name = damusTests;
   2847 			packageProductDependencies = (
   2848 				D7A343ED2AD0D77C00CED48B /* InlineSnapshotTesting */,
   2849 				D7A343EF2AD0D77C00CED48B /* SnapshotTesting */,
   2850 			);
   2851 			productName = damusTests;
   2852 			productReference = 4CE6DEF327F7A08200C66700 /* damusTests.xctest */;
   2853 			productType = "com.apple.product-type.bundle.unit-test";
   2854 		};
   2855 		4CE6DEFC27F7A08200C66700 /* damusUITests */ = {
   2856 			isa = PBXNativeTarget;
   2857 			buildConfigurationList = 4CE6DF0D27F7A08200C66700 /* Build configuration list for PBXNativeTarget "damusUITests" */;
   2858 			buildPhases = (
   2859 				4CE6DEF927F7A08200C66700 /* Sources */,
   2860 				4CE6DEFA27F7A08200C66700 /* Frameworks */,
   2861 				4CE6DEFB27F7A08200C66700 /* Resources */,
   2862 			);
   2863 			buildRules = (
   2864 			);
   2865 			dependencies = (
   2866 				4CE6DEFF27F7A08200C66700 /* PBXTargetDependency */,
   2867 			);
   2868 			name = damusUITests;
   2869 			productName = damusUITests;
   2870 			productReference = 4CE6DEFD27F7A08200C66700 /* damusUITests.xctest */;
   2871 			productType = "com.apple.product-type.bundle.ui-testing";
   2872 		};
   2873 		D79C4C132AFEB061003A41B4 /* DamusNotificationService */ = {
   2874 			isa = PBXNativeTarget;
   2875 			buildConfigurationList = D79C4C202AFEB061003A41B4 /* Build configuration list for PBXNativeTarget "DamusNotificationService" */;
   2876 			buildPhases = (
   2877 				D79C4C102AFEB061003A41B4 /* Sources */,
   2878 				D79C4C112AFEB061003A41B4 /* Frameworks */,
   2879 				D79C4C122AFEB061003A41B4 /* Resources */,
   2880 			);
   2881 			buildRules = (
   2882 			);
   2883 			dependencies = (
   2884 				D7EDED252B117F7C0018B19C /* PBXTargetDependency */,
   2885 			);
   2886 			name = DamusNotificationService;
   2887 			packageProductDependencies = (
   2888 				D789D11F2AFEFBF20083A7AB /* secp256k1 */,
   2889 				D7EDED302B1290B80018B19C /* MarkdownUI */,
   2890 			);
   2891 			productName = DamusNotificationService;
   2892 			productReference = D79C4C142AFEB061003A41B4 /* DamusNotificationService.appex */;
   2893 			productType = "com.apple.product-type.app-extension";
   2894 		};
   2895 /* End PBXNativeTarget section */
   2896 
   2897 /* Begin PBXProject section */
   2898 		4CE6DEDB27F7A08100C66700 /* Project object */ = {
   2899 			isa = PBXProject;
   2900 			attributes = {
   2901 				BuildIndependentTargetsInParallel = 1;
   2902 				LastSwiftUpdateCheck = 1500;
   2903 				LastUpgradeCheck = 1520;
   2904 				TargetAttributes = {
   2905 					4CE6DEE227F7A08100C66700 = {
   2906 						CreatedOnToolsVersion = 13.3;
   2907 						LastSwiftMigration = 1400;
   2908 					};
   2909 					4CE6DEF227F7A08200C66700 = {
   2910 						CreatedOnToolsVersion = 13.3;
   2911 						TestTargetID = 4CE6DEE227F7A08100C66700;
   2912 					};
   2913 					4CE6DEFC27F7A08200C66700 = {
   2914 						CreatedOnToolsVersion = 13.3;
   2915 						TestTargetID = 4CE6DEE227F7A08100C66700;
   2916 					};
   2917 					D79C4C132AFEB061003A41B4 = {
   2918 						CreatedOnToolsVersion = 15.0.1;
   2919 					};
   2920 				};
   2921 			};
   2922 			buildConfigurationList = 4CE6DEDE27F7A08100C66700 /* Build configuration list for PBXProject "damus" */;
   2923 			compatibilityVersion = "Xcode 13.0";
   2924 			developmentRegion = "en-US";
   2925 			hasScannedForEncodings = 0;
   2926 			knownRegions = (
   2927 				Base,
   2928 				ar,
   2929 				bg,
   2930 				cs,
   2931 				de,
   2932 				"el-GR",
   2933 				"en-US",
   2934 				"es-419",
   2935 				"es-ES",
   2936 				fa,
   2937 				fr,
   2938 				"hu-HU",
   2939 				id,
   2940 				"it-IT",
   2941 				ja,
   2942 				ko,
   2943 				"lv-LV",
   2944 				nl,
   2945 				"pl-PL",
   2946 				"pt-BR",
   2947 				"pt-PT",
   2948 				ru,
   2949 				"sv-SE",
   2950 				sw,
   2951 				"tr-TR",
   2952 				uk,
   2953 				vi,
   2954 				"zh-CN",
   2955 				"zh-HK",
   2956 				"zh-TW",
   2957 			);
   2958 			mainGroup = 4CE6DEDA27F7A08100C66700;
   2959 			packageReferences = (
   2960 				4C64987F286E0EE300EAE2B3 /* XCRemoteSwiftPackageReference "secp256k1" */,
   2961 				4C06670228FC7EC500038D2A /* XCRemoteSwiftPackageReference "Kingfisher" */,
   2962 				4CCF9AB02A1FE80B00E03CFB /* XCRemoteSwiftPackageReference "GSPlayer" */,
   2963 				4C27C9302A64766F007DBC75 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */,
   2964 				D7A343EC2AD0D77C00CED48B /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */,
   2965 			);
   2966 			productRefGroup = 4CE6DEE427F7A08100C66700 /* Products */;
   2967 			projectDirPath = "";
   2968 			projectRoot = "";
   2969 			targets = (
   2970 				4CE6DEE227F7A08100C66700 /* damus */,
   2971 				4CE6DEF227F7A08200C66700 /* damusTests */,
   2972 				4CE6DEFC27F7A08200C66700 /* damusUITests */,
   2973 				D79C4C132AFEB061003A41B4 /* DamusNotificationService */,
   2974 			);
   2975 		};
   2976 /* End PBXProject section */
   2977 
   2978 /* Begin PBXResourcesBuildPhase section */
   2979 		4CE6DEE127F7A08100C66700 /* Resources */ = {
   2980 			isa = PBXResourcesBuildPhase;
   2981 			buildActionMask = 2147483647;
   2982 			files = (
   2983 				4C1D4FB42A7967990024F453 /* build-git-hash.txt in Resources */,
   2984 				3ACB685F297633BC00C46468 /* Localizable.strings in Resources */,
   2985 				4CE6DEEE27F7A08200C66700 /* Preview Assets.xcassets in Resources */,
   2986 				3ACB685C297633BC00C46468 /* InfoPlist.strings in Resources */,
   2987 				50DA11262A16A23F00236234 /* Launch.storyboard in Resources */,
   2988 				4CE6DEEB27F7A08200C66700 /* Assets.xcassets in Resources */,
   2989 				4C198DF129F88C6B004C165C /* License.txt in Resources */,
   2990 				4C198DF029F88C6B004C165C /* Readme.md in Resources */,
   2991 				F71694EE2A6624F9001F4053 /* suggested_users.json in Resources */,
   2992 				3A4325A82961E11400BFCD9D /* Localizable.stringsdict in Resources */,
   2993 			);
   2994 			runOnlyForDeploymentPostprocessing = 0;
   2995 		};
   2996 		4CE6DEF127F7A08200C66700 /* Resources */ = {
   2997 			isa = PBXResourcesBuildPhase;
   2998 			buildActionMask = 2147483647;
   2999 			files = (
   3000 				E06336AB2B75850100A88E6B /* img_with_location.jpeg in Resources */,
   3001 				4C0C039A2A61E27B0098B3B8 /* bool_setting.wasm in Resources */,
   3002 				4C0C03992A61E27B0098B3B8 /* primal.wasm in Resources */,
   3003 			);
   3004 			runOnlyForDeploymentPostprocessing = 0;
   3005 		};
   3006 		4CE6DEFB27F7A08200C66700 /* Resources */ = {
   3007 			isa = PBXResourcesBuildPhase;
   3008 			buildActionMask = 2147483647;
   3009 			files = (
   3010 			);
   3011 			runOnlyForDeploymentPostprocessing = 0;
   3012 		};
   3013 		D79C4C122AFEB061003A41B4 /* Resources */ = {
   3014 			isa = PBXResourcesBuildPhase;
   3015 			buildActionMask = 2147483647;
   3016 			files = (
   3017 			);
   3018 			runOnlyForDeploymentPostprocessing = 0;
   3019 		};
   3020 /* End PBXResourcesBuildPhase section */
   3021 
   3022 /* Begin PBXShellScriptBuildPhase section */
   3023 		4C1D4FB22A7965230024F453 /* ShellScript */ = {
   3024 			isa = PBXShellScriptBuildPhase;
   3025 			buildActionMask = 2147483647;
   3026 			files = (
   3027 			);
   3028 			inputFileListPaths = (
   3029 			);
   3030 			inputPaths = (
   3031 			);
   3032 			outputFileListPaths = (
   3033 			);
   3034 			outputPaths = (
   3035 				"$(SRCROOT)/build-git-hash.txt",
   3036 			);
   3037 			runOnlyForDeploymentPostprocessing = 0;
   3038 			shellPath = /bin/sh;
   3039 			shellScript = "git rev-parse --short HEAD > \"${SRCROOT}/build-git-hash.txt\"\n";
   3040 		};
   3041 /* End PBXShellScriptBuildPhase section */
   3042 
   3043 /* Begin PBXSourcesBuildPhase section */
   3044 		4CE6DEDF27F7A08100C66700 /* Sources */ = {
   3045 			isa = PBXSourcesBuildPhase;
   3046 			buildActionMask = 2147483647;
   3047 			files = (
   3048 				4C3DCC762A9FE9EC0091E592 /* NdbTxn.swift in Sources */,
   3049 				4CEF958D2A9CE650000F901B /* verifier.c in Sources */,
   3050 				4C32B9342A9AD01A00DC3548 /* NdbProfile.swift in Sources */,
   3051 				4C32B9332A99845B00DC3548 /* Ndb.swift in Sources */,
   3052 				D7ADD3E22B538E3500F104C4 /* DamusPurpleVerifyNpubView.swift in Sources */,
   3053 				4C4793082A993E8900489948 /* refmap.c in Sources */,
   3054 				4C4793072A993E6200489948 /* emitter.c in Sources */,
   3055 				4C4793062A993E5300489948 /* json_parser.c in Sources */,
   3056 				4C4793052A993E3200489948 /* builder.c in Sources */,
   3057 				D7CB5D5F2B11770C00AD4105 /* FollowState.swift in Sources */,
   3058 				4C4793042A993DC000489948 /* midl.c in Sources */,
   3059 				0E8A4BB72AE4359200065E81 /* NostrFilter+Hashable.swift in Sources */,
   3060 				4C4793012A993CDA00489948 /* mdb.c in Sources */,
   3061 				4CE9FBBA2A6B3C63007E485C /* nostrdb.c in Sources */,
   3062 				ADFE73552AD4793100EC7326 /* QRScanNSECView.swift in Sources */,
   3063 				4C3AC79D2833036D00E1F516 /* FollowingView.swift in Sources */,
   3064 				5CF72FC229B9142F00124A13 /* ShareAction.swift in Sources */,
   3065 				B5C60C232B532A8700C5ECA7 /* DamusDuration.swift in Sources */,
   3066 				4C32B9522A9AD44700DC3548 /* Message.swift in Sources */,
   3067 				4C8D1A6C29F1DFC200ACDF75 /* FriendIcon.swift in Sources */,
   3068 				4C30AC7829A577AB00E2BD5A /* EventCache.swift in Sources */,
   3069 				4C285C8428385690008A31F1 /* CreateAccountView.swift in Sources */,
   3070 				4CDD1AE22A6B3074001CD4DF /* NdbTagsIterator.swift in Sources */,
   3071 				5C7389B72B9E692E00781E0A /* MutinyButton.swift in Sources */,
   3072 				4C216F34286F5ACD00040376 /* DMView.swift in Sources */,
   3073 				D7CB5D512B1174D100AD4105 /* FriendFilter.swift in Sources */,
   3074 				D7CBD1D42B8D21DC00BFD889 /* DamusPurpleNotificationManagement.swift in Sources */,
   3075 				4C32B9572A9AD44700DC3548 /* Root.swift in Sources */,
   3076 				4C3EA64428FF558100C48A62 /* sha256.c in Sources */,
   3077 				504323A72A34915F006AE6DC /* RelayModel.swift in Sources */,
   3078 				4CA9276A2A290FC00098A105 /* ContextButton.swift in Sources */,
   3079 				4CF0ABF62985CD5500D66079 /* UserSearch.swift in Sources */,
   3080 				4C32B9542A9AD44700DC3548 /* FlatBuffersUtils.swift in Sources */,
   3081 				D7EDED1C2B1178FE0018B19C /* NoteContent.swift in Sources */,
   3082 				4C363AA828297703006E126D /* InsertSort.swift in Sources */,
   3083 				4C285C86283892E7008A31F1 /* CreateAccountModel.swift in Sources */,
   3084 				4C64987C286D03E000EAE2B3 /* DirectMessagesView.swift in Sources */,
   3085 				7C902AE32981D55B002AB16E /* ZoomableScrollView.swift in Sources */,
   3086 				4C190F252A547D2000027FD5 /* LoadScript.swift in Sources */,
   3087 				4C59B98C2A76C2550032FFEB /* ProfileUpdatedNotify.swift in Sources */,
   3088 				4C363A8C28236B92006E126D /* PubkeyView.swift in Sources */,
   3089 				4CDA128A29E9D10C0006FA5A /* SignalView.swift in Sources */,
   3090 				4C12535C2A76CA540004F4B8 /* LoginNotify.swift in Sources */,
   3091 				4C5C7E68284ED36500A22DF5 /* SearchHomeModel.swift in Sources */,
   3092 				4C54AA0C29A5543C003E4487 /* ZapGroup.swift in Sources */,
   3093 				4C190F202A535FC200027FD5 /* CustomizeZapModel.swift in Sources */,
   3094 				D798D22C2B086C7400234419 /* NostrEvent+.swift in Sources */,
   3095 				4C75EFB728049D990006080F /* RelayPool.swift in Sources */,
   3096 				F757933A29D7AECD007DEAC1 /* MediaPicker.swift in Sources */,
   3097 				4CF0ABEE29844B5500D66079 /* AnyEncodable.swift in Sources */,
   3098 				B57B4C662B312C3700A232C0 /* NostrAuth.swift in Sources */,
   3099 				4CB8838D296F710400DC99E7 /* Reposted.swift in Sources */,
   3100 				4C3EA67728FF7A9800C48A62 /* talstr.c in Sources */,
   3101 				4CE6DEE927F7A08100C66700 /* ContentView.swift in Sources */,
   3102 				4CEE2AF5280B29E600AB5EEF /* TimeAgo.swift in Sources */,
   3103 				4CC14FF12A73FCDB007AEB17 /* Pubkey.swift in Sources */,
   3104 				4CA9275D2A28FF630098A105 /* LongformView.swift in Sources */,
   3105 				4C75EFAD28049CFB0006080F /* PostButton.swift in Sources */,
   3106 				D7EDED1E2B11797D0018B19C /* LongformEvent.swift in Sources */,
   3107 				504323A92A3495B6006AE6DC /* RelayModelCache.swift in Sources */,
   3108 				3A8CC6CC2A2CFEF900940F5F /* StringUtil.swift in Sources */,
   3109 				D7870BC12AC4750B0080BA88 /* MentionView.swift in Sources */,
   3110 				4CB55EF5295E679D007FD187 /* UserRelaysView.swift in Sources */,
   3111 				4C363AA228296A7E006E126D /* SearchView.swift in Sources */,
   3112 				D798D2282B085CDA00234419 /* NdbNote+.swift in Sources */,
   3113 				4CC7AAED297F0B9E00430951 /* Highlight.swift in Sources */,
   3114 				4C1253662A76D0FF0004F4B8 /* OnlyZapsNotify.swift in Sources */,
   3115 				4CA927652A290F1A0098A105 /* TimeDot.swift in Sources */,
   3116 				4C28A4122A6D03D200C1A7A5 /* ReferencedId.swift in Sources */,
   3117 				4CC6193A29DC777C006A86D1 /* RelayBootstrap.swift in Sources */,
   3118 				4C285C8A2838B985008A31F1 /* ProfilePictureSelector.swift in Sources */,
   3119 				4CFD502F2A2DA45800A229DB /* MediaView.swift in Sources */,
   3120 				D7373BA62B688EA300F7783D /* DamusPurpleTranslationSetupView.swift in Sources */,
   3121 				4C9F18E429ABDE6D008C55EC /* MaybeAnonPfpView.swift in Sources */,
   3122 				4CA5588329F33F5B00DC6A45 /* StringCodable.swift in Sources */,
   3123 				4C75EFB92804A2740006080F /* EventView.swift in Sources */,
   3124 				4C15C7152A55DE7A00D0A0DB /* ReactionsSettingsView.swift in Sources */,
   3125 				4C32B94C2A9AD44700DC3548 /* FbConstants.swift in Sources */,
   3126 				4C8D00C829DF791C0036AF10 /* CompatibleAttribute.swift in Sources */,
   3127 				4C7D09742A0AEF9000943473 /* AlbyGradient.swift in Sources */,
   3128 				4C687C272A6039500092C550 /* TestData.swift in Sources */,
   3129 				50C3E08A2AA8E3F7006A4BC0 /* AVPlayer+Additions.swift in Sources */,
   3130 				4C198DF229F88C6B004C165C /* BlurHashDecode.swift in Sources */,
   3131 				F75BA12F29A18EF500E10810 /* BookmarksView.swift in Sources */,
   3132 				4CB883B6297730E400DC99E7 /* LNUrls.swift in Sources */,
   3133 				4C7FF7D52823313F009601DB /* Mentions.swift in Sources */,
   3134 				BA4AB0AE2A63B9270070A32A /* AddEmojiView.swift in Sources */,
   3135 				4C32B94D2A9AD44700DC3548 /* Offset.swift in Sources */,
   3136 				4C633350283D40E500B1C9C3 /* HomeModel.swift in Sources */,
   3137 				4C987B57283FD07F0042CE38 /* FollowersModel.swift in Sources */,
   3138 				4C32B9552A9AD44700DC3548 /* ByteBuffer.swift in Sources */,
   3139 				4C32B95B2A9AD44700DC3548 /* NativeObject.swift in Sources */,
   3140 				3AB72AB9298ECF30004BB58C /* Translator.swift in Sources */,
   3141 				4C363A9028247A1D006E126D /* NostrLink.swift in Sources */,
   3142 				4C3D52B6298DB4E6001C5831 /* ZapEvent.swift in Sources */,
   3143 				647D9A8D2968520300A295DE /* SideMenuView.swift in Sources */,
   3144 				F7F0BA272978E54D009531F3 /* ParticipantsView.swift in Sources */,
   3145 				4CF0ABE32981BC7D00D66079 /* UserView.swift in Sources */,
   3146 				4CE0E2AF29A2E82100DB4CA2 /* EventHolder.swift in Sources */,
   3147 				B51C1CEA2B55A60A00E312A9 /* AddMuteItemView.swift in Sources */,
   3148 				4C5D5C992A6AF8F80024563C /* NdbNote.swift in Sources */,
   3149 				4CF0ABF029857E9200D66079 /* Bech32Object.swift in Sources */,
   3150 				4C3D52B8298DB5C6001C5831 /* TextEvent.swift in Sources */,
   3151 				4C216F362870A9A700040376 /* InputDismissKeyboard.swift in Sources */,
   3152 				D74AAFCF2B155D8C006CF0F4 /* ZapDataModel.swift in Sources */,
   3153 				4C8D1A6F29F31E5000ACDF75 /* FriendsButton.swift in Sources */,
   3154 				3A5E47C52A4A6CF400C0D090 /* Trie.swift in Sources */,
   3155 				D7100C562B76F8E600C59298 /* PurpleViewPrimitives.swift in Sources */,
   3156 				B57B4C642B312BFA00A232C0 /* RelayAuthenticationDetail.swift in Sources */,
   3157 				D7EDED2E2B128E8A0018B19C /* CollectionExtension.swift in Sources */,
   3158 				D74AAFD62B155F0C006CF0F4 /* WalletConnect+.swift in Sources */,
   3159 				4C216F382871EDE300040376 /* DirectMessageModel.swift in Sources */,
   3160 				BA3759972ABCCF360018D73B /* CameraPreview.swift in Sources */,
   3161 				4C75EFA627FF87A20006080F /* Nostr.swift in Sources */,
   3162 				4CA927672A290F8B0098A105 /* RelativeTime.swift in Sources */,
   3163 				4CB883A62975F83C00DC99E7 /* LNUrlPayRequest.swift in Sources */,
   3164 				4C7D096D2A0AEA0400943473 /* CodeScanner.swift in Sources */,
   3165 				D7CB5D4B2B11721600AD4105 /* ZapType.swift in Sources */,
   3166 				4CE4F9DE2852768D00C00DD9 /* ConfigView.swift in Sources */,
   3167 				3A48E7B029DFBE9D006E787E /* MutedThreadsManager.swift in Sources */,
   3168 				4C32B94E2A9AD44700DC3548 /* Mutable.swift in Sources */,
   3169 				4C285C8E28399BFE008A31F1 /* SaveKeysView.swift in Sources */,
   3170 				F7F0BA25297892BD009531F3 /* SwipeToDismiss.swift in Sources */,
   3171 				4C8D00CA29DF80350036AF10 /* TruncatedText.swift in Sources */,
   3172 				4C4DD3DB2A6CA7E8005B4E85 /* ContentParsing.swift in Sources */,
   3173 				F71694F22A67314D001F4053 /* SuggestedUserView.swift in Sources */,
   3174 				4C9BB83429C12D9900FC4E37 /* EventProfileName.swift in Sources */,
   3175 				4C7D09602A098C5D00943473 /* WalletView.swift in Sources */,
   3176 				4CB8838F296F781C00DC99E7 /* ReactionsView.swift in Sources */,
   3177 				BA4AB0B02A63B94D0070A32A /* EmojiListItemView.swift in Sources */,
   3178 				B5C60C202B530D5100C5ECA7 /* MuteItem.swift in Sources */,
   3179 				4C75EFB328049D640006080F /* NostrEvent.swift in Sources */,
   3180 				4C32B9582A9AD44700DC3548 /* VeriferOptions.swift in Sources */,
   3181 				D74AAFC22B153395006CF0F4 /* HeadlessDamusState.swift in Sources */,
   3182 				4CA2EFA0280E37AC0044ACD8 /* TimelineView.swift in Sources */,
   3183 				4C30AC7629A5770900E2BD5A /* NotificationItemView.swift in Sources */,
   3184 				4C86F7C42A76C44C00EC0817 /* ZappingNotify.swift in Sources */,
   3185 				4C363A8428233689006E126D /* Parser.swift in Sources */,
   3186 				3AAA95CA298DF87B00F3D526 /* TranslationService.swift in Sources */,
   3187 				4CE4F9E328528C5200C00DD9 /* AddRelayView.swift in Sources */,
   3188 				BA3759922ABCCEBA0018D73B /* CameraService+Extensions.swift in Sources */,
   3189 				D74F430C2B23FB9B00425B75 /* StoreObserver.swift in Sources */,
   3190 				4C363A9A28283854006E126D /* Reply.swift in Sources */,
   3191 				BA693074295D649800ADDB87 /* UserSettingsStore.swift in Sources */,
   3192 				D7ADD3E02B538D4200F104C4 /* DamusPurpleURLSheetView.swift in Sources */,
   3193 				4CFF8F6729CC9E3A008DB934 /* FullScreenCarouselView.swift in Sources */,
   3194 				4CA927632A290EB10098A105 /* EventTop.swift in Sources */,
   3195 				4C90BD18283A9EE5008EE7EF /* LoginView.swift in Sources */,
   3196 				4CB8838B296F6E1E00DC99E7 /* NIP05Badge.swift in Sources */,
   3197 				4CA3FA1029F593D000FDB3C3 /* ZapTypePicker.swift in Sources */,
   3198 				4C32B95D2A9AD44700DC3548 /* Documentation.docc in Sources */,
   3199 				4C3EA66828FF5F9900C48A62 /* hex.c in Sources */,
   3200 				E9E4ED0B295867B900DD7078 /* ThreadView.swift in Sources */,
   3201 				4CD348EF29C3659D00497EB2 /* ImageUploadModel.swift in Sources */,
   3202 				4C7D096E2A0AEA0400943473 /* ScannerCoordinator.swift in Sources */,
   3203 				4C3BEFDC281DCE6100B3DE84 /* Liked.swift in Sources */,
   3204 				4CF0ABE7298444FD00D66079 /* EventMutingContainerView.swift in Sources */,
   3205 				9C83F89329A937B900136C08 /* TextViewWrapper.swift in Sources */,
   3206 				4C1253502A76C5B20004F4B8 /* UnfollowedNotify.swift in Sources */,
   3207 				4C86F7C62A76C51100EC0817 /* AttachedWalletNotify.swift in Sources */,
   3208 				4CF0ABE12981A83900D66079 /* MutelistView.swift in Sources */,
   3209 				4CB883A82975FC1800DC99E7 /* Zaps.swift in Sources */,
   3210 				D74AAFD42B155ECB006CF0F4 /* Zaps+.swift in Sources */,
   3211 				4C75EFB128049D510006080F /* NostrResponse.swift in Sources */,
   3212 				4C7D09592A05BEAD00943473 /* KeyboardVisible.swift in Sources */,
   3213 				4CEE2AF7280B2DEA00AB5EEF /* ProfileName.swift in Sources */,
   3214 				4CC7AAEB297F0AEC00430951 /* BuilderEventView.swift in Sources */,
   3215 				E02429952B7E97740088B16C /* CameraController.swift in Sources */,
   3216 				31D2E847295218AF006D67F8 /* Shimmer.swift in Sources */,
   3217 				5C14C29F2BBBA5C600079FD2 /* RelayNipList.swift in Sources */,
   3218 				D7CB5D3E2B116DAD00AD4105 /* NotificationsManager.swift in Sources */,
   3219 				50A16FFF2AA76A0900DFEC1F /* VideoController.swift in Sources */,
   3220 				F7908E97298B1FDF00AB113A /* NIPURLBuilder.swift in Sources */,
   3221 				4C285C8228385570008A31F1 /* CarouselView.swift in Sources */,
   3222 				3A3040F129A8FF97008A0F29 /* LocalizationUtil.swift in Sources */,
   3223 				F75BA12D29A1855400E10810 /* BookmarksManager.swift in Sources */,
   3224 				4CC14FEF2A73FCCB007AEB17 /* IdType.swift in Sources */,
   3225 				4C3EA67F28FFC01D00C48A62 /* InvoiceView.swift in Sources */,
   3226 				D71AC4CC2BA8E3480076268E /* VisibilityTracker.swift in Sources */,
   3227 				4CE8794829941DA700F758CC /* RelayFilters.swift in Sources */,
   3228 				4CEE2B02280B39E800AB5EEF /* EventActionBar.swift in Sources */,
   3229 				4C3BEFE0281DE1ED00B3DE84 /* DamusState.swift in Sources */,
   3230 				4C198DF529F88D2E004C165C /* ImageMetadata.swift in Sources */,
   3231 				4CCEB7AE29B53D260078AA28 /* SearchingEventView.swift in Sources */,
   3232 				4CF0ABE929844AF100D66079 /* AnyCodable.swift in Sources */,
   3233 				BA3759932ABCCEBA0018D73B /* CameraModel.swift in Sources */,
   3234 				D7100C5A2B76FD5100C59298 /* LogoView.swift in Sources */,
   3235 				4C0A3F8F280F640A000448DE /* ThreadModel.swift in Sources */,
   3236 				4C3AC79F2833115300E1F516 /* FollowButtonView.swift in Sources */,
   3237 				D7CB5D3B2B112FBB00AD4105 /* NotificationFormatter.swift in Sources */,
   3238 				4C4E137B2A76D5FB00BDD832 /* MuteThreadNotify.swift in Sources */,
   3239 				4CC7AAE7297EFA7B00430951 /* Zap.swift in Sources */,
   3240 				4C12535A2A76C9960004F4B8 /* UnfollowNotify.swift in Sources */,
   3241 				4C32B95C2A9AD44700DC3548 /* String+extension.swift in Sources */,
   3242 				4C3BEFD22819DB9B00B3DE84 /* ProfileModel.swift in Sources */,
   3243 				4CA352AA2A76BF3A003BB08B /* LocalNotificationNotify.swift in Sources */,
   3244 				D7315A2A2ACDF3B70036E30A /* DamusCacheManager.swift in Sources */,
   3245 				D7373BA82B68974500F7783D /* DamusPurpleNewUserOnboardingView.swift in Sources */,
   3246 				4C7D09682A0AE9B200943473 /* NWCScannerView.swift in Sources */,
   3247 				D7CB5D452B116FE800AD4105 /* Contacts+.swift in Sources */,
   3248 				4CA352A42A76AFF3003BB08B /* UpdateStatsNotify.swift in Sources */,
   3249 				D798D21E2B0858BB00234419 /* MigratedTypes.swift in Sources */,
   3250 				4C0A3F93280F66F5000448DE /* ReplyMap.swift in Sources */,
   3251 				4C2B7BF22A71B6540049DEE7 /* Id.swift in Sources */,
   3252 				7C95CAEE299DCEF1009DCB67 /* KFOptionSetter+.swift in Sources */,
   3253 				4C7D09722A0AEF5E00943473 /* DamusGradient.swift in Sources */,
   3254 				4CCEB7B029B5415A0078AA28 /* SearchingProfileView.swift in Sources */,
   3255 				4C463CBF2B960B96008A8C36 /* PurpleBackdrop.swift in Sources */,
   3256 				BAB68BED29543FA3007BA466 /* SelectWalletView.swift in Sources */,
   3257 				3169CAE6294E69C000EE4006 /* EmptyTimelineView.swift in Sources */,
   3258 				4C32B9602A9AD44700DC3548 /* Struct.swift in Sources */,
   3259 				4CC7AAF0297F11C700430951 /* SelectedEventView.swift in Sources */,
   3260 				4CC7AAF8297F1CEE00430951 /* EventProfile.swift in Sources */,
   3261 				5CF2DCCC2AA3AF0B00984B8D /* RelayPicView.swift in Sources */,
   3262 				4C687C242A5FA86D0092C550 /* SearchHeaderView.swift in Sources */,
   3263 				64FBD06F296255C400D9D3B2 /* Theme.swift in Sources */,
   3264 				4C1A9A2329DDDB8100516EAC /* IconLabel.swift in Sources */,
   3265 				4CA352AC2A76C07F003BB08B /* NewUnmutesNotify.swift in Sources */,
   3266 				4C3EA64928FF597700C48A62 /* bech32.c in Sources */,
   3267 				D7870BC32AC47EBC0080BA88 /* EventLoaderView.swift in Sources */,
   3268 				4CE879522996B68900F758CC /* RelayType.swift in Sources */,
   3269 				4CE8795B2996C47A00F758CC /* ZapsModel.swift in Sources */,
   3270 				4C3A1D3729637E0500558C0F /* PreviewCache.swift in Sources */,
   3271 				4C3EA67528FF7A5A00C48A62 /* take.c in Sources */,
   3272 				4C3AC7A12835A81400E1F516 /* SetupView.swift in Sources */,
   3273 				4C06670128FC7C5900038D2A /* RelayView.swift in Sources */,
   3274 				4C285C8C28398BC7008A31F1 /* Keys.swift in Sources */,
   3275 				4C94D6432BA5AEFE00C26EFF /* QuoteRepostsView.swift in Sources */,
   3276 				D7EDED332B12ACAE0018B19C /* DamusUserDefaults.swift in Sources */,
   3277 				4CA352AE2A76C1AC003BB08B /* FollowedNotify.swift in Sources */,
   3278 				4CACA9DC280C38C000D9BBE8 /* Profiles.swift in Sources */,
   3279 				4CE879582996C45300F758CC /* ZapsView.swift in Sources */,
   3280 				4C30AC7429A5680900E2BD5A /* EventGroupView.swift in Sources */,
   3281 				4C9D6D1B2B1D35D7004E5CD9 /* PullDownSearch.swift in Sources */,
   3282 				4C633352283D419F00B1C9C3 /* SignalModel.swift in Sources */,
   3283 				4CFF8F6D29CD022E008DB934 /* WideEventView.swift in Sources */,
   3284 				9609F058296E220800069BF3 /* BannerImageView.swift in Sources */,
   3285 				4C363A94282704FA006E126D /* Post.swift in Sources */,
   3286 				4C216F32286E388800040376 /* DMChatView.swift in Sources */,
   3287 				4C7D09782A0B0CC900943473 /* WalletModel.swift in Sources */,
   3288 				4C1253522A76C6130004F4B8 /* ComposeNotify.swift in Sources */,
   3289 				4C7D09662A0AE62100943473 /* AlbyButton.swift in Sources */,
   3290 				D7100C582B76FC8400C59298 /* MarketingContentView.swift in Sources */,
   3291 				4CAAD8AD298851D000060CEA /* AccountDeletion.swift in Sources */,
   3292 				4CFF8F6329CC9AD7008DB934 /* ImageContextMenuModifier.swift in Sources */,
   3293 				4C54AA0A29A55429003E4487 /* EventGroup.swift in Sources */,
   3294 				4C7D09622A098D0E00943473 /* WalletConnect.swift in Sources */,
   3295 				4C3EA67928FF7ABF00C48A62 /* list.c in Sources */,
   3296 				4C64987E286D082C00EAE2B3 /* DirectMessagesModel.swift in Sources */,
   3297 				4C12535E2A76CA870004F4B8 /* SwitchedTimelineNotify.swift in Sources */,
   3298 				D74F430A2B23F0BE00425B75 /* DamusPurple.swift in Sources */,
   3299 				9CA876E229A00CEA0003B9A3 /* AttachMediaUtility.swift in Sources */,
   3300 				4C4E137D2A76D63600BDD832 /* UnmuteThreadNotify.swift in Sources */,
   3301 				4CE4F0F829DB7399005914DB /* ThiccDivider.swift in Sources */,
   3302 				4CFF8F5929C9FD1E008DB934 /* DamusPurpleView.swift in Sources */,
   3303 				4CE0E2B629A3ED5500DB4CA2 /* InnerTimelineView.swift in Sources */,
   3304 				4C363A8828236948006E126D /* BlocksView.swift in Sources */,
   3305 				4C06670628FCB08600038D2A /* ImageCarousel.swift in Sources */,
   3306 				3A23838E2A297DD200E5AA2E /* ZapButtonModel.swift in Sources */,
   3307 				F71694F82A6983AF001F4053 /* GrayGradient.swift in Sources */,
   3308 				4C1D4FB12A7958E60024F453 /* VersionInfo.swift in Sources */,
   3309 				D7FF94002AC7AC5300FD969D /* RelayURL.swift in Sources */,
   3310 				4C64305C2A945AFF00B0C0E9 /* MusicController.swift in Sources */,
   3311 				5053ACA72A56DF3B00851AE3 /* DeveloperSettingsView.swift in Sources */,
   3312 				F79C7FAD29D5E9620000F946 /* EditPictureControl.swift in Sources */,
   3313 				4C9F18E229AA9B6C008C55EC /* CustomizeZapView.swift in Sources */,
   3314 				4C2859602A12A2BE004746F7 /* SupporterBadge.swift in Sources */,
   3315 				4C1A9A2A29DDF54400516EAC /* DamusVideoPlayer.swift in Sources */,
   3316 				4CA352A22A76AEC5003BB08B /* LikedNotify.swift in Sources */,
   3317 				BA37598D2ABCCE500018D73B /* PhotoCaptureProcessor.swift in Sources */,
   3318 				4C9146FD2A2A87C200DDEA40 /* wasm.c in Sources */,
   3319 				4C75EFAF28049D350006080F /* NostrFilter.swift in Sources */,
   3320 				4C3EA64C28FF59AC00C48A62 /* bech32_util.c in Sources */,
   3321 				4CA9276C2A2910D10098A105 /* ReplyPart.swift in Sources */,
   3322 				D7C6787E2B2D34CC00BCEAFB /* NIP98AuthenticatedRequest.swift in Sources */,
   3323 				4CE1399029F0661A00AC6A0B /* RepostAction.swift in Sources */,
   3324 				4CE1399229F0666100AC6A0B /* ShareActionButton.swift in Sources */,
   3325 				4C42812C298C848200DBF26F /* TranslateView.swift in Sources */,
   3326 				4C363A9C282838B9006E126D /* EventRef.swift in Sources */,
   3327 				4C5E54032A9522F600FF6E60 /* UserStatus.swift in Sources */,
   3328 				4C7D095F2A098C5D00943473 /* ConnectWalletView.swift in Sources */,
   3329 				3AA24802297E3DC20090C62D /* RepostView.swift in Sources */,
   3330 				5C6E1DAF2A194075008FC15A /* PinkGradient.swift in Sources */,
   3331 				4CD7641B28A1641400B6928F /* EndBlock.swift in Sources */,
   3332 				4C3EA66528FF5F6800C48A62 /* mem.c in Sources */,
   3333 				4C198DEF29F88C6B004C165C /* BlurHashEncode.swift in Sources */,
   3334 				4CF0ABE52981EE0C00D66079 /* EULAView.swift in Sources */,
   3335 				4CBCA930297DB57F00EC6B2F /* WebsiteLink.swift in Sources */,
   3336 				4CAAD8B029888AD200060CEA /* RelayConfigView.swift in Sources */,
   3337 				50088DA129E8271A008A1FDF /* WebSocket.swift in Sources */,
   3338 				4C3EA64128FF553900C48A62 /* hash_u5.c in Sources */,
   3339 				5C7389B12B6EFA7100781E0A /* ProxyView.swift in Sources */,
   3340 				4C1253542A76C7D60004F4B8 /* LogoutNotify.swift in Sources */,
   3341 				5C513FCC2984ACA60072348F /* QRCodeView.swift in Sources */,
   3342 				4CC14FF52A740BB7007AEB17 /* NoteId.swift in Sources */,
   3343 				4C19AE512A5CEF7C00C90DB7 /* NostrScript.swift in Sources */,
   3344 				4C32B95E2A9AD44700DC3548 /* FlatBufferObject.swift in Sources */,
   3345 				D783A63F2AD4E53D00658DDA /* SuggestedHashtagsView.swift in Sources */,
   3346 				4C3EA64F28FF59F200C48A62 /* tal.c in Sources */,
   3347 				5C42E78C29DB76D90086AAC1 /* EmptyUserSearchView.swift in Sources */,
   3348 				4CB88396296F7F8B00DC99E7 /* ReactionView.swift in Sources */,
   3349 				50A16FFD2AA7525700DFEC1F /* DamusVideoPlayerViewModel.swift in Sources */,
   3350 				4CFF8F6B29CD0079008DB934 /* RepostedEvent.swift in Sources */,
   3351 				D78CD5982B8990300014D539 /* DamusAppNotificationView.swift in Sources */,
   3352 				D724D8272B64B40B00ABE789 /* DamusPurpleAccountView.swift in Sources */,
   3353 				4C8682872814DE470026224F /* ProfileView.swift in Sources */,
   3354 				5C0707D12A1ECB38004E7B51 /* DamusLogoGradient.swift in Sources */,
   3355 				4CDD1AE02A6B305F001CD4DF /* NdbTagElem.swift in Sources */,
   3356 				4C5F9114283D694D0052CD1C /* FollowTarget.swift in Sources */,
   3357 				D72341192B6864F200E1E135 /* DamusPurpleEnvironment.swift in Sources */,
   3358 				4CF0ABD629817F5B00D66079 /* ReportView.swift in Sources */,
   3359 				4C1A9A2729DDE31900516EAC /* TranslationSettingsView.swift in Sources */,
   3360 				BA3759942ABCCEBA0018D73B /* CameraService.swift in Sources */,
   3361 				4CB8838629656C8B00DC99E7 /* NIP05.swift in Sources */,
   3362 				4CF0ABD82981980C00D66079 /* Lists.swift in Sources */,
   3363 				F71694EA2A662232001F4053 /* OnboardingSuggestionsView.swift in Sources */,
   3364 				4C12536A2A76D3850004F4B8 /* RelaysChangedNotify.swift in Sources */,
   3365 				5C7389B92B9E69ED00781E0A /* MutinyGradient.swift in Sources */,
   3366 				4C30AC8029A6A53F00E2BD5A /* ProfilePicturesView.swift in Sources */,
   3367 				D7373BAA2B68A65A00F7783D /* PurpleAccountUpdateNotify.swift in Sources */,
   3368 				5C6E1DAD2A193EC2008FC15A /* GradientButtonStyle.swift in Sources */,
   3369 				3CCD1E6A2A874C4E0099A953 /* Nip98HTTPAuth.swift in Sources */,
   3370 				4C8EC52529D1FA6C0085D9A8 /* DamusColors.swift in Sources */,
   3371 				3A4647CF2A413ADC00386AD8 /* CondensedProfilePicturesView.swift in Sources */,
   3372 				5C14C29B2BBBA29C00079FD2 /* RelaySoftwareDetail.swift in Sources */,
   3373 				D2277EEA2A089BD5006C3807 /* Router.swift in Sources */,
   3374 				3A90B1812A4EA3AF00000D94 /* UserSearchCache.swift in Sources */,
   3375 				4C9D6D162B1AA9C6004E5CD9 /* DisplayTabBarNotify.swift in Sources */,
   3376 				4CC14FF92A741939007AEB17 /* Referenced.swift in Sources */,
   3377 				4C5C7E6A284EDE2E00A22DF5 /* SearchResultsView.swift in Sources */,
   3378 				4CE1399429F0669900AC6A0B /* BigButton.swift in Sources */,
   3379 				7C60CAEF298471A1009C80D6 /* CoreSVG.swift in Sources */,
   3380 				6439E014296790CF0020672B /* ProfilePicImageView.swift in Sources */,
   3381 				4CE6DF1627F8DEBF00C66700 /* RelayConnection.swift in Sources */,
   3382 				4C1253682A76D2470004F4B8 /* MuteNotify.swift in Sources */,
   3383 				4CDA128C29EB19C40006FA5A /* LocalNotification.swift in Sources */,
   3384 				4C3BEFD6281D995700B3DE84 /* ActionBarModel.swift in Sources */,
   3385 				4C7D09762A0AF19E00943473 /* FillAndStroke.swift in Sources */,
   3386 				4CA927612A290E340098A105 /* EventShell.swift in Sources */,
   3387 				4C363AA428296DEE006E126D /* SearchModel.swift in Sources */,
   3388 				4C8D00CC29DF92DF0036AF10 /* Hashtags.swift in Sources */,
   3389 				4C7D096F2A0AEA0400943473 /* ScannerViewController.swift in Sources */,
   3390 				4CEE2AF3280B25C500AB5EEF /* ProfilePicView.swift in Sources */,
   3391 				4CC7AAF6297F1A6A00430951 /* EventBody.swift in Sources */,
   3392 				D76556D62B1E6C08001B0CCC /* DamusPurpleWelcomeView.swift in Sources */,
   3393 				3165648B295B70D500C64604 /* LinkView.swift in Sources */,
   3394 				4C8D00CF29E38B950036AF10 /* nostr_bech32.c in Sources */,
   3395 				D7CB5D5C2B1176B200AD4105 /* MediaUploader.swift in Sources */,
   3396 				4C1253562A76C8C60004F4B8 /* BroadcastNotify.swift in Sources */,
   3397 				4C3BEFD42819DE8F00B3DE84 /* NostrKind.swift in Sources */,
   3398 				B533694E2B66D791008A805E /* MutelistManager.swift in Sources */,
   3399 				4C32B9532A9AD44700DC3548 /* Verifier.swift in Sources */,
   3400 				5C14C29D2BBBA40B00079FD2 /* RelayAdminDetail.swift in Sources */,
   3401 				4C3EA66028FF5E7700C48A62 /* node_id.c in Sources */,
   3402 				4C687C212A5F7ED00092C550 /* DamusBackground.swift in Sources */,
   3403 				4CA352A02A76AE80003BB08B /* Notify.swift in Sources */,
   3404 				4CF38C882A9442DC00BE01B6 /* UserStatusView.swift in Sources */,
   3405 				4CE6DEE727F7A08100C66700 /* damusApp.swift in Sources */,
   3406 				4C1253582A76C9060004F4B8 /* PresentSheetNotify.swift in Sources */,
   3407 				4C363A962827096D006E126D /* PostBlock.swift in Sources */,
   3408 				4CA9275F2A2902B20098A105 /* LongformPreview.swift in Sources */,
   3409 				4C5F9116283D855D0052CD1C /* EventsModel.swift in Sources */,
   3410 				4C32B94F2A9AD44700DC3548 /* Int+extension.swift in Sources */,
   3411 				4CEE2AED2805B22500AB5EEF /* NostrRequest.swift in Sources */,
   3412 				4C06670E28FDEAA000038D2A /* utf8.c in Sources */,
   3413 				4C3EA66D28FF782800C48A62 /* amount.c in Sources */,
   3414 				4C32B9562A9AD44700DC3548 /* TableVerifier.swift in Sources */,
   3415 				5CF2DCCE2AABE1A500984B8D /* DamusLightGradient.swift in Sources */,
   3416 				4C5E54062A9671F800FF6E60 /* UserStatusSheet.swift in Sources */,
   3417 				F71694F42A6732B7001F4053 /* GradientFollowButton.swift in Sources */,
   3418 				4C3AC7A728369BA200E1F516 /* SearchHomeView.swift in Sources */,
   3419 				E0EE9DD42B8E5FEA00F3002D /* ImageProcessing.swift in Sources */,
   3420 				4CB883B0297705DD00DC99E7 /* NoteZapButton.swift in Sources */,
   3421 				4C363A922825FCF2006E126D /* ProfileUpdate.swift in Sources */,
   3422 				4C3BEFDA281DCA1400B3DE84 /* LikeCounter.swift in Sources */,
   3423 				4C32B9502A9AD44700DC3548 /* FlatBufferBuilder.swift in Sources */,
   3424 				50A60D142A28BEEE00186190 /* RelayLog.swift in Sources */,
   3425 				D7EDED212B117DCA0018B19C /* SequenceUtils.swift in Sources */,
   3426 				BA37598A2ABCCDE40018D73B /* ImageResizer.swift in Sources */,
   3427 				B51C1CEB2B55A60A00E312A9 /* MuteDurationMenu.swift in Sources */,
   3428 				4CB88389296AF99A00DC99E7 /* EventDetailBar.swift in Sources */,
   3429 				4C32B9512A9AD44700DC3548 /* FlatbuffersErrors.swift in Sources */,
   3430 				4CE8794E2996B16A00F758CC /* RelayToggle.swift in Sources */,
   3431 				4C3AC79B28306D7B00E1F516 /* Contacts.swift in Sources */,
   3432 				4C3EA63D28FF52D600C48A62 /* bolt11.c in Sources */,
   3433 				4C9BB83129C0ED4F00FC4E37 /* DisplayName.swift in Sources */,
   3434 				7CFF6317299FEFE5005D382A /* SelectableText.swift in Sources */,
   3435 				50A16FFB2AA6C06600DFEC1F /* DamusAVPlayerView.swift in Sources */,
   3436 				4CA352A82A76B37E003BB08B /* NewMutesNotify.swift in Sources */,
   3437 				4CFF8F6929CC9ED1008DB934 /* ImageContainerView.swift in Sources */,
   3438 				7527271E2A93FF0100214108 /* Block.swift in Sources */,
   3439 				4C54AA0729A540BA003E4487 /* NotificationsModel.swift in Sources */,
   3440 				4CE4F0F229D4FCFA005914DB /* DebouncedOnChange.swift in Sources */,
   3441 				4C32B9592A9AD44700DC3548 /* Table.swift in Sources */,
   3442 				4C5D5C9D2A6B2CB40024563C /* AsciiCharacter.swift in Sources */,
   3443 				4CF0ABEC29844B4700D66079 /* AnyDecodable.swift in Sources */,
   3444 				4C9146FE2A2A87C200DDEA40 /* nostrscript.c in Sources */,
   3445 				4C5F9118283D88E40052CD1C /* FollowingModel.swift in Sources */,
   3446 				4C1A9A1A29DCA17E00516EAC /* ReplyCounter.swift in Sources */,
   3447 				50B5685329F97CB400A23243 /* CredentialHandler.swift in Sources */,
   3448 				643EA5C8296B764E005081BB /* RelayFilterView.swift in Sources */,
   3449 				F71694EC2A662292001F4053 /* SuggestedUsersViewModel.swift in Sources */,
   3450 				E04A37C62B544F090029650D /* URIParsing.swift in Sources */,
   3451 				4C3EA67D28FFBBA300C48A62 /* InvoicesView.swift in Sources */,
   3452 				4C363A8E28236FE4006E126D /* NoteContentView.swift in Sources */,
   3453 				4C2B10282A7B0F5C008AA43E /* Log.swift in Sources */,
   3454 				4C90BD1A283AA67F008EE7EF /* Bech32.swift in Sources */,
   3455 				E990020F2955F837003BBC5A /* EditMetadataView.swift in Sources */,
   3456 				4CB8FC232A41ABA800763C51 /* AboutView.swift in Sources */,
   3457 				D74AAFCC2B155D07006CF0F4 /* MakeZapRequest.swift in Sources */,
   3458 				5C513FBA297F72980072348F /* CustomPicker.swift in Sources */,
   3459 				4C1253622A76D00B0004F4B8 /* PostNotify.swift in Sources */,
   3460 				4CACA9D5280C31E100D9BBE8 /* ReplyView.swift in Sources */,
   3461 				F7908E92298B0F0700AB113A /* RelayDetailView.swift in Sources */,
   3462 				4C9147002A2A891E00DDEA40 /* error.c in Sources */,
   3463 				4CE879552996BAB900F758CC /* RelayPaidDetail.swift in Sources */,
   3464 				4C1253602A76CF890004F4B8 /* ScrollToTopNotify.swift in Sources */,
   3465 				4CA3529E2A76AE67003BB08B /* FollowNotify.swift in Sources */,
   3466 				4CF0ABD42980996B00D66079 /* Report.swift in Sources */,
   3467 				4C06670B28FDE64700038D2A /* damus.c in Sources */,
   3468 				4C1253642A76D08F0004F4B8 /* ReportNotify.swift in Sources */,
   3469 				4C1A9A2529DDDF2600516EAC /* ZapSettingsView.swift in Sources */,
   3470 				4C2CDDF7299D4A5E00879FD5 /* Debouncer.swift in Sources */,
   3471 				3AAA95CC298E07E900F3D526 /* DeepLPlan.swift in Sources */,
   3472 				4FE60CDD295E1C5E00105A1F /* Wallet.swift in Sources */,
   3473 				3AA247FF297E3D900090C62D /* RepostsView.swift in Sources */,
   3474 				3AE45AF6297BB2E700C1D842 /* LibreTranslateServer.swift in Sources */,
   3475 				4C5D5C9A2A6AF8F80024563C /* NdbTagIterator.swift in Sources */,
   3476 				D7100C5E2B7709ED00C59298 /* PurpleStoreKitManager.swift in Sources */,
   3477 				4CE879502996B2BD00F758CC /* RelayStatusView.swift in Sources */,
   3478 				4CC7AAF4297F18B400430951 /* ReplyDescription.swift in Sources */,
   3479 				4C75EFA427FA577B0006080F /* PostView.swift in Sources */,
   3480 				4C30AC7229A5677A00E2BD5A /* NotificationsView.swift in Sources */,
   3481 				4C1A9A2129DDD3E100516EAC /* KeySettingsView.swift in Sources */,
   3482 				D723C38E2AB8D83400065664 /* ContentFilters.swift in Sources */,
   3483 				4C32B95A2A9AD44700DC3548 /* Verifiable.swift in Sources */,
   3484 				4C73C5142A4437C10062CAC0 /* ZapUserView.swift in Sources */,
   3485 				501F8C802A0220E1001AFC1D /* KeychainStorage.swift in Sources */,
   3486 				4C1A9A1D29DDCF9B00516EAC /* NotificationSettingsView.swift in Sources */,
   3487 				5CC868DD2AA29B3200FB22BA /* NeutralButtonStyle.swift in Sources */,
   3488 				4C75EFB528049D790006080F /* Relay.swift in Sources */,
   3489 				4CEE2AF1280B216B00AB5EEF /* EventDetailView.swift in Sources */,
   3490 				D7CB5D4E2B11728000AD4105 /* NewEventsBits.swift in Sources */,
   3491 				4CC7AAFA297F64AC00430951 /* EventMenu.swift in Sources */,
   3492 				B57B4C622B312BD700A232C0 /* ReconnectRelaysNotify.swift in Sources */,
   3493 				D7ADD3DE2B53854300F104C4 /* DamusPurpleURL.swift in Sources */,
   3494 				E4FA1C032A24BB7F00482697 /* SearchSettingsView.swift in Sources */,
   3495 				4C75EFBB2804A34C0006080F /* ProofOfWork.swift in Sources */,
   3496 				4C3AC7A52836987600E1F516 /* MainTabView.swift in Sources */,
   3497 				D76874F32AE3632B00FB0F68 /* ProfileZapLinkView.swift in Sources */,
   3498 				D77BFA0B2AE3051200621634 /* ProfileActionSheetView.swift in Sources */,
   3499 				4C1A9A1F29DDD24B00516EAC /* AppearanceSettingsView.swift in Sources */,
   3500 				3AA59D1D2999B0400061C48E /* DraftsModel.swift in Sources */,
   3501 				3169CAED294FCCFC00EE4006 /* Constants.swift in Sources */,
   3502 				4C9AA14A2A4587A6003F49FD /* NotificationStatusModel.swift in Sources */,
   3503 				D7100C5C2B77016700C59298 /* IAPProductStateView.swift in Sources */,
   3504 				4CB9D4A72992D02B00A9A7E4 /* ProfileNameView.swift in Sources */,
   3505 				4CE4F0F429D779B5005914DB /* PostBox.swift in Sources */,
   3506 				BA37598E2ABCCE500018D73B /* VideoCaptureProcessor.swift in Sources */,
   3507 				4C9B0DF32A65C46800CBDA21 /* ProfileEditButton.swift in Sources */,
   3508 				4C32B95F2A9AD44700DC3548 /* Enum.swift in Sources */,
   3509 				4C2859622A12A7F0004746F7 /* GoldSupportGradient.swift in Sources */,
   3510 			);
   3511 			runOnlyForDeploymentPostprocessing = 0;
   3512 		};
   3513 		4CE6DEEF27F7A08200C66700 /* Sources */ = {
   3514 			isa = PBXSourcesBuildPhase;
   3515 			buildActionMask = 2147483647;
   3516 			files = (
   3517 				4C684A572A7FFAE6005E6031 /* UrlTests.swift in Sources */,
   3518 				3A90B1832A4EA3C600000D94 /* UserSearchCacheTests.swift in Sources */,
   3519 				4C9B0DEE2A65A75F00CBDA21 /* AttrStringTestExtensions.swift in Sources */,
   3520 				4C19AE552A5D977400C90DB7 /* HashtagTests.swift in Sources */,
   3521 				D72927AD2BAB515C00F93E90 /* RelayURLTests.swift in Sources */,
   3522 				3A3040ED29A5CB86008A0F29 /* ReplyDescriptionTests.swift in Sources */,
   3523 				D71DC1EC2A9129C3006E207C /* PostViewTests.swift in Sources */,
   3524 				3AAC7A022A60FE72002B50DF /* LocalizationUtilTests.swift in Sources */,
   3525 				D7CBD1D62B8D509800BFD889 /* DamusPurpleImpendingExpirationTests.swift in Sources */,
   3526 				D7DEEF2F2A8C021E00E0C99F /* NostrEventTests.swift in Sources */,
   3527 				4C8D00D429E3C5D40036AF10 /* NIP19Tests.swift in Sources */,
   3528 				3A30410129AB12AA008A0F29 /* EventGroupViewTests.swift in Sources */,
   3529 				501F8C822A0224EB001AFC1D /* KeychainStorageTests.swift in Sources */,
   3530 				B5B4D1432B37D47600844320 /* NdbExtensions.swift in Sources */,
   3531 				3ACBCB78295FE5C70037388A /* TimeAgoTests.swift in Sources */,
   3532 				D72A2D072AD9C1FB002AFF62 /* MockProfiles.swift in Sources */,
   3533 				B5A75C2A2B546D94007AFBC0 /* MuteItemTests.swift in Sources */,
   3534 				4C4F14A72A2A61A30045A0B9 /* NostrScriptTests.swift in Sources */,
   3535 				D78525252A7B2EA4002FA637 /* NoteContentViewTests.swift in Sources */,
   3536 				4C3EA67B28FF7B3900C48A62 /* InvoiceTests.swift in Sources */,
   3537 				4C363A9E2828A822006E126D /* ReplyTests.swift in Sources */,
   3538 				4C7D097E2A0C58B900943473 /* WalletConnectTests.swift in Sources */,
   3539 				4CB883AA297612FF00DC99E7 /* ZapTests.swift in Sources */,
   3540 				D72A2D022AD9C136002AFF62 /* EventViewTests.swift in Sources */,
   3541 				4CB8839A297322D200DC99E7 /* DMTests.swift in Sources */,
   3542 				D7315A2C2ACDF4DA0036E30A /* DamusCacheManagerTests.swift in Sources */,
   3543 				4C9054852A6AEAA000811EEC /* NdbTests.swift in Sources */,
   3544 				75AD872B2AA23A460085EF2C /* Block+Tests.swift in Sources */,
   3545 				E0E024112B7C19C20075735D /* TranslationTests.swift in Sources */,
   3546 				F944F56E29EA9CCC0067B3BF /* DamusParseContentTests.swift in Sources */,
   3547 				3A5E47C72A4A76C800C0D090 /* TrieTests.swift in Sources */,
   3548 				B501062D2B363036003874F5 /* AuthIntegrationTests.swift in Sources */,
   3549 				4CB883AE2976FA9300DC99E7 /* FormatTests.swift in Sources */,
   3550 				D72A2D052AD9C1B5002AFF62 /* MockDamusState.swift in Sources */,
   3551 				E06336AA2B75832100A88E6B /* ImageMetadataTest.swift in Sources */,
   3552 				4C363AA02828A8DD006E126D /* LikeTests.swift in Sources */,
   3553 				4C90BD1C283AC38E008EE7EF /* Bech32Tests.swift in Sources */,
   3554 				50A50A8D29A09E1C00C01BE7 /* RequestTests.swift in Sources */,
   3555 				4CE6DEF827F7A08200C66700 /* damusTests.swift in Sources */,
   3556 				3A3040F329A91366008A0F29 /* ProfileViewTests.swift in Sources */,
   3557 				4CF0ABDC2981A19E00D66079 /* ListTests.swift in Sources */,
   3558 				4C684A552A7E91FE005E6031 /* LongPostTests.swift in Sources */,
   3559 				E02B54182B4DFADA0077FF42 /* Bech32ObjectTests.swift in Sources */,
   3560 			);
   3561 			runOnlyForDeploymentPostprocessing = 0;
   3562 		};
   3563 		4CE6DEF927F7A08200C66700 /* Sources */ = {
   3564 			isa = PBXSourcesBuildPhase;
   3565 			buildActionMask = 2147483647;
   3566 			files = (
   3567 				4CE6DF0227F7A08200C66700 /* damusUITests.swift in Sources */,
   3568 				4CE6DF0427F7A08200C66700 /* damusUITestsLaunchTests.swift in Sources */,
   3569 			);
   3570 			runOnlyForDeploymentPostprocessing = 0;
   3571 		};
   3572 		D79C4C102AFEB061003A41B4 /* Sources */ = {
   3573 			isa = PBXSourcesBuildPhase;
   3574 			buildActionMask = 2147483647;
   3575 			files = (
   3576 				D798D21F2B0858D600234419 /* MigratedTypes.swift in Sources */,
   3577 				D7CE1B472B0BE719002EDAD4 /* NativeObject.swift in Sources */,
   3578 				D7CB5D552B11758A00AD4105 /* UnmuteThreadNotify.swift in Sources */,
   3579 				D7CCFC0E2B0587C300323D86 /* EventRef.swift in Sources */,
   3580 				D7CCFC192B058A3F00323D86 /* Block.swift in Sources */,
   3581 				D7CCFC112B05884E00323D86 /* AsciiCharacter.swift in Sources */,
   3582 				D798D2202B08592000234419 /* NdbTagIterator.swift in Sources */,
   3583 				D7CE1B1D2B0BE14A002EDAD4 /* verifier.c in Sources */,
   3584 				D7CB5D4F2B11728000AD4105 /* NewEventsBits.swift in Sources */,
   3585 				D7CB5D412B116F0900AD4105 /* StringCodable.swift in Sources */,
   3586 				D7CE1B1F2B0BE1B8002EDAD4 /* damus.c in Sources */,
   3587 				D7CE1B1B2B0BE144002EDAD4 /* emitter.c in Sources */,
   3588 				D7EDED342B12ACAE0018B19C /* DamusUserDefaults.swift in Sources */,
   3589 				D74AAFC72B155BD0006CF0F4 /* Zap.swift in Sources */,
   3590 				D7CB5D562B11759900AD4105 /* MuteThreadNotify.swift in Sources */,
   3591 				D7EDED182B1177A00018B19C /* LNUrlPayRequest.swift in Sources */,
   3592 				D798D21C2B0857E400234419 /* Bech32Object.swift in Sources */,
   3593 				D74AAFD02B155D8C006CF0F4 /* ZapDataModel.swift in Sources */,
   3594 				D7CB5D572B11762900AD4105 /* UserStatus.swift in Sources */,
   3595 				D7CE1B402B0BE719002EDAD4 /* FlatBufferObject.swift in Sources */,
   3596 				D7CE1B442B0BE719002EDAD4 /* Mutable.swift in Sources */,
   3597 				D798D2212B08594800234419 /* NdbTagElem.swift in Sources */,
   3598 				D7CE1B432B0BE719002EDAD4 /* String+extension.swift in Sources */,
   3599 				D7CB5D3F2B116DAD00AD4105 /* NotificationsManager.swift in Sources */,
   3600 				D7CB5D602B11770C00AD4105 /* FollowState.swift in Sources */,
   3601 				D7CB5D402B116E8A00AD4105 /* UserSettingsStore.swift in Sources */,
   3602 				D7CE1B1C2B0BE147002EDAD4 /* refmap.c in Sources */,
   3603 				D74AAFC92B155CA5006CF0F4 /* UpdateStatsNotify.swift in Sources */,
   3604 				D7CE1B242B0BE1F1002EDAD4 /* hash_u5.c in Sources */,
   3605 				D79C4C172AFEB061003A41B4 /* NotificationService.swift in Sources */,
   3606 				D7CB5D522B1174D100AD4105 /* FriendFilter.swift in Sources */,
   3607 				D7CE1B362B0BE702002EDAD4 /* FbConstants.swift in Sources */,
   3608 				D74AAFD12B155DA4006CF0F4 /* RelayURL.swift in Sources */,
   3609 				D7EDED272B117FF10018B19C /* CompatibleAttribute.swift in Sources */,
   3610 				D7CE1B222B0BE1EB002EDAD4 /* utf8.c in Sources */,
   3611 				D74AAFCD2B155D07006CF0F4 /* MakeZapRequest.swift in Sources */,
   3612 				D7CCFC072B05833200323D86 /* NdbNote.swift in Sources */,
   3613 				D7CE1B3F2B0BE719002EDAD4 /* Enum.swift in Sources */,
   3614 				D74AAFD22B155E78006CF0F4 /* WalletConnect.swift in Sources */,
   3615 				D7CD35132B1A72B800D63139 /* Constants.swift in Sources */,
   3616 				D7EDED222B117DCA0018B19C /* SequenceUtils.swift in Sources */,
   3617 				D7CE1B422B0BE719002EDAD4 /* Offset.swift in Sources */,
   3618 				D7FB10A72B0C371A00FA8D42 /* Log.swift in Sources */,
   3619 				D7CE1B232B0BE1EE002EDAD4 /* bolt11.c in Sources */,
   3620 				D7CE1B182B0BDFDD002EDAD4 /* mdb.c in Sources */,
   3621 				D7CCFC162B05894300323D86 /* Pubkey.swift in Sources */,
   3622 				D7CE1B292B0BE239002EDAD4 /* node_id.c in Sources */,
   3623 				D7EDED2C2B128CFA0018B19C /* DamusColors.swift in Sources */,
   3624 				D7CE1B2E2B0BE25C002EDAD4 /* talstr.c in Sources */,
   3625 				D74AAFC52B1538DF006CF0F4 /* NotificationExtensionState.swift in Sources */,
   3626 				D798D2292B08686C00234419 /* ContentParsing.swift in Sources */,
   3627 				D798D2242B0859C900234419 /* LocalizationUtil.swift in Sources */,
   3628 				D7CE1B322B0BE6C3002EDAD4 /* NdbTxn.swift in Sources */,
   3629 				D7CE1B372B0BE719002EDAD4 /* Verifier.swift in Sources */,
   3630 				D74AAFC82B155C9D006CF0F4 /* InsertSort.swift in Sources */,
   3631 				D723411A2B6864F200E1E135 /* DamusPurpleEnvironment.swift in Sources */,
   3632 				D7EDED292B1182060018B19C /* AttachMediaUtility.swift in Sources */,
   3633 				D798D21A2B0856CC00234419 /* Mentions.swift in Sources */,
   3634 				D7CE1B212B0BE1CB002EDAD4 /* wasm.c in Sources */,
   3635 				D7CE1B3B2B0BE719002EDAD4 /* Int+extension.swift in Sources */,
   3636 				D74AAFC62B155B8B006CF0F4 /* Zaps.swift in Sources */,
   3637 				D7CCFC0B2B0585EA00323D86 /* nostrdb.c in Sources */,
   3638 				D7CE1B252B0BE1F4002EDAD4 /* sha256.c in Sources */,
   3639 				D7CE1B262B0BE1F8002EDAD4 /* bech32.c in Sources */,
   3640 				D7EDED232B117DFB0018B19C /* NoteContent.swift in Sources */,
   3641 				D798D21B2B0856F200234419 /* NdbTagsIterator.swift in Sources */,
   3642 				D7CE1B352B0BE6FA002EDAD4 /* ByteBuffer.swift in Sources */,
   3643 				D7CE1B2F2B0BE260002EDAD4 /* list.c in Sources */,
   3644 				D7CB5D422B116F8900AD4105 /* Contacts.swift in Sources */,
   3645 				D7CB5D5D2B1176B200AD4105 /* MediaUploader.swift in Sources */,
   3646 				D7CE1B342B0BE6EE002EDAD4 /* NdbProfile.swift in Sources */,
   3647 				D7DBD41F2B02F15E002A6197 /* NostrKind.swift in Sources */,
   3648 				D7CE1B3C2B0BE719002EDAD4 /* TableVerifier.swift in Sources */,
   3649 				D7EDED2F2B128E8A0018B19C /* CollectionExtension.swift in Sources */,
   3650 				D7CCFC082B05834500323D86 /* NoteId.swift in Sources */,
   3651 				D7CE1B1A2B0BE135002EDAD4 /* json_parser.c in Sources */,
   3652 				D7EDED2A2B128CB40018B19C /* Nip98HTTPAuth.swift in Sources */,
   3653 				D7CB5D592B11764000AD4105 /* NewUnmutesNotify.swift in Sources */,
   3654 				D798D2252B0859D700234419 /* Post.swift in Sources */,
   3655 				D7EDED172B1177960018B19C /* TranslationService.swift in Sources */,
   3656 				D7CCFC0F2B0587F600323D86 /* Keys.swift in Sources */,
   3657 				D7CB5D542B1174F700AD4105 /* NIP05.swift in Sources */,
   3658 				D798D2232B0859B700234419 /* KeychainStorage.swift in Sources */,
   3659 				D74AAFC32B153395006CF0F4 /* HeadlessDamusState.swift in Sources */,
   3660 				D7CE1B272B0BE224002EDAD4 /* bech32_util.c in Sources */,
   3661 				D7CCFC102B05880F00323D86 /* Id.swift in Sources */,
   3662 				D7CB5D532B1174E900AD4105 /* DeepLPlan.swift in Sources */,
   3663 				D7EDED282B1180940018B19C /* ImageUploadModel.swift in Sources */,
   3664 				D7CE1B2A2B0BE23E002EDAD4 /* mem.c in Sources */,
   3665 				D7CB5D4C2B11721600AD4105 /* ZapType.swift in Sources */,
   3666 				D7EDED2B2B128CDB0018B19C /* Hashtags.swift in Sources */,
   3667 				D7CE1B332B0BE6DE002EDAD4 /* Nostr.swift in Sources */,
   3668 				D7CE1B3D2B0BE719002EDAD4 /* Verifiable.swift in Sources */,
   3669 				D7CE1B382B0BE719002EDAD4 /* VeriferOptions.swift in Sources */,
   3670 				D7CCFC152B05891000323D86 /* Referenced.swift in Sources */,
   3671 				D7CE1B2B2B0BE243002EDAD4 /* hex.c in Sources */,
   3672 				D798D2222B08598A00234419 /* ReferencedId.swift in Sources */,
   3673 				D7CE1B492B0BE729002EDAD4 /* DisplayName.swift in Sources */,
   3674 				D7CE1B192B0BE132002EDAD4 /* builder.c in Sources */,
   3675 				D7EDED1F2B11797D0018B19C /* LongformEvent.swift in Sources */,
   3676 				D7CE1B282B0BE226002EDAD4 /* tal.c in Sources */,
   3677 				D7CCFC122B05886D00323D86 /* IdType.swift in Sources */,
   3678 				D7CE1B312B0BE69D002EDAD4 /* Ndb.swift in Sources */,
   3679 				D7CE1B3A2B0BE719002EDAD4 /* Struct.swift in Sources */,
   3680 				D70A3B172B02DCE5008BD568 /* NotificationFormatter.swift in Sources */,
   3681 				D7CE1B462B0BE719002EDAD4 /* FlatBufferBuilder.swift in Sources */,
   3682 				D7CE1B3E2B0BE719002EDAD4 /* FlatbuffersErrors.swift in Sources */,
   3683 				D7CE1B2C2B0BE24B002EDAD4 /* amount.c in Sources */,
   3684 				D7EDED152B11776B0018B19C /* LibreTranslateServer.swift in Sources */,
   3685 				D7CE1B202B0BE1C8002EDAD4 /* error.c in Sources */,
   3686 				D7CB5D582B11763C00AD4105 /* NewMutesNotify.swift in Sources */,
   3687 				D798D22D2B086DC400234419 /* NostrEvent.swift in Sources */,
   3688 				D798D22E2B086E4800234419 /* NostrResponse.swift in Sources */,
   3689 				D7EDED162B1177840018B19C /* LNUrls.swift in Sources */,
   3690 				D7CE1B302B0BE263002EDAD4 /* nostr_bech32.c in Sources */,
   3691 				D7CCFC132B05887C00323D86 /* ProofOfWork.swift in Sources */,
   3692 				D7CE1B392B0BE719002EDAD4 /* Table.swift in Sources */,
   3693 				D7CE1B452B0BE719002EDAD4 /* Root.swift in Sources */,
   3694 				D7CB5D472B11718700AD4105 /* Wallet.swift in Sources */,
   3695 				D7CE1B412B0BE719002EDAD4 /* FlatBuffersUtils.swift in Sources */,
   3696 				D7CB5D482B11719300AD4105 /* Profiles.swift in Sources */,
   3697 				B5C60C212B530D5600C5ECA7 /* MuteItem.swift in Sources */,
   3698 				D798D2262B085C4200234419 /* Bech32.swift in Sources */,
   3699 				D7CE1B482B0BE719002EDAD4 /* Message.swift in Sources */,
   3700 				D7CB5D462B11703D00AD4105 /* Notify.swift in Sources */,
   3701 				D7EDED262B117FC80018B19C /* StringUtil.swift in Sources */,
   3702 				D7CE1B1E2B0BE190002EDAD4 /* midl.c in Sources */,
   3703 				D7CB5D3C2B1130C600AD4105 /* LocalNotification.swift in Sources */,
   3704 				D7CE1B2D2B0BE250002EDAD4 /* take.c in Sources */,
   3705 				B59CAD4D2B688D1000677E8B /* MutelistManager.swift in Sources */,
   3706 			);
   3707 			runOnlyForDeploymentPostprocessing = 0;
   3708 		};
   3709 /* End PBXSourcesBuildPhase section */
   3710 
   3711 /* Begin PBXTargetDependency section */
   3712 		4CE6DEF527F7A08200C66700 /* PBXTargetDependency */ = {
   3713 			isa = PBXTargetDependency;
   3714 			target = 4CE6DEE227F7A08100C66700 /* damus */;
   3715 			targetProxy = 4CE6DEF427F7A08200C66700 /* PBXContainerItemProxy */;
   3716 		};
   3717 		4CE6DEFF27F7A08200C66700 /* PBXTargetDependency */ = {
   3718 			isa = PBXTargetDependency;
   3719 			target = 4CE6DEE227F7A08100C66700 /* damus */;
   3720 			targetProxy = 4CE6DEFE27F7A08200C66700 /* PBXContainerItemProxy */;
   3721 		};
   3722 		D79C4C1A2AFEB061003A41B4 /* PBXTargetDependency */ = {
   3723 			isa = PBXTargetDependency;
   3724 			target = D79C4C132AFEB061003A41B4 /* DamusNotificationService */;
   3725 			targetProxy = D79C4C192AFEB061003A41B4 /* PBXContainerItemProxy */;
   3726 		};
   3727 		D7EDED252B117F7C0018B19C /* PBXTargetDependency */ = {
   3728 			isa = PBXTargetDependency;
   3729 			productRef = D7EDED242B117F7C0018B19C /* MarkdownUI */;
   3730 		};
   3731 /* End PBXTargetDependency section */
   3732 
   3733 /* Begin PBXVariantGroup section */
   3734 		3A4325AA2961E11400BFCD9D /* Localizable.stringsdict */ = {
   3735 			isa = PBXVariantGroup;
   3736 			children = (
   3737 				3A5C4575296A879E0032D398 /* es-419 */,
   3738 				3A2B8B0A296A8982009CC16D /* en-US */,
   3739 				3AEB8005297CCEA900713A25 /* tr-TR */,
   3740 				3A185A06297F2C3800F4BDC0 /* lv-LV */,
   3741 				3A929C22297F2CF80090925E /* it-IT */,
   3742 				3AB5B86C2986D8A3006599D2 /* de */,
   3743 				3AF6336A29884C6B0005672A /* pt-PT */,
   3744 				3A93342B29884CA600D6A8F3 /* pl-PL */,
   3745 				3AC524F0298C000B00693EBF /* ar */,
   3746 				3A96D41C298DA94500388A2A /* nl */,
   3747 				3A5CAE1F298DC0DB00B5334F /* zh-CN */,
   3748 				3A25EF152992DA5D008ABE69 /* el-GR */,
   3749 				3A66D929299472FA008B44F4 /* ja */,
   3750 				3A41E55B299D52BE001FA465 /* id */,
   3751 				3A8624DB299E82BE00BD8BE9 /* cs */,
   3752 				3A827A1A299FC69D00C4D171 /* ru */,
   3753 				3A3040FB29A91F03008A0F29 /* zh-HK */,
   3754 				3A3040FD29A91F31008A0F29 /* zh-TW */,
   3755 				3AA5E70429B682B3002701ED /* uk */,
   3756 				3AA5E70729B9E84A002701ED /* bg */,
   3757 				3AD5662C29BD2F5300BF77C5 /* fa */,
   3758 				3AD5663229C0DA4B00BF77C5 /* ko */,
   3759 				3AD14EB529C40F38009D2D9C /* hu-HU */,
   3760 				3AD14EB829C40F3F009D2D9C /* sv-SE */,
   3761 				3A325AC629C9E0B8002BE7ED /* vi */,
   3762 				3A325AC929C9E0CF002BE7ED /* es-ES */,
   3763 				3AC59CA929CDDB78007E04A6 /* pt-BR */,
   3764 				3A821C4029E819D500B4BCA7 /* fr */,
   3765 				3ABACEC02A5B3ED10037A847 /* sw */,
   3766 			);
   3767 			name = Localizable.stringsdict;
   3768 			sourceTree = "<group>";
   3769 		};
   3770 		3ACB685A297633BC00C46468 /* InfoPlist.strings */ = {
   3771 			isa = PBXVariantGroup;
   3772 			children = (
   3773 				3ACB685B297633BC00C46468 /* es-419 */,
   3774 				3AEB8003297CCEA800713A25 /* tr-TR */,
   3775 				3A185A04297F2C3800F4BDC0 /* lv-LV */,
   3776 				3A929C20297F2CF80090925E /* it-IT */,
   3777 				3AB5B86A2986D8A3006599D2 /* de */,
   3778 				3AF6336829884C6B0005672A /* pt-PT */,
   3779 				3A93342929884CA600D6A8F3 /* pl-PL */,
   3780 				3AC524EE298C000B00693EBF /* ar */,
   3781 				3A96D41A298DA94500388A2A /* nl */,
   3782 				3A5CAE1D298DC0DB00B5334F /* zh-CN */,
   3783 				3A25EF132992DA5D008ABE69 /* el-GR */,
   3784 				3A66D927299472FA008B44F4 /* ja */,
   3785 				3A41E559299D52BE001FA465 /* id */,
   3786 				3A8624D9299E82BE00BD8BE9 /* cs */,
   3787 				3A827A18299FC69D00C4D171 /* ru */,
   3788 				3A3040F929A91ED6008A0F29 /* zh-HK */,
   3789 				3A3040FC29A91F31008A0F29 /* zh-TW */,
   3790 				3AA5E70329B682AD002701ED /* uk */,
   3791 				3AA5E70529B9E83E002701ED /* bg */,
   3792 				3AD5662B29BD2F5300BF77C5 /* fa */,
   3793 				3AD5663329C0DA4B00BF77C5 /* ko */,
   3794 				3AD14EB629C40F38009D2D9C /* hu-HU */,
   3795 				3AD14EB929C40F3F009D2D9C /* sv-SE */,
   3796 				3A325AC529C9E0B8002BE7ED /* vi */,
   3797 				3A325AC829C9E0CF002BE7ED /* es-ES */,
   3798 				3AC59CA829CDDB78007E04A6 /* pt-BR */,
   3799 				3A821C3F29E819D500B4BCA7 /* fr */,
   3800 				3ABACEBF2A5B3ED10037A847 /* sw */,
   3801 			);
   3802 			name = InfoPlist.strings;
   3803 			sourceTree = "<group>";
   3804 		};
   3805 		3ACB685D297633BC00C46468 /* Localizable.strings */ = {
   3806 			isa = PBXVariantGroup;
   3807 			children = (
   3808 				3ACB685E297633BC00C46468 /* es-419 */,
   3809 				3AEB8004297CCEA800713A25 /* tr-TR */,
   3810 				3A185A05297F2C3800F4BDC0 /* lv-LV */,
   3811 				3A929C21297F2CF80090925E /* it-IT */,
   3812 				3AB5B86B2986D8A3006599D2 /* de */,
   3813 				3AF6336929884C6B0005672A /* pt-PT */,
   3814 				3A93342A29884CA600D6A8F3 /* pl-PL */,
   3815 				3AC524EF298C000B00693EBF /* ar */,
   3816 				3A96D41B298DA94500388A2A /* nl */,
   3817 				3A5CAE1E298DC0DB00B5334F /* zh-CN */,
   3818 				3A25EF142992DA5D008ABE69 /* el-GR */,
   3819 				3A66D928299472FA008B44F4 /* ja */,
   3820 				3A41E55A299D52BE001FA465 /* id */,
   3821 				3A8624DA299E82BE00BD8BE9 /* cs */,
   3822 				3A827A19299FC69D00C4D171 /* ru */,
   3823 				3A3040FA29A91EFC008A0F29 /* zh-HK */,
   3824 				3A3040FE29A91F31008A0F29 /* zh-TW */,
   3825 				3A3040FF29AB02D1008A0F29 /* en-US */,
   3826 				3AA5E70229B682A5002701ED /* uk */,
   3827 				3AA5E70629B9E844002701ED /* bg */,
   3828 				3AD5662D29BD2F5300BF77C5 /* fa */,
   3829 				3AD5663129C0DA4B00BF77C5 /* ko */,
   3830 				3AD14EB729C40F38009D2D9C /* hu-HU */,
   3831 				3AD14EBA29C40F3F009D2D9C /* sv-SE */,
   3832 				3A325AC429C9E0B8002BE7ED /* vi */,
   3833 				3A325AC729C9E0CF002BE7ED /* es-ES */,
   3834 				3AC59CA729CDDB78007E04A6 /* pt-BR */,
   3835 				3A821C3E29E819D500B4BCA7 /* fr */,
   3836 				3ABACEC12A5B3ED10037A847 /* sw */,
   3837 			);
   3838 			name = Localizable.strings;
   3839 			sourceTree = "<group>";
   3840 		};
   3841 /* End PBXVariantGroup section */
   3842 
   3843 /* Begin XCBuildConfiguration section */
   3844 		4CE6DF0527F7A08200C66700 /* Debug */ = {
   3845 			isa = XCBuildConfiguration;
   3846 			buildSettings = {
   3847 				ALWAYS_SEARCH_USER_PATHS = NO;
   3848 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
   3849 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
   3850 				CLANG_ANALYZER_NONNULL = YES;
   3851 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
   3852 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
   3853 				CLANG_ENABLE_MODULES = YES;
   3854 				CLANG_ENABLE_OBJC_ARC = YES;
   3855 				CLANG_ENABLE_OBJC_WEAK = YES;
   3856 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
   3857 				CLANG_WARN_BOOL_CONVERSION = YES;
   3858 				CLANG_WARN_COMMA = YES;
   3859 				CLANG_WARN_CONSTANT_CONVERSION = YES;
   3860 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
   3861 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
   3862 				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
   3863 				CLANG_WARN_EMPTY_BODY = YES;
   3864 				CLANG_WARN_ENUM_CONVERSION = YES;
   3865 				CLANG_WARN_INFINITE_RECURSION = YES;
   3866 				CLANG_WARN_INT_CONVERSION = YES;
   3867 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
   3868 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
   3869 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
   3870 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
   3871 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
   3872 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
   3873 				CLANG_WARN_STRICT_PROTOTYPES = YES;
   3874 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
   3875 				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
   3876 				CLANG_WARN_UNREACHABLE_CODE = YES;
   3877 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
   3878 				COPY_PHASE_STRIP = NO;
   3879 				CURRENT_PROJECT_VERSION = 1;
   3880 				DEBUG_INFORMATION_FORMAT = dwarf;
   3881 				ENABLE_STRICT_OBJC_MSGSEND = YES;
   3882 				ENABLE_TESTABILITY = YES;
   3883 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
   3884 				GCC_C_LANGUAGE_STANDARD = gnu11;
   3885 				GCC_DYNAMIC_NO_PIC = NO;
   3886 				GCC_NO_COMMON_BLOCKS = YES;
   3887 				GCC_OPTIMIZATION_LEVEL = 0;
   3888 				GCC_PREPROCESSOR_DEFINITIONS = (
   3889 					"DEBUG=1",
   3890 					"$(inherited)",
   3891 				);
   3892 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
   3893 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
   3894 				GCC_WARN_UNDECLARED_SELECTOR = YES;
   3895 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
   3896 				GCC_WARN_UNUSED_FUNCTION = YES;
   3897 				GCC_WARN_UNUSED_VARIABLE = YES;
   3898 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   3899 				MACOSX_DEPLOYMENT_TARGET = 12.3;
   3900 				MARKETING_VERSION = 1.8;
   3901 				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
   3902 				MTL_FAST_MATH = YES;
   3903 				ONLY_ACTIVE_ARCH = YES;
   3904 				SDKROOT = iphoneos;
   3905 				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
   3906 				SWIFT_EMIT_LOC_STRINGS = YES;
   3907 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
   3908 			};
   3909 			name = Debug;
   3910 		};
   3911 		4CE6DF0627F7A08200C66700 /* Release */ = {
   3912 			isa = XCBuildConfiguration;
   3913 			buildSettings = {
   3914 				ALWAYS_SEARCH_USER_PATHS = NO;
   3915 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
   3916 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
   3917 				CLANG_ANALYZER_NONNULL = YES;
   3918 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
   3919 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
   3920 				CLANG_ENABLE_MODULES = YES;
   3921 				CLANG_ENABLE_OBJC_ARC = YES;
   3922 				CLANG_ENABLE_OBJC_WEAK = YES;
   3923 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
   3924 				CLANG_WARN_BOOL_CONVERSION = YES;
   3925 				CLANG_WARN_COMMA = YES;
   3926 				CLANG_WARN_CONSTANT_CONVERSION = YES;
   3927 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
   3928 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
   3929 				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
   3930 				CLANG_WARN_EMPTY_BODY = YES;
   3931 				CLANG_WARN_ENUM_CONVERSION = YES;
   3932 				CLANG_WARN_INFINITE_RECURSION = YES;
   3933 				CLANG_WARN_INT_CONVERSION = YES;
   3934 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
   3935 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
   3936 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
   3937 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
   3938 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
   3939 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
   3940 				CLANG_WARN_STRICT_PROTOTYPES = YES;
   3941 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
   3942 				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
   3943 				CLANG_WARN_UNREACHABLE_CODE = YES;
   3944 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
   3945 				COPY_PHASE_STRIP = NO;
   3946 				CURRENT_PROJECT_VERSION = 1;
   3947 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   3948 				ENABLE_NS_ASSERTIONS = NO;
   3949 				ENABLE_STRICT_OBJC_MSGSEND = YES;
   3950 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
   3951 				GCC_C_LANGUAGE_STANDARD = gnu11;
   3952 				GCC_NO_COMMON_BLOCKS = YES;
   3953 				"GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = "";
   3954 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
   3955 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
   3956 				GCC_WARN_UNDECLARED_SELECTOR = YES;
   3957 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
   3958 				GCC_WARN_UNUSED_FUNCTION = YES;
   3959 				GCC_WARN_UNUSED_VARIABLE = YES;
   3960 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   3961 				MACOSX_DEPLOYMENT_TARGET = 12.3;
   3962 				MARKETING_VERSION = 1.8;
   3963 				MTL_ENABLE_DEBUG_INFO = NO;
   3964 				MTL_FAST_MATH = YES;
   3965 				SDKROOT = iphoneos;
   3966 				SWIFT_COMPILATION_MODE = wholemodule;
   3967 				SWIFT_EMIT_LOC_STRINGS = YES;
   3968 				SWIFT_OPTIMIZATION_LEVEL = "-O";
   3969 				VALIDATE_PRODUCT = YES;
   3970 			};
   3971 			name = Release;
   3972 		};
   3973 		4CE6DF0827F7A08200C66700 /* Debug */ = {
   3974 			isa = XCBuildConfiguration;
   3975 			buildSettings = {
   3976 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
   3977 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
   3978 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
   3979 				CLANG_ENABLE_MODULES = YES;
   3980 				CODE_SIGN_ENTITLEMENTS = damus/damus.entitlements;
   3981 				CODE_SIGN_STYLE = Automatic;
   3982 				DEVELOPMENT_ASSET_PATHS = "\"damus/Preview Content\"";
   3983 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   3984 				ENABLE_PREVIEWS = YES;
   3985 				GENERATE_INFOPLIST_FILE = YES;
   3986 				INFOPLIST_FILE = damus/Info.plist;
   3987 				INFOPLIST_KEY_CFBundleDisplayName = Damus;
   3988 				INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
   3989 				INFOPLIST_KEY_NSCameraUsageDescription = "Damus needs access to your camera if you want to scan QR codes and upload photos from it";
   3990 				INFOPLIST_KEY_NSFaceIDUsageDescription = "Local authentication to access private key";
   3991 				INFOPLIST_KEY_NSMicrophoneUsageDescription = "Damus needs access to your microphone if you want to upload recorded videos from it";
   3992 				INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Granting Damus access to your photos allows you to save images.";
   3993 				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
   3994 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
   3995 				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
   3996 				INFOPLIST_KEY_UILaunchStoryboardName = Launch.storyboard;
   3997 				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
   3998 				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
   3999 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   4000 				LD_RUNPATH_SEARCH_PATHS = (
   4001 					"$(inherited)",
   4002 					"@executable_path/Frameworks",
   4003 				);
   4004 				LIBRARY_SEARCH_PATHS = (
   4005 					"$(inherited)",
   4006 					"$(PROJECT_DIR)",
   4007 				);
   4008 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damus2;
   4009 				PRODUCT_NAME = "$(TARGET_NAME)";
   4010 				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
   4011 				SUPPORTS_MACCATALYST = YES;
   4012 				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
   4013 				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
   4014 				SWIFT_EMIT_LOC_STRINGS = YES;
   4015 				SWIFT_OBJC_BRIDGING_HEADER = "damus-c/damus-Bridging-Header.h";
   4016 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
   4017 				SWIFT_VERSION = 5.0;
   4018 				TARGETED_DEVICE_FAMILY = "1,2";
   4019 			};
   4020 			name = Debug;
   4021 		};
   4022 		4CE6DF0927F7A08200C66700 /* Release */ = {
   4023 			isa = XCBuildConfiguration;
   4024 			buildSettings = {
   4025 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
   4026 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
   4027 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
   4028 				CLANG_ENABLE_MODULES = YES;
   4029 				CODE_SIGN_ENTITLEMENTS = damus/damus.entitlements;
   4030 				CODE_SIGN_STYLE = Automatic;
   4031 				DEVELOPMENT_ASSET_PATHS = "\"damus/Preview Content\"";
   4032 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4033 				ENABLE_PREVIEWS = YES;
   4034 				GENERATE_INFOPLIST_FILE = YES;
   4035 				INFOPLIST_FILE = damus/Info.plist;
   4036 				INFOPLIST_KEY_CFBundleDisplayName = Damus;
   4037 				INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
   4038 				INFOPLIST_KEY_NSCameraUsageDescription = "Damus needs access to your camera if you want to scan QR codes and upload photos from it";
   4039 				INFOPLIST_KEY_NSFaceIDUsageDescription = "Local authentication to access private key";
   4040 				INFOPLIST_KEY_NSMicrophoneUsageDescription = "Damus needs access to your microphone if you want to upload recorded videos from it";
   4041 				INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Granting Damus access to your photos allows you to save images.";
   4042 				INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
   4043 				INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
   4044 				INFOPLIST_KEY_UILaunchScreen_Generation = YES;
   4045 				INFOPLIST_KEY_UILaunchStoryboardName = Launch.storyboard;
   4046 				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
   4047 				INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
   4048 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   4049 				LD_RUNPATH_SEARCH_PATHS = (
   4050 					"$(inherited)",
   4051 					"@executable_path/Frameworks",
   4052 				);
   4053 				LIBRARY_SEARCH_PATHS = (
   4054 					"$(inherited)",
   4055 					"$(PROJECT_DIR)",
   4056 				);
   4057 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damus2;
   4058 				PRODUCT_NAME = "$(TARGET_NAME)";
   4059 				SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
   4060 				SUPPORTS_MACCATALYST = YES;
   4061 				SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
   4062 				SWIFT_EMIT_LOC_STRINGS = YES;
   4063 				SWIFT_OBJC_BRIDGING_HEADER = "damus-c/damus-Bridging-Header.h";
   4064 				SWIFT_VERSION = 5.0;
   4065 				TARGETED_DEVICE_FAMILY = "1,2";
   4066 			};
   4067 			name = Release;
   4068 		};
   4069 		4CE6DF0B27F7A08200C66700 /* Debug */ = {
   4070 			isa = XCBuildConfiguration;
   4071 			buildSettings = {
   4072 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
   4073 				BUNDLE_LOADER = "$(TEST_HOST)";
   4074 				CODE_SIGN_STYLE = Automatic;
   4075 				CURRENT_PROJECT_VERSION = 1;
   4076 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4077 				GENERATE_INFOPLIST_FILE = YES;
   4078 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   4079 				MARKETING_VERSION = 1.0;
   4080 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damusTests;
   4081 				PRODUCT_NAME = "$(TARGET_NAME)";
   4082 				SWIFT_EMIT_LOC_STRINGS = NO;
   4083 				SWIFT_VERSION = 5.0;
   4084 				TARGETED_DEVICE_FAMILY = "1,2";
   4085 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/damus.app/damus";
   4086 			};
   4087 			name = Debug;
   4088 		};
   4089 		4CE6DF0C27F7A08200C66700 /* Release */ = {
   4090 			isa = XCBuildConfiguration;
   4091 			buildSettings = {
   4092 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
   4093 				BUNDLE_LOADER = "$(TEST_HOST)";
   4094 				CODE_SIGN_STYLE = Automatic;
   4095 				CURRENT_PROJECT_VERSION = 1;
   4096 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4097 				GENERATE_INFOPLIST_FILE = YES;
   4098 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   4099 				MARKETING_VERSION = 1.0;
   4100 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damusTests;
   4101 				PRODUCT_NAME = "$(TARGET_NAME)";
   4102 				SWIFT_EMIT_LOC_STRINGS = NO;
   4103 				SWIFT_VERSION = 5.0;
   4104 				TARGETED_DEVICE_FAMILY = "1,2";
   4105 				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/damus.app/damus";
   4106 			};
   4107 			name = Release;
   4108 		};
   4109 		4CE6DF0E27F7A08200C66700 /* Debug */ = {
   4110 			isa = XCBuildConfiguration;
   4111 			buildSettings = {
   4112 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
   4113 				CODE_SIGN_STYLE = Automatic;
   4114 				CURRENT_PROJECT_VERSION = 1;
   4115 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4116 				GENERATE_INFOPLIST_FILE = YES;
   4117 				MARKETING_VERSION = 1.0;
   4118 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damusUITests;
   4119 				PRODUCT_NAME = "$(TARGET_NAME)";
   4120 				SWIFT_EMIT_LOC_STRINGS = NO;
   4121 				SWIFT_VERSION = 5.0;
   4122 				TARGETED_DEVICE_FAMILY = "1,2";
   4123 				TEST_TARGET_NAME = damus;
   4124 			};
   4125 			name = Debug;
   4126 		};
   4127 		4CE6DF0F27F7A08200C66700 /* Release */ = {
   4128 			isa = XCBuildConfiguration;
   4129 			buildSettings = {
   4130 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
   4131 				CODE_SIGN_STYLE = Automatic;
   4132 				CURRENT_PROJECT_VERSION = 1;
   4133 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4134 				GENERATE_INFOPLIST_FILE = YES;
   4135 				MARKETING_VERSION = 1.0;
   4136 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damusUITests;
   4137 				PRODUCT_NAME = "$(TARGET_NAME)";
   4138 				SWIFT_EMIT_LOC_STRINGS = NO;
   4139 				SWIFT_VERSION = 5.0;
   4140 				TARGETED_DEVICE_FAMILY = "1,2";
   4141 				TEST_TARGET_NAME = damus;
   4142 			};
   4143 			name = Release;
   4144 		};
   4145 		D79C4C1E2AFEB061003A41B4 /* Debug */ = {
   4146 			isa = XCBuildConfiguration;
   4147 			buildSettings = {
   4148 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
   4149 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
   4150 				CODE_SIGN_ENTITLEMENTS = DamusNotificationService/DamusNotificationService.entitlements;
   4151 				CODE_SIGN_STYLE = Automatic;
   4152 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4153 				ENABLE_USER_SCRIPT_SANDBOXING = YES;
   4154 				GCC_C_LANGUAGE_STANDARD = gnu11;
   4155 				GENERATE_INFOPLIST_FILE = YES;
   4156 				INFOPLIST_FILE = DamusNotificationService/Info.plist;
   4157 				INFOPLIST_KEY_CFBundleDisplayName = DamusNotificationService;
   4158 				INFOPLIST_KEY_NSHumanReadableCopyright = "";
   4159 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   4160 				LD_RUNPATH_SEARCH_PATHS = (
   4161 					"$(inherited)",
   4162 					"@executable_path/Frameworks",
   4163 					"@executable_path/../../Frameworks",
   4164 				);
   4165 				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
   4166 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damus2.DamusNotificationService;
   4167 				PRODUCT_NAME = "$(TARGET_NAME)";
   4168 				SKIP_INSTALL = YES;
   4169 				SUPPORTS_MACCATALYST = YES;
   4170 				SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
   4171 				SWIFT_EMIT_LOC_STRINGS = YES;
   4172 				SWIFT_OBJC_BRIDGING_HEADER = "damus-c/damus-Bridging-Header.h";
   4173 				SWIFT_VERSION = 5.0;
   4174 				TARGETED_DEVICE_FAMILY = "1,2";
   4175 			};
   4176 			name = Debug;
   4177 		};
   4178 		D79C4C1F2AFEB061003A41B4 /* Release */ = {
   4179 			isa = XCBuildConfiguration;
   4180 			buildSettings = {
   4181 				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
   4182 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
   4183 				CODE_SIGN_ENTITLEMENTS = DamusNotificationService/DamusNotificationService.entitlements;
   4184 				CODE_SIGN_STYLE = Automatic;
   4185 				DEVELOPMENT_TEAM = XK7H4JAB3D;
   4186 				ENABLE_USER_SCRIPT_SANDBOXING = YES;
   4187 				GCC_C_LANGUAGE_STANDARD = gnu11;
   4188 				GENERATE_INFOPLIST_FILE = YES;
   4189 				INFOPLIST_FILE = DamusNotificationService/Info.plist;
   4190 				INFOPLIST_KEY_CFBundleDisplayName = DamusNotificationService;
   4191 				INFOPLIST_KEY_NSHumanReadableCopyright = "";
   4192 				IPHONEOS_DEPLOYMENT_TARGET = 16.0;
   4193 				LD_RUNPATH_SEARCH_PATHS = (
   4194 					"$(inherited)",
   4195 					"@executable_path/Frameworks",
   4196 					"@executable_path/../../Frameworks",
   4197 				);
   4198 				LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
   4199 				PRODUCT_BUNDLE_IDENTIFIER = com.jb55.damus2.DamusNotificationService;
   4200 				PRODUCT_NAME = "$(TARGET_NAME)";
   4201 				SKIP_INSTALL = YES;
   4202 				SUPPORTS_MACCATALYST = YES;
   4203 				SWIFT_EMIT_LOC_STRINGS = YES;
   4204 				SWIFT_OBJC_BRIDGING_HEADER = "damus-c/damus-Bridging-Header.h";
   4205 				SWIFT_VERSION = 5.0;
   4206 				TARGETED_DEVICE_FAMILY = "1,2";
   4207 			};
   4208 			name = Release;
   4209 		};
   4210 /* End XCBuildConfiguration section */
   4211 
   4212 /* Begin XCConfigurationList section */
   4213 		4CE6DEDE27F7A08100C66700 /* Build configuration list for PBXProject "damus" */ = {
   4214 			isa = XCConfigurationList;
   4215 			buildConfigurations = (
   4216 				4CE6DF0527F7A08200C66700 /* Debug */,
   4217 				4CE6DF0627F7A08200C66700 /* Release */,
   4218 			);
   4219 			defaultConfigurationIsVisible = 0;
   4220 			defaultConfigurationName = Release;
   4221 		};
   4222 		4CE6DF0727F7A08200C66700 /* Build configuration list for PBXNativeTarget "damus" */ = {
   4223 			isa = XCConfigurationList;
   4224 			buildConfigurations = (
   4225 				4CE6DF0827F7A08200C66700 /* Debug */,
   4226 				4CE6DF0927F7A08200C66700 /* Release */,
   4227 			);
   4228 			defaultConfigurationIsVisible = 0;
   4229 			defaultConfigurationName = Release;
   4230 		};
   4231 		4CE6DF0A27F7A08200C66700 /* Build configuration list for PBXNativeTarget "damusTests" */ = {
   4232 			isa = XCConfigurationList;
   4233 			buildConfigurations = (
   4234 				4CE6DF0B27F7A08200C66700 /* Debug */,
   4235 				4CE6DF0C27F7A08200C66700 /* Release */,
   4236 			);
   4237 			defaultConfigurationIsVisible = 0;
   4238 			defaultConfigurationName = Release;
   4239 		};
   4240 		4CE6DF0D27F7A08200C66700 /* Build configuration list for PBXNativeTarget "damusUITests" */ = {
   4241 			isa = XCConfigurationList;
   4242 			buildConfigurations = (
   4243 				4CE6DF0E27F7A08200C66700 /* Debug */,
   4244 				4CE6DF0F27F7A08200C66700 /* Release */,
   4245 			);
   4246 			defaultConfigurationIsVisible = 0;
   4247 			defaultConfigurationName = Release;
   4248 		};
   4249 		D79C4C202AFEB061003A41B4 /* Build configuration list for PBXNativeTarget "DamusNotificationService" */ = {
   4250 			isa = XCConfigurationList;
   4251 			buildConfigurations = (
   4252 				D79C4C1E2AFEB061003A41B4 /* Debug */,
   4253 				D79C4C1F2AFEB061003A41B4 /* Release */,
   4254 			);
   4255 			defaultConfigurationIsVisible = 0;
   4256 			defaultConfigurationName = Release;
   4257 		};
   4258 /* End XCConfigurationList section */
   4259 
   4260 /* Begin XCRemoteSwiftPackageReference section */
   4261 		4C06670228FC7EC500038D2A /* XCRemoteSwiftPackageReference "Kingfisher" */ = {
   4262 			isa = XCRemoteSwiftPackageReference;
   4263 			repositoryURL = "https://github.com/onevcat/Kingfisher";
   4264 			requirement = {
   4265 				kind = upToNextMajorVersion;
   4266 				minimumVersion = 7.0.0;
   4267 			};
   4268 		};
   4269 		4C27C9302A64766F007DBC75 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */ = {
   4270 			isa = XCRemoteSwiftPackageReference;
   4271 			repositoryURL = "https://github.com/damus-io/swift-markdown-ui";
   4272 			requirement = {
   4273 				branch = 76bb7971da7fbf429de1c84f1244adf657242fee;
   4274 				kind = branch;
   4275 			};
   4276 		};
   4277 		4C64987F286E0EE300EAE2B3 /* XCRemoteSwiftPackageReference "secp256k1" */ = {
   4278 			isa = XCRemoteSwiftPackageReference;
   4279 			repositoryURL = "https://github.com/jb55/secp256k1.swift";
   4280 			requirement = {
   4281 				kind = revision;
   4282 				revision = 40b4b38b3b1c83f7088c76189a742870e0ca06a9;
   4283 			};
   4284 		};
   4285 		4CCF9AB02A1FE80B00E03CFB /* XCRemoteSwiftPackageReference "GSPlayer" */ = {
   4286 			isa = XCRemoteSwiftPackageReference;
   4287 			repositoryURL = "https://github.com/wxxsw/GSPlayer";
   4288 			requirement = {
   4289 				kind = upToNextMajorVersion;
   4290 				minimumVersion = 0.2.26;
   4291 			};
   4292 		};
   4293 		D7A343EC2AD0D77C00CED48B /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */ = {
   4294 			isa = XCRemoteSwiftPackageReference;
   4295 			repositoryURL = "https://github.com/pointfreeco/swift-snapshot-testing";
   4296 			requirement = {
   4297 				kind = upToNextMajorVersion;
   4298 				minimumVersion = 1.14.1;
   4299 			};
   4300 		};
   4301 /* End XCRemoteSwiftPackageReference section */
   4302 
   4303 /* Begin XCSwiftPackageProductDependency section */
   4304 		4C06670328FC7EC500038D2A /* Kingfisher */ = {
   4305 			isa = XCSwiftPackageProductDependency;
   4306 			package = 4C06670228FC7EC500038D2A /* XCRemoteSwiftPackageReference "Kingfisher" */;
   4307 			productName = Kingfisher;
   4308 		};
   4309 		4C27C9312A64766F007DBC75 /* MarkdownUI */ = {
   4310 			isa = XCSwiftPackageProductDependency;
   4311 			package = 4C27C9302A64766F007DBC75 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */;
   4312 			productName = MarkdownUI;
   4313 		};
   4314 		4C649880286E0EE300EAE2B3 /* secp256k1 */ = {
   4315 			isa = XCSwiftPackageProductDependency;
   4316 			package = 4C64987F286E0EE300EAE2B3 /* XCRemoteSwiftPackageReference "secp256k1" */;
   4317 			productName = secp256k1;
   4318 		};
   4319 		D789D11F2AFEFBF20083A7AB /* secp256k1 */ = {
   4320 			isa = XCSwiftPackageProductDependency;
   4321 			package = 4C64987F286E0EE300EAE2B3 /* XCRemoteSwiftPackageReference "secp256k1" */;
   4322 			productName = secp256k1;
   4323 		};
   4324 		D7A343ED2AD0D77C00CED48B /* InlineSnapshotTesting */ = {
   4325 			isa = XCSwiftPackageProductDependency;
   4326 			package = D7A343EC2AD0D77C00CED48B /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */;
   4327 			productName = InlineSnapshotTesting;
   4328 		};
   4329 		D7A343EF2AD0D77C00CED48B /* SnapshotTesting */ = {
   4330 			isa = XCSwiftPackageProductDependency;
   4331 			package = D7A343EC2AD0D77C00CED48B /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */;
   4332 			productName = SnapshotTesting;
   4333 		};
   4334 		D7EDED242B117F7C0018B19C /* MarkdownUI */ = {
   4335 			isa = XCSwiftPackageProductDependency;
   4336 			package = 4C27C9302A64766F007DBC75 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */;
   4337 			productName = MarkdownUI;
   4338 		};
   4339 		D7EDED302B1290B80018B19C /* MarkdownUI */ = {
   4340 			isa = XCSwiftPackageProductDependency;
   4341 			package = 4C27C9302A64766F007DBC75 /* XCRemoteSwiftPackageReference "swift-markdown-ui" */;
   4342 			productName = MarkdownUI;
   4343 		};
   4344 /* End XCSwiftPackageProductDependency section */
   4345 	};
   4346 	rootObject = 4CE6DEDB27F7A08100C66700 /* Project object */;
   4347 }