Merge commit '42b4fc77c1dec08112a57e8d4d7e6ab1901fe87c'

This commit is contained in:
Peter 2019-04-26 18:36:07 +04:00
commit 37cae0e4b9
36 changed files with 400 additions and 275 deletions

View File

@ -26,15 +26,8 @@
091BEAB3214552D9003AEA30 /* Vision.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D02DADBE2138D76F00116225 /* Vision.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
092F368D2154AAEA001A9F49 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */; };
092F36902157AB46001A9F49 /* ItemListCallListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */; };
09310D2C213ED5FB0020033A /* anim_read.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D14213BC5DE0020033A /* anim_read.json */; };
09310D2D213ED5FB0020033A /* anim_pin.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D15213BC5DE0020033A /* anim_pin.json */; };
09310D2E213ED5FB0020033A /* anim_unmute.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D16213BC5DE0020033A /* anim_unmute.json */; };
09310D2F213ED5FB0020033A /* anim_unpin.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D17213BC5DE0020033A /* anim_unpin.json */; };
09310D30213ED5FB0020033A /* anim_unread.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D18213BC5DE0020033A /* anim_unread.json */; };
09310D31213ED5FC0020033A /* anim_delete.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D19213BC5DE0020033A /* anim_delete.json */; };
09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D1A213BC5DE0020033A /* anim_ungroup.json */; };
09310D33213ED5FC0020033A /* anim_group.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D1B213BC5DE0020033A /* anim_group.json */; };
09310D34213ED5FC0020033A /* anim_mute.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D1C213BC5DE0020033A /* anim_mute.json */; };
0935F8EF22197FBF0070AE70 /* LegacyAutomaticMediaDownloadSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0935F8EE22197FBF0070AE70 /* LegacyAutomaticMediaDownloadSettings.swift */; };
0941A9A0210B057200EBE194 /* OpenInActionSheetController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0941A99F210B057200EBE194 /* OpenInActionSheetController.swift */; };
0941A9A4210B0E2E00EBE194 /* OpenInAppIconResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0941A9A3210B0E2E00EBE194 /* OpenInAppIconResources.swift */; };
@ -133,12 +126,20 @@
09DE2F252269B7E80045E975 /* PasscodeSetupControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DE2F242269B7E80045E975 /* PasscodeSetupControllerNode.swift */; };
09DE2F272269D5730045E975 /* PrivacyIntroController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DE2F262269D5730045E975 /* PrivacyIntroController.swift */; };
09DE2F292269D5E30045E975 /* PrivacyIntroControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DE2F282269D5E30045E975 /* PrivacyIntroControllerNode.swift */; };
09DE2F2C2269E2870045E975 /* anim_unarchive.json in Resources */ = {isa = PBXBuildFile; fileRef = 09DE2F2A2269E2860045E975 /* anim_unarchive.json */; };
09DE2F2D2269E2870045E975 /* anim_archive.json in Resources */ = {isa = PBXBuildFile; fileRef = 09DE2F2B2269E2860045E975 /* anim_archive.json */; };
09DE2F302269EB030045E975 /* anim_hide.json in Resources */ = {isa = PBXBuildFile; fileRef = 09DE2F2E2269EB030045E975 /* anim_hide.json */; };
09DE2F312269EB030045E975 /* anim_unhide.json in Resources */ = {isa = PBXBuildFile; fileRef = 09DE2F2F2269EB030045E975 /* anim_unhide.json */; };
09E2D9EF226F1AFA00EA0AA4 /* Emoji.mapping in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9ED226F1AF300EA0AA4 /* Emoji.mapping */; };
09E2D9F1226F214000EA0AA4 /* EmojiResources.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E2D9F0226F214000EA0AA4 /* EmojiResources.swift */; };
09E2DA0422720C4400EA0AA4 /* archive.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9FA22720A6000EA0AA4 /* archive.json */; };
09E2DA0522720C4400EA0AA4 /* delete.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F522720A5F00EA0AA4 /* delete.json */; };
09E2DA0622720C4400EA0AA4 /* mute.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F922720A6000EA0AA4 /* mute.json */; };
09E2DA0722720C4400EA0AA4 /* pin.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F822720A5F00EA0AA4 /* pin.json */; };
09E2DA0822720C4400EA0AA4 /* read.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F722720A5F00EA0AA4 /* read.json */; };
09E2DA0922720C4400EA0AA4 /* unarchive.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F422720A5F00EA0AA4 /* unarchive.json */; };
09E2DA0A22720C4400EA0AA4 /* unmute.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F622720A5F00EA0AA4 /* unmute.json */; };
09E2DA0B22720C4400EA0AA4 /* unpin.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F222720A5E00EA0AA4 /* unpin.json */; };
09E2DA0C22720C4400EA0AA4 /* unread.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2D9F322720A5E00EA0AA4 /* unread.json */; };
09E2DA0F2273258700EA0AA4 /* hide.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2DA0D2273245300EA0AA4 /* hide.json */; };
09E2DA112273340E00EA0AA4 /* AnimationNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E2DA102273340E00EA0AA4 /* AnimationNode.swift */; };
09E2DA132273367900EA0AA4 /* archiveAvatar.json in Resources */ = {isa = PBXBuildFile; fileRef = 09E2DA122273367900EA0AA4 /* archiveAvatar.json */; };
09E4A801223AE1B30038140F /* PeerType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E4A800223AE1B30038140F /* PeerType.swift */; };
09E4A803223B833B0038140F /* ForwardPrivacyChatPreviewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E4A802223B833B0038140F /* ForwardPrivacyChatPreviewItem.swift */; };
09E4A805223D4A5A0038140F /* OpenSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09E4A804223D4A5A0038140F /* OpenSettings.swift */; };
@ -152,7 +153,6 @@
09F21565225C83E100AEDF6D /* ChatListStatusNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F21564225C83E100AEDF6D /* ChatListStatusNode.swift */; };
09F21567225C8EF500AEDF6D /* ChatListOnlineNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F21566225C8EF500AEDF6D /* ChatListOnlineNode.swift */; };
09F2158D225CF5BC00AEDF6D /* Pasteboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F2158C225CF5BC00AEDF6D /* Pasteboard.swift */; };
09F21594225F20D300AEDF6D /* LargeEmojiResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F21593225F20D300AEDF6D /* LargeEmojiResource.swift */; };
09F2159A2263E62900AEDF6D /* PasscodeEntryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F215992263E62900AEDF6D /* PasscodeEntryController.swift */; };
09F2159C2263E63200AEDF6D /* PasscodeEntryControllerNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F2159B2263E63200AEDF6D /* PasscodeEntryControllerNode.swift */; };
09F215A022649BCB00AEDF6D /* PasscodeEntryInputFieldNode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F2159F22649BCB00AEDF6D /* PasscodeEntryInputFieldNode.swift */; };
@ -1207,15 +1207,8 @@
091417F321EF4F5F00C8325A /* WallpaperGalleryItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WallpaperGalleryItem.swift; sourceTree = "<group>"; };
092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = "<group>"; };
092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListCallListItem.swift; sourceTree = "<group>"; };
09310D14213BC5DE0020033A /* anim_read.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_read.json; sourceTree = "<group>"; };
09310D15213BC5DE0020033A /* anim_pin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_pin.json; sourceTree = "<group>"; };
09310D16213BC5DE0020033A /* anim_unmute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unmute.json; sourceTree = "<group>"; };
09310D17213BC5DE0020033A /* anim_unpin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unpin.json; sourceTree = "<group>"; };
09310D18213BC5DE0020033A /* anim_unread.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unread.json; sourceTree = "<group>"; };
09310D19213BC5DE0020033A /* anim_delete.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_delete.json; sourceTree = "<group>"; };
09310D1A213BC5DE0020033A /* anim_ungroup.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_ungroup.json; sourceTree = "<group>"; };
09310D1B213BC5DE0020033A /* anim_group.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_group.json; sourceTree = "<group>"; };
09310D1C213BC5DE0020033A /* anim_mute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_mute.json; sourceTree = "<group>"; };
0935F8EE22197FBF0070AE70 /* LegacyAutomaticMediaDownloadSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyAutomaticMediaDownloadSettings.swift; sourceTree = "<group>"; };
0941A99F210B057200EBE194 /* OpenInActionSheetController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenInActionSheetController.swift; sourceTree = "<group>"; };
0941A9A3210B0E2E00EBE194 /* OpenInAppIconResources.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenInAppIconResources.swift; sourceTree = "<group>"; };
@ -1318,12 +1311,20 @@
09DE2F242269B7E80045E975 /* PasscodeSetupControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasscodeSetupControllerNode.swift; sourceTree = "<group>"; };
09DE2F262269D5730045E975 /* PrivacyIntroController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyIntroController.swift; sourceTree = "<group>"; };
09DE2F282269D5E30045E975 /* PrivacyIntroControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyIntroControllerNode.swift; sourceTree = "<group>"; };
09DE2F2A2269E2860045E975 /* anim_unarchive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unarchive.json; sourceTree = "<group>"; };
09DE2F2B2269E2860045E975 /* anim_archive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_archive.json; sourceTree = "<group>"; };
09DE2F2E2269EB030045E975 /* anim_hide.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_hide.json; sourceTree = "<group>"; };
09DE2F2F2269EB030045E975 /* anim_unhide.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_unhide.json; sourceTree = "<group>"; };
09E2D9ED226F1AF300EA0AA4 /* Emoji.mapping */ = {isa = PBXFileReference; lastKnownFileType = file; name = Emoji.mapping; path = TelegramUI/Resources/Emoji.mapping; sourceTree = "<group>"; };
09E2D9F0226F214000EA0AA4 /* EmojiResources.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiResources.swift; sourceTree = "<group>"; };
09E2D9F222720A5E00EA0AA4 /* unpin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unpin.json; sourceTree = "<group>"; };
09E2D9F322720A5E00EA0AA4 /* unread.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unread.json; sourceTree = "<group>"; };
09E2D9F422720A5F00EA0AA4 /* unarchive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unarchive.json; sourceTree = "<group>"; };
09E2D9F522720A5F00EA0AA4 /* delete.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = delete.json; sourceTree = "<group>"; };
09E2D9F622720A5F00EA0AA4 /* unmute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unmute.json; sourceTree = "<group>"; };
09E2D9F722720A5F00EA0AA4 /* read.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = read.json; sourceTree = "<group>"; };
09E2D9F822720A5F00EA0AA4 /* pin.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pin.json; sourceTree = "<group>"; };
09E2D9F922720A6000EA0AA4 /* mute.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = mute.json; sourceTree = "<group>"; };
09E2D9FA22720A6000EA0AA4 /* archive.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = archive.json; sourceTree = "<group>"; };
09E2DA0D2273245300EA0AA4 /* hide.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = hide.json; sourceTree = "<group>"; };
09E2DA102273340E00EA0AA4 /* AnimationNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimationNode.swift; sourceTree = "<group>"; };
09E2DA122273367900EA0AA4 /* archiveAvatar.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = archiveAvatar.json; sourceTree = "<group>"; };
09E4A800223AE1B30038140F /* PeerType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeerType.swift; sourceTree = "<group>"; };
09E4A802223B833B0038140F /* ForwardPrivacyChatPreviewItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForwardPrivacyChatPreviewItem.swift; sourceTree = "<group>"; };
09E4A804223D4A5A0038140F /* OpenSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenSettings.swift; sourceTree = "<group>"; };
@ -1337,7 +1338,6 @@
09F21564225C83E100AEDF6D /* ChatListStatusNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatListStatusNode.swift; sourceTree = "<group>"; };
09F21566225C8EF500AEDF6D /* ChatListOnlineNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatListOnlineNode.swift; sourceTree = "<group>"; };
09F2158C225CF5BC00AEDF6D /* Pasteboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Pasteboard.swift; sourceTree = "<group>"; };
09F21593225F20D300AEDF6D /* LargeEmojiResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LargeEmojiResource.swift; sourceTree = "<group>"; };
09F215992263E62900AEDF6D /* PasscodeEntryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasscodeEntryController.swift; sourceTree = "<group>"; };
09F2159B2263E63200AEDF6D /* PasscodeEntryControllerNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasscodeEntryControllerNode.swift; sourceTree = "<group>"; };
09F2159F22649BCB00AEDF6D /* PasscodeEntryInputFieldNode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasscodeEntryInputFieldNode.swift; sourceTree = "<group>"; };
@ -2520,19 +2520,19 @@
09310D13213BC5DE0020033A /* Animations */ = {
isa = PBXGroup;
children = (
09DE2F2E2269EB030045E975 /* anim_hide.json */,
09DE2F2F2269EB030045E975 /* anim_unhide.json */,
09DE2F2B2269E2860045E975 /* anim_archive.json */,
09DE2F2A2269E2860045E975 /* anim_unarchive.json */,
09310D14213BC5DE0020033A /* anim_read.json */,
09310D15213BC5DE0020033A /* anim_pin.json */,
09310D16213BC5DE0020033A /* anim_unmute.json */,
09310D17213BC5DE0020033A /* anim_unpin.json */,
09310D18213BC5DE0020033A /* anim_unread.json */,
09310D19213BC5DE0020033A /* anim_delete.json */,
09E2DA122273367900EA0AA4 /* archiveAvatar.json */,
09E2D9FA22720A6000EA0AA4 /* archive.json */,
09E2D9F522720A5F00EA0AA4 /* delete.json */,
09E2DA0D2273245300EA0AA4 /* hide.json */,
09E2D9F922720A6000EA0AA4 /* mute.json */,
09E2D9F822720A5F00EA0AA4 /* pin.json */,
09E2D9F722720A5F00EA0AA4 /* read.json */,
09E2D9F422720A5F00EA0AA4 /* unarchive.json */,
09E2D9F622720A5F00EA0AA4 /* unmute.json */,
09E2D9F222720A5E00EA0AA4 /* unpin.json */,
09E2D9F322720A5E00EA0AA4 /* unread.json */,
09310D1A213BC5DE0020033A /* anim_ungroup.json */,
09310D1B213BC5DE0020033A /* anim_group.json */,
09310D1C213BC5DE0020033A /* anim_mute.json */,
);
name = Animations;
path = TelegramUI/Resources/Animations;
@ -4559,6 +4559,7 @@
D00580B221E4B51600CB7CD3 /* DeleteChatPeerActionSheetItem.swift */,
09749BCE21F236F2008FDDE9 /* ModernCheckNode.swift */,
D0B21B12220D6E8C003F741D /* ActionSheetPeerItem.swift */,
09E2DA102273340E00EA0AA4 /* AnimationNode.swift */,
);
name = Nodes;
sourceTree = "<group>";
@ -4970,7 +4971,6 @@
099529AB21CDBBB200805E13 /* QRCode.swift */,
0910B0EE21FA532D00F8F87D /* WallpaperResources.swift */,
D0CCD61A222E8B4500EE1E08 /* TimeBasedVideoPreload.swift */,
09F21593225F20D300AEDF6D /* LargeEmojiResource.swift */,
09E2D9F0226F214000EA0AA4 /* EmojiResources.swift */,
);
name = Resources;
@ -5220,15 +5220,14 @@
buildActionMask = 2147483647;
files = (
09874E4F21078FA100E190B8 /* Generic.html in Resources */,
09E2DA0822720C4400EA0AA4 /* read.json in Resources */,
09874E5021078FA100E190B8 /* GenericUserScript.js in Resources */,
09874E5121078FA100E190B8 /* Instagram.html in Resources */,
09874E5221078FA100E190B8 /* Twitch.html in Resources */,
09874E5321078FA100E190B8 /* TwitchUserScript.js in Resources */,
09310D34213ED5FC0020033A /* anim_mute.json in Resources */,
09DE2F2C2269E2870045E975 /* anim_unarchive.json in Resources */,
09874E5421078FA100E190B8 /* Vimeo.html in Resources */,
09310D2C213ED5FB0020033A /* anim_read.json in Resources */,
09874E5521078FA100E190B8 /* VimeoUserScript.js in Resources */,
09E2DA0422720C4400EA0AA4 /* archive.json in Resources */,
09874E5621078FA100E190B8 /* Youtube.html in Resources */,
09874E5721078FA100E190B8 /* YoutubeUserScript.js in Resources */,
D0EB42051F3143AB00838FE6 /* LegacyComponentsResources.bundle in Resources */,
@ -5240,8 +5239,6 @@
D0E9BAA31F056F4C00F079A4 /* stp_card_discover_template@2x.png in Resources */,
D0E9BAB51F056F4C00F079A4 /* stp_card_visa@2x.png in Resources */,
D0E9BA941F056F4C00F079A4 /* stp_card_amex_template@3x.png in Resources */,
09310D2F213ED5FB0020033A /* anim_unpin.json in Resources */,
09310D2D213ED5FB0020033A /* anim_pin.json in Resources */,
D0E9BA961F056F4C00F079A4 /* stp_card_applepay@3x.png in Resources */,
D0F9720F1FFE4BD5002595C8 /* notification.caf in Resources */,
09310D33213ED5FC0020033A /* anim_group.json in Resources */,
@ -5250,7 +5247,6 @@
D0E9BA9F1F056F4C00F079A4 /* stp_card_diners_template@2x.png in Resources */,
D0E9BA9E1F056F4C00F079A4 /* stp_card_diners@3x.png in Resources */,
D0B4AF861EC111FA00D51FF6 /* Images.xcassets in Resources */,
09310D31213ED5FC0020033A /* anim_delete.json in Resources */,
D0E9BAAD1F056F4C00F079A4 /* stp_card_jcb_template@2x.png in Resources */,
D0F972101FFE4BD5002595C8 /* MessageSent.caf in Resources */,
D0E9BAB71F056F4C00F079A4 /* stp_card_visa_template@2x.png in Resources */,
@ -5259,25 +5255,31 @@
D0E9BAAA1F056F4C00F079A4 /* stp_card_form_front@3x.png in Resources */,
D0E9BA971F056F4C00F079A4 /* stp_card_applepay_template@2x.png in Resources */,
D0E9BAB41F056F4C00F079A4 /* stp_card_placeholder_template@3x.png in Resources */,
09DE2F312269EB030045E975 /* anim_unhide.json in Resources */,
09E2DA0B22720C4400EA0AA4 /* unpin.json in Resources */,
D0E9BAA71F056F4C00F079A4 /* stp_card_form_back@2x.png in Resources */,
09310D2E213ED5FB0020033A /* anim_unmute.json in Resources */,
D0E9BAB11F056F4C00F079A4 /* stp_card_mastercard_template@2x.png in Resources */,
09E2DA0522720C4400EA0AA4 /* delete.json in Resources */,
09E2DA0C22720C4400EA0AA4 /* unread.json in Resources */,
09E2DA0622720C4400EA0AA4 /* mute.json in Resources */,
D0E9BA9D1F056F4C00F079A4 /* stp_card_diners@2x.png in Resources */,
09DE2F2D2269E2870045E975 /* anim_archive.json in Resources */,
D0E9BAAF1F056F4C00F079A4 /* stp_card_mastercard@2x.png in Resources */,
09E2DA0922720C4400EA0AA4 /* unarchive.json in Resources */,
D0C12A1D1F33A85600B3F66D /* ChatWallpaperBuiltin0.jpg in Resources */,
D0E9BAAC1F056F4C00F079A4 /* stp_card_jcb@3x.png in Resources */,
D0E9BA911F056F4C00F079A4 /* stp_card_amex@2x.png in Resources */,
09E2DA0A22720C4400EA0AA4 /* unmute.json in Resources */,
D0E9BA931F056F4C00F079A4 /* stp_card_amex_template@2x.png in Resources */,
D0E9BAA91F056F4C00F079A4 /* stp_card_form_front@2x.png in Resources */,
09E2DA0722720C4400EA0AA4 /* pin.json in Resources */,
D0E9BAA41F056F4C00F079A4 /* stp_card_discover_template@3x.png in Resources */,
D0E9BAA81F056F4C00F079A4 /* stp_card_form_back@3x.png in Resources */,
D0E9BAA11F056F4C00F079A4 /* stp_card_discover@2x.png in Resources */,
09E2DA0F2273258700EA0AA4 /* hide.json in Resources */,
D0E9B9EA1F00853C00F079A4 /* PhoneCountries.txt in Resources */,
D0E9BAB31F056F4C00F079A4 /* stp_card_placeholder_template@2x.png in Resources */,
D0E9BAAE1F056F4C00F079A4 /* stp_card_jcb_template@3x.png in Resources */,
D0E9BAAB1F056F4C00F079A4 /* stp_card_jcb@2x.png in Resources */,
09E2DA132273367900EA0AA4 /* archiveAvatar.json in Resources */,
D0E9BA9C1F056F4C00F079A4 /* stp_card_cvc_amex@3x.png in Resources */,
D0E9BA991F056F4C00F079A4 /* stp_card_cvc@2x.png in Resources */,
D0471B541EFD8ECA0074D609 /* currencies.json in Resources */,
@ -5286,10 +5288,8 @@
D0E9BAA51F056F4C00F079A4 /* stp_card_form_applepay@2x.png in Resources */,
D0E9BAB81F056F4C00F079A4 /* stp_card_visa_template@3x.png in Resources */,
D0E9BA9B1F056F4C00F079A4 /* stp_card_cvc_amex@2x.png in Resources */,
09310D30213ED5FB0020033A /* anim_unread.json in Resources */,
D0E9BAB61F056F4C00F079A4 /* stp_card_visa@3x.png in Resources */,
D0E9BAA61F056F4C00F079A4 /* stp_card_form_applepay@3x.png in Resources */,
09DE2F302269EB030045E975 /* anim_hide.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -6033,6 +6033,7 @@
D0EC6DEB1EB9F58900EBF1C3 /* ChatRequestInProgressTitlePanelNode.swift in Sources */,
D0EC6DEC1EB9F58900EBF1C3 /* ChatToastAlertPanelNode.swift in Sources */,
D0EC6DED1EB9F58900EBF1C3 /* ChatHistoryNavigationButtonNode.swift in Sources */,
09E2DA112273340E00EA0AA4 /* AnimationNode.swift in Sources */,
D0F4B01A211073C500912B92 /* DeviceContactInfoController.swift in Sources */,
D0FB87B21F7C4C19004DE005 /* FetchMediaUtils.swift in Sources */,
0979787E210646C00077D77F /* YoutubeEmbedImplementation.swift in Sources */,
@ -6194,7 +6195,6 @@
D01776B31F1D69A80044446D /* RadialStatusNode.swift in Sources */,
D084023420E295F000065674 /* GroupStickerPackSetupController.swift in Sources */,
D01C06BE1FBCAF06001561AB /* ChatMessageBubbleMosaicLayout.swift in Sources */,
09F21594225F20D300AEDF6D /* LargeEmojiResource.swift in Sources */,
0900678D21ED5EA800530762 /* WallpaperColorPanelNode.swift in Sources */,
D0EC6E451EB9F58900EBF1C3 /* ItemListMultilineTextItem.swift in Sources */,
091417F421EF4F5F00C8325A /* WallpaperGalleryItem.swift in Sources */,

View File

@ -0,0 +1,62 @@
import Foundation
import AsyncDisplayKit
import Lottie
final class AnimationNode : ASDisplayNode {
private let scale: CGFloat
var played = false
var completion: (() -> Void)?
init(animation: String, keysToColor: [String]?, color: UIColor, scale: CGFloat) {
self.scale = scale
super.init()
self.setViewBlock({
if let url = frameworkBundle.url(forResource: animation, withExtension: "json"), let composition = LOTComposition(filePath: url.path) {
let view = LOTAnimationView(model: composition, in: frameworkBundle)
view.backgroundColor = .clear
view.isOpaque = false
let colorCallback = LOTColorValueCallback(color: color.cgColor)
if let keysToColor = keysToColor {
for key in keysToColor {
view.setValueDelegate(colorCallback, for: LOTKeypath(string: "\(key).Color"))
}
}
return view
} else {
return UIView()
}
})
}
func animationView() -> LOTAnimationView? {
return self.view as? LOTAnimationView
}
func play() {
if let animationView = animationView(), !animationView.isAnimationPlaying, !self.played {
self.played = true
animationView.play { [weak self] _ in
self?.completion?()
}
}
}
func reset() {
if self.played, let animationView = animationView() {
self.played = false
animationView.stop()
}
}
func preferredSize() -> CGSize? {
if let animationView = animationView(), let sceneModel = animationView.sceneModel {
return CGSize(width: sceneModel.compBounds.width * self.scale, height: sceneModel.compBounds.height * self.scale)
} else {
return nil
}
}
}

View File

@ -149,6 +149,8 @@ public final class AvatarNode: ASDisplayNode {
private var parameters: AvatarNodeParameters?
private var theme: PresentationTheme?
let imageNode: ImageNode
private var animationBackgroundNode: ImageNode?
private var animationNode: AnimationNode?
var editOverlayNode: AvatarEditOverlayNode?
private let imageReadyDisposable = MetaDisposable()
@ -202,6 +204,35 @@ public final class AvatarNode: ASDisplayNode {
}
}
public func playAnimation(_ name: String, scale: CGFloat) {
guard let theme = self.theme else {
return
}
let animationBackgroundNode = ASImageNode()
animationBackgroundNode.frame = self.imageNode.frame
animationBackgroundNode.image = generateFilledCircleImage(diameter: self.imageNode.frame.width, color: theme.chatList.neutralAvatarColor)
self.addSubnode(animationBackgroundNode)
let animationNode = AnimationNode(animation: name, keysToColor: [], color: .white, scale: scale)
animationNode.completion = { [weak animationBackgroundNode, weak self] in
self?.imageNode.isHidden = false
animationBackgroundNode?.removeFromSupernode()
}
animationBackgroundNode.addSubnode(animationNode)
animationBackgroundNode.layer.animateScale(from: 1.0, to: 1.07, duration: 0.12, removeOnCompletion: false, completion: { [weak animationBackgroundNode] finished in
animationBackgroundNode?.layer.animateScale(from: 1.07, to: 1.0, duration: 0.12, removeOnCompletion: false)
})
if var size = animationNode.preferredSize() {
size = CGSize(width: ceil(size.width), height: ceil(size.height))
animationNode.frame = CGRect(x: floor((self.bounds.width - size.width) / 2.0), y: floor((self.bounds.height - size.height) / 2.0) + 1.0, width: size.width, height: size.height)
animationNode.play()
}
self.imageNode.isHidden = true
}
public func setPeer(account: Account, theme: PresentationTheme, peer: Peer?, authorOfMessage: MessageReference? = nil, overrideImage: AvatarNodeImageOverride? = nil, emptyColor: UIColor? = nil, synchronousLoad: Bool = false) {
var synchronousLoad = synchronousLoad
var representation: TelegramMediaImageRepresentation?

View File

@ -1460,6 +1460,8 @@ public class ChatListController: TelegramController, KeyShortcutResponder, UIVie
}
strongSelf.present(UndoOverlayController(context: strongSelf.context, content: .archivedChat(title: title, text: text, undo: undo), elevatedLayout: strongSelf.groupId == .root, action: action), in: .window(.root))
}
strongSelf.chatListDisplayNode.playArchiveAnimation()
})
})
}

View File

@ -264,6 +264,14 @@ final class ChatListControllerNode: ASDisplayNode {
}
}
func playArchiveAnimation() {
self.chatListNode.forEachVisibleItemNode { node in
if let node = node as? ChatListItemNode {
node.playArchiveAnimation()
}
}
}
func scrollToTop() {
if let searchDisplayController = self.searchDisplayController {
searchDisplayController.contentNode.scrollToTop()

View File

@ -151,19 +151,19 @@ private let textFont = Font.regular(15.0)
private let dateFont = Font.regular(14.0)
private let badgeFont = Font.regular(14.0)
private let pinIcon = ItemListRevealOptionIcon.animation(animation: "anim_pin", offset: 0.0, keysToColor: nil)
private let unpinIcon = ItemListRevealOptionIcon.animation(animation: "anim_unpin", offset: 0.0, keysToColor: ["un Outlines.Group 1.Stroke 1"])
private let muteIcon = ItemListRevealOptionIcon.animation(animation: "anim_mute", offset: 0.0, keysToColor: ["un Outlines.Group 1.Stroke 1"])
private let unmuteIcon = ItemListRevealOptionIcon.animation(animation: "anim_unmute", offset: 0.0, keysToColor: nil)
private let deleteIcon = ItemListRevealOptionIcon.animation(animation: "anim_delete", offset: 0.0, keysToColor: nil)
private let groupIcon = ItemListRevealOptionIcon.animation(animation: "anim_group", offset: 0.0, keysToColor: nil)
private let ungroupIcon = ItemListRevealOptionIcon.animation(animation: "anim_ungroup", offset: 0.0, keysToColor: ["un Outlines.Group 1.Stroke 1"])
private let readIcon = ItemListRevealOptionIcon.animation(animation: "anim_read", offset: 0.0, keysToColor: nil)
private let unreadIcon = ItemListRevealOptionIcon.animation(animation: "anim_unread", offset: 0.0, keysToColor: ["Oval.Oval.Stroke 1"])
private let archiveIcon = ItemListRevealOptionIcon.animation(animation: "anim_archive", offset: 1.0, keysToColor: nil)
private let unarchiveIcon = ItemListRevealOptionIcon.animation(animation: "anim_unarchive", offset: 1.0, keysToColor: nil)
private let hideIcon = ItemListRevealOptionIcon.animation(animation: "anim_hide", offset: 0.0, keysToColor: nil)
private let unhideIcon = ItemListRevealOptionIcon.animation(animation: "anim_unhide", offset: 0.0, keysToColor: nil)
private let pinIcon = ItemListRevealOptionIcon.animation(animation: "pin", offset: 0.0, keysToColor: nil, flip: false)
private let unpinIcon = ItemListRevealOptionIcon.animation(animation: "unpin", offset: 0.0, keysToColor: ["close.close.Stroke 2"], flip: false)
private let muteIcon = ItemListRevealOptionIcon.animation(animation: "mute", offset: 0.0, keysToColor: ["close.close.Stroke 2"], flip: false)
private let unmuteIcon = ItemListRevealOptionIcon.animation(animation: "unmute", offset: 0.0, keysToColor: ["close.close.Stroke 2"], flip: false)
private let deleteIcon = ItemListRevealOptionIcon.animation(animation: "delete", offset: 0.0, keysToColor: ["BinTex1.BinTex1.Fill 1", "BinTex2.BinTex2.Fill 1", "BinTex3.BinTex3.Fill 1"], flip: false)
private let groupIcon = ItemListRevealOptionIcon.animation(animation: "anim_group", offset: 0.0, keysToColor: nil, flip: false)
private let ungroupIcon = ItemListRevealOptionIcon.animation(animation: "anim_ungroup", offset: 0.0, keysToColor: nil, flip: false)
private let readIcon = ItemListRevealOptionIcon.animation(animation: "read", offset: 0.0, keysToColor: ["Oval.Oval.Stroke 1"], flip: false)
private let unreadIcon = ItemListRevealOptionIcon.animation(animation: "unread", offset: 0.0, keysToColor: ["Oval.Oval.Stroke 1"], flip: false)
private let archiveIcon = ItemListRevealOptionIcon.animation(animation: "archive", offset: 1.0, keysToColor: ["box2.box2.Fill 1"], flip: false)
private let unarchiveIcon = ItemListRevealOptionIcon.animation(animation: "unarchive", offset: 1.0, keysToColor: ["box2.box2.Fill 1"], flip: false)
private let hideIcon = ItemListRevealOptionIcon.animation(animation: "hide", offset: 0.0, keysToColor: ["Rectangle.Rectangle.Fill 1"], flip: false)
private let unhideIcon = ItemListRevealOptionIcon.animation(animation: "hide", offset: 0.0, keysToColor: ["Rectangle.Rectangle.Fill 1"], flip: true)
private enum RevealOptionKey: Int32 {
case pin
@ -187,9 +187,9 @@ private func revealOptions(strings: PresentationStrings, theme: PresentationThem
if !isEditing {
if case .group = groupId {
if isPinned {
options.append(ItemListRevealOption(key: RevealOptionKey.unpin.rawValue, title: strings.DialogList_Unpin, icon: unpinIcon, color: theme.list.itemDisclosureActions.neutral1.fillColor, textColor: theme.list.itemDisclosureActions.neutral1.foregroundColor))
options.append(ItemListRevealOption(key: RevealOptionKey.unpin.rawValue, title: strings.DialogList_Unpin, icon: unpinIcon, color: theme.list.itemDisclosureActions.constructive.fillColor, textColor: theme.list.itemDisclosureActions.constructive.foregroundColor))
} else {
options.append(ItemListRevealOption(key: RevealOptionKey.pin.rawValue, title: strings.DialogList_Pin, icon: pinIcon, color: theme.list.itemDisclosureActions.neutral1.fillColor, textColor: theme.list.itemDisclosureActions.neutral1.foregroundColor))
options.append(ItemListRevealOption(key: RevealOptionKey.pin.rawValue, title: strings.DialogList_Pin, icon: pinIcon, color: theme.list.itemDisclosureActions.constructive.fillColor, textColor: theme.list.itemDisclosureActions.constructive.foregroundColor))
}
} else {
if let isMuted = isMuted {
@ -206,9 +206,9 @@ private func revealOptions(strings: PresentationStrings, theme: PresentationThem
}
if !isEditing {
if case .root = groupId {
options.append(ItemListRevealOption(key: RevealOptionKey.archive.rawValue, title: strings.ChatList_ArchiveAction, icon: archiveIcon, color: theme.list.itemDisclosureActions.constructive.fillColor, textColor: theme.list.itemDisclosureActions.constructive.foregroundColor))
options.append(ItemListRevealOption(key: RevealOptionKey.archive.rawValue, title: strings.ChatList_ArchiveAction, icon: archiveIcon, color: theme.list.itemDisclosureActions.inactive.fillColor, textColor: theme.list.itemDisclosureActions.inactive.foregroundColor))
} else {
options.append(ItemListRevealOption(key: RevealOptionKey.unarchive.rawValue, title: strings.ChatList_UnarchiveAction, icon: unarchiveIcon, color: theme.list.itemDisclosureActions.constructive.fillColor, textColor: theme.list.itemDisclosureActions.constructive.foregroundColor))
options.append(ItemListRevealOption(key: RevealOptionKey.unarchive.rawValue, title: strings.ChatList_UnarchiveAction, icon: unarchiveIcon, color: theme.list.itemDisclosureActions.inactive.fillColor, textColor: theme.list.itemDisclosureActions.inactive.foregroundColor))
}
}
return options
@ -240,9 +240,9 @@ private func leftRevealOptions(strings: PresentationStrings, theme: Presentation
}
if !isEditing {
if isPinned {
options.append(ItemListRevealOption(key: RevealOptionKey.unpin.rawValue, title: strings.DialogList_Unpin, icon: unpinIcon, color: theme.list.itemDisclosureActions.neutral1.fillColor, textColor: theme.list.itemDisclosureActions.neutral1.foregroundColor))
options.append(ItemListRevealOption(key: RevealOptionKey.unpin.rawValue, title: strings.DialogList_Unpin, icon: unpinIcon, color: theme.list.itemDisclosureActions.constructive.fillColor, textColor: theme.list.itemDisclosureActions.constructive.foregroundColor))
} else {
options.append(ItemListRevealOption(key: RevealOptionKey.pin.rawValue, title: strings.DialogList_Pin, icon: pinIcon, color: theme.list.itemDisclosureActions.neutral1.fillColor, textColor: theme.list.itemDisclosureActions.neutral1.foregroundColor))
options.append(ItemListRevealOption(key: RevealOptionKey.pin.rawValue, title: strings.DialogList_Pin, icon: pinIcon, color: theme.list.itemDisclosureActions.constructive.fillColor, textColor: theme.list.itemDisclosureActions.constructive.foregroundColor))
}
}
return options
@ -283,6 +283,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
var layoutParams: (ChatListItem, first: Bool, last: Bool, firstWithHeader: Bool, nextIsPinned: Bool, ListViewItemLayoutParams)?
private var isHighlighted: Bool = false
private var skipFadeout: Bool = false
override var canBeSelected: Bool {
if self.selectableControlNode != nil || self.item?.editing == true {
@ -1269,7 +1270,11 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
override func animateRemoved(_ currentTimestamp: Double, duration: Double) {
self.clipsToBounds = true
self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.2, removeOnCompletion: false)
if self.skipFadeout {
self.skipFadeout = false
} else {
self.layer.animateAlpha(from: 1.0, to: 0.0, duration: 0.2, removeOnCompletion: false)
}
}
override public func header() -> ListViewItemHeader? {
@ -1432,6 +1437,11 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
item.interaction.deletePeer(item.index.messageIndex.id.peerId)
case RevealOptionKey.archive.rawValue:
item.interaction.updatePeerGrouping(item.index.messageIndex.id.peerId, true)
close = false
self.skipFadeout = true
self.animateRevealOptionsFill {
self.revealOptionsInteractivelyClosed()
}
case RevealOptionKey.unarchive.rawValue:
item.interaction.updatePeerGrouping(item.index.messageIndex.id.peerId, false)
case RevealOptionKey.toggleMarkedUnread.rawValue:
@ -1468,6 +1478,13 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
})
}
func playArchiveAnimation() {
guard let item = self.item, case .groupReference = item.content else {
return
}
self.avatarNode.playAnimation("archiveAvatar", scale: 0.1653828)
}
override func animateFrameTransition(_ progress: CGFloat, _ currentValue: CGFloat) {
super.animateFrameTransition(progress, currentValue)

View File

@ -10,7 +10,7 @@ private func fixListNodeScrolling(_ listNode: ListView, searchNode: NavigationBa
let scrollToItem: ListViewScrollToItem
let targetProgress: CGFloat
if searchNode.expansionProgress < 0.6 {
scrollToItem = ListViewScrollToItem(index: 1, position: .top(-navigationBarSearchContentHeight), animated: true, curve: .Default(duration: 0.3), directionHint: .Up)
scrollToItem = ListViewScrollToItem(index: 1, position: .top(-navigationBarSearchContentHeight), animated: true, curve: .Default(duration: nil), directionHint: .Up)
targetProgress = 0.0
} else {
scrollToItem = ListViewScrollToItem(index: 1, position: .top(0.0), animated: true, curve: .Default(duration: 0.3), directionHint: .Up)

View File

@ -3,7 +3,7 @@ import UIKit
private func makeDefaultPresentationTheme(accentColor: UIColor, serviceBackgroundColor: UIColor, day: Bool) -> PresentationTheme {
let destructiveColor: UIColor = UIColor(rgb: 0xff3b30)
let constructiveColor: UIColor = UIColor(rgb: 0x4cd964)
let constructiveColor: UIColor = UIColor(rgb: 0x00d740)
let secretColor: UIColor = UIColor(rgb: 0x00B12C)
let rootStatusBar = PresentationThemeRootNavigationStatusBar(

View File

@ -5,6 +5,107 @@ import SwiftSignalKit
import Display
import WebP
public struct EmojiThumbnailResourceId: MediaResourceId {
public let emoji: String
public var uniqueId: String {
return "emoji-thumb-\(self.emoji)"
}
public var hashValue: Int {
return self.emoji.hashValue
}
public func isEqual(to: MediaResourceId) -> Bool {
if let to = to as? EmojiThumbnailResourceId {
return self.emoji == to.emoji
} else {
return false
}
}
}
public class EmojiThumbnailResource: TelegramMediaResource {
public let emoji: String
public init(emoji: String) {
self.emoji = emoji
}
public required init(decoder: PostboxDecoder) {
self.emoji = decoder.decodeStringForKey("e", orElse: "")
}
public func encode(_ encoder: PostboxEncoder) {
encoder.encodeString(self.emoji, forKey: "e")
}
public var id: MediaResourceId {
return EmojiThumbnailResourceId(emoji: self.emoji)
}
public func isEqual(to: MediaResource) -> Bool {
if let to = to as? EmojiThumbnailResource {
return self.emoji == to.emoji
} else {
return false
}
}
}
public struct EmojiSpriteResourceId: MediaResourceId {
public let packId: UInt8
public let stickerId: UInt8
public var uniqueId: String {
return "emoji-sprite-\(self.packId)-\(self.stickerId)"
}
public var hashValue: Int {
return self.packId.hashValue &* 31 &+ self.stickerId.hashValue
}
public func isEqual(to: MediaResourceId) -> Bool {
if let to = to as? EmojiSpriteResourceId {
return self.packId == to.packId && self.stickerId == to.stickerId
} else {
return false
}
}
}
public class EmojiSpriteResource: TelegramMediaResource {
public let packId: UInt8
public let stickerId: UInt8
public init(packId: UInt8, stickerId: UInt8) {
self.packId = packId
self.stickerId = stickerId
}
public required init(decoder: PostboxDecoder) {
self.packId = UInt8(decoder.decodeInt32ForKey("p", orElse: 0))
self.stickerId = UInt8(decoder.decodeInt32ForKey("s", orElse: 0))
}
public func encode(_ encoder: PostboxEncoder) {
encoder.encodeInt32(Int32(self.packId), forKey: "p")
encoder.encodeInt32(Int32(self.stickerId), forKey: "s")
}
public var id: MediaResourceId {
return EmojiSpriteResourceId(packId: self.packId, stickerId: self.stickerId)
}
public func isEqual(to: MediaResource) -> Bool {
if let to = to as? EmojiSpriteResource {
return self.packId == to.packId && self.stickerId == to.stickerId
} else {
return false
}
}
}
private var emojiMapping: [String: (UInt8, UInt8, UInt8)] = {
let path = frameworkBundle.path(forResource: "Emoji", ofType: "mapping")!
@ -56,6 +157,11 @@ private func matchingEmojiEntry(_ emoji: String) -> (UInt8, UInt8, UInt8)? {
if let special = special, let entry = emojiMapping[special] {
return entry
}
//let manEmoji = "\(emoji)\u{200D}\u{2642}\u{fe0f}"
let womanEmoji = "\(emoji)\u{200D}\u{2640}\u{fe0f}"
if let entry = emojiMapping[womanEmoji] {
return entry
}
return nil
}
@ -72,15 +178,16 @@ func largeEmoji(postbox: Postbox, emoji: String, outline: Bool = true) -> Signal
let thumbnailSignal = postbox.mediaBox.cachedResourceRepresentation(thumbnailResource, representation: thumbnailRepresentation, complete: true, fetch: true)
let signal: Signal<MediaResourceData?, NoError> = .single(nil) |> then(postbox.mediaBox.cachedResourceRepresentation(spriteResource, representation: representation, complete: true, fetch: true) |> map(Optional.init))
let dataSignal = combineLatest(thumbnailSignal, signal)
|> map { thumbnailData, data -> MediaResourceData in
let resourceData: MediaResourceData?
if let data = data {
resourceData = data
} else {
resourceData = thumbnailData
let dataSignal = thumbnailSignal
|> mapToSignal { thumbnailData -> Signal<MediaResourceData, NoError> in
return signal
|> map { data in
if let data = data {
return data
} else {
return thumbnailData
}
}
return resourceData!
}
dataSignals.append(dataSignal)
}

View File

@ -33,7 +33,7 @@ func fixNavigationSearchableListNodeScrolling(_ listNode: ListView, searchNode:
let scrollToItem: ListViewScrollToItem
let targetProgress: CGFloat
if searchNode.expansionProgress < 0.6 {
scrollToItem = ListViewScrollToItem(index: 0, position: .top(-navigationBarSearchContentHeight), animated: true, curve: .Default(duration: 0.3), directionHint: .Up)
scrollToItem = ListViewScrollToItem(index: 0, position: .top(-navigationBarSearchContentHeight), animated: true, curve: .Default(duration: nil), directionHint: .Up)
targetProgress = 0.0
} else {
scrollToItem = ListViewScrollToItem(index: 0, position: .top(0.0), animated: true, curve: .Default(duration: 0.3), directionHint: .Up)

View File

@ -351,13 +351,23 @@ class ItemListRevealOptionsItemNode: ListViewItemNode, UIGestureRecognizerDelega
}
}
func updateRevealOffsetInternal(offset: CGFloat, transition: ContainedViewLayoutTransition) {
func updateRevealOffsetInternal(offset: CGFloat, transition: ContainedViewLayoutTransition, completion: (() -> Void)? = nil) {
self.revealOffset = offset
guard let (size, leftInset, rightInset) = self.validLayout else {
return
}
var leftRevealCompleted = true
var rightRevealCompleted = true
let intermediateCompletion = {
if leftRevealCompleted && rightRevealCompleted {
completion?()
}
}
if let leftRevealNode = self.leftRevealNode {
leftRevealCompleted = false
let revealSize = leftRevealNode.bounds.size
let revealFrame = CGRect(origin: CGPoint(x: min(self.revealOffset - revealSize.width, 0.0), y: 0.0), size: revealSize)
@ -369,12 +379,20 @@ class ItemListRevealOptionsItemNode: ListViewItemNode, UIGestureRecognizerDelega
self.leftRevealNode = nil
transition.updateFrame(node: leftRevealNode, frame: revealFrame, completion: { [weak leftRevealNode] _ in
leftRevealNode?.removeFromSupernode()
leftRevealCompleted = true
intermediateCompletion()
})
} else {
transition.updateFrame(node: leftRevealNode, frame: revealFrame)
transition.updateFrame(node: leftRevealNode, frame: revealFrame, completion: { _ in
leftRevealCompleted = true
intermediateCompletion()
})
}
}
if let rightRevealNode = self.rightRevealNode {
rightRevealCompleted = false
let revealSize = rightRevealNode.bounds.size
let revealFrame = CGRect(origin: CGPoint(x: min(size.width, size.width + self.revealOffset), y: 0.0), size: revealSize)
@ -385,9 +403,15 @@ class ItemListRevealOptionsItemNode: ListViewItemNode, UIGestureRecognizerDelega
self.rightRevealNode = nil
transition.updateFrame(node: rightRevealNode, frame: revealFrame, completion: { [weak rightRevealNode] _ in
rightRevealNode?.removeFromSupernode()
rightRevealCompleted = true
intermediateCompletion()
})
} else {
transition.updateFrame(node: rightRevealNode, frame: revealFrame)
transition.updateFrame(node: rightRevealNode, frame: revealFrame, completion: { _ in
rightRevealCompleted = true
intermediateCompletion()
})
}
}
let allowAnyDirection = !self.revealOptions.left.isEmpty || !offset.isZero
@ -438,6 +462,16 @@ class ItemListRevealOptionsItemNode: ListViewItemNode, UIGestureRecognizerDelega
}
}
func animateRevealOptionsFill(completion: (() -> Void)? = nil) {
if let validLayout = self.validLayout {
self.layer.allowsGroupOpacity = true
self.updateRevealOffsetInternal(offset: -validLayout.0.width - 74.0, transition: .animated(duration: 0.2, curve: .spring), completion: {
self.layer.allowsGroupOpacity = false
completion?()
})
}
}
func revealOptionSelected(_ option: ItemListRevealOption, animated: Bool) {
}

View File

@ -1,12 +1,11 @@
import Foundation
import AsyncDisplayKit
import Display
import Lottie
enum ItemListRevealOptionIcon: Equatable {
case none
case image(image: UIImage)
case animation(animation: String, offset: CGFloat, keysToColor: [String]?)
case animation(animation: String, offset: CGFloat, keysToColor: [String]?, flip: Bool)
public static func ==(lhs: ItemListRevealOptionIcon, rhs: ItemListRevealOptionIcon) -> Bool {
switch lhs {
@ -22,8 +21,8 @@ enum ItemListRevealOptionIcon: Equatable {
} else {
return false
}
case let .animation(lhsAnimation, lhsOffset, lhsKeysToColor):
if case let .animation(rhsAnimation, rhsOffset, rhsKeysToColor) = rhs, lhsAnimation == rhsAnimation, lhsOffset == rhsOffset, lhsKeysToColor == rhsKeysToColor {
case let .animation(lhsAnimation, lhsOffset, lhsKeysToColor, lhsFlip):
if case let .animation(rhsAnimation, rhsOffset, rhsKeysToColor, rhsFlip) = rhs, lhsAnimation == rhsAnimation, lhsOffset == rhsOffset, lhsKeysToColor == rhsKeysToColor, lhsFlip == rhsFlip {
return true
} else {
return false
@ -59,59 +58,6 @@ struct ItemListRevealOption: Equatable {
}
}
private final class ItemListRevealAnimationNode : ASDisplayNode {
var played = false
init(animation: String, keysToColor: [String]?, color: UIColor) {
super.init()
self.setViewBlock({
if let url = frameworkBundle.url(forResource: animation, withExtension: "json"), let composition = LOTComposition(filePath: url.path) {
let view = LOTAnimationView(model: composition, in: frameworkBundle)
view.backgroundColor = .clear
view.isOpaque = false
if let keysToColor = keysToColor {
for key in keysToColor {
let colorCallback = LOTColorValueCallback(color: color.cgColor)
view.setValueDelegate(colorCallback, for: LOTKeypath(string: "\(key).Color"))
}
}
return view
} else {
return UIView()
}
})
}
func animationView() -> LOTAnimationView? {
return self.view as? LOTAnimationView
}
func play() {
if let animationView = animationView(), !animationView.isAnimationPlaying, !self.played {
self.played = true
animationView.play()
}
}
func reset() {
if self.played, let animationView = animationView() {
self.played = false
animationView.stop()
}
}
func preferredSize() -> CGSize? {
if let animationView = animationView(), let sceneModel = animationView.sceneModel {
return CGSize(width: sceneModel.compBounds.width * 0.3333, height: sceneModel.compBounds.height * 0.3333)
} else {
return nil
}
}
}
private let titleFontWithIcon = Font.medium(13.0)
private let titleFontWithoutIcon = Font.regular(17.0)
@ -125,8 +71,9 @@ private final class ItemListRevealOptionNode: ASDisplayNode {
private let highlightNode: ASDisplayNode
private let titleNode: ASTextNode
private let iconNode: ASImageNode?
private let animationNode: ItemListRevealAnimationNode?
private let animationNode: AnimationNode?
private var animationNodeOffset: CGFloat = 0.0
private var animationNodeFlip = false
var alignment: ItemListRevealOptionAlignment?
var isExpanded: Bool = false
@ -144,10 +91,14 @@ private final class ItemListRevealOptionNode: ASDisplayNode {
self.iconNode = iconNode
self.animationNode = nil
case let .animation(animation, offset, keysToColor):
case let .animation(animation, offset, keysToColor, flip):
self.iconNode = nil
self.animationNode = ItemListRevealAnimationNode(animation: animation, keysToColor: keysToColor, color: color)
self.animationNode = AnimationNode(animation: animation, keysToColor: keysToColor, color: color, scale: 0.16214)
if flip {
self.animationNode!.transform = CATransform3DMakeScale(1.0, -1.0, 1.0)
}
self.animationNodeOffset = offset
self.animationNodeFlip = flip
break
case .none:
@ -179,6 +130,10 @@ private final class ItemListRevealOptionNode: ASDisplayNode {
}
}
func resetAnimation() {
self.animationNode?.reset()
}
func updateLayout(isFirst: Bool, isLeft: Bool, baseSize: CGSize, alignment: ItemListRevealOptionAlignment, isExpanded: Bool, extendedWidth: CGFloat, sideInset: CGFloat, transition: ContainedViewLayoutTransition, additive: Bool, revealFactor: CGFloat) {
self.highlightNode.frame = CGRect(origin: CGPoint(), size: baseSize)
@ -220,7 +175,7 @@ private final class ItemListRevealOptionNode: ASDisplayNode {
}
if let animationNode = self.animationNode, let imageSize = animationNode.preferredSize() {
let iconOffset: CGFloat = -2.0 + self.animationNodeOffset
let iconOffset: CGFloat = -11.0 + self.animationNodeOffset
let titleIconSpacing: CGFloat = 11.0
let iconFrame = CGRect(origin: CGPoint(x: contentRect.minX + floor((baseSize.width - imageSize.width + sideInset) / 2.0), y: contentRect.midY - imageSize.height / 2.0 + iconOffset), size: imageSize)
if animateAdditive {
@ -240,7 +195,7 @@ private final class ItemListRevealOptionNode: ASDisplayNode {
if (abs(revealFactor) >= 0.4) {
animationNode.play()
} else if abs(revealFactor) < CGFloat.ulpOfOne {
} else if abs(revealFactor) < CGFloat.ulpOfOne && !transition.isAnimated {
animationNode.reset()
}
} else if let iconNode = self.iconNode, let imageSize = iconNode.image?.size {
@ -379,14 +334,25 @@ final class ItemListRevealOptionsNode: ASDisplayNode {
} else {
startingOffset = 0.0
}
let animated = transition.isAnimated
var completionCount = self.optionNodes.count
let intermediateCompletion = {
if completionCount == 0 && animated && abs(revealFactor) < CGFloat.ulpOfOne {
for node in self.optionNodes {
node.resetAnimation()
}
}
}
var i = self.isLeft ? (self.optionNodes.count - 1) : 0
while i >= 0 && i < self.optionNodes.count {
let node = self.optionNodes[i]
let nodeWidth = i == (self.optionNodes.count - 1) ? lastNodeWidth : basicNodeWidth
let defaultAlignment: ItemListRevealOptionAlignment = isLeft ? .right : .left
let defaultAlignment: ItemListRevealOptionAlignment = self.isLeft ? .right : .left
var nodeTransition = transition
var isExpanded = false
if (isLeft && i == 0) || (!isLeft && i == self.optionNodes.count - 1) {
if (self.isLeft && i == 0) || (!self.isLeft && i == self.optionNodes.count - 1) {
if abs(revealFactor) > boundaryRevealFactor {
isExpanded = true
}
@ -418,7 +384,11 @@ final class ItemListRevealOptionsNode: ASDisplayNode {
nodeLeftOffset = startingOffset + floorToScreenPixels(offset * abs(revealFactor))
}
transition.updateFrame(node: node, frame: CGRect(origin: CGPoint(x: nodeLeftOffset, y: 0.0), size: CGSize(width: extendedWidth, height: size.height)))
transition.updateFrame(node: node, frame: CGRect(origin: CGPoint(x: nodeLeftOffset, y: 0.0), size: CGSize(width: extendedWidth, height: size.height)), completion: { _ in
completionCount -= 1
intermediateCompletion()
})
node.updateLayout(isFirst: (self.isLeft && i == 0) || (!self.isLeft && i == self.optionNodes.count - 1), isLeft: self.isLeft, baseSize: CGSize(width: nodeWidth, height: size.height), alignment: defaultAlignment, isExpanded: isExpanded, extendedWidth: extendedWidth, sideInset: sideInset, transition: nodeTransition, additive: !transition.isAnimated, revealFactor: revealFactor)
if self.isLeft {
@ -433,19 +403,18 @@ final class ItemListRevealOptionsNode: ASDisplayNode {
if case .ended = recognizer.state, let gesture = recognizer.lastRecognizedGestureAndLocation?.0, case .tap = gesture {
let location = recognizer.location(in: self.view)
var selectedOption: Int?
if self.isLeft {
for i in (0 ..< self.optionNodes.count).reversed() {
self.optionNodes[i].setHighlighted(false)
if self.optionNodes[i].frame.contains(location) {
selectedOption = i
}
var i = self.isLeft ? 0 : (self.optionNodes.count - 1)
while i >= 0 && i < self.optionNodes.count {
self.optionNodes[i].setHighlighted(false)
if self.optionNodes[i].frame.contains(location) {
selectedOption = i
break
}
} else {
for i in 0 ..< self.optionNodes.count {
self.optionNodes[i].setHighlighted(false)
if self.optionNodes[i].frame.contains(location) {
selectedOption = i
}
if self.isLeft {
i += 1
} else {
i -= 1
}
}
if let selectedOption = selectedOption {

View File

@ -1,105 +0,0 @@
import Foundation
import TelegramCore
import SwiftSignalKit
import Postbox
public struct EmojiThumbnailResourceId: MediaResourceId {
public let emoji: String
public var uniqueId: String {
return "emoji-thumb-\(self.emoji)"
}
public var hashValue: Int {
return self.emoji.hashValue
}
public func isEqual(to: MediaResourceId) -> Bool {
if let to = to as? EmojiThumbnailResourceId {
return self.emoji == to.emoji
} else {
return false
}
}
}
public class EmojiThumbnailResource: TelegramMediaResource {
public let emoji: String
public init(emoji: String) {
self.emoji = emoji
}
public required init(decoder: PostboxDecoder) {
self.emoji = decoder.decodeStringForKey("e", orElse: "")
}
public func encode(_ encoder: PostboxEncoder) {
encoder.encodeString(self.emoji, forKey: "e")
}
public var id: MediaResourceId {
return EmojiThumbnailResourceId(emoji: self.emoji)
}
public func isEqual(to: MediaResource) -> Bool {
if let to = to as? EmojiThumbnailResource {
return self.emoji == to.emoji
} else {
return false
}
}
}
public struct EmojiSpriteResourceId: MediaResourceId {
public let packId: UInt8
public let stickerId: UInt8
public var uniqueId: String {
return "emoji-sprite-\(self.packId)-\(self.stickerId)"
}
public var hashValue: Int {
return self.packId.hashValue &* 31 &+ self.stickerId.hashValue
}
public func isEqual(to: MediaResourceId) -> Bool {
if let to = to as? EmojiSpriteResourceId {
return self.packId == to.packId && self.stickerId == to.stickerId
} else {
return false
}
}
}
public class EmojiSpriteResource: TelegramMediaResource {
public let packId: UInt8
public let stickerId: UInt8
public init(packId: UInt8, stickerId: UInt8) {
self.packId = packId
self.stickerId = stickerId
}
public required init(decoder: PostboxDecoder) {
self.packId = UInt8(decoder.decodeInt32ForKey("p", orElse: 0))
self.stickerId = UInt8(decoder.decodeInt32ForKey("s", orElse: 0))
}
public func encode(_ encoder: PostboxEncoder) {
encoder.encodeInt32(Int32(self.packId), forKey: "p")
encoder.encodeInt32(Int32(self.stickerId), forKey: "s")
}
public var id: MediaResourceId {
return EmojiSpriteResourceId(packId: self.packId, stickerId: self.stickerId)
}
public func isEqual(to: MediaResource) -> Bool {
if let to = to as? EmojiSpriteResource {
return self.packId == to.packId && self.stickerId == to.stickerId
} else {
return false
}
}
}

View File

@ -1 +0,0 @@
{"v":"5.5.1","fr":60,"ip":0,"op":30,"w":228,"h":228,"nm":"Archive","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Path","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,4,0],"to":[0,1,0],"ti":[0,-0.524,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[0,10,0],"to":[0,0.524,0],"ti":[0,0.476,0]},{"t":20,"s":[0,7.143,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,-100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.6,0],[0,0.6],[0,0],[0,0],[0.41,0.45],[-0.46,0.4],[0,0],[-0.42,-0.37],[0,0],[0.41,-0.45],[0.45,0.41]],"o":[[0,0],[0,0.6],[-0.61,0],[0,0],[0,0],[-0.45,0.41],[-0.4,-0.45],[0,0],[0.42,-0.37],[0,0],[0.45,0.4],[-0.4,0.45],[0,0]],"v":[[1.103,-1.818],[1.103,4.282],[0.003,5.382],[-1.097,4.282],[-1.097,-1.818],[-2.937,-0.178],[-4.487,-0.258],[-4.397,-1.808],[-0.737,-5.098],[0.733,-5.098],[4.403,-1.808],[4.483,-0.258],[2.933,-0.178]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.29019600153,0.752941012383,0.345097988844,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114,82.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,24.444]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":15,"s":[110,110,100]},{"t":20,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.86,0],[0,0],[-0.55,-0.65],[0,0],[0,-0.7],[0,0],[1.82,0],[0,0],[0,1.82],[0,0],[-0.45,0.53]],"o":[[0.55,-0.65],[0,0],[0.86,0],[0,0],[0.45,0.53],[0,0],[0,1.82],[0,0],[-1.82,0],[0,0],[0,-0.7],[0,0]],"v":[[-8.35,-11.57],[-6.12,-12.6],[6.12,-12.6],[8.35,-11.57],[11.4,-7.98],[12.1,-6.08],[12.1,9.3],[8.8,12.6],[-8.8,12.6],[-12.1,9.3],[-12.1,-6.08],[-11.4,-7.98]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.09],[-0.21,0],[0,0],[-0.06,0.05],[0.13,0.15],[0,0],[0.21,0],[0,0],[0.14,-0.16],[0,0]],"o":[[0,0.2],[0,0],[0.09,0],[0.15,-0.14],[0,0],[-0.14,-0.16],[0,0],[-0.22,0],[0,0],[-0.06,0.07]],"v":[[-8.879,-7.49],[-8.509,-7.12],[8.511,-7.12],[8.751,-7.21],[8.791,-7.73],[6.681,-10.15],[6.131,-10.4],[-6.129,-10.4],[-6.689,-10.15],[-8.789,-7.73]],"c":true},"ix":2},"nm":"Контур 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Объединить контуры 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Shape","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}],"markers":[]}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"v":"5.5.1","fr":60,"ip":0,"op":30,"w":228,"h":228,"nm":"Hide","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Path 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114,79.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":15,"s":[110,110,100]},{"t":20,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11,0],[11,0]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Path","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.57,0],[0.06,-0.56],[0,0],[0,0],[0,0],[-0.56,0],[-0.07,0.56]],"o":[[0,0],[0,0],[0,0],[-0.06,-0.56],[-0.57,0],[0,0],[0,0],[0,0],[0.07,0.56],[0.56,0],[0,0]],"v":[[1.09,-3.5],[12,-3.5],[12,3.5],[1.1,3.5],[0,2.5],[-1.1,3.5],[-12,3.5],[-12,-3.5],[-1.09,-3.5],[0,-2.5],[1.09,-3.5]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176470588,0.741176470588,0.760784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Path","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,-4,0],"to":[0,-0.167,0],"ti":[0,-1.167,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[0,-5,0],"to":[0,1.167,0],"ti":[0,-1.333,0]},{"t":20,"s":[0,3,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.6,0],[0,0.61],[0,0],[0,0],[0.41,0.45],[-0.45,0.41],[0,0],[-0.42,-0.39],[0,0],[0.41,-0.45],[0.45,0.41]],"o":[[0,0],[0,0.61],[-0.61,0],[0,0],[0,0],[-0.44,0.41],[-0.41,-0.45],[0,0],[0.42,-0.39],[0,0],[0.44,0.41],[-0.41,0.45],[0,0]],"v":[[1.103,-8],[1.103,10.5],[0.003,11.6],[-1.097,10.5],[-1.097,-8],[-3.927,-5.4],[-5.477,-5.47],[-5.407,-7.02],[-0.747,-11.31],[0.743,-11.31],[5.413,-7.02],[5.473,-5.47],[3.923,-5.4]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"5.1.2","fr":60,"ip":0,"op":3600,"w":228,"h":228,"nm":"mute","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"un Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[117.875,88.875,0],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.863,0.863,-0.19]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p863_0p333_0","0p833_0p863_0p333_0","0p833_-0p19_0p333_0"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.365,0.365,0.476]},"n":["0p667_1_0p167_0p365","0p667_1_0p167_0p365","0p667_1_0p167_0p476"],"t":10,"s":[100,100,100],"e":[115,115,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":14,"s":[115,115,100],"e":[100,100,100]},{"t":25}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-34,-34],[-33.992,-34]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-34,-34],[34,34]],"c":false}]},{"t":15}],"ix":2,"x":"var $bm_rt;\n$bm_rt = content('Group 1').content('Path 1').path;"},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 2","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.584313750267,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[256,256],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"mute Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111,88.781,0],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.863,0.863,-12.69]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p863_0p333_0","0p833_0p863_0p333_0","0p833_-12p69_0p333_0"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.365,0.365,5.476]},"n":["0p667_1_0p167_0p365","0p667_1_0p167_0p365","0p667_1_0p167_5p476"],"t":10,"s":[100,100,100],"e":[115,115,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":14,"s":[115,115,100],"e":[100,100,100]},{"t":25}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.995,-0.904],[0,0],[0.746,0],[0,0],[0,-3.866],[0,0],[-3.866,0],[0,0],[-0.552,-0.503],[0,0],[-2.006,2.207],[0,1.343],[0,0],[2.982,0]],"o":[[0,0],[-0.552,0.502],[0,0],[-3.866,0],[0,0],[0,3.866],[0,0],[0.746,0],[0,0],[2.207,2.007],[0.903,-0.995],[0,0],[0,-2.982],[-1.343,0]],"v":[[16.967,-36.589],[-6.142,-15.581],[-8.16,-14.801],[-19,-14.801],[-26,-7.801],[-26,7.199],[-19,14.199],[-8.16,14.199],[-6.142,14.98],[16.967,35.987],[24.596,35.625],[26,31.992],[26,-32.594],[20.6,-37.994]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256,256.994],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3600,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"5.1.2","fr":60,"ip":0,"op":3600,"w":228,"h":228,"nm":"pinchat","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"pin Outlines","sr":1,"ks":{"o":{"a":0,"k":99,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[113.656,86.516,0],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.872,0.872,-10.015]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p872_0p333_0","0p833_0p872_0p333_0","0p833_-10p015_0p333_0"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.426,0.426,5.508]},"n":["0p667_1_0p167_0p426","0p667_1_0p167_0p426","0p667_1_0p167_5p508"],"t":10,"s":[100,100,100],"e":[115,115,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":15,"s":[115,115,100],"e":[100,100,100]},{"t":24}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.682,-2.385],[0,0],[7.227,-5.009],[0.494,-0.402],[0.078,-0.079],[-1.265,-1.266],[0,0],[-0.087,-0.07],[-1.129,1.388],[-0.211,0.297],[2.361,8.281],[0,0],[3.76,3.76],[0,0],[2.035,0]],"o":[[0,0],[-8.176,-2.331],[-0.37,0.258],[-0.086,0.07],[-1.265,1.265],[0,0],[0.079,0.078],[1.388,1.129],[0.312,-0.384],[5.172,-7.273],[0,0],[4.348,-3.067],[0,0],[-1.701,-1.701],[-2.465,0]],"v":[[10.943,-36.491],[-1.24,-19.219],[-25.643,-15.202],[-26.94,-14.213],[-27.187,-13.99],[-27.187,-9.408],[8.801,26.579],[9.049,26.802],[13.607,26.332],[14.391,25.311],[18.607,0.628],[35.879,-11.556],[36.955,-23.925],[23.313,-37.567],[17.514,-40.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.714,40.1],[-7.985,15.793],[-16.406,7.372]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256.714,257.1],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3600,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"4.5.6","fr":60,"ip":0,"op":30,"w":228,"h":228,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Combined Shape","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[114,89.499,0]},"a":{"a":0,"k":[40,38.499,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":0,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":15,"s":[110,110,100],"e":[100,100,100]},{"t":20}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.39,0],[0,19.29],[22.09,0],[0,-19.28],[-9.1,-6.4],[2.59,-3.82],[-1.62,-0.65],[-4.27,2.3],[-1.31,-0.29]],"o":[[22.09,0],[0,-19.28],[-22.09,0],[0,11],[1.17,0.82],[-2.6,3.82],[1,0.4],[6.1,-3.28],[3.14,0.69]],"v":[[40,69.85],[80,34.92],[40,0],[0,34.92],[14.45,61.34],[14.1,70.53],[9.89,76.75],[21.07,75.05],[30.18,68.79]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":30,"st":0,"bm":0,"sr":1}]}

View File

@ -1 +0,0 @@
{"v":"5.5.1","fr":60,"ip":0,"op":30,"w":228,"h":228,"nm":"Unrchive","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Path","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,10,0],"to":[0,-1,0],"ti":[0,0.476,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[0,4,0],"to":[0,-0.476,0],"ti":[0,-0.524,0]},{"t":20,"s":[0,7.143,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.6,0],[0,0.6],[0,0],[0,0],[0.41,0.45],[-0.46,0.4],[0,0],[-0.42,-0.37],[0,0],[0.41,-0.45],[0.45,0.41]],"o":[[0,0],[0,0.6],[-0.61,0],[0,0],[0,0],[-0.45,0.41],[-0.4,-0.45],[0,0],[0.42,-0.37],[0,0],[0.45,0.4],[-0.4,0.45],[0,0]],"v":[[1.103,-1.818],[1.103,4.282],[0.003,5.382],[-1.097,4.282],[-1.097,-1.818],[-2.937,-0.178],[-4.487,-0.258],[-4.397,-1.808],[-0.737,-5.098],[0.733,-5.098],[4.403,-1.808],[4.483,-0.258],[2.933,-0.178]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.29019600153,0.752941012383,0.345097988844,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114,82.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,24.444]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":15,"s":[110,110,100]},{"t":20,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.86,0],[0,0],[-0.55,-0.65],[0,0],[0,-0.7],[0,0],[1.82,0],[0,0],[0,1.82],[0,0],[-0.45,0.53]],"o":[[0.55,-0.65],[0,0],[0.86,0],[0,0],[0.45,0.53],[0,0],[0,1.82],[0,0],[-1.82,0],[0,0],[0,-0.7],[0,0]],"v":[[-8.35,-11.57],[-6.12,-12.6],[6.12,-12.6],[8.35,-11.57],[11.4,-7.98],[12.1,-6.08],[12.1,9.3],[8.8,12.6],[-8.8,12.6],[-12.1,9.3],[-12.1,-6.08],[-11.4,-7.98]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.09],[-0.21,0],[0,0],[-0.06,0.05],[0.13,0.15],[0,0],[0.21,0],[0,0],[0.14,-0.16],[0,0]],"o":[[0,0.2],[0,0],[0.09,0],[0.15,-0.14],[0,0],[-0.14,-0.16],[0,0],[-0.22,0],[0,0],[-0.06,0.07]],"v":[[-8.879,-7.49],[-8.509,-7.12],[8.511,-7.12],[8.751,-7.21],[8.791,-7.73],[6.681,-10.15],[6.131,-10.4],[-6.129,-10.4],[-6.689,-10.15],[-8.789,-7.73]],"c":true},"ix":2},"nm":"Контур 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Объединить контуры 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Shape","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"5.5.1","fr":60,"ip":0,"op":30,"w":228,"h":228,"nm":"Unhide","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Path 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114,79.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":15,"s":[110,110,100]},{"t":20,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-11,0],[11,0]],"c":false},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2.2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Обводка 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Path","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0.57,0],[0.06,-0.56],[0,0],[0,0],[0,0],[-0.56,0],[-0.07,0.56]],"o":[[0,0],[0,0],[0,0],[-0.06,-0.56],[-0.57,0],[0,0],[0,0],[0,0],[0.07,0.56],[0.56,0],[0,0]],"v":[[1.09,-3.5],[12,-3.5],[12,3.5],[1.1,3.5],[0,2.5],[-1.1,3.5],[-12,3.5],[-12,-3.5],[-1.09,-3.5],[0,-2.5],[1.09,-3.5]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176470588,0.741176470588,0.760784313725,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Path","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,4,0],"to":[0,-1.561,0],"ti":[0,3.931,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":15,"s":[0,5,0],"to":[0,-2.786,0],"ti":[0,1.333,0]},{"t":20,"s":[0,-3,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,-100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0.6,0],[0,0.61],[0,0],[0,0],[0.41,0.45],[-0.45,0.41],[0,0],[-0.42,-0.39],[0,0],[0.41,-0.45],[0.45,0.41]],"o":[[0,0],[0,0.61],[-0.61,0],[0,0],[0,0],[-0.44,0.41],[-0.41,-0.45],[0,0],[0.42,-0.39],[0,0],[0.44,0.41],[-0.41,0.45],[0,0]],"v":[[1.103,-8],[1.103,10.5],[0.003,11.6],[-1.097,10.5],[-1.097,-8],[-3.927,-5.4],[-5.477,-5.47],[-5.407,-7.02],[-0.747,-11.31],[0.743,-11.31],[5.413,-7.02],[5.473,-5.47],[3.923,-5.4]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[300,300],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":30,"st":0,"bm":0}],"markers":[]}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"v":"5.1.2","fr":60,"ip":0,"op":3600,"w":228,"h":228,"nm":"unpinpinchat","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"un Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[118,84.062,0],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.872,0.872,-11.778]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p872_0p333_0","0p833_0p872_0p333_0","0p833_-11p778_0p333_0"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.426,0.426,6.389]},"n":["0p667_1_0p167_0p426","0p667_1_0p167_0p426","0p667_1_0p167_6p389"],"t":10,"s":[100,100,100],"e":[115,115,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":15,"s":[115,115,100],"e":[100,100,100]},{"t":24}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":5,"s":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-34,-34],[-33.992,-34]],"c":false}],"e":[{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-34,-34],[34,34]],"c":false}]},{"t":15}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":6,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 2","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"st","c":{"a":0,"k":[0.097999999102,0.57599995931,0.980000035903,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":15,"ix":5},"lc":2,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[256,256],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"pin Outlines","sr":1,"ks":{"o":{"a":0,"k":99,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[113.656,86.516,0],"ix":2},"a":{"a":0,"k":[256,256,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.859,0.859,-13.056]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p833_0p859_0p333_0","0p833_0p859_0p333_0","0p833_-13p056_0p333_0"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.341,0.341,5.111]},"n":["0p667_1_0p167_0p341","0p667_1_0p167_0p341","0p667_1_0p167_5p111"],"t":11,"s":[100,100,100],"e":[115,115,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":15,"s":[115,115,100],"e":[100,100,100]},{"t":24}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.682,-2.385],[0,0],[7.227,-5.009],[0.494,-0.402],[0.078,-0.079],[-1.265,-1.266],[0,0],[-0.087,-0.07],[-1.129,1.388],[-0.211,0.297],[2.361,8.281],[0,0],[3.76,3.76],[0,0],[2.035,0]],"o":[[0,0],[-8.176,-2.331],[-0.37,0.258],[-0.086,0.07],[-1.265,1.265],[0,0],[0.079,0.078],[1.388,1.129],[0.312,-0.384],[5.172,-7.273],[0,0],[4.348,-3.067],[0,0],[-1.701,-1.701],[-2.465,0]],"v":[[10.943,-36.491],[-1.24,-19.219],[-25.643,-15.202],[-26.94,-14.213],[-27.187,-13.99],[-27.187,-9.408],[8.801,26.579],[9.049,26.802],[13.607,26.332],[14.391,25.311],[18.607,0.628],[35.879,-11.556],[36.955,-23.925],[23.313,-37.567],[17.514,-40.1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-40.714,40.1],[-7.985,15.793],[-16.406,7.372]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[256.714,257.1],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":3600,"st":0,"bm":0}],"markers":[]}

View File

@ -1 +0,0 @@
{"v":"4.5.6","fr":60,"ip":0,"op":30,"w":228,"h":228,"ddd":0,"assets":[],"layers":[{"ddd":0,"ind":0,"ty":4,"nm":"Oval","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[144,60,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":10,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":19,"s":[110,110,100],"e":[100,100,100]},{"t":24}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[24,24]},"p":{"a":0,"k":[0,0]},"nm":"Ellipse Path 1","mn":"ADBE Vector Shape - Ellipse"},{"ty":"st","c":{"a":0,"k":[0.13,0.58,0.98,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":5.333},"lc":1,"lj":1,"ml":4,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":3,"mn":"ADBE Vector Group"}],"ip":0,"op":30,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"Combined Shape","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[114,89.499,0]},"a":{"a":0,"k":[40,38.499,0]},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p667_1_0p167_0p167","0p667_1_0p167_0p167","0p667_0p667_0p167_0p167"],"t":0,"s":[0,0,100],"e":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,0.667]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0.333]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_0p667_0p333_0p333"],"t":15,"s":[110,110,100],"e":[100,100,100]},{"t":20}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-3.39,0],[0,19.29],[22.09,0],[0,-19.28],[-9.1,-6.4],[2.59,-3.82],[-1.62,-0.65],[-4.27,2.3],[-1.31,-0.29]],"o":[[22.09,0],[0,-19.28],[-22.09,0],[0,11],[1.17,0.82],[-2.6,3.82],[1,0.4],[6.1,-3.28],[3.14,0.69]],"v":[[40,69.85],[80,34.92],[40,0],[0,34.92],[14.45,61.34],[14.1,70.53],[9.89,76.75],[21.07,75.05],[30.18,68.79]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"mn":"ADBE Vector Group"}],"ip":0,"op":30,"st":0,"bm":0,"sr":1}]}

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"Archive","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"box3","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":22,"s":[-10]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28,"s":[5]},{"t":36,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[0,-65,0],"to":[0,0.932,0],"ti":[0,-2.239,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[0,-85,0],"to":[0,0.817,0],"ti":[0,-1.967,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16,"s":[0,-60,0],"to":[0,0.838,0],"ti":[0,-0.449,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[0,-75,0],"to":[0,1.429,0],"ti":[0,-2.755,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":28,"s":[0,-60,0],"to":[0,1.416,0],"ti":[0,0.204,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[0,-65,0],"to":[0,-0.33,0],"ti":[0,-0.384,0]},{"t":36,"s":[0,-60,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.086,0.086,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-0.183]},"t":0,"s":[92,92,100]},{"t":12,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.1,0],[0,0],[0,-1.1],[0,0],[0,0],[0,0]],"o":[[0,0],[1.1,0],[0,0],[0,0],[0,0],[0,-1.1]],"v":[[-11,-3],[11,-3],[13,-1],[13,3],[-13,3],[-13,-1]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"box3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"box2","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-9,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.086,0.086,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,15.476]},"t":0,"s":[50,50,100]},{"t":12,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[10,3],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":1,"ix":4},"nm":"Rect Outline 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662745098039,0.662745098039,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"box2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"box1","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,18,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[1.1,0],[0,0],[0,1.1]],"o":[[0,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,0]],"v":[[-12,-9],[12,-9],[12,7],[10,9],[-10,9],[-12,7]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"box1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,144,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[50,50,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"ArchiveAvatar","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"box3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":16,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":22,"s":[-10]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28,"s":[5]},{"t":36,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":0,"s":[144,84,0],"to":[0,0.932,0],"ti":[0,-2.239,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[144,59,0],"to":[0,0.817,0],"ti":[0,-1.967,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":16,"s":[144,84,0],"to":[0,0.838,0],"ti":[0,-0.449,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":22,"s":[144,69,0],"to":[0,1.429,0],"ti":[0,-2.755,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":28,"s":[144,84,0],"to":[0,1.416,0],"ti":[0,0.204,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":32,"s":[144,79,0],"to":[0,-0.33,0],"ti":[0,-0.384,0]},{"t":36,"s":[144,84,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.1,0],[0,0],[0,-1.1],[0,0],[0,0],[0,0]],"o":[[0,0],[1.1,0],[0,0],[0,0],[0,0],[0,-1.1]],"v":[[-11,-3],[11,-3],[13,-1],[13,3],[-13,3],[-13,-1]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"box3","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"box2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,135,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[10,3],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":1,"ix":4},"nm":"Контур прямоугольника 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.662745098039,0.662745098039,0.678431372549,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"box2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"box1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,162,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[1.1,0],[0,0],[0,1.1]],"o":[[0,0],[0,0],[0,1.1],[0,0],[-1.1,0],[0,0]],"v":[[-12,-9],[12,-9],[12,7],[10,9],[-10,9],[-12,7]],"c":true},"ix":2},"nm":"Контур 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Заливка 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Преобразовать"}],"nm":"box1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"Hide","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Path 22","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-12,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-10,0],[10,0]],"c":false},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Path 22","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Rectangle","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,-12,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.28,0],[0,0],[0,0.28],[0,0],[0,0],[0,0],[0.28,0],[0,0],[0,-0.28],[0,0]],"o":[[0,0],[0,0.28],[0,0],[0.28,0],[0,0],[0,0],[0,0],[0,-0.28],[0,0],[-0.28,0],[0,0],[0,0]],"v":[[-7,-3],[-2,-3],[-1.5,-2.5],[1.5,-2.5],[2,-3],[7,-3],[7,3],[2,3],[1.5,2.5],[-1.5,2.5],[-2,3],[-7,3]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.847000002861,0.847000002861,0.847000002861,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Path 19","parent":4,"tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.551,"y":0},"t":5,"s":[0,85.639,0],"to":[0,-15.667,0],"ti":[0,15.667,0]},{"t":35,"s":[0,-8.361,0]}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,-100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-0.27,0],[0,0],[0,-0.28],[0,0],[0,0],[-0.09,-0.1],[0.19,-0.19],[0,0],[0.19,0.19],[0,0],[0,0.13],[-0.28,0],[0,0]],"o":[[0,-0.28],[0,0],[0.28,0],[0,0],[0,0],[0.13,0],[0.19,0.19],[0,0],[-0.2,0.19],[0,0],[-0.1,-0.09],[0,-0.28],[0,0],[0,0]],"v":[[-2.003,-10.896],[-1.503,-11.396],[1.497,-11.396],[1.997,-10.896],[1.997,5.604],[4.797,5.604],[5.147,5.754],[5.147,6.454],[0.357,11.254],[-0.353,11.254],[-5.143,6.454],[-5.293,6.104],[-4.793,5.604],[-2.003,5.604]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Path 19","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,144,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[50,50,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"Pin","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"pin","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.9,-0.911,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-5.36,2.422],[-2.42,5.362],[-13.85,13.852]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.49,0.34],[-2.85,-0.81],[0,0],[-1.31,-1.31],[0,0],[1.52,-1.08],[0,0],[1.8,-2.54],[0,0]],"o":[[0,0],[2.52,-1.75],[0,0],[1.08,-1.52],[0,0],[1.32,1.31],[0,0],[0.82,2.89],[-0.33,0.45],[0,0]],"v":[[-10.289,-3.988],[-8.889,-5.158],[-0.369,-6.558],[3.881,-12.588],[8.201,-12.968],[12.961,-8.198],[12.591,-3.878],[6.561,0.372],[5.091,8.992],[3.991,10.282]],"c":true},"ix":2},"nm":"Outline 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":2,"nm":"Combine 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"pin","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,144,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[50,50,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"Read","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Oval","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,-63,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.736,0.736,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,-6.667]},"t":0,"s":[70,70,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.891,0.891,0.333],"y":[0,0,0]},"t":12,"s":[100,100,100]},{"t":24,"s":[0,0,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Outline 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.125489994884,0.580392003059,0.980391979218,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Path","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,3,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.98,1.32],[-0.17,1.31],[0,4.1],[-7.73,0],[0,-6.73],[7.73,0],[0.97,0.19]],"o":[[0,0],[0,0],[0.7,-0.95],[-3.57,-2.2],[0,-6.73],[7.73,0],[0,6.73],[-1.03,0],[-2.52,2.92]],"v":[[-10.09,13.5],[-10.42,13.5],[-9.44,12.18],[-8.11,8.61],[-14,-1.32],[0,-13.5],[14,-1.32],[0,10.87],[-3.01,10.58]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,144,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[50,50,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"Unpin","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"close","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[147,141,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-12.5,-12.5],[12.5,12.5]],"c":false},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"st","c":{"a":0,"k":[0.239215999842,0.823529005051,0.341176003218,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 2","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"close","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.084],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":12,"s":[0]},{"t":24,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Cut 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"pin","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.9,-0.911,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-5.36,2.422],[-2.42,5.362],[-13.85,13.852]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-0.49,0.34],[-2.85,-0.81],[0,0],[-1.31,-1.31],[0,0],[1.52,-1.08],[0,0],[1.8,-2.54],[0,0]],"o":[[0,0],[2.52,-1.75],[0,0],[1.08,-1.52],[0,0],[1.32,1.31],[0,0],[0.82,2.89],[-0.33,0.45],[0,0]],"v":[[-10.289,-3.988],[-8.889,-5.158],[-0.369,-6.558],[3.881,-12.588],[8.201,-12.968],[12.961,-8.198],[12.591,-3.878],[6.561,0.372],[5.091,8.992],[3.991,10.282]],"c":true},"ix":2},"nm":"Outline 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":2,"nm":"Combine 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"pin","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,144,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,4.762]},"t":0,"s":[50,50,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

View File

@ -0,0 +1 @@
{"v":"5.5.1","fr":60,"ip":0,"op":60,"w":288,"h":288,"nm":"Unread","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Oval","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204,84,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,18.333]},"t":12,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":20,"s":[110,110,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":27,"s":[95,95,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[8,8],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"Ellipse Outline 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.125489994884,0.580392003059,0.980391979218,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Oval","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Path","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,3,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-0.98,1.32],[-0.17,1.31],[0,4.1],[-7.73,0],[0,-6.73],[7.73,0],[0.97,0.19]],"o":[[0,0],[0,0],[0.7,-0.95],[-3.57,-2.2],[0,-6.73],[7.73,0],[0,6.73],[-1.03,0],[-2.52,2.92]],"v":[[-10.09,13.5],[-10.42,13.5],[-9.44,12.18],[-8.11,8.61],[-14,-1.32],[0,-13.5],[14,-1.32],[0,10.87],[-3.01,10.58]],"c":true},"ix":2},"nm":"Outline 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[600,600],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Path","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":3,"nm":"scale","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[144,144,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.203,0.203,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":0,"s":[50,50,100]},{"t":35,"s":[100,100,100]}],"ix":6}},"ao":0,"ip":0,"op":60,"st":0,"bm":0}],"markers":[]}

Binary file not shown.