22 Commits

Author SHA1 Message Date
igork-ramotion 4c67580e39 Update README.md 2020-06-22 18:25:15 +03:00
igor.k 5129f4bd44 add promo gifs 2020-06-22 18:19:12 +03:00
igor.k a219167848 add haptic feedback (to disable feedback just pass nil as a parameter) 2020-06-02 17:26:31 +03:00
igor.k 329f8bc6d7 add new swipe icon, update project config 2020-06-02 16:35:39 +03:00
igor.k f7e0c8e569 layout improvements for devices with small screen 2020-06-01 01:10:08 +03:00
igor.k babd8a6caf update button styles 2020-06-01 01:02:33 +03:00
igor.k 712b3d6d89 some layout improvements 2020-05-30 02:09:14 +03:00
igor.k 245f429f88 update example design 2020-05-30 01:33:00 +03:00
igor.k e26d17e0ef correct description texts 2020-05-27 16:20:05 +03:00
igor.k 9c5ee9d983 update readme 2020-05-27 15:14:24 +03:00
igor.k b0b671a0ee resize logo to display it pixel perfect 2020-05-26 01:49:56 +03:00
igor.k e0add86dc9 close on select option 2020-05-25 15:25:25 +03:00
igor.k eaa053a3bc readme layout updates 2020-05-25 15:09:19 +03:00
igor.k 0b84423f30 readme layout fixes 2020-05-25 15:08:01 +03:00
igor.k 73c4fe4628 update readme file 2020-05-25 15:05:24 +03:00
igor.k 19a0273587 [menu model]: fix select index function
[example]: small layout improvements + copy
2020-05-25 03:49:04 +03:00
igor.k 04ee3b2735 dark mode small fixes 2020-05-24 03:24:54 +03:00
igor.k 271e60de4c encapsulation improvements & cleanup 2020-05-24 03:15:26 +03:00
igor.k 845fefa3b1 remove unused UI 2020-05-24 03:06:40 +03:00
igor.k 17cf9c317f add instruction, remove ui experiments 2020-05-24 03:03:32 +03:00
igor.k 1b2006baa6 Merge branch 'example-ui'
# Conflicts:
#	Sources/Views/BlobMenuView.swift
2020-05-24 00:46:20 +03:00
igor.k b123004339 fix problem with animation completion event 2020-05-21 03:47:42 +03:00
75 changed files with 2852 additions and 3527 deletions
+2
View File
@@ -422,6 +422,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -448,6 +449,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
+24 -42
View File
@@ -16,20 +16,15 @@
3908005A2447D25700E7727C /* BlobMenu.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 390800562447D23300E7727C /* BlobMenu.framework */; };
3908005B2447D25700E7727C /* BlobMenu.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 390800562447D23300E7727C /* BlobMenu.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
390800602447D49200E7727C /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 3908005F2447D49200E7727C /* README.md */; };
393BF6972474131C004D193D /* PaginatedScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 393BF6962474131C004D193D /* PaginatedScrollView.swift */; };
393BF69A24742B4F004D193D /* ExtendedScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 393BF69924742B4F004D193D /* ExtendedScrollView.swift */; };
3948454224774B8A0046236D /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3948454124774B8A0046236D /* Theme.swift */; };
3948454424774EF40046236D /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3948454324774EF40046236D /* Screen.swift */; };
394DFE2A2477385700D89A1B /* RandomIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270D224772F4100BB7A2B /* RandomIcon.swift */; };
398270BF2475756E00BB7A2B /* ExchangeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270BE2475756E00BB7A2B /* ExchangeView.swift */; };
398270C1247575A600BB7A2B /* CommerceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270C0247575A600BB7A2B /* CommerceView.swift */; };
398270C3247575B500BB7A2B /* StocksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270C2247575B500BB7A2B /* StocksView.swift */; };
398270CB2475F02B00BB7A2B /* PageControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270CA2475F02B00BB7A2B /* PageControl.swift */; };
398270D12476A60600BB7A2B /* TouchGesture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270D02476A60600BB7A2B /* TouchGesture.swift */; };
39A6D8AB246172AE0090F507 /* WalletView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39A6D8AA246172AE0090F507 /* WalletView.swift */; };
39A6D8AD2461856B0090F507 /* GridStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39A6D8AC2461856B0090F507 /* GridStack.swift */; };
398270BF2475756E00BB7A2B /* SecondView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270BE2475756E00BB7A2B /* SecondView.swift */; };
398270C1247575A600BB7A2B /* ThirdView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270C0247575A600BB7A2B /* ThirdView.swift */; };
398270C3247575B500BB7A2B /* FourthView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 398270C2247575B500BB7A2B /* FourthView.swift */; };
39A6D75D2479E77C00E22881 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39A6D75C2479E77C00E22881 /* Environment.swift */; };
39A6D8AB246172AE0090F507 /* FirstView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39A6D8AA246172AE0090F507 /* FirstView.swift */; };
39A6D8AF24619B650090F507 /* Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39A6D8AE24619B650090F507 /* Utilities.swift */; };
39A6D8B22461AC2F0090F507 /* Lorem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39A6D8B12461AC2F0090F507 /* Lorem.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -74,20 +69,15 @@
390800482447D01F00E7727C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
390800512447D23300E7727C /* BlobMenu.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = BlobMenu.xcodeproj; path = ../BlobMenu.xcodeproj; sourceTree = "<group>"; };
3908005F2447D49200E7727C /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../../../README.md; sourceTree = "<group>"; };
393BF6962474131C004D193D /* PaginatedScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaginatedScrollView.swift; sourceTree = "<group>"; };
393BF69924742B4F004D193D /* ExtendedScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtendedScrollView.swift; sourceTree = "<group>"; };
3948454124774B8A0046236D /* Theme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
3948454324774EF40046236D /* Screen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = "<group>"; };
398270BE2475756E00BB7A2B /* ExchangeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExchangeView.swift; sourceTree = "<group>"; };
398270C0247575A600BB7A2B /* CommerceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommerceView.swift; sourceTree = "<group>"; };
398270C2247575B500BB7A2B /* StocksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StocksView.swift; sourceTree = "<group>"; };
398270CA2475F02B00BB7A2B /* PageControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PageControl.swift; sourceTree = "<group>"; };
398270D02476A60600BB7A2B /* TouchGesture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TouchGesture.swift; sourceTree = "<group>"; };
398270D224772F4100BB7A2B /* RandomIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RandomIcon.swift; sourceTree = "<group>"; };
39A6D8AA246172AE0090F507 /* WalletView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletView.swift; sourceTree = "<group>"; };
39A6D8AC2461856B0090F507 /* GridStack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridStack.swift; sourceTree = "<group>"; };
398270BE2475756E00BB7A2B /* SecondView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondView.swift; sourceTree = "<group>"; };
398270C0247575A600BB7A2B /* ThirdView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThirdView.swift; sourceTree = "<group>"; };
398270C2247575B500BB7A2B /* FourthView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FourthView.swift; sourceTree = "<group>"; };
39A6D75C2479E77C00E22881 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = "<group>"; };
39A6D8AA246172AE0090F507 /* FirstView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstView.swift; sourceTree = "<group>"; };
39A6D8AE24619B650090F507 /* Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Utilities.swift; sourceTree = "<group>"; };
39A6D8B12461AC2F0090F507 /* Lorem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Lorem.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -147,6 +137,7 @@
3908003A2447D01D00E7727C /* AppDelegate.swift */,
3908003C2447D01D00E7727C /* SceneDelegate.swift */,
3948454124774B8A0046236D /* Theme.swift */,
39A6D75C2479E77C00E22881 /* Environment.swift */,
);
path = App;
sourceTree = "<group>";
@@ -166,10 +157,10 @@
isa = PBXGroup;
children = (
3908003E2447D01D00E7727C /* RootView.swift */,
39A6D8AA246172AE0090F507 /* WalletView.swift */,
398270BE2475756E00BB7A2B /* ExchangeView.swift */,
398270C0247575A600BB7A2B /* CommerceView.swift */,
398270C2247575B500BB7A2B /* StocksView.swift */,
39A6D8AA246172AE0090F507 /* FirstView.swift */,
398270BE2475756E00BB7A2B /* SecondView.swift */,
398270C0247575A600BB7A2B /* ThirdView.swift */,
398270C2247575B500BB7A2B /* FourthView.swift */,
);
path = Screens;
sourceTree = "<group>";
@@ -192,11 +183,7 @@
393BF69824741D33004D193D /* UI */ = {
isa = PBXGroup;
children = (
39A6D8AC2461856B0090F507 /* GridStack.swift */,
398270CA2475F02B00BB7A2B /* PageControl.swift */,
393BF6962474131C004D193D /* PaginatedScrollView.swift */,
393BF69924742B4F004D193D /* ExtendedScrollView.swift */,
398270D224772F4100BB7A2B /* RandomIcon.swift */,
);
path = UI;
sourceTree = "<group>";
@@ -204,9 +191,7 @@
39A6D8B02461AC180090F507 /* Utilities */ = {
isa = PBXGroup;
children = (
398270D02476A60600BB7A2B /* TouchGesture.swift */,
39A6D8AE24619B650090F507 /* Utilities.swift */,
39A6D8B12461AC2F0090F507 /* Lorem.swift */,
3948454324774EF40046236D /* Screen.swift */,
);
path = Utilities;
@@ -303,22 +288,17 @@
buildActionMask = 2147483647;
files = (
39A6D8AF24619B650090F507 /* Utilities.swift in Sources */,
398270C1247575A600BB7A2B /* CommerceView.swift in Sources */,
39A6D8AD2461856B0090F507 /* GridStack.swift in Sources */,
398270D12476A60600BB7A2B /* TouchGesture.swift in Sources */,
398270CB2475F02B00BB7A2B /* PageControl.swift in Sources */,
398270C1247575A600BB7A2B /* ThirdView.swift in Sources */,
3908003B2447D01D00E7727C /* AppDelegate.swift in Sources */,
398270BF2475756E00BB7A2B /* ExchangeView.swift in Sources */,
39A6D75D2479E77C00E22881 /* Environment.swift in Sources */,
398270BF2475756E00BB7A2B /* SecondView.swift in Sources */,
393BF69A24742B4F004D193D /* ExtendedScrollView.swift in Sources */,
393BF6972474131C004D193D /* PaginatedScrollView.swift in Sources */,
3948454224774B8A0046236D /* Theme.swift in Sources */,
3908003D2447D01D00E7727C /* SceneDelegate.swift in Sources */,
39A6D8B22461AC2F0090F507 /* Lorem.swift in Sources */,
398270C3247575B500BB7A2B /* StocksView.swift in Sources */,
398270C3247575B500BB7A2B /* FourthView.swift in Sources */,
3908003F2447D01D00E7727C /* RootView.swift in Sources */,
3948454424774EF40046236D /* Screen.swift in Sources */,
39A6D8AB246172AE0090F507 /* WalletView.swift in Sources */,
394DFE2A2477385700D89A1B /* RandomIcon.swift in Sources */,
39A6D8AB246172AE0090F507 /* FirstView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -467,6 +447,7 @@
DEVELOPMENT_TEAM = 34MUF9YXTA;
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = Example/Resources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -474,7 +455,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.Example;
PRODUCT_NAME = "Blob Menu";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
};
name = Debug;
};
@@ -487,6 +468,7 @@
DEVELOPMENT_TEAM = 34MUF9YXTA;
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = Example/Resources/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -494,7 +476,7 @@
PRODUCT_BUNDLE_IDENTIFIER = com.ramotion.Example;
PRODUCT_NAME = "Blob Menu";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
TARGETED_DEVICE_FAMILY = 1;
};
name = Release;
};
+46
View File
@@ -0,0 +1,46 @@
//
// Environment.swift
// Example
//
// Created by Igor K. on 24.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import Foundation
import SwiftUI
import BlobMenu
extension EnvironmentValues {
var menuEnvironment: BlobMenuModel {
get { return self[MenuEnvironmentKey.self] }
set { self[MenuEnvironmentKey.self] = newValue }
}
}
struct MenuEnvironmentKey: EnvironmentKey {
static let defaultValue = BlobMenuModel(items: BlobMenuItem.standard)
}
extension BlobMenuItem {
static let standard: [BlobMenuItem] = [
BlobMenuItem(selectedIcon: Image.calendarSelected, unselectedIcon: Image.calendarUnselected),
BlobMenuItem(selectedIcon: Image.chatSelected, unselectedIcon: Image.chatUnselected),
BlobMenuItem(selectedIcon: Image.favoriteSelected, unselectedIcon: Image.favoriteUnselected),
]
static let extended: [BlobMenuItem] =
standard + [BlobMenuItem(selectedIcon: Image.profileSelected, unselectedIcon: Image.profileUnselected)]
}
extension Image {
static let calendarSelected = Image("Icon_Calendar_selected")
static let calendarUnselected = Image("Icon_Calendar_unselected")
static let chatSelected = Image("Icon_Chat_selected")
static let chatUnselected = Image("Icon_Chat_unselected")
static let favoriteSelected = Image("Icon_Favorite_selected")
static let favoriteUnselected = Image("Icon_Favorite_unselected")
static let profileSelected = Image("Icon_Profile_selected")
static let profileUnselected = Image("Icon_Profile_unselected")
}
+2 -1
View File
@@ -17,7 +17,8 @@ final class SceneDelegate: UIResponder, UIWindowSceneDelegate {
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: RootView())
let view = RootView().environmentObject(MenuEnvironmentKey.defaultValue)
window.rootViewController = UIHostingController(rootView: view)
self.window = window
window.makeKeyAndVisible()
}
+19 -10
View File
@@ -10,21 +10,30 @@ import Foundation
import SwiftUI
extension Color {
static let lightGray = Color(#colorLiteral(red: 0.899865165, green: 0.899865165, blue: 0.899865165, alpha: 1))
static var background: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.1960526407, green: 0.1960932612, blue: 0.1960500479, alpha: 1) : #colorLiteral(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0) })
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.1960526407, green: 0.1960932612, blue: 0.1960500479, alpha: 1) : #colorLiteral(red: 0.9998916984, green: 1, blue: 0.9998809695, alpha: 1) })
}
static var contrast: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.9705940673, green: 0.9705940673, blue: 0.9705940673, alpha: 1) : #colorLiteral(red: 0.1960526407, green: 0.1960932612, blue: 0.1960500479, alpha: 1) })
static var cardBackgound: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.2470277846, green: 0.2470766604, blue: 0.2470246851, alpha: 1) : #colorLiteral(red: 0.9998916984, green: 1, blue: 0.9998809695, alpha: 1) })
}
static var shadow: Color { contrast.opacity(0.2) }
static var stroke = Color.gray
static var shadow: Color = Color.black.opacity(0.25)
static var contrastText: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.9528377652, green: 0.9530007243, blue: 0.9528275132, alpha: 1) : #colorLiteral(red: 0.1960526407, green: 0.1960932612, blue: 0.1960500479, alpha: 1) })
}
static var textColor: Color { contrast }
static var bodyTextColor: Color { contrast }
static var informationColor: Color { background.opacity(0.6) }
static var contrastInformationColor: Color { contrast.opacity(0.6) }
static var contrastInformation: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.7371736169, green: 0.7373017669, blue: 0.7371655703, alpha: 1) : #colorLiteral(red: 0.5175882578, green: 0.517680943, blue: 0.5175824165, alpha: 1) })
}
static var buttonText: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.9998916984, green: 1, blue: 0.9998809695, alpha: 1) : #colorLiteral(red: 0.09132350236, green: 0.3897008598, blue: 0.8640318513, alpha: 1) })
}
static var buttonBackground: Color {
return Color(UIColor { $0.userInterfaceStyle == .dark ? #colorLiteral(red: 0.2744759619, green: 0.2745292187, blue: 0.2744725645, alpha: 1) : #colorLiteral(red: 0.9083589911, green: 0.9522650838, blue: 1, alpha: 1) })
}
}
@@ -1,312 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 8.750031 5.250000 cm
0.196078 0.196078 0.196078 scn
7.681428 6.975216 m
8.434769 7.399850 8.841932 8.249910 8.701561 9.102654 c
8.527175 10.419195 6.957791 10.916214 5.719664 11.020811 c
5.719664 13.000000 l
4.499007 13.000000 l
4.499007 11.038236 l
3.679441 11.038236 l
3.679441 13.000000 l
2.458784 13.000000 l
2.458784 11.038236 l
0.000000 11.038236 l
0.000000 9.773972 l
0.915493 9.773972 l
1.325298 9.773972 1.525822 9.651906 1.525822 9.320603 c
1.525822 3.888679 l
1.525822 3.435310 1.299116 3.295775 1.054984 3.295775 c
0.122066 3.295775 l
0.122066 2.005372 l
2.493635 2.005372 l
2.493635 0.000000 l
3.723004 0.000000 l
3.723004 2.005372 l
4.542570 2.005372 l
4.542570 0.000000 l
5.737089 0.000000 l
5.737089 2.005372 l
5.998646 2.005372 l
8.509706 2.005372 9.346741 3.234743 9.346741 4.908769 c
9.326675 5.895811 8.642245 6.745034 7.681428 6.975216 c
h
3.679397 9.695513 m
4.551283 9.695513 l
5.161612 9.695513 6.364843 9.590873 6.364843 8.596922 c
6.406690 7.948222 5.936732 7.379741 5.292389 7.297806 c
3.679397 7.297806 l
3.679397 7.297806 3.679397 9.695513 3.679397 9.695513 c
h
5.030832 3.417885 m
5.030832 3.426598 l
3.679397 3.426598 l
3.679397 6.042299 l
5.248826 6.042299 l
5.615023 6.042299 6.992597 5.920233 6.992597 4.943707 c
6.992597 3.967181 6.338705 3.417885 5.030832 3.417885 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 1.000000 -1.000000 cm
0.196078 0.196078 0.196078 scn
2.750000 3.000000 m
2.343862 2.086189 l
2.343862 2.086187 l
2.750000 3.000000 l
h
2.500000 16.500000 m
1.615082 16.965748 l
2.500000 16.500000 l
h
21.750000 3.000000 m
22.156137 2.086189 l
22.156139 2.086189 l
21.750000 3.000000 l
h
22.000000 16.500000 m
22.884918 16.965748 l
22.000000 16.500000 l
h
18.805243 31.575003 m
19.714308 31.158348 l
19.714308 31.158350 l
18.805243 31.575003 l
h
14.909951 31.884182 m
15.699304 31.270241 l
15.699307 31.270247 l
14.909951 31.884182 l
h
13.471453 30.034685 m
14.260804 29.420742 l
14.260805 29.420744 l
13.471453 30.034685 l
h
13.010425 30.019558 m
12.263016 29.355194 l
12.263016 29.355194 l
13.010425 30.019558 l
h
11.339535 31.899309 m
10.592124 31.234947 l
10.592125 31.234945 l
11.339535 31.899309 l
h
5.217113 31.565836 m
6.111540 32.013050 l
6.111540 32.013050 l
5.217113 31.565836 l
h
6.750000 3.000000 m
6.308451 3.000000 4.829996 3.169876 3.156138 3.913813 c
2.343862 2.086187 l
4.270005 1.230125 6.024882 1.000000 6.750000 1.000000 c
6.750000 3.000000 l
h
3.156138 3.913811 m
2.381306 4.258183 1.828847 5.031326 1.465302 5.982138 c
1.105731 6.922554 1.000000 7.863134 1.000000 8.250000 c
-1.000000 8.250000 l
-1.000000 7.636866 -0.855731 6.452446 -0.402802 5.267862 c
0.046153 4.093674 0.868694 2.741817 2.343862 2.086189 c
3.156138 3.913811 l
h
1.000000 8.250000 m
1.000000 9.107111 0.969049 11.444101 3.384918 16.034252 c
1.615082 16.965748 l
-0.969049 12.055899 -1.000000 9.392889 -1.000000 8.250000 c
1.000000 8.250000 l
h
3.384918 16.034252 m
5.302833 19.678291 7.661876 21.462904 8.447213 21.855572 c
7.552786 23.644428 l
6.338124 23.037096 3.697168 20.921709 1.615082 16.965748 c
3.384918 16.034252 l
h
17.750000 1.000000 m
18.475119 1.000000 20.229996 1.230125 22.156137 2.086189 c
21.343863 3.913811 l
19.670006 3.169876 18.191549 3.000000 17.750000 3.000000 c
17.750000 1.000000 l
h
22.156139 2.086189 m
23.631306 2.741817 24.453848 4.093674 24.902802 5.267862 c
25.355730 6.452446 25.500000 7.636866 25.500000 8.250000 c
23.500000 8.250000 l
23.500000 7.863134 23.394270 6.922554 23.034698 5.982138 c
22.671152 5.031326 22.118694 4.258183 21.343861 3.913811 c
22.156139 2.086189 l
h
25.500000 8.250000 m
25.500000 9.392889 25.469049 12.055899 22.884918 16.965748 c
21.115082 16.034252 l
23.530951 11.444101 23.500000 9.107111 23.500000 8.250000 c
25.500000 8.250000 l
h
22.884918 16.965748 m
20.782598 20.960155 17.874842 23.055630 16.697245 23.644428 c
15.802817 21.855572 l
16.625219 21.444370 19.217402 19.639843 21.115082 16.034252 c
22.884918 16.965748 l
h
17.750000 3.000000 m
6.750000 3.000000 l
6.750000 1.000000 l
17.750000 1.000000 l
17.750000 3.000000 l
h
8.000000 21.750000 m
16.250031 21.750000 l
16.250031 23.750000 l
8.000000 23.750000 l
8.000000 21.750000 l
h
9.000000 22.749990 m
9.000031 25.999990 l
7.000031 26.000010 l
7.000000 22.750010 l
9.000000 22.749990 l
h
8.000031 25.000000 m
16.250031 25.000000 l
16.250031 27.000000 l
8.000031 27.000000 l
8.000031 25.000000 l
h
15.250031 26.000000 m
15.250031 22.750000 l
17.250031 22.750000 l
17.250031 26.000000 l
15.250031 26.000000 l
h
17.159096 25.583345 m
19.714308 31.158348 l
17.896177 31.991659 l
15.340966 26.416655 l
17.159096 25.583345 l
h
18.532524 33.000000 m
15.146756 33.000000 l
15.146756 31.000000 l
18.532524 31.000000 l
18.532524 33.000000 l
h
14.120599 32.498123 m
12.682100 30.648624 l
14.260805 29.420744 l
15.699304 31.270241 l
14.120599 32.498123 l
h
13.757834 30.683922 m
12.086945 32.563671 l
10.592125 31.234945 l
12.263015 29.355194 l
13.757834 30.683922 l
h
11.115312 33.000000 m
5.485441 33.000000 l
5.485441 31.000000 l
11.115312 31.000000 l
11.115312 33.000000 l
h
4.322685 31.118622 m
7.105603 25.552786 l
8.894458 26.447214 l
6.111540 32.013050 l
4.322685 31.118622 l
h
5.485441 33.000000 m
4.519044 33.000000 3.890500 31.982994 4.322685 31.118622 c
6.111540 32.013050 l
6.344255 31.547619 6.005808 31.000000 5.485441 31.000000 c
5.485441 33.000000 l
h
12.086946 32.563671 m
11.840246 32.841209 11.486640 33.000000 11.115312 33.000000 c
11.115312 31.000000 l
10.915366 31.000000 10.724963 31.085503 10.592124 31.234947 c
12.086946 32.563671 l
h
12.682101 30.648626 m
12.950798 30.994093 13.467069 31.011032 13.757833 30.683922 c
12.263016 29.355194 l
12.803008 28.747704 13.761795 28.779161 14.260804 29.420742 c
12.682101 30.648626 l
h
15.146756 33.000000 m
14.745590 33.000000 14.366890 32.814785 14.120595 32.498119 c
15.699307 31.270247 l
15.566685 31.099730 15.362768 31.000000 15.146756 31.000000 c
15.146756 33.000000 l
h
19.714308 31.158350 m
20.108974 32.019444 19.479771 33.000000 18.532524 33.000000 c
18.532524 31.000000 l
18.022465 31.000000 17.683666 31.527994 17.896177 31.991657 c
19.714308 31.158350 l
h
f
n
Q
endstream
endobj
3 0 obj
6162
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 26.500000 32.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000006252 00000 n
0000006275 00000 n
0000006448 00000 n
0000006522 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
6581
%%EOF
@@ -1,312 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 8.750031 5.250000 cm
0.600000 0.600000 0.600000 scn
7.681428 6.975216 m
8.434769 7.399850 8.841932 8.249910 8.701561 9.102654 c
8.527175 10.419195 6.957791 10.916214 5.719664 11.020811 c
5.719664 13.000000 l
4.499007 13.000000 l
4.499007 11.038236 l
3.679441 11.038236 l
3.679441 13.000000 l
2.458784 13.000000 l
2.458784 11.038236 l
0.000000 11.038236 l
0.000000 9.773972 l
0.915493 9.773972 l
1.325298 9.773972 1.525822 9.651906 1.525822 9.320603 c
1.525822 3.888679 l
1.525822 3.435310 1.299116 3.295775 1.054984 3.295775 c
0.122066 3.295775 l
0.122066 2.005372 l
2.493635 2.005372 l
2.493635 0.000000 l
3.723004 0.000000 l
3.723004 2.005372 l
4.542570 2.005372 l
4.542570 0.000000 l
5.737089 0.000000 l
5.737089 2.005372 l
5.998646 2.005372 l
8.509706 2.005372 9.346741 3.234743 9.346741 4.908769 c
9.326675 5.895811 8.642245 6.745034 7.681428 6.975216 c
h
3.679397 9.695513 m
4.551283 9.695513 l
5.161612 9.695513 6.364843 9.590873 6.364843 8.596922 c
6.406690 7.948222 5.936732 7.379741 5.292389 7.297806 c
3.679397 7.297806 l
3.679397 7.297806 3.679397 9.695513 3.679397 9.695513 c
h
5.030832 3.417885 m
5.030832 3.426598 l
3.679397 3.426598 l
3.679397 6.042299 l
5.248826 6.042299 l
5.615023 6.042299 6.992597 5.920233 6.992597 4.943707 c
6.992597 3.967181 6.338705 3.417885 5.030832 3.417885 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 1.000000 -1.000000 cm
0.600000 0.600000 0.600000 scn
2.750000 3.000000 m
2.343862 2.086189 l
2.343862 2.086187 l
2.750000 3.000000 l
h
2.500000 16.500000 m
1.615082 16.965748 l
2.500000 16.500000 l
h
21.750000 3.000000 m
22.156137 2.086189 l
22.156139 2.086189 l
21.750000 3.000000 l
h
22.000000 16.500000 m
22.884918 16.965748 l
22.000000 16.500000 l
h
18.805243 31.575003 m
19.714308 31.158348 l
19.714308 31.158350 l
18.805243 31.575003 l
h
14.909951 31.884182 m
15.699304 31.270241 l
15.699307 31.270247 l
14.909951 31.884182 l
h
13.471453 30.034685 m
14.260804 29.420742 l
14.260805 29.420744 l
13.471453 30.034685 l
h
13.010425 30.019558 m
12.263016 29.355194 l
12.263016 29.355194 l
13.010425 30.019558 l
h
11.339535 31.899309 m
10.592124 31.234947 l
10.592125 31.234945 l
11.339535 31.899309 l
h
5.217113 31.565836 m
6.111540 32.013050 l
6.111540 32.013050 l
5.217113 31.565836 l
h
6.750000 3.000000 m
6.308451 3.000000 4.829996 3.169876 3.156138 3.913813 c
2.343862 2.086187 l
4.270005 1.230125 6.024882 1.000000 6.750000 1.000000 c
6.750000 3.000000 l
h
3.156138 3.913811 m
2.381306 4.258183 1.828847 5.031326 1.465302 5.982138 c
1.105731 6.922554 1.000000 7.863134 1.000000 8.250000 c
-1.000000 8.250000 l
-1.000000 7.636866 -0.855731 6.452446 -0.402802 5.267862 c
0.046153 4.093674 0.868694 2.741817 2.343862 2.086189 c
3.156138 3.913811 l
h
1.000000 8.250000 m
1.000000 9.107111 0.969049 11.444101 3.384918 16.034252 c
1.615082 16.965748 l
-0.969049 12.055899 -1.000000 9.392889 -1.000000 8.250000 c
1.000000 8.250000 l
h
3.384918 16.034252 m
5.302833 19.678291 7.661876 21.462904 8.447213 21.855572 c
7.552786 23.644428 l
6.338124 23.037096 3.697168 20.921709 1.615082 16.965748 c
3.384918 16.034252 l
h
17.750000 1.000000 m
18.475119 1.000000 20.229996 1.230125 22.156137 2.086189 c
21.343863 3.913811 l
19.670006 3.169876 18.191549 3.000000 17.750000 3.000000 c
17.750000 1.000000 l
h
22.156139 2.086189 m
23.631306 2.741817 24.453848 4.093674 24.902802 5.267862 c
25.355730 6.452446 25.500000 7.636866 25.500000 8.250000 c
23.500000 8.250000 l
23.500000 7.863134 23.394270 6.922554 23.034698 5.982138 c
22.671152 5.031326 22.118694 4.258183 21.343861 3.913811 c
22.156139 2.086189 l
h
25.500000 8.250000 m
25.500000 9.392889 25.469049 12.055899 22.884918 16.965748 c
21.115082 16.034252 l
23.530951 11.444101 23.500000 9.107111 23.500000 8.250000 c
25.500000 8.250000 l
h
22.884918 16.965748 m
20.782598 20.960155 17.874842 23.055630 16.697245 23.644428 c
15.802817 21.855572 l
16.625219 21.444370 19.217402 19.639843 21.115082 16.034252 c
22.884918 16.965748 l
h
17.750000 3.000000 m
6.750000 3.000000 l
6.750000 1.000000 l
17.750000 1.000000 l
17.750000 3.000000 l
h
8.000000 21.750000 m
16.250031 21.750000 l
16.250031 23.750000 l
8.000000 23.750000 l
8.000000 21.750000 l
h
9.000000 22.749990 m
9.000031 25.999990 l
7.000031 26.000010 l
7.000000 22.750010 l
9.000000 22.749990 l
h
8.000031 25.000000 m
16.250031 25.000000 l
16.250031 27.000000 l
8.000031 27.000000 l
8.000031 25.000000 l
h
15.250031 26.000000 m
15.250031 22.750000 l
17.250031 22.750000 l
17.250031 26.000000 l
15.250031 26.000000 l
h
17.159096 25.583345 m
19.714308 31.158348 l
17.896177 31.991659 l
15.340966 26.416655 l
17.159096 25.583345 l
h
18.532524 33.000000 m
15.146756 33.000000 l
15.146756 31.000000 l
18.532524 31.000000 l
18.532524 33.000000 l
h
14.120599 32.498123 m
12.682100 30.648624 l
14.260805 29.420744 l
15.699304 31.270241 l
14.120599 32.498123 l
h
13.757834 30.683922 m
12.086945 32.563671 l
10.592125 31.234945 l
12.263015 29.355194 l
13.757834 30.683922 l
h
11.115312 33.000000 m
5.485441 33.000000 l
5.485441 31.000000 l
11.115312 31.000000 l
11.115312 33.000000 l
h
4.322685 31.118622 m
7.105603 25.552786 l
8.894458 26.447214 l
6.111540 32.013050 l
4.322685 31.118622 l
h
5.485441 33.000000 m
4.519044 33.000000 3.890500 31.982994 4.322685 31.118622 c
6.111540 32.013050 l
6.344255 31.547619 6.005808 31.000000 5.485441 31.000000 c
5.485441 33.000000 l
h
12.086946 32.563671 m
11.840246 32.841209 11.486640 33.000000 11.115312 33.000000 c
11.115312 31.000000 l
10.915366 31.000000 10.724963 31.085503 10.592124 31.234947 c
12.086946 32.563671 l
h
12.682101 30.648626 m
12.950798 30.994093 13.467069 31.011032 13.757833 30.683922 c
12.263016 29.355194 l
12.803008 28.747704 13.761795 28.779161 14.260804 29.420742 c
12.682101 30.648626 l
h
15.146756 33.000000 m
14.745590 33.000000 14.366890 32.814785 14.120595 32.498119 c
15.699307 31.270247 l
15.566685 31.099730 15.362768 31.000000 15.146756 31.000000 c
15.146756 33.000000 l
h
19.714308 31.158350 m
20.108974 32.019444 19.479771 33.000000 18.532524 33.000000 c
18.532524 31.000000 l
18.022465 31.000000 17.683666 31.527994 17.896177 31.991657 c
19.714308 31.158350 l
h
f
n
Q
endstream
endobj
3 0 obj
6162
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 26.500000 32.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000006252 00000 n
0000006275 00000 n
0000006448 00000 n
0000006522 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
6581
%%EOF
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "Icon_Exchange_gray.pdf",
"filename" : "Icon_Calendar_selected.pdf",
"idiom" : "universal"
}
],
@@ -0,0 +1,145 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 3.000000 20.500000 cm
0.196078 0.196078 0.196078 scn
24.000000 2.700000 m
24.000000 4.798682 22.298683 6.500000 20.200001 6.500000 c
3.800000 6.500000 l
1.701318 6.500000 0.000000 4.798682 0.000000 2.700000 c
0.000000 0.000000 l
24.000000 0.000000 l
24.000000 2.700000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.000000 1.000000 cm
0.196078 0.196078 0.196078 scn
3.800000 25.000000 m
20.200001 25.000000 l
20.200001 27.000000 l
3.800000 27.000000 l
3.800000 25.000000 l
h
20.200001 3.000000 m
3.799999 3.000000 l
3.799999 1.000000 l
20.200001 1.000000 l
20.200001 3.000000 l
h
1.000000 5.799999 m
1.000000 19.500000 l
-1.000000 19.500000 l
-1.000000 5.799999 l
1.000000 5.799999 l
h
1.000000 19.500000 m
1.000000 22.200001 l
-1.000000 22.200001 l
-1.000000 19.500000 l
1.000000 19.500000 l
h
23.000000 22.200001 m
23.000000 19.500000 l
25.000000 19.500000 l
25.000000 22.200001 l
23.000000 22.200001 l
h
23.000000 19.500000 m
23.000000 5.800001 l
25.000000 5.800001 l
25.000000 19.500000 l
23.000000 19.500000 l
h
0.000000 18.500000 m
24.000000 18.500000 l
24.000000 20.500000 l
0.000000 20.500000 l
0.000000 18.500000 l
h
20.200001 1.000000 m
22.850967 1.000000 25.000000 3.149035 25.000000 5.800001 c
23.000000 5.800001 l
23.000000 4.253603 21.746397 3.000000 20.200001 3.000000 c
20.200001 1.000000 l
h
20.200001 25.000000 m
21.746397 25.000000 23.000000 23.746397 23.000000 22.200001 c
25.000000 22.200001 l
25.000000 24.850967 22.850967 27.000000 20.200001 27.000000 c
20.200001 25.000000 l
h
3.800000 27.000000 m
1.149033 27.000000 -1.000000 24.850967 -1.000000 22.200001 c
1.000000 22.200001 l
1.000000 23.746397 2.253603 25.000000 3.800000 25.000000 c
3.800000 27.000000 l
h
3.799999 3.000000 m
2.253602 3.000000 1.000000 4.253603 1.000000 5.799999 c
-1.000000 5.799999 l
-1.000000 3.149033 1.149032 1.000000 3.799999 1.000000 c
3.799999 3.000000 l
h
f
n
Q
endstream
endobj
3 0 obj
1939
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000002029 00000 n
0000002052 00000 n
0000002225 00000 n
0000002299 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
2358
%%EOF
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "Icon_Calendar_unselected.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -0,0 +1,131 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 3.000000 1.000000 cm
0.533333 0.533333 0.533333 scn
3.800000 25.000000 m
20.200001 25.000000 l
20.200001 27.000000 l
3.800000 27.000000 l
3.800000 25.000000 l
h
20.200001 3.000000 m
3.799999 3.000000 l
3.799999 1.000000 l
20.200001 1.000000 l
20.200001 3.000000 l
h
1.000000 5.799999 m
1.000000 19.500000 l
-1.000000 19.500000 l
-1.000000 5.799999 l
1.000000 5.799999 l
h
1.000000 19.500000 m
1.000000 22.200001 l
-1.000000 22.200001 l
-1.000000 19.500000 l
1.000000 19.500000 l
h
23.000000 22.200001 m
23.000000 19.500000 l
25.000000 19.500000 l
25.000000 22.200001 l
23.000000 22.200001 l
h
23.000000 19.500000 m
23.000000 5.800001 l
25.000000 5.800001 l
25.000000 19.500000 l
23.000000 19.500000 l
h
0.000000 18.500000 m
24.000000 18.500000 l
24.000000 20.500000 l
0.000000 20.500000 l
0.000000 18.500000 l
h
20.200001 1.000000 m
22.850967 1.000000 25.000000 3.149035 25.000000 5.800001 c
23.000000 5.800001 l
23.000000 4.253603 21.746397 3.000000 20.200001 3.000000 c
20.200001 1.000000 l
h
20.200001 25.000000 m
21.746397 25.000000 23.000000 23.746397 23.000000 22.200001 c
25.000000 22.200001 l
25.000000 24.850967 22.850967 27.000000 20.200001 27.000000 c
20.200001 25.000000 l
h
3.800000 27.000000 m
1.149033 27.000000 -1.000000 24.850967 -1.000000 22.200001 c
1.000000 22.200001 l
1.000000 23.746397 2.253603 25.000000 3.800000 25.000000 c
3.800000 27.000000 l
h
3.799999 3.000000 m
2.253602 3.000000 1.000000 4.253603 1.000000 5.799999 c
-1.000000 5.799999 l
-1.000000 3.149033 1.149032 1.000000 3.799999 1.000000 c
3.799999 3.000000 l
h
f
n
Q
endstream
endobj
3 0 obj
1621
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000001711 00000 n
0000001734 00000 n
0000001907 00000 n
0000001981 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
2040
%%EOF
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "Icon_Bitcoin_black.pdf",
"filename" : "Icon_Chat_selected.pdf",
"idiom" : "universal"
}
],
@@ -0,0 +1,95 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 1.000000 1.093994 cm
0.196078 0.196078 0.196078 scn
0.000000 22.906006 m
0.000000 25.115145 1.790861 26.906006 4.000000 26.906006 c
24.000000 26.906006 l
26.209139 26.906006 28.000000 25.115145 28.000000 22.906006 c
28.000000 8.906006 l
28.000000 6.696867 26.209139 4.906006 24.000000 4.906006 c
15.250000 4.906006 l
8.555461 0.442980 l
7.890906 -0.000057 7.000000 0.475828 7.000000 1.274523 c
7.000000 4.906006 l
4.000000 4.906006 l
1.790861 4.906006 0.000000 6.696867 0.000000 8.906006 c
0.000000 22.906006 l
h
8.000000 18.906006 m
8.000000 19.458290 8.447716 19.906006 9.000000 19.906006 c
19.000000 19.906006 l
19.552284 19.906006 20.000000 19.458290 20.000000 18.906006 c
20.000000 18.353722 19.552284 17.906006 19.000000 17.906006 c
9.000000 17.906006 l
8.447715 17.906006 8.000000 18.353722 8.000000 18.906006 c
h
8.000000 12.906006 m
8.000000 13.458290 8.447716 13.906006 9.000000 13.906006 c
19.000000 13.906006 l
19.552284 13.906006 20.000000 13.458290 20.000000 12.906006 c
20.000000 12.353722 19.552284 11.906006 19.000000 11.906006 c
9.000000 11.906006 l
8.447715 11.906006 8.000000 12.353722 8.000000 12.906006 c
h
f*
n
Q
endstream
endobj
3 0 obj
1203
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000001293 00000 n
0000001316 00000 n
0000001489 00000 n
0000001563 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
1622
%%EOF
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "Icon_Exchange_black.pdf",
"filename" : "Icon_Chat_unselected.pdf",
"idiom" : "universal"
}
],
@@ -0,0 +1,191 @@
%PDF-1.7
1 0 obj
<< /BBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources << >>
/Subtype /Form
/Length 2 0 R
/Group << /Type /Group
/S /Transparency
>>
/Type /XObject
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.000000 27.000000 cm
0.533333 0.533333 0.533333 scn
9.000000 -7.000000 m
9.000000 -6.447715 9.447716 -6.000000 10.000000 -6.000000 c
20.000000 -6.000000 l
20.552284 -6.000000 21.000000 -6.447715 21.000000 -7.000000 c
21.000000 -7.552284 20.552284 -8.000000 20.000000 -8.000000 c
10.000000 -8.000000 l
9.447715 -8.000000 9.000000 -7.552284 9.000000 -7.000000 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 27.000000 cm
0.533333 0.533333 0.533333 scn
10.000000 -12.000000 m
9.447716 -12.000000 9.000000 -12.447715 9.000000 -13.000000 c
9.000000 -13.552284 9.447715 -14.000000 10.000000 -14.000000 c
20.000000 -14.000000 l
20.552284 -14.000000 21.000000 -13.552284 21.000000 -13.000000 c
21.000000 -12.447715 20.552284 -12.000000 20.000000 -12.000000 c
10.000000 -12.000000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 -0.198975 cm
0.533333 0.533333 0.533333 scn
30.000000 24.198975 m
30.000000 26.960398 27.761423 29.198975 25.000000 29.198975 c
5.000000 29.198975 l
2.238577 29.198975 0.000000 26.960398 0.000000 24.198975 c
0.000000 10.198975 l
0.000000 7.437551 2.238575 5.198973 5.000000 5.198973 c
7.000000 5.198973 l
7.000000 2.541660 l
7.000000 0.954786 8.759470 -0.000057 10.089977 0.864773 c
16.757977 5.198973 l
25.000000 5.198973 l
27.761423 5.198973 30.000000 7.437550 30.000000 10.198973 c
30.000000 24.198975 l
h
25.000000 27.198975 m
26.656855 27.198975 28.000000 25.855829 28.000000 24.198975 c
28.000000 10.198973 l
28.000000 8.542118 26.656855 7.198973 25.000000 7.198973 c
16.461536 7.198973 l
16.268070 7.198973 16.078758 7.142853 15.916547 7.037416 c
9.000000 2.541660 l
9.000000 6.198973 l
9.000000 6.751257 8.552284 7.198973 8.000000 7.198973 c
5.000000 7.198973 l
3.343147 7.198973 2.000000 8.542120 2.000000 10.198975 c
2.000000 24.198975 l
2.000000 25.855829 3.343145 27.198975 5.000000 27.198975 c
25.000000 27.198975 l
h
f*
n
Q
endstream
endobj
2 0 obj
1946
endobj
3 0 obj
<< /BBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources << >>
/Subtype /Form
/Length 4 0 R
/Group << /Type /Group
/S /Transparency
>>
/Type /XObject
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.000000 0.000000 0.000000 scn
0.000000 30.000000 m
30.000000 30.000000 l
30.000000 0.000000 l
0.000000 0.000000 l
0.000000 30.000000 l
h
f
n
Q
endstream
endobj
4 0 obj
232
endobj
5 0 obj
<< /XObject << /X1 1 0 R >>
/ExtGState << /E1 << /SMask << /Type /Mask
/G 3 0 R
/S /Alpha
>>
/Type /ExtGState
>> >>
>>
endobj
6 0 obj
<< /Length 7 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
/E1 gs
/X1 Do
Q
endstream
endobj
7 0 obj
46
endobj
8 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 5 0 R
/Contents 6 0 R
/Parent 9 0 R
>>
endobj
9 0 obj
<< /Kids [ 8 0 R ]
/Count 1
/Type /Pages
>>
endobj
10 0 obj
<< /Type /Catalog
/Pages 9 0 R
>>
endobj
xref
0 11
0000000000 65535 f
0000000010 00000 n
0000002204 00000 n
0000002227 00000 n
0000002707 00000 n
0000002729 00000 n
0000003027 00000 n
0000003129 00000 n
0000003150 00000 n
0000003323 00000 n
0000003397 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 10 0 R
/Size 11
>>
startxref
3457
%%EOF
@@ -1,233 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.874908 -1.452942 cm
0.196078 0.196078 0.196078 scn
13.457944 22.359249 m
12.905659 22.359249 12.457944 21.911533 12.457944 21.359249 c
12.457944 20.806965 12.905659 20.359249 13.457944 20.359249 c
13.457944 22.359249 l
h
17.943924 5.432421 m
18.496210 5.432421 18.943924 5.880135 18.943924 6.432421 c
18.943924 6.984705 18.496210 7.432421 17.943924 7.432421 c
17.943924 5.432421 l
h
7.864000 2.541128 m
7.164560 1.826435 l
7.864000 2.541128 l
h
0.211543 10.451720 m
-0.500327 11.154032 l
0.211543 10.451720 l
h
0.215273 10.026619 m
0.914712 10.741311 l
0.215273 10.026619 l
h
7.860271 18.204552 m
7.148400 18.906862 l
7.860271 18.204552 l
h
23.833143 9.837414 m
23.146339 10.564257 l
23.833143 9.837414 l
h
31.777040 17.772572 m
31.077600 17.057880 l
31.777040 17.772572 l
h
31.773249 17.340111 m
31.086445 18.066956 l
31.773249 17.340111 l
h
23.836933 25.543224 m
23.137495 24.828531 l
23.836933 25.543224 l
h
13.457944 20.359249 m
23.027102 20.359249 l
23.027102 22.359249 l
13.457944 22.359249 l
13.457944 20.359249 l
h
24.327103 21.659248 m
24.327103 25.328815 l
22.327103 25.328815 l
22.327103 21.659248 l
24.327103 21.659248 l
h
23.137495 24.828531 m
31.077600 17.057880 l
32.476479 18.487263 l
24.536373 26.257915 l
23.137495 24.828531 l
h
31.086445 18.066956 m
23.146339 10.564257 l
24.519947 9.110569 l
32.460052 16.613268 l
31.086445 18.066956 l
h
24.327103 10.055466 m
24.327103 13.742175 l
22.327103 13.742175 l
22.327103 10.055466 l
24.327103 10.055466 l
h
23.027102 15.042175 m
8.673832 15.042175 l
8.673832 13.042175 l
23.027102 13.042175 l
23.027102 15.042175 l
h
9.373832 14.342175 m
9.373832 17.993858 l
7.373832 17.993858 l
7.373832 14.342175 l
9.373832 14.342175 l
h
7.148400 18.906862 m
-0.500327 11.154032 l
0.923413 9.749409 l
8.572141 17.502239 l
7.148400 18.906862 l
h
-0.484167 9.311928 m
7.164560 1.826435 l
8.563439 3.255819 l
0.914712 10.741311 l
-0.484167 9.311928 l
h
9.373832 2.755535 m
9.373832 6.132420 l
7.373832 6.132420 l
7.373832 2.755535 l
9.373832 2.755535 l
h
8.673832 5.432421 m
17.943924 5.432421 l
17.943924 7.432421 l
8.673832 7.432421 l
8.673832 5.432421 l
h
9.373832 6.132420 m
9.373832 5.745821 9.060431 5.432421 8.673832 5.432421 c
8.673832 7.432421 l
7.955861 7.432421 7.373832 6.850389 7.373832 6.132420 c
9.373832 6.132420 l
h
7.164560 1.826435 m
7.987476 1.021082 9.373832 1.604107 9.373832 2.755535 c
7.373832 2.755535 l
7.373832 3.375536 8.120331 3.689472 8.563439 3.255819 c
7.164560 1.826435 l
h
-0.500327 11.154032 m
-1.006002 10.641474 -0.998755 9.815535 -0.484167 9.311928 c
0.914712 10.741311 l
1.191798 10.470140 1.195700 10.025402 0.923413 9.749409 c
-0.500327 11.154032 l
h
9.373832 17.993858 m
9.373832 19.156273 7.964782 19.734356 7.148400 18.906862 c
8.572141 17.502239 l
8.132549 17.056667 7.373832 17.367943 7.373832 17.993858 c
9.373832 17.993858 l
h
8.673832 15.042175 m
9.060431 15.042175 9.373832 14.728775 9.373832 14.342175 c
7.373832 14.342175 l
7.373832 13.624206 7.955862 13.042175 8.673832 13.042175 c
8.673832 15.042175 l
h
24.327103 13.742175 m
24.327103 14.460144 23.745073 15.042175 23.027102 15.042175 c
23.027102 13.042175 l
22.640501 13.042175 22.327103 13.355577 22.327103 13.742175 c
24.327103 13.742175 l
h
23.146339 10.564257 m
23.592709 10.986036 24.327103 10.669588 24.327103 10.055466 c
22.327103 10.055466 l
22.327103 8.914955 23.690973 8.327265 24.519947 9.110569 c
23.146339 10.564257 l
h
31.077600 17.057880 m
30.793629 17.335791 30.797647 17.794067 31.086445 18.066956 c
32.460052 16.613268 l
32.996391 17.120060 33.003853 17.971144 32.476479 18.487263 c
31.077600 17.057880 l
h
24.327103 25.328815 m
24.327103 24.708820 23.580606 24.394876 23.137495 24.828531 c
24.536373 26.257915 l
23.713455 27.063272 22.327103 26.480240 22.327103 25.328815 c
24.327103 25.328815 l
h
23.027102 20.359249 m
23.745073 20.359249 24.327103 20.941280 24.327103 21.659248 c
22.327103 21.659248 l
22.327103 22.045847 22.640503 22.359249 23.027102 22.359249 c
23.027102 20.359249 l
h
f
n
Q
endstream
endobj
3 0 obj
4036
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 33.742096 25.178467 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000004126 00000 n
0000004149 00000 n
0000004322 00000 n
0000004396 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
4455
%%EOF
@@ -1,233 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.874893 -1.452942 cm
0.600000 0.600000 0.600000 scn
13.457944 22.359249 m
12.905659 22.359249 12.457944 21.911533 12.457944 21.359249 c
12.457944 20.806965 12.905659 20.359249 13.457944 20.359249 c
13.457944 22.359249 l
h
17.943924 5.432421 m
18.496210 5.432421 18.943924 5.880135 18.943924 6.432421 c
18.943924 6.984705 18.496210 7.432421 17.943924 7.432421 c
17.943924 5.432421 l
h
7.864000 2.541128 m
7.164560 1.826435 l
7.864000 2.541128 l
h
0.211543 10.451720 m
-0.500327 11.154032 l
0.211543 10.451720 l
h
0.215273 10.026619 m
0.914712 10.741311 l
0.215273 10.026619 l
h
7.860271 18.204552 m
7.148400 18.906862 l
7.860271 18.204552 l
h
23.833143 9.837414 m
23.146339 10.564257 l
23.833143 9.837414 l
h
31.777040 17.772572 m
31.077600 17.057880 l
31.777040 17.772572 l
h
31.773249 17.340111 m
31.086445 18.066956 l
31.773249 17.340111 l
h
23.836933 25.543224 m
23.137495 24.828531 l
23.836933 25.543224 l
h
13.457944 20.359249 m
23.027102 20.359249 l
23.027102 22.359249 l
13.457944 22.359249 l
13.457944 20.359249 l
h
24.327103 21.659248 m
24.327103 25.328815 l
22.327103 25.328815 l
22.327103 21.659248 l
24.327103 21.659248 l
h
23.137495 24.828531 m
31.077600 17.057880 l
32.476479 18.487263 l
24.536373 26.257915 l
23.137495 24.828531 l
h
31.086445 18.066956 m
23.146339 10.564257 l
24.519947 9.110569 l
32.460052 16.613268 l
31.086445 18.066956 l
h
24.327103 10.055466 m
24.327103 13.742175 l
22.327103 13.742175 l
22.327103 10.055466 l
24.327103 10.055466 l
h
23.027102 15.042175 m
8.673832 15.042175 l
8.673832 13.042175 l
23.027102 13.042175 l
23.027102 15.042175 l
h
9.373832 14.342175 m
9.373832 17.993858 l
7.373832 17.993858 l
7.373832 14.342175 l
9.373832 14.342175 l
h
7.148400 18.906862 m
-0.500327 11.154032 l
0.923413 9.749409 l
8.572141 17.502239 l
7.148400 18.906862 l
h
-0.484167 9.311928 m
7.164560 1.826435 l
8.563439 3.255819 l
0.914712 10.741311 l
-0.484167 9.311928 l
h
9.373832 2.755535 m
9.373832 6.132420 l
7.373832 6.132420 l
7.373832 2.755535 l
9.373832 2.755535 l
h
8.673832 5.432421 m
17.943924 5.432421 l
17.943924 7.432421 l
8.673832 7.432421 l
8.673832 5.432421 l
h
9.373832 6.132420 m
9.373832 5.745821 9.060431 5.432421 8.673832 5.432421 c
8.673832 7.432421 l
7.955861 7.432421 7.373832 6.850389 7.373832 6.132420 c
9.373832 6.132420 l
h
7.164560 1.826435 m
7.987476 1.021082 9.373832 1.604107 9.373832 2.755535 c
7.373832 2.755535 l
7.373832 3.375536 8.120331 3.689472 8.563439 3.255819 c
7.164560 1.826435 l
h
-0.500327 11.154032 m
-1.006002 10.641474 -0.998755 9.815535 -0.484167 9.311928 c
0.914712 10.741311 l
1.191798 10.470140 1.195700 10.025402 0.923413 9.749409 c
-0.500327 11.154032 l
h
9.373832 17.993858 m
9.373832 19.156273 7.964782 19.734356 7.148400 18.906862 c
8.572141 17.502239 l
8.132549 17.056667 7.373832 17.367943 7.373832 17.993858 c
9.373832 17.993858 l
h
8.673832 15.042175 m
9.060431 15.042175 9.373832 14.728775 9.373832 14.342175 c
7.373832 14.342175 l
7.373832 13.624206 7.955862 13.042175 8.673832 13.042175 c
8.673832 15.042175 l
h
24.327103 13.742175 m
24.327103 14.460144 23.745073 15.042175 23.027102 15.042175 c
23.027102 13.042175 l
22.640501 13.042175 22.327103 13.355577 22.327103 13.742175 c
24.327103 13.742175 l
h
23.146339 10.564257 m
23.592709 10.986036 24.327103 10.669588 24.327103 10.055466 c
22.327103 10.055466 l
22.327103 8.914955 23.690973 8.327265 24.519947 9.110569 c
23.146339 10.564257 l
h
31.077600 17.057880 m
30.793629 17.335791 30.797647 17.794067 31.086445 18.066956 c
32.460052 16.613268 l
32.996391 17.120060 33.003853 17.971144 32.476479 18.487263 c
31.077600 17.057880 l
h
24.327103 25.328815 m
24.327103 24.708820 23.580606 24.394876 23.137495 24.828531 c
24.536373 26.257915 l
23.713455 27.063272 22.327103 26.480240 22.327103 25.328815 c
24.327103 25.328815 l
h
23.027102 20.359249 m
23.745073 20.359249 24.327103 20.941280 24.327103 21.659248 c
22.327103 21.659248 l
22.327103 22.045847 22.640503 22.359249 23.027102 22.359249 c
23.027102 20.359249 l
h
f
n
Q
endstream
endobj
3 0 obj
4036
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 33.742111 25.178467 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000004126 00000 n
0000004149 00000 n
0000004322 00000 n
0000004396 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
4455
%%EOF
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "Icon_Favorite_selected.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -0,0 +1,82 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 1.229797 1.398682 cm
0.196078 0.196078 0.196078 scn
18.626476 19.285370 m
15.106291 26.183186 l
14.549581 27.274061 12.990855 27.274063 12.434144 26.183186 c
8.913960 19.285370 l
1.265949 18.069017 l
0.056432 17.876654 -0.425244 16.394220 0.440210 15.527656 c
5.912626 10.048218 l
4.706082 2.398655 l
4.515268 1.188887 5.776306 0.272697 6.867893 0.828007 c
13.770217 4.339342 l
20.672541 0.828007 l
21.764126 0.272697 23.025166 1.188887 22.834352 2.398655 c
21.627808 10.048220 l
27.100224 15.527655 l
27.965673 16.394215 27.484007 17.876652 26.274487 18.069017 c
18.626476 19.285370 l
h
f*
n
Q
endstream
endobj
3 0 obj
662
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000000752 00000 n
0000000774 00000 n
0000000947 00000 n
0000001021 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
1080
%%EOF
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "Icon_Favorite_unselected.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -0,0 +1,173 @@
%PDF-1.7
1 0 obj
<< /BBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources << >>
/Subtype /Form
/Length 2 0 R
/Group << /Type /Group
/S /Transparency
>>
/Type /XObject
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.774353 0.123535 cm
0.533333 0.533333 0.533333 scn
19.741375 21.468185 m
16.897787 27.040199 l
15.784368 29.221949 12.666919 29.221954 11.553496 27.040199 c
8.709911 21.468185 l
2.531898 20.485624 l
0.112862 20.100897 -0.850486 17.136028 0.880420 15.402901 c
5.301004 10.976645 l
4.326365 4.797375 l
3.944739 2.377848 6.466807 0.545458 8.649986 1.656080 c
14.225642 4.492516 l
19.801298 1.656080 l
21.984478 0.545456 24.506544 2.377850 24.124918 4.797375 c
23.150280 10.976643 l
27.570864 15.402901 l
29.301765 17.136023 28.338430 20.100895 25.919388 20.485624 c
19.741375 21.468185 l
h
15.116357 26.131075 m
14.745216 26.858326 13.706067 26.858326 13.334927 26.131075 c
10.260098 20.105938 l
10.114797 19.821218 9.842136 19.623119 9.526451 19.572912 c
2.846033 18.510448 l
2.039687 18.382206 1.718572 17.393915 2.295540 16.816208 c
7.075611 12.030003 l
7.301495 11.803829 7.405642 11.483295 7.355840 11.167547 c
6.301941 4.485773 l
6.174733 3.679264 7.015422 3.068468 7.743148 3.438675 c
13.772223 6.505774 l
14.057128 6.650711 14.394156 6.650711 14.679061 6.505774 c
20.708136 3.438675 l
21.435862 3.068468 22.276550 3.679264 22.149342 4.485773 c
21.095444 11.167547 l
21.045641 11.483295 21.149790 11.803829 21.375673 12.030003 c
26.155745 16.816208 l
26.732714 17.393915 26.411598 18.382206 25.605253 18.510448 c
18.924833 19.572912 l
18.609148 19.623119 18.336489 19.821218 18.191187 20.105938 c
15.116357 26.131075 l
h
f*
n
Q
endstream
endobj
2 0 obj
1500
endobj
3 0 obj
<< /BBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources << >>
/Subtype /Form
/Length 4 0 R
/Group << /Type /Group
/S /Transparency
>>
/Type /XObject
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.000000 0.000000 0.000000 scn
0.000000 30.000000 m
30.000000 30.000000 l
30.000000 0.000000 l
0.000000 0.000000 l
0.000000 30.000000 l
h
f
n
Q
endstream
endobj
4 0 obj
232
endobj
5 0 obj
<< /XObject << /X1 1 0 R >>
/ExtGState << /E1 << /SMask << /Type /Mask
/G 3 0 R
/S /Alpha
>>
/Type /ExtGState
>> >>
>>
endobj
6 0 obj
<< /Length 7 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
/E1 gs
/X1 Do
Q
endstream
endobj
7 0 obj
46
endobj
8 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 5 0 R
/Contents 6 0 R
/Parent 9 0 R
>>
endobj
9 0 obj
<< /Kids [ 8 0 R ]
/Count 1
/Type /Pages
>>
endobj
10 0 obj
<< /Type /Catalog
/Pages 9 0 R
>>
endobj
xref
0 11
0000000000 65535 f
0000000010 00000 n
0000001758 00000 n
0000001781 00000 n
0000002261 00000 n
0000002283 00000 n
0000002581 00000 n
0000002683 00000 n
0000002704 00000 n
0000002877 00000 n
0000002951 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 10 0 R
/Size 11
>>
startxref
3011
%%EOF
@@ -1,15 +0,0 @@
{
"images" : [
{
"filename" : "Icon_Grid_black.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -1,331 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
0.000000 24.000002 m
0.000000 25.104572 0.895431 26.000000 2.000000 26.000000 c
9.063832 26.000000 l
10.168402 26.000000 11.063830 25.104570 11.063830 24.000000 c
11.063830 16.936169 l
11.063830 15.831598 10.168400 14.936170 9.063830 14.936170 c
1.999998 14.936170 l
0.895428 14.936170 0.000000 15.831600 0.000000 16.936169 c
0.000000 24.000002 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 0.000000 14.936157 cm
0.196078 0.196078 0.196078 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
q
14.936172 24.000002 m
14.936172 25.104572 15.831603 26.000000 16.936172 26.000000 c
24.000004 26.000000 l
25.104574 26.000000 26.000004 25.104570 26.000004 24.000000 c
26.000004 16.936169 l
26.000004 15.831598 25.104572 14.936170 24.000004 14.936170 c
16.936171 14.936170 l
15.831601 14.936170 14.936172 15.831600 14.936172 16.936169 c
14.936172 24.000002 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 14.936172 14.936157 cm
0.196078 0.196078 0.196078 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
q
0.000000 9.063845 m
0.000000 10.168414 0.895431 11.063843 2.000000 11.063843 c
9.063832 11.063843 l
10.168402 11.063843 11.063830 10.168412 11.063830 9.063843 c
11.063830 2.000011 l
11.063830 0.895441 10.168400 0.000011 9.063830 0.000011 c
1.999998 0.000011 l
0.895428 0.000011 0.000000 0.895443 0.000000 2.000011 c
0.000000 9.063845 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.196078 0.196078 0.196078 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
q
14.936172 9.063845 m
14.936172 10.168414 15.831603 11.063843 16.936172 11.063843 c
24.000004 11.063843 l
25.104574 11.063843 26.000004 10.168412 26.000004 9.063843 c
26.000004 2.000011 l
26.000004 0.895441 25.104572 0.000011 24.000004 0.000011 c
16.936171 0.000011 l
15.831601 0.000011 14.936172 0.895443 14.936172 2.000011 c
14.936172 9.063845 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 14.936172 0.000000 cm
0.196078 0.196078 0.196078 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
endstream
endobj
3 0 obj
5824
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 26.000000 26.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000005914 00000 n
0000005937 00000 n
0000006110 00000 n
0000006184 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
6243
%%EOF
@@ -1,15 +0,0 @@
{
"images" : [
{
"filename" : "Icon_Grid_gray.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -1,331 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
0.000000 24.000002 m
0.000000 25.104572 0.895431 26.000000 2.000000 26.000000 c
9.063832 26.000000 l
10.168402 26.000000 11.063830 25.104570 11.063830 24.000000 c
11.063830 16.936169 l
11.063830 15.831598 10.168400 14.936170 9.063830 14.936170 c
1.999998 14.936170 l
0.895428 14.936170 0.000000 15.831600 0.000000 16.936169 c
0.000000 24.000002 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 0.000000 14.936157 cm
0.600000 0.600000 0.600000 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
q
14.936172 24.000002 m
14.936172 25.104572 15.831603 26.000000 16.936172 26.000000 c
24.000004 26.000000 l
25.104574 26.000000 26.000004 25.104570 26.000004 24.000000 c
26.000004 16.936169 l
26.000004 15.831598 25.104572 14.936170 24.000004 14.936170 c
16.936171 14.936170 l
15.831601 14.936170 14.936172 15.831600 14.936172 16.936169 c
14.936172 24.000002 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 14.936172 14.936157 cm
0.600000 0.600000 0.600000 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
q
0.000000 9.063845 m
0.000000 10.168414 0.895431 11.063843 2.000000 11.063843 c
9.063832 11.063843 l
10.168402 11.063843 11.063830 10.168412 11.063830 9.063843 c
11.063830 2.000011 l
11.063830 0.895441 10.168400 0.000011 9.063830 0.000011 c
1.999998 0.000011 l
0.895428 0.000011 0.000000 0.895443 0.000000 2.000011 c
0.000000 9.063845 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.600000 0.600000 0.600000 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
q
14.936172 9.063845 m
14.936172 10.168414 15.831603 11.063843 16.936172 11.063843 c
24.000004 11.063843 l
25.104574 11.063843 26.000004 10.168412 26.000004 9.063843 c
26.000004 2.000011 l
26.000004 0.895441 25.104572 0.000011 24.000004 0.000011 c
16.936171 0.000011 l
15.831601 0.000011 14.936172 0.895443 14.936172 2.000011 c
14.936172 9.063845 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 14.936172 0.000000 cm
0.600000 0.600000 0.600000 scn
2.000000 9.063843 m
9.063832 9.063843 l
9.063832 13.063843 l
2.000000 13.063843 l
2.000000 9.063843 l
h
9.063830 9.063843 m
9.063830 2.000010 l
13.063830 2.000010 l
13.063830 9.063843 l
9.063830 9.063843 l
h
9.063830 2.000012 m
1.999998 2.000012 l
1.999998 -1.999988 l
9.063830 -1.999988 l
9.063830 2.000012 l
h
2.000000 2.000012 m
2.000000 9.063845 l
-2.000000 9.063845 l
-2.000000 2.000012 l
2.000000 2.000012 l
h
1.999998 2.000012 m
2.000000 2.000012 l
-2.000000 2.000012 l
-2.000000 -0.209124 -0.209144 -1.999988 1.999998 -1.999988 c
1.999998 2.000012 l
h
9.063830 2.000010 m
9.063830 2.000012 l
9.063830 -1.999988 l
11.272966 -1.999988 13.063830 -0.209131 13.063830 2.000010 c
9.063830 2.000010 l
h
9.063832 9.063843 m
9.063830 9.063843 l
13.063830 9.063843 l
13.063830 11.272979 11.272974 13.063843 9.063832 13.063843 c
9.063832 9.063843 l
h
2.000000 13.063843 m
-0.209136 13.063843 -2.000000 11.272986 -2.000000 9.063845 c
2.000000 9.063845 l
2.000000 9.063843 l
2.000000 13.063843 l
h
f
n
Q
Q
endstream
endobj
3 0 obj
5824
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 26.000000 26.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000005914 00000 n
0000005937 00000 n
0000006110 00000 n
0000006184 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
6243
%%EOF
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "Icon_Bitcoin_gray.pdf",
"filename" : "Icon_Profile_selected.pdf",
"idiom" : "universal"
}
],
@@ -0,0 +1,87 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 3.000000 17.000000 cm
0.196078 0.196078 0.196078 scn
18.000000 6.000000 m
18.000000 2.686292 15.313708 0.000000 12.000000 0.000000 c
8.686292 0.000000 6.000000 2.686292 6.000000 6.000000 c
6.000000 9.313708 8.686292 12.000000 12.000000 12.000000 c
15.313708 12.000000 18.000000 9.313708 18.000000 6.000000 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.000000 17.000000 cm
0.196078 0.196078 0.196078 scn
0.000000 -10.000000 m
0.000000 -6.134007 3.134007 -3.000000 7.000000 -3.000000 c
17.000000 -3.000000 l
20.865993 -3.000000 24.000000 -6.134007 24.000000 -10.000000 c
24.000000 -12.000000 l
24.000000 -13.656855 22.656855 -15.000000 21.000000 -15.000000 c
3.000000 -15.000000 l
1.343146 -15.000000 0.000000 -13.656855 0.000000 -12.000000 c
0.000000 -10.000000 l
h
f
n
Q
endstream
endobj
3 0 obj
843
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000000933 00000 n
0000000955 00000 n
0000001128 00000 n
0000001202 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
1261
%%EOF
@@ -0,0 +1,15 @@
{
"images" : [
{
"filename" : "Icon_Profile_unselected.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -0,0 +1,103 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 2.000000 16.000000 cm
0.533333 0.533333 0.533333 scn
20.000000 7.000000 m
20.000000 3.134007 16.865993 0.000000 13.000000 0.000000 c
9.134007 0.000000 6.000000 3.134007 6.000000 7.000000 c
6.000000 10.865993 9.134007 14.000000 13.000000 14.000000 c
16.865993 14.000000 20.000000 10.865993 20.000000 7.000000 c
h
18.000000 7.000000 m
18.000000 4.238576 15.761424 2.000000 13.000000 2.000000 c
10.238577 2.000000 8.000000 4.238576 8.000000 7.000000 c
8.000000 9.761423 10.238577 12.000000 13.000000 12.000000 c
15.761424 12.000000 18.000000 9.761423 18.000000 7.000000 c
h
f*
n
Q
q
1.000000 0.000000 -0.000000 1.000000 2.000000 16.000000 cm
0.533333 0.533333 0.533333 scn
0.000000 -10.000000 m
0.000000 -5.581722 3.581722 -2.000000 8.000000 -2.000000 c
18.000000 -2.000000 l
22.418278 -2.000000 26.000000 -5.581722 26.000000 -10.000000 c
26.000000 -12.000000 l
26.000000 -14.209139 24.209139 -16.000000 22.000000 -16.000000 c
4.000000 -16.000000 l
1.790861 -16.000000 0.000000 -14.209139 0.000000 -12.000000 c
0.000000 -10.000000 l
h
2.000000 -10.000000 m
2.000000 -6.686291 4.686292 -4.000000 8.000000 -4.000000 c
18.000000 -4.000000 l
21.313709 -4.000000 24.000000 -6.686291 24.000000 -10.000000 c
24.000000 -12.000000 l
24.000000 -13.104568 23.104570 -14.000000 22.000000 -14.000000 c
4.000000 -14.000000 l
2.895431 -14.000000 2.000000 -13.104568 2.000000 -12.000000 c
2.000000 -10.000000 l
h
f*
n
Q
endstream
endobj
3 0 obj
1468
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 30.000000 30.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000001558 00000 n
0000001581 00000 n
0000001754 00000 n
0000001828 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
1887
%%EOF
@@ -1,15 +0,0 @@
{
"images" : [
{
"filename" : "Icon_Wallet_black.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -1,259 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 2.863632 21.621063 cm
0.196078 0.196078 0.196078 scn
0.000000 1.533480 m
-0.337030 2.205674 l
0.189779 0.805869 l
0.000000 1.533480 l
h
12.457626 7.779578 m
12.794656 7.107384 l
12.820510 7.120347 l
12.845291 7.135257 l
12.457626 7.779578 l
h
17.636368 6.133484 m
17.826147 5.405873 l
18.464098 5.572267 l
18.382545 6.226498 l
17.636368 6.133484 l
h
0.337030 0.861286 m
12.794656 7.107384 l
12.120597 8.451772 l
-0.337030 2.205674 l
0.337030 0.861286 l
h
12.845291 7.135257 m
13.557961 7.564045 14.572696 8.004407 15.391429 7.967627 c
15.769291 7.950653 16.066069 7.834682 16.296772 7.597737 c
16.537806 7.350182 16.784206 6.890689 16.890190 6.040470 c
18.382545 6.226498 l
18.251242 7.279851 17.917036 8.089445 17.374292 8.646873 c
16.821217 9.214912 16.131041 9.439825 15.458920 9.470018 c
14.177690 9.527575 12.840343 8.887411 12.069962 8.423899 c
12.845291 7.135257 l
h
17.446589 6.861094 m
-0.189779 2.261091 l
0.189779 0.805869 l
17.826147 5.405873 l
17.446589 6.861094 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.500000 21.634216 cm
0.196078 0.196078 0.196078 scn
0.000000 1.638505 m
-0.192630 2.363346 l
-0.000000 0.888505 l
0.000000 1.638505 l
h
18.609091 6.583967 m
18.801722 5.859127 l
18.815765 5.862859 l
18.829655 5.867133 l
18.609091 6.583967 l
h
22.500000 1.638505 m
22.500000 0.888505 l
23.250000 0.888505 l
23.250000 1.638505 l
22.500000 1.638505 l
h
0.192630 0.913664 m
18.801722 5.859127 l
18.416460 7.308807 l
-0.192630 2.363346 l
0.192630 0.913664 l
h
18.829655 5.867133 m
19.230934 5.990603 19.931271 5.956992 20.537441 5.434196 c
21.132389 4.921081 21.750000 3.832626 21.750000 1.638505 c
23.250000 1.638505 l
23.250000 4.098928 22.552460 5.677144 21.517103 6.570094 c
20.492971 7.453362 19.247852 7.565209 18.388527 7.300801 c
18.829655 5.867133 l
h
22.500000 2.388505 m
0.000000 2.388505 l
-0.000000 0.888505 l
22.500000 0.888505 l
22.500000 2.388505 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.196078 0.196078 0.196078 scn
2.884615 22.354553 m
26.115385 22.354553 l
26.880085 22.354553 27.500000 21.734640 27.500000 20.969938 c
27.500000 15.372772 l
29.000000 15.372772 l
29.000000 20.969938 l
29.000000 22.563066 27.708513 23.854553 26.115385 23.854553 c
2.884615 23.854553 l
1.291486 23.854553 0.000000 22.563068 0.000000 20.969940 c
0.000000 2.884624 l
0.000000 1.291494 1.291486 0.000008 2.884615 0.000008 c
26.115383 0.000008 l
27.708513 0.000008 29.000000 1.291492 29.000000 2.884623 c
29.000000 9.062773 l
27.500000 9.062773 l
27.500000 2.884623 l
27.500000 2.119921 26.880087 1.500008 26.115383 1.500008 c
2.884615 1.500008 l
2.119913 1.500008 1.500000 2.119921 1.500000 2.884624 c
1.500000 20.969940 l
1.500000 21.734640 2.119912 22.354553 2.884615 22.354553 c
h
f*
n
Q
q
16.290901 14.565048 m
16.290901 15.839552 17.324091 16.872742 18.598593 16.872742 c
29.692303 16.872742 l
30.966805 16.872742 31.999992 15.839553 31.999992 14.565050 c
31.999992 9.871344 l
31.999992 8.596840 30.966805 7.563652 29.692299 7.563652 c
18.598593 7.563652 l
17.324089 7.563652 16.290901 8.596840 16.290901 9.871344 c
16.290901 14.565048 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 16.290901 7.563660 cm
0.196078 0.196078 0.196078 scn
2.307692 7.809082 m
13.401401 7.809082 l
13.401401 10.809082 l
2.307692 10.809082 l
2.307692 7.809082 l
h
14.209091 7.001390 m
14.209091 2.307684 l
17.209091 2.307684 l
17.209091 7.001390 l
14.209091 7.001390 l
h
13.401399 1.499991 m
2.307691 1.499991 l
2.307691 -1.500009 l
13.401399 -1.500009 l
13.401399 1.499991 l
h
1.500000 2.307684 m
1.500000 7.001390 l
-1.500000 7.001390 l
-1.500000 2.307684 l
1.500000 2.307684 l
h
2.307691 1.499991 m
1.861616 1.499991 1.500000 1.861606 1.500000 2.307684 c
-1.500000 2.307684 l
-1.500000 0.204755 0.204759 -1.500009 2.307691 -1.500009 c
2.307691 1.499991 l
h
14.209091 2.307684 m
14.209091 1.861608 13.847475 1.499991 13.401399 1.499991 c
13.401399 -1.500009 l
15.504330 -1.500009 17.209091 0.204754 17.209091 2.307684 c
14.209091 2.307684 l
h
13.401401 7.809082 m
13.847475 7.809082 14.209091 7.447467 14.209091 7.001390 c
17.209091 7.001390 l
17.209091 9.104319 15.504333 10.809082 13.401401 10.809082 c
13.401401 7.809082 l
h
2.307692 10.809082 m
0.204762 10.809082 -1.500000 9.104320 -1.500000 7.001390 c
1.500000 7.001390 l
1.500000 7.447466 1.861616 7.809082 2.307692 7.809082 c
2.307692 10.809082 l
h
f
n
Q
Q
q
1.000000 0.000000 -0.000000 1.000000 19.781822 11.054535 cm
0.196078 0.196078 0.196078 scn
0.000000 1.750347 m
0.000000 2.068973 0.258297 2.327271 0.576923 2.327271 c
1.750350 2.327271 l
2.068975 2.327271 2.327273 2.068973 2.327273 1.750347 c
2.327273 0.576921 l
2.327273 0.258295 2.068975 -0.000002 1.750350 -0.000002 c
0.576923 -0.000002 l
0.258297 -0.000002 0.000000 0.258295 0.000000 0.576921 c
0.000000 1.750347 l
h
f
n
Q
endstream
endobj
3 0 obj
4847
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 31.999992 31.094696 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000004937 00000 n
0000004960 00000 n
0000005133 00000 n
0000005207 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
5266
%%EOF
@@ -1,15 +0,0 @@
{
"images" : [
{
"filename" : "Icon_Wallet_gray.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -1,413 +0,0 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 2.863632 21.935608 cm
0.898039 0.898039 0.898039 scn
12.457626 7.465034 m
0.000000 1.218935 l
17.636368 5.818939 l
17.161791 9.626084 13.940677 8.357333 12.457626 7.465034 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 2.863632 21.621063 cm
0.196078 0.196078 0.196078 scn
0.000000 1.533480 m
-0.337030 2.205674 l
0.189779 0.805869 l
0.000000 1.533480 l
h
12.457626 7.779578 m
12.794656 7.107384 l
12.820510 7.120347 l
12.845292 7.135257 l
12.457626 7.779578 l
h
17.636368 6.133484 m
17.826147 5.405873 l
18.464098 5.572267 l
18.382545 6.226498 l
17.636368 6.133484 l
h
0.337030 0.861286 m
12.794656 7.107384 l
12.120597 8.451772 l
-0.337030 2.205674 l
0.337030 0.861286 l
h
12.845292 7.135257 m
13.557961 7.564045 14.572696 8.004407 15.391429 7.967627 c
15.769291 7.950653 16.066069 7.834682 16.296772 7.597737 c
16.537806 7.350181 16.784206 6.890689 16.890190 6.040470 c
18.382545 6.226498 l
18.251242 7.279852 17.917036 8.089445 17.374290 8.646873 c
16.821215 9.214912 16.131041 9.439825 15.458920 9.470018 c
14.177690 9.527575 12.840343 8.887411 12.069961 8.423899 c
12.845292 7.135257 l
h
17.446589 6.861094 m
-0.189779 2.261091 l
0.189779 0.805869 l
17.826147 5.405873 l
17.446589 6.861094 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.500000 22.977600 cm
0.898039 0.898039 0.898039 scn
18.609091 5.240583 m
0.000000 0.295121 l
22.500000 0.295121 l
22.500000 4.949666 19.869698 5.628462 18.609091 5.240583 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 3.500000 21.634216 cm
0.196078 0.196078 0.196078 scn
0.000000 1.638505 m
-0.192630 2.363346 l
-0.000000 0.888505 l
0.000000 1.638505 l
h
18.609091 6.583967 m
18.801722 5.859127 l
18.815765 5.862859 l
18.829655 5.867133 l
18.609091 6.583967 l
h
22.500000 1.638505 m
22.500000 0.888505 l
23.250000 0.888505 l
23.250000 1.638505 l
22.500000 1.638505 l
h
0.192630 0.913664 m
18.801722 5.859127 l
18.416460 7.308807 l
-0.192630 2.363346 l
0.192630 0.913664 l
h
18.829655 5.867133 m
19.230936 5.990603 19.931271 5.956992 20.537441 5.434196 c
21.132389 4.921081 21.750000 3.832626 21.750000 1.638505 c
23.250000 1.638505 l
23.250000 4.098928 22.552460 5.677144 21.517103 6.570094 c
20.492971 7.453362 19.247852 7.565209 18.388527 7.300801 c
18.829655 5.867133 l
h
22.500000 2.388505 m
0.000000 2.388505 l
-0.000000 0.888505 l
22.500000 0.888505 l
22.500000 2.388505 l
h
f
n
Q
q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.898039 0.898039 0.898039 scn
2.884615 23.854553 m
1.291486 23.854553 0.000000 22.563068 0.000000 20.969940 c
0.000000 2.884624 l
0.000000 1.291494 1.291486 0.000008 2.884615 0.000008 c
26.115383 0.000008 l
27.708513 0.000008 29.000000 1.291492 29.000000 2.884623 c
29.000000 20.969938 l
29.000000 22.563066 27.708513 23.854553 26.115385 23.854553 c
2.884615 23.854553 l
h
28.765631 15.254547 m
27.734379 15.254547 l
27.734379 9.254547 l
28.765631 9.254547 l
28.765631 15.254547 l
h
f*
n
Q
2.884615 23.854553 m
1.291486 23.854553 0.000000 22.563068 0.000000 20.969940 c
0.000000 2.884624 l
0.000000 1.291494 1.291486 0.000008 2.884615 0.000008 c
26.115383 0.000008 l
27.708513 0.000008 29.000000 1.291492 29.000000 2.884623 c
29.000000 20.969938 l
29.000000 22.563066 27.708513 23.854553 26.115385 23.854553 c
2.884615 23.854553 l
h
28.765631 15.254547 m
27.734379 15.254547 l
27.734379 9.254547 l
28.765631 9.254547 l
28.765631 15.254547 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.196078 0.196078 0.196078 scn
27.734379 15.254547 m
27.734379 16.754547 l
26.234379 16.754547 l
26.234379 15.254547 l
27.734379 15.254547 l
h
28.765631 15.254547 m
30.265631 15.254547 l
30.265631 16.754547 l
28.765631 16.754547 l
28.765631 15.254547 l
h
27.734379 9.254547 m
26.234379 9.254547 l
26.234379 7.754547 l
27.734379 7.754547 l
27.734379 9.254547 l
h
28.765631 9.254547 m
28.765631 7.754547 l
30.265631 7.754547 l
30.265631 9.254547 l
28.765631 9.254547 l
h
1.500000 20.969940 m
1.500000 21.734640 2.119912 22.354553 2.884615 22.354553 c
2.884615 25.354553 l
0.463060 25.354553 -1.500000 23.391497 -1.500000 20.969940 c
1.500000 20.969940 l
h
1.500000 2.884624 m
1.500000 20.969940 l
-1.500000 20.969940 l
-1.500000 2.884624 l
1.500000 2.884624 l
h
2.884615 1.500008 m
2.119914 1.500008 1.500000 2.119921 1.500000 2.884624 c
-1.500000 2.884624 l
-1.500000 0.463068 0.463058 -1.499992 2.884615 -1.499992 c
2.884615 1.500008 l
h
26.115383 1.500008 m
2.884615 1.500008 l
2.884615 -1.499992 l
26.115383 -1.499992 l
26.115383 1.500008 l
h
27.500000 2.884623 m
27.500000 2.119921 26.880087 1.500008 26.115383 1.500008 c
26.115383 -1.499992 l
28.536940 -1.499992 30.500000 0.463064 30.500000 2.884623 c
27.500000 2.884623 l
h
27.500000 20.969938 m
27.500000 2.884623 l
30.500000 2.884623 l
30.500000 20.969938 l
27.500000 20.969938 l
h
26.115385 22.354553 m
26.880087 22.354553 27.500000 21.734640 27.500000 20.969938 c
30.500000 20.969938 l
30.500000 23.391495 28.536940 25.354553 26.115385 25.354553 c
26.115385 22.354553 l
h
2.884615 22.354553 m
26.115385 22.354553 l
26.115385 25.354553 l
2.884615 25.354553 l
2.884615 22.354553 l
h
27.734379 13.754547 m
28.765631 13.754547 l
28.765631 16.754547 l
27.734379 16.754547 l
27.734379 13.754547 l
h
29.234379 9.254547 m
29.234379 15.254547 l
26.234379 15.254547 l
26.234379 9.254547 l
29.234379 9.254547 l
h
28.765631 10.754547 m
27.734379 10.754547 l
27.734379 7.754547 l
28.765631 7.754547 l
28.765631 10.754547 l
h
27.265631 15.254547 m
27.265631 9.254547 l
30.265631 9.254547 l
30.265631 15.254547 l
27.265631 15.254547 l
h
f
n
Q
Q
q
q
1.000000 0.000000 -0.000000 1.000000 16.290901 7.563660 cm
0.898039 0.898039 0.898039 scn
0.000000 7.001390 m
0.000000 8.275892 1.033189 9.309082 2.307692 9.309082 c
13.401401 9.309082 l
14.675903 9.309082 15.709091 8.275893 15.709091 7.001390 c
15.709091 2.307684 l
15.709091 1.033181 14.675902 -0.000009 13.401399 -0.000009 c
2.307691 -0.000009 l
1.033188 -0.000009 0.000000 1.033180 0.000000 2.307684 c
0.000000 7.001390 l
h
f
n
Q
16.290901 14.565048 m
16.290901 15.839552 17.324091 16.872742 18.598593 16.872742 c
29.692303 16.872742 l
30.966805 16.872742 31.999992 15.839553 31.999992 14.565050 c
31.999992 9.871344 l
31.999992 8.596840 30.966805 7.563652 29.692299 7.563652 c
18.598593 7.563652 l
17.324089 7.563652 16.290901 8.596840 16.290901 9.871344 c
16.290901 14.565048 l
h
W*
n
q
1.000000 0.000000 -0.000000 1.000000 16.290901 7.563660 cm
0.196078 0.196078 0.196078 scn
2.307692 7.809082 m
13.401401 7.809082 l
13.401401 10.809082 l
2.307692 10.809082 l
2.307692 7.809082 l
h
14.209091 7.001390 m
14.209091 2.307684 l
17.209091 2.307684 l
17.209091 7.001390 l
14.209091 7.001390 l
h
13.401399 1.499991 m
2.307691 1.499991 l
2.307691 -1.500009 l
13.401399 -1.500009 l
13.401399 1.499991 l
h
1.500000 2.307684 m
1.500000 7.001390 l
-1.500000 7.001390 l
-1.500000 2.307684 l
1.500000 2.307684 l
h
2.307691 1.499991 m
1.861616 1.499991 1.500000 1.861606 1.500000 2.307684 c
-1.500000 2.307684 l
-1.500000 0.204755 0.204759 -1.500009 2.307691 -1.500009 c
2.307691 1.499991 l
h
14.209091 2.307684 m
14.209091 1.861608 13.847475 1.499991 13.401399 1.499991 c
13.401399 -1.500009 l
15.504330 -1.500009 17.209091 0.204754 17.209091 2.307684 c
14.209091 2.307684 l
h
13.401401 7.809082 m
13.847475 7.809082 14.209091 7.447467 14.209091 7.001390 c
17.209091 7.001390 l
17.209091 9.104319 15.504333 10.809082 13.401401 10.809082 c
13.401401 7.809082 l
h
2.307692 10.809082 m
0.204762 10.809082 -1.500000 9.104320 -1.500000 7.001390 c
1.500000 7.001390 l
1.500000 7.447466 1.861616 7.809082 2.307692 7.809082 c
2.307692 10.809082 l
h
f
n
Q
Q
q
1.000000 0.000000 -0.000000 1.000000 19.781822 11.054535 cm
0.196078 0.196078 0.196078 scn
0.000000 1.750347 m
0.000000 2.068973 0.258297 2.327271 0.576923 2.327271 c
1.750350 2.327271 l
2.068975 2.327271 2.327273 2.068973 2.327273 1.750347 c
2.327273 0.576921 l
2.327273 0.258295 2.068975 -0.000002 1.750350 -0.000002 c
0.576923 -0.000002 l
0.258297 -0.000002 0.000000 0.258295 0.000000 0.576921 c
0.000000 1.750347 l
h
f
n
Q
endstream
endobj
3 0 obj
8039
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 31.999992 31.094696 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000008129 00000 n
0000008152 00000 n
0000008325 00000 n
0000008399 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
8458
%%EOF
@@ -0,0 +1,25 @@
{
"images" : [
{
"filename" : "Icon_Swipe_light.pdf",
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "Icon_Swipe_dark.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -0,0 +1,533 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 107.597168 19.904053 cm
0.629167 0.629167 0.629167 scn
30.101513 3.293037 m
30.101513 2.464615 30.773085 1.793037 31.601513 1.793037 c
32.429939 1.793037 33.101513 2.464615 33.101513 3.293037 c
30.101513 3.293037 l
h
25.067957 42.223915 m
23.674679 41.668217 l
23.676331 41.664108 l
25.067957 42.223915 l
h
14.178696 65.718819 m
15.513352 66.403534 l
15.507772 66.414200 l
14.178696 65.718819 l
h
4.098353 68.942398 m
3.422246 70.281395 l
3.416876 70.278656 l
4.098353 68.942398 l
h
0.800461 58.899719 m
2.141096 59.572552 l
2.139977 59.574772 l
0.800461 58.899719 l
h
2.633274 51.903721 m
3.004868 51.163307 3.906327 50.864326 4.646739 51.235920 c
5.387150 51.607513 5.686135 52.508972 5.314540 53.249382 c
2.633274 51.903721 l
h
33.101513 3.293037 m
33.101513 9.816757 33.109821 26.251789 26.459581 42.783718 c
23.676331 41.664108 l
30.093204 25.712311 30.101513 9.787609 30.101513 3.293037 c
33.101513 3.293037 l
h
26.461227 42.779610 m
22.700573 52.208557 18.380539 60.814678 15.513309 66.403519 c
12.844082 65.034126 l
15.701491 59.464432 19.968418 50.960808 23.674685 41.668221 c
26.461227 42.779610 l
h
15.507772 66.414200 m
14.408175 68.515862 12.522062 70.099152 10.260141 70.822487 c
9.346363 67.965034 l
10.858726 67.481400 12.116976 66.423737 12.849618 65.023438 c
15.507772 66.414200 l
h
10.260141 70.822487 m
7.998360 71.545776 5.541566 71.351501 3.422251 70.281387 c
4.774456 67.603409 l
6.190899 68.318626 7.833860 68.448715 9.346363 67.965034 c
10.260141 70.822487 l
h
3.416876 70.278656 m
1.296715 69.197395 -0.310238 67.324211 -1.051887 65.065750 c
1.798364 64.129768 l
2.292186 65.633545 3.363156 66.883652 4.779831 67.606140 c
3.416876 70.278656 l
h
-1.051887 65.065750 m
-1.793585 62.807144 -1.609107 60.347977 -0.539054 58.224663 c
2.139977 59.574772 l
1.427231 60.989079 1.304591 62.626137 1.798364 64.129768 c
-1.051887 65.065750 l
h
-0.540172 58.226887 m
2.633274 51.903721 l
5.314540 53.249382 l
2.141094 59.572548 l
-0.540172 58.226887 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 88.944702 66.358154 cm
0.629167 0.629167 0.629167 scn
4.181628 3.823135 m
4.561399 3.086884 5.466113 2.797899 6.202364 3.177670 c
6.938615 3.557440 7.227600 4.462154 6.847828 5.198406 c
4.181628 3.823135 l
h
0.910119 13.437599 m
2.243223 14.125237 l
2.241588 14.128388 l
0.910119 13.437599 l
h
14.848384 21.248571 m
13.539284 20.516172 l
13.545394 20.505459 l
14.848384 21.248571 l
h
16.403994 18.520935 m
17.743010 19.196978 l
17.725847 19.230968 l
17.706984 19.264048 l
16.403994 18.520935 l
h
20.291819 7.492249 m
20.665186 6.752731 21.567360 6.455908 22.306877 6.829275 c
23.046396 7.202642 23.343220 8.104816 22.969852 8.844336 c
20.291819 7.492249 l
h
6.847828 5.198406 m
2.243219 14.125236 l
-0.422982 12.749964 l
4.181628 3.823135 l
6.847828 5.198406 l
h
2.241588 14.128388 m
1.484908 15.586862 1.299585 17.272894 1.721112 18.859379 c
-1.178290 19.629747 l
-1.791699 17.321083 -1.521738 14.867766 -0.421351 12.746811 c
2.241588 14.128388 l
h
1.721112 18.859379 m
2.142666 20.445965 3.141511 21.821243 4.525321 22.717007 c
2.895110 25.235422 l
0.887509 23.935867 -0.564908 21.938311 -1.178290 19.629747 c
1.721112 18.859379 l
h
4.499123 22.700430 m
7.435656 24.516294 11.871108 23.497993 13.539328 20.516197 c
16.157440 21.980946 l
13.594401 26.562155 7.202802 27.899548 2.921308 25.251999 c
4.499123 22.700430 l
h
13.545394 20.505459 m
15.101003 17.777821 l
17.706984 19.264048 l
16.151373 21.991684 l
13.545394 20.505459 l
h
15.064976 17.844891 m
20.291819 7.492249 l
22.969852 8.844336 l
17.743010 19.196978 l
15.064976 17.844891 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 70.995850 57.220703 cm
0.629167 0.629167 0.629167 scn
8.562653 2.799356 m
8.939391 2.061548 9.842909 1.768845 10.580716 2.145582 c
11.318523 2.522322 11.611228 3.425838 11.234490 4.163647 c
8.562653 2.799356 l
h
0.813819 21.273163 m
2.149764 21.955322 l
2.145404 21.963730 l
0.813819 21.273163 l
h
4.422827 31.439829 m
3.759426 32.785152 l
3.752470 32.781723 l
3.745549 32.778221 l
4.422827 31.439829 l
h
15.249868 28.960155 m
16.551033 29.706461 l
16.498585 29.797901 l
16.433865 29.881107 l
15.249868 28.960155 l
h
16.245453 27.224380 m
17.561163 27.944733 l
17.554018 27.957781 l
17.546616 27.970686 l
16.245453 27.224380 l
h
17.543161 21.730659 m
17.941002 21.004011 18.852577 20.737461 19.579224 21.135300 c
20.305870 21.533138 20.572422 22.444714 20.174583 23.171360 c
17.543161 21.730659 l
h
11.234490 4.163647 m
2.149737 21.955307 l
-0.522100 20.591019 l
8.562653 2.799356 l
11.234490 4.163647 l
h
2.145404 21.963730 m
0.640692 24.865192 1.844065 28.453754 5.100106 30.101437 c
3.745549 32.778221 l
-0.838677 30.458426 -2.870964 25.120155 -0.517767 20.582596 c
2.145404 21.963730 l
h
5.086229 30.094505 m
6.591342 30.836700 8.308313 31.037558 9.945602 30.662575 c
10.615340 33.586861 l
8.305876 34.115788 5.883752 33.832695 3.759426 32.785152 c
5.086229 30.094505 l
h
9.945602 30.662575 m
11.582829 30.287607 13.038308 29.360258 14.065873 28.039202 c
16.433865 29.881107 l
14.980840 31.749144 12.924868 33.057919 10.615340 33.586861 c
9.945602 30.662575 l
h
13.948705 28.213848 m
14.944288 26.478075 l
17.546616 27.970686 l
16.551033 29.706461 l
13.948705 28.213848 l
h
14.929742 26.504028 m
17.543161 21.730659 l
20.174583 23.171360 l
17.561163 27.944733 l
14.929742 26.504028 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 41.874756 -1.757080 cm
0.629167 0.629167 0.629167 scn
52.255276 2.280106 m
52.794823 1.651466 53.741817 1.579247 54.370453 2.118790 c
54.999092 2.658340 55.071312 3.605331 54.531769 4.233971 c
52.255276 2.280106 l
h
19.605707 23.094429 m
18.641115 21.945709 l
18.641294 21.945557 l
19.605707 23.094429 l
h
1.685100 41.444016 m
0.574166 40.436134 l
0.574391 40.435883 l
1.685100 41.444016 l
h
14.938883 49.750931 m
14.147062 48.476936 l
14.151858 48.473984 l
14.938883 49.750931 l
h
29.623823 40.700111 m
28.836800 39.423164 l
29.388638 39.083054 30.096523 39.135902 30.591740 39.554192 c
29.623823 40.700111 l
h
32.486141 43.117798 m
33.454056 41.971878 l
33.992607 42.426765 34.141724 43.195297 33.812378 43.818581 c
32.486141 43.117798 l
h
0.876184 102.939926 m
-0.451024 102.240982 l
-0.450053 102.239143 l
0.876184 102.939926 l
h
14.378863 110.068993 m
15.710394 110.759659 l
15.707027 110.766151 15.703614 110.772614 15.700153 110.779060 c
14.378863 110.068993 l
h
29.350103 77.948456 m
29.731550 77.213074 30.636921 76.926147 31.372305 77.307594 c
32.107689 77.689041 32.394611 78.594414 32.013168 79.329796 c
29.350103 77.948456 l
h
54.531769 4.233971 m
53.941753 4.921410 53.042351 5.633354 52.014084 6.341515 c
50.962776 7.065536 49.682655 7.848564 48.258492 8.668015 c
45.411137 10.306351 41.902874 12.138573 38.335388 13.994934 c
34.754112 15.858467 31.108093 17.748909 27.936901 19.525139 c
24.741688 21.314827 22.131063 22.932976 20.570122 24.243301 c
18.641294 21.945557 l
20.440464 20.435249 23.274471 18.698097 26.470863 16.907753 c
29.691277 15.103951 33.383839 13.189644 36.950584 11.333672 c
40.531120 9.470520 43.980316 7.668465 46.762318 6.067734 c
48.152836 5.267639 49.355370 4.529930 50.312496 3.870766 c
51.292667 3.195732 51.927483 2.662025 52.255276 2.280106 c
54.531769 4.233971 l
h
20.570299 24.243149 m
16.308598 27.821739 8.105620 36.602058 2.795808 42.452148 c
0.574391 40.435883 l
5.842715 34.631508 14.191412 25.682159 18.641115 21.945709 c
20.570299 24.243149 l
h
2.796033 42.451897 m
2.368433 42.923218 2.055722 43.485779 1.881652 44.095924 c
-1.003242 43.272888 l
-0.702537 42.218864 -0.162680 41.248314 0.574166 40.436134 c
2.796033 42.451897 l
h
1.881652 44.095924 m
1.707587 44.706055 1.676713 45.347778 1.791360 45.971588 c
-1.159222 46.513863 l
-1.357340 45.435875 -1.303951 44.326935 -1.003242 43.272888 c
1.881652 44.095924 l
h
1.791360 45.971588 m
1.906011 46.595413 2.163192 47.185020 2.543410 47.694733 c
0.138738 49.488487 l
-0.516876 48.609581 -0.961107 47.591835 -1.159222 46.513863 c
1.791360 45.971588 l
h
2.543410 47.694733 m
2.923647 48.204468 3.416828 48.620750 3.985142 48.910973 c
2.620721 51.582745 l
1.643657 51.083778 0.794334 50.367363 0.138738 49.488487 c
2.543410 47.694733 l
h
3.983269 48.910019 m
5.570595 49.717834 7.341166 50.102669 9.122582 50.026741 c
9.250330 53.024025 l
6.953609 53.121914 4.670328 52.625820 2.622593 51.583698 c
3.983269 48.910019 l
h
9.122582 50.026741 m
10.903997 49.950821 12.634983 49.416748 14.147068 48.476944 c
15.730698 51.024910 l
13.779592 52.237576 11.547053 52.926136 9.250330 53.024025 c
9.122582 50.026741 l
h
14.151858 48.473984 m
28.836800 39.423164 l
30.410849 41.977058 l
15.725907 51.027874 l
14.151858 48.473984 l
h
30.591740 39.554192 m
33.454056 41.971878 l
31.518227 44.263725 l
28.655907 41.846039 l
30.591740 39.554192 l
h
33.812378 43.818581 m
2.202421 103.640709 l
-0.450053 102.239143 l
31.159904 42.417023 l
33.812378 43.818581 l
h
2.203390 103.638870 m
1.463501 105.043831 1.300187 106.679459 1.747344 108.201538 c
-1.131015 109.047150 l
-1.798195 106.776131 -1.554216 104.335808 -0.451022 102.240982 c
2.203390 103.638870 l
h
1.747344 108.201538 m
2.194540 109.723755 3.217949 111.015175 4.603770 111.802299 c
3.122133 114.410889 l
1.061644 113.240562 -0.463873 111.318031 -1.131015 109.047150 c
1.747344 108.201538 l
h
4.599438 111.799843 m
5.313483 112.202286 6.101340 112.458595 6.916702 112.553513 c
6.569831 115.533386 l
5.358835 115.392426 4.188111 115.011688 3.126465 114.413338 c
4.599438 111.799843 l
h
6.916702 112.553513 m
7.732068 112.648422 8.558220 112.579979 9.346520 112.352272 c
10.179056 115.234444 l
9.007913 115.572739 7.780822 115.674355 6.569831 115.533386 c
6.916702 112.553513 l
h
9.346520 112.352272 m
10.134811 112.124573 10.869125 111.742264 11.506388 111.228104 c
13.390175 113.562920 l
12.442001 114.327927 11.350207 114.896149 10.179056 115.234444 c
9.346520 112.352272 l
h
11.506388 111.228104 m
12.143638 110.713959 12.670938 110.078377 13.057572 109.358925 c
15.700153 110.779060 l
15.123836 111.851471 14.338361 112.797897 13.390175 113.562920 c
11.506388 111.228104 l
h
13.047332 109.378326 m
29.350103 77.948456 l
32.013168 79.329796 l
15.710394 110.759659 l
13.047332 109.378326 l
h
f
n
Q
q
0.980061 -0.198696 -0.198696 -0.980061 18.139366 124.988129 cm
0.629167 0.629167 0.629167 scn
14.304977 14.235680 m
14.304977 10.721280 11.443786 7.862720 7.902489 7.862720 c
7.902489 4.862720 l
13.090040 4.862720 17.304977 9.053846 17.304977 14.235680 c
14.304977 14.235680 l
h
7.902489 7.862720 m
4.361192 7.862720 1.500000 10.721280 1.500000 14.235680 c
-1.500000 14.235680 l
-1.500000 9.053846 2.714937 4.862720 7.902489 4.862720 c
7.902489 7.862720 l
h
1.500000 14.235680 m
1.500000 17.750080 4.361194 20.608643 7.902489 20.608643 c
7.902489 23.608643 l
2.714936 23.608643 -1.500000 19.417511 -1.500000 14.235680 c
1.500000 14.235680 l
h
7.902489 20.608643 m
11.443784 20.608643 14.304977 17.750080 14.304977 14.235680 c
17.304977 14.235680 l
17.304977 19.417511 13.090041 23.608643 7.902489 23.608643 c
7.902489 20.608643 l
h
f
n
Q
q
0.980061 -0.198696 -0.198696 -0.980061 18.744465 108.637100 cm
0.629167 0.629167 0.629167 scn
17.366123 73.170517 m
17.836908 73.852165 17.665968 74.786407 16.984314 75.257195 c
16.302660 75.727982 15.368423 75.557037 14.897636 74.875381 c
17.366123 73.170517 l
h
-0.216979 6.223732 m
-0.062933 5.409760 0.721807 4.874779 1.535785 5.028824 c
2.349764 5.182869 2.884745 5.967606 2.730698 6.781586 c
-0.216979 6.223732 l
h
14.897636 74.875381 m
5.401996 61.126610 -5.226364 32.693237 -0.216979 6.223732 c
2.730698 6.781586 l
-2.091360 32.261257 8.194466 59.890839 17.366123 73.170517 c
14.897636 74.875381 l
h
f
n
Q
q
0.980061 -0.198696 -0.198696 -0.980061 12.316921 50.234398 cm
0.629167 0.629167 0.629167 scn
-0.590866 13.476933 m
-1.352314 13.150606 -1.705049 12.268791 -1.378723 11.507343 c
-1.052397 10.745895 -0.170581 10.393160 0.590866 10.719486 c
-0.590866 13.476933 l
h
11.138151 16.871582 m
12.604726 17.186476 l
12.510608 17.624821 12.225348 17.998085 11.827100 18.204004 c
11.428851 18.409925 10.959372 18.426908 10.547285 18.250305 c
11.138151 16.871582 l
h
12.714355 5.946751 m
12.996131 5.167717 13.856087 4.764609 14.635121 5.046386 c
15.414155 5.328161 15.817262 6.188118 15.535486 6.967152 c
12.714355 5.946751 l
h
0.590866 10.719486 m
11.729017 15.492859 l
10.547285 18.250305 l
-0.590866 13.476933 l
0.590866 10.719486 l
h
9.671576 16.556688 m
10.444746 12.955757 11.461326 9.411034 12.714355 5.946751 c
15.535486 6.967152 l
14.328569 10.303946 13.349420 13.718168 12.604726 17.186476 c
9.671576 16.556688 l
h
f
n
Q
endstream
endobj
3 0 obj
12527
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 140.698730 118.842041 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000012617 00000 n
0000012641 00000 n
0000012816 00000 n
0000012890 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
12949
%%EOF
@@ -0,0 +1,533 @@
%PDF-1.7
1 0 obj
<< >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 107.597168 19.904175 cm
0.082353 0.494118 0.984314 scn
30.101513 3.293037 m
30.101513 2.464615 30.773085 1.793037 31.601513 1.793037 c
32.429939 1.793037 33.101513 2.464615 33.101513 3.293037 c
30.101513 3.293037 l
h
25.067957 42.223915 m
23.674679 41.668217 l
23.676331 41.664108 l
25.067957 42.223915 l
h
14.178696 65.718819 m
15.513352 66.403534 l
15.507772 66.414200 l
14.178696 65.718819 l
h
4.098353 68.942398 m
3.422246 70.281395 l
3.416876 70.278656 l
4.098353 68.942398 l
h
0.800461 58.899719 m
2.141096 59.572552 l
2.139977 59.574772 l
0.800461 58.899719 l
h
2.633274 51.903721 m
3.004868 51.163307 3.906327 50.864326 4.646739 51.235920 c
5.387150 51.607513 5.686135 52.508972 5.314540 53.249382 c
2.633274 51.903721 l
h
33.101513 3.293037 m
33.101513 9.816757 33.109821 26.251789 26.459581 42.783718 c
23.676331 41.664108 l
30.093204 25.712311 30.101513 9.787609 30.101513 3.293037 c
33.101513 3.293037 l
h
26.461227 42.779610 m
22.700573 52.208557 18.380539 60.814678 15.513309 66.403519 c
12.844082 65.034126 l
15.701491 59.464432 19.968418 50.960808 23.674685 41.668221 c
26.461227 42.779610 l
h
15.507772 66.414200 m
14.408175 68.515862 12.522062 70.099152 10.260141 70.822487 c
9.346363 67.965034 l
10.858726 67.481400 12.116976 66.423737 12.849618 65.023438 c
15.507772 66.414200 l
h
10.260141 70.822487 m
7.998360 71.545776 5.541566 71.351501 3.422251 70.281387 c
4.774456 67.603409 l
6.190899 68.318626 7.833860 68.448715 9.346363 67.965034 c
10.260141 70.822487 l
h
3.416876 70.278656 m
1.296715 69.197395 -0.310238 67.324211 -1.051887 65.065750 c
1.798364 64.129768 l
2.292186 65.633545 3.363156 66.883652 4.779831 67.606140 c
3.416876 70.278656 l
h
-1.051887 65.065750 m
-1.793585 62.807144 -1.609107 60.347977 -0.539054 58.224663 c
2.139977 59.574772 l
1.427231 60.989079 1.304591 62.626137 1.798364 64.129768 c
-1.051887 65.065750 l
h
-0.540172 58.226887 m
2.633274 51.903721 l
5.314540 53.249382 l
2.141094 59.572548 l
-0.540172 58.226887 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 88.944702 66.358276 cm
0.082353 0.494118 0.984314 scn
4.181628 3.823013 m
4.561399 3.086761 5.466113 2.797777 6.202364 3.177547 c
6.938615 3.557318 7.227600 4.462032 6.847828 5.198284 c
4.181628 3.823013 l
h
0.910119 13.437477 m
2.243223 14.125115 l
2.241588 14.128266 l
0.910119 13.437477 l
h
14.848384 21.248449 m
13.539284 20.516050 l
13.545394 20.505337 l
14.848384 21.248449 l
h
16.403994 18.520813 m
17.743010 19.196856 l
17.725847 19.230846 l
17.706984 19.263926 l
16.403994 18.520813 l
h
20.291819 7.492126 m
20.665186 6.752609 21.567360 6.455786 22.306877 6.829153 c
23.046396 7.202520 23.343220 8.104694 22.969852 8.844213 c
20.291819 7.492126 l
h
6.847828 5.198284 m
2.243219 14.125113 l
-0.422982 12.749842 l
4.181628 3.823013 l
6.847828 5.198284 l
h
2.241588 14.128266 m
1.484908 15.586740 1.299585 17.272772 1.721112 18.859257 c
-1.178290 19.629625 l
-1.791699 17.320961 -1.521738 14.867644 -0.421351 12.746689 c
2.241588 14.128266 l
h
1.721112 18.859257 m
2.142666 20.445843 3.141511 21.821121 4.525321 22.716885 c
2.895110 25.235300 l
0.887509 23.935745 -0.564908 21.938189 -1.178290 19.629625 c
1.721112 18.859257 l
h
4.499123 22.700308 m
7.435656 24.516172 11.871108 23.497871 13.539328 20.516075 c
16.157440 21.980824 l
13.594401 26.562033 7.202802 27.899426 2.921308 25.251877 c
4.499123 22.700308 l
h
13.545394 20.505337 m
15.101003 17.777699 l
17.706984 19.263926 l
16.151373 21.991562 l
13.545394 20.505337 l
h
15.064976 17.844769 m
20.291819 7.492126 l
22.969852 8.844213 l
17.743010 19.196856 l
15.064976 17.844769 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 70.995850 57.220581 cm
0.082353 0.494118 0.984314 scn
8.562653 2.799479 m
8.939391 2.061670 9.842909 1.768967 10.580716 2.145704 c
11.318523 2.522444 11.611228 3.425961 11.234490 4.163769 c
8.562653 2.799479 l
h
0.813819 21.273285 m
2.149764 21.955444 l
2.145404 21.963852 l
0.813819 21.273285 l
h
4.422827 31.439951 m
3.759426 32.785275 l
3.752470 32.781845 l
3.745549 32.778343 l
4.422827 31.439951 l
h
15.249868 28.960278 m
16.551033 29.706583 l
16.498585 29.798023 l
16.433865 29.881229 l
15.249868 28.960278 l
h
16.245453 27.224503 m
17.561163 27.944855 l
17.554018 27.957903 l
17.546616 27.970808 l
16.245453 27.224503 l
h
17.543161 21.730782 m
17.941002 21.004133 18.852577 20.737583 19.579224 21.135422 c
20.305870 21.533260 20.572422 22.444836 20.174583 23.171482 c
17.543161 21.730782 l
h
11.234490 4.163769 m
2.149737 21.955429 l
-0.522100 20.591141 l
8.562653 2.799479 l
11.234490 4.163769 l
h
2.145404 21.963852 m
0.640692 24.865314 1.844065 28.453876 5.100106 30.101559 c
3.745549 32.778343 l
-0.838677 30.458548 -2.870964 25.120277 -0.517767 20.582718 c
2.145404 21.963852 l
h
5.086229 30.094627 m
6.591342 30.836823 8.308313 31.037680 9.945602 30.662697 c
10.615340 33.586983 l
8.305876 34.115910 5.883752 33.832817 3.759426 32.785275 c
5.086229 30.094627 l
h
9.945602 30.662697 m
11.582829 30.287729 13.038308 29.360380 14.065873 28.039324 c
16.433865 29.881229 l
14.980840 31.749266 12.924868 33.058041 10.615340 33.586983 c
9.945602 30.662697 l
h
13.948705 28.213970 m
14.944288 26.478197 l
17.546616 27.970808 l
16.551033 29.706583 l
13.948705 28.213970 l
h
14.929742 26.504150 m
17.543161 21.730782 l
20.174583 23.171482 l
17.561163 27.944855 l
14.929742 26.504150 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 41.874756 -1.757080 cm
0.082353 0.494118 0.984314 scn
52.255276 2.280228 m
52.794823 1.651588 53.741817 1.579369 54.370453 2.118912 c
54.999092 2.658463 55.071312 3.605453 54.531769 4.234093 c
52.255276 2.280228 l
h
19.605707 23.094551 m
18.641115 21.945831 l
18.641294 21.945679 l
19.605707 23.094551 l
h
1.685100 41.444138 m
0.574166 40.436256 l
0.574391 40.436005 l
1.685100 41.444138 l
h
14.938883 49.751053 m
14.147062 48.477058 l
14.151858 48.474106 l
14.938883 49.751053 l
h
29.623823 40.700233 m
28.836800 39.423286 l
29.388638 39.083176 30.096523 39.136024 30.591740 39.554314 c
29.623823 40.700233 l
h
32.486141 43.117920 m
33.454056 41.972000 l
33.992607 42.426888 34.141724 43.195419 33.812378 43.818703 c
32.486141 43.117920 l
h
0.876184 102.940048 m
-0.451024 102.241104 l
-0.450053 102.239265 l
0.876184 102.940048 l
h
14.378863 110.069115 m
15.710394 110.759781 l
15.707027 110.766273 15.703614 110.772736 15.700153 110.779182 c
14.378863 110.069115 l
h
29.350103 77.948578 m
29.731550 77.213196 30.636921 76.926270 31.372305 77.307716 c
32.107689 77.689163 32.394611 78.594536 32.013168 79.329918 c
29.350103 77.948578 l
h
54.531769 4.234093 m
53.941753 4.921532 53.042351 5.633476 52.014084 6.341637 c
50.962776 7.065659 49.682655 7.848686 48.258492 8.668137 c
45.411137 10.306473 41.902874 12.138695 38.335388 13.995056 c
34.754112 15.858589 31.108093 17.749031 27.936901 19.525261 c
24.741688 21.314949 22.131063 22.933098 20.570122 24.243423 c
18.641294 21.945679 l
20.440464 20.435371 23.274471 18.698219 26.470863 16.907875 c
29.691277 15.104073 33.383839 13.189766 36.950584 11.333794 c
40.531120 9.470642 43.980316 7.668587 46.762318 6.067856 c
48.152836 5.267761 49.355370 4.530052 50.312496 3.870888 c
51.292667 3.195854 51.927483 2.662148 52.255276 2.280228 c
54.531769 4.234093 l
h
20.570299 24.243271 m
16.308598 27.821861 8.105620 36.602180 2.795808 42.452271 c
0.574391 40.436005 l
5.842715 34.631630 14.191412 25.682281 18.641115 21.945831 c
20.570299 24.243271 l
h
2.796033 42.452019 m
2.368433 42.923340 2.055722 43.485901 1.881652 44.096046 c
-1.003242 43.273010 l
-0.702537 42.218987 -0.162680 41.248436 0.574166 40.436256 c
2.796033 42.452019 l
h
1.881652 44.096046 m
1.707587 44.706177 1.676713 45.347900 1.791360 45.971710 c
-1.159222 46.513985 l
-1.357340 45.435997 -1.303951 44.327057 -1.003242 43.273010 c
1.881652 44.096046 l
h
1.791360 45.971710 m
1.906011 46.595535 2.163192 47.185143 2.543410 47.694855 c
0.138738 49.488609 l
-0.516876 48.609703 -0.961107 47.591957 -1.159222 46.513985 c
1.791360 45.971710 l
h
2.543410 47.694855 m
2.923647 48.204590 3.416828 48.620872 3.985142 48.911095 c
2.620721 51.582867 l
1.643657 51.083900 0.794334 50.367485 0.138738 49.488609 c
2.543410 47.694855 l
h
3.983269 48.910141 m
5.570595 49.717957 7.341166 50.102791 9.122582 50.026863 c
9.250330 53.024147 l
6.953609 53.122036 4.670328 52.625942 2.622593 51.583820 c
3.983269 48.910141 l
h
9.122582 50.026863 m
10.903997 49.950943 12.634983 49.416870 14.147068 48.477066 c
15.730698 51.025032 l
13.779592 52.237698 11.547053 52.926258 9.250330 53.024147 c
9.122582 50.026863 l
h
14.151858 48.474106 m
28.836800 39.423286 l
30.410849 41.977180 l
15.725907 51.027996 l
14.151858 48.474106 l
h
30.591740 39.554314 m
33.454056 41.972000 l
31.518227 44.263847 l
28.655907 41.846161 l
30.591740 39.554314 l
h
33.812378 43.818703 m
2.202421 103.640831 l
-0.450053 102.239265 l
31.159904 42.417145 l
33.812378 43.818703 l
h
2.203390 103.638992 m
1.463501 105.043953 1.300187 106.679581 1.747344 108.201660 c
-1.131015 109.047272 l
-1.798195 106.776253 -1.554216 104.335930 -0.451022 102.241104 c
2.203390 103.638992 l
h
1.747344 108.201660 m
2.194540 109.723877 3.217949 111.015297 4.603770 111.802422 c
3.122133 114.411011 l
1.061644 113.240685 -0.463873 111.318153 -1.131015 109.047272 c
1.747344 108.201660 l
h
4.599438 111.799965 m
5.313483 112.202408 6.101340 112.458717 6.916702 112.553635 c
6.569831 115.533508 l
5.358835 115.392548 4.188111 115.011810 3.126465 114.413460 c
4.599438 111.799965 l
h
6.916702 112.553635 m
7.732068 112.648544 8.558220 112.580101 9.346520 112.352394 c
10.179056 115.234566 l
9.007913 115.572861 7.780822 115.674477 6.569831 115.533508 c
6.916702 112.553635 l
h
9.346520 112.352394 m
10.134811 112.124695 10.869125 111.742386 11.506388 111.228226 c
13.390175 113.563042 l
12.442001 114.328049 11.350207 114.896271 10.179056 115.234566 c
9.346520 112.352394 l
h
11.506388 111.228226 m
12.143638 110.714081 12.670938 110.078499 13.057572 109.359047 c
15.700153 110.779182 l
15.123836 111.851593 14.338361 112.798019 13.390175 113.563042 c
11.506388 111.228226 l
h
13.047332 109.378448 m
29.350103 77.948578 l
32.013168 79.329918 l
15.710394 110.759781 l
13.047332 109.378448 l
h
f
n
Q
q
0.980061 -0.198696 -0.198696 -0.980061 18.139366 124.988373 cm
0.082353 0.494118 0.984314 scn
14.304977 14.235680 m
14.304977 10.721280 11.443786 7.862720 7.902489 7.862720 c
7.902489 4.862720 l
13.090040 4.862720 17.304977 9.053846 17.304977 14.235680 c
14.304977 14.235680 l
h
7.902489 7.862720 m
4.361192 7.862720 1.500000 10.721280 1.500000 14.235680 c
-1.500000 14.235680 l
-1.500000 9.053846 2.714937 4.862720 7.902489 4.862720 c
7.902489 7.862720 l
h
1.500000 14.235680 m
1.500000 17.750080 4.361194 20.608643 7.902489 20.608643 c
7.902489 23.608643 l
2.714936 23.608643 -1.500000 19.417511 -1.500000 14.235680 c
1.500000 14.235680 l
h
7.902489 20.608643 m
11.443784 20.608643 14.304977 17.750080 14.304977 14.235680 c
17.304977 14.235680 l
17.304977 19.417511 13.090041 23.608643 7.902489 23.608643 c
7.902489 20.608643 l
h
f
n
Q
q
0.980061 -0.198696 -0.198696 -0.980061 18.744490 108.637466 cm
0.082353 0.494118 0.984314 scn
17.366123 73.170639 m
17.836908 73.852287 17.665968 74.786530 16.984314 75.257317 c
16.302660 75.728104 15.368423 75.557159 14.897636 74.875504 c
17.366123 73.170639 l
h
-0.216979 6.223854 m
-0.062933 5.409882 0.721807 4.874901 1.535785 5.028946 c
2.349764 5.182991 2.884745 5.967728 2.730698 6.781708 c
-0.216979 6.223854 l
h
14.897636 74.875504 m
5.401996 61.126732 -5.226364 32.693359 -0.216979 6.223854 c
2.730698 6.781708 l
-2.091360 32.261379 8.194466 59.890961 17.366123 73.170639 c
14.897636 74.875504 l
h
f
n
Q
q
0.980061 -0.198696 -0.198696 -0.980061 12.316896 50.234650 cm
0.082353 0.494118 0.984314 scn
-0.590866 13.476810 m
-1.352314 13.150484 -1.705049 12.268669 -1.378723 11.507221 c
-1.052397 10.745773 -0.170581 10.393038 0.590866 10.719364 c
-0.590866 13.476810 l
h
11.138151 16.871460 m
12.604726 17.186354 l
12.510608 17.624699 12.225348 17.997963 11.827100 18.203882 c
11.428851 18.409803 10.959372 18.426786 10.547285 18.250183 c
11.138151 16.871460 l
h
12.714355 5.946629 m
12.996131 5.167595 13.856087 4.764487 14.635121 5.046264 c
15.414155 5.328039 15.817262 6.187996 15.535486 6.967030 c
12.714355 5.946629 l
h
0.590866 10.719364 m
11.729017 15.492737 l
10.547285 18.250183 l
-0.590866 13.476810 l
0.590866 10.719364 l
h
9.671576 16.556566 m
10.444746 12.955635 11.461326 9.410912 12.714355 5.946629 c
15.535486 6.967030 l
14.328569 10.303824 13.349420 13.718046 12.604726 17.186354 c
9.671576 16.556566 l
h
f
n
Q
endstream
endobj
3 0 obj
12527
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 140.698730 120.520630 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000034 00000 n
0000012617 00000 n
0000012641 00000 n
0000012816 00000 n
0000012890 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
12949
%%EOF
@@ -0,0 +1,25 @@
{
"images" : [
{
"filename" : "Logo_light.pdf",
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "Logo_dark.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
},
"properties" : {
"preserves-vector-representation" : true
}
}
@@ -0,0 +1,85 @@
%PDF-1.7
1 0 obj
<< /ExtGState << /E1 << /ca 0.620000 >> >> >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
/E1 gs
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
1.000000 1.000000 1.000000 scn
20.122700 64.000000 m
0.000000 64.000000 l
0.000000 0.000000 l
40.000000 0.000000 l
24.539877 24.861538 l
33.374233 27.076923 40.000000 34.707691 40.000000 44.307693 c
40.000000 55.138462 31.165646 64.000000 20.122700 64.000000 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
1.000000 1.000000 1.000000 scn
0.000000 0.000000 m
40.000000 0.000000 l
0.000000 64.000000 l
0.000000 0.000000 l
h
f
n
Q
endstream
endobj
3 0 obj
545
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 40.000000 64.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000074 00000 n
0000000675 00000 n
0000000697 00000 n
0000000870 00000 n
0000000944 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
1003
%%EOF
@@ -0,0 +1,85 @@
%PDF-1.7
1 0 obj
<< /ExtGState << /E1 << /ca 0.620000 >> >> >>
endobj
2 0 obj
<< /Length 3 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
/E1 gs
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.121569 0.403922 0.850980 scn
20.122700 64.000000 m
0.000000 64.000000 l
0.000000 0.000000 l
40.000000 0.000000 l
24.539877 24.861538 l
33.374233 27.076923 40.000000 34.707691 40.000000 44.307693 c
40.000000 55.138462 31.165646 64.000000 20.122700 64.000000 c
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
0.121569 0.403922 0.850980 scn
0.000000 0.000000 m
40.000000 0.000000 l
0.000000 64.000000 l
0.000000 0.000000 l
h
f
n
Q
endstream
endobj
3 0 obj
545
endobj
4 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 40.000000 64.000000 ]
/Resources 1 0 R
/Contents 2 0 R
/Parent 5 0 R
>>
endobj
5 0 obj
<< /Kids [ 4 0 R ]
/Count 1
/Type /Pages
>>
endobj
6 0 obj
<< /Type /Catalog
/Pages 5 0 R
>>
endobj
xref
0 7
0000000000 65535 f
0000000010 00000 n
0000000074 00000 n
0000000675 00000 n
0000000697 00000 n
0000000870 00000 n
0000000944 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 6 0 R
/Size 7
>>
startxref
1003
%%EOF
-2
View File
@@ -46,8 +46,6 @@
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
@@ -1,55 +0,0 @@
//
// CommerceView.swift
// Example
//
// Created by Igor K. on 20.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import SwiftUI
struct CommerceView: View {
var body: some View {
Screen(color: .background) {
VStack {
self.avatar
self.title
self.info
}
}
}
private var avatar: some View {
ZStack {
Color.background
.clipShape(Circle())
.overlay(Circle().stroke(Color.stroke, lineWidth: 0.5))
.frame(size: CGSize(uniform: 60))
.shadow(color: Color.shadow, radius: 7, y: 3)
RandomIcon()
}
}
private var title: some View {
Text(Lorem.words(3).capitalized)
.font(.subheadline)
.foregroundColor(.textColor)
.lineLimit(1)
.padding(.top, 40)
.padding(.horizontal)
}
private var info: some View {
Text(Lorem.sentences(3))
.font(.body)
.foregroundColor(.contrastInformationColor)
.fixedSize(horizontal: false, vertical: true)
.padding(.all)
}
}
struct CommerceView_Previews: PreviewProvider {
static var previews: some View {
CommerceView()
}
}
@@ -1,71 +0,0 @@
//
// ExchangeView.swift
// Example
//
// Created by Igor K. on 20.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import SwiftUI
struct ExchangeView: View {
@State private var currentIndex: Int = 0
var body: some View {
let pagerView = SwiftUIPagerView(pages: self.pages) { index in
withAnimation { self.currentIndex = index }
}
return Screen(color: .background) {
VStack {
self.title
self.description
pagerView.frame(height: 350)
PageControl(pagesCount: 4, index: self.$currentIndex)
Spacer()
}
}
}
private var title: some View {
Text(Lorem.words(3).capitalized)
.font(.subheadline)
.foregroundColor(.textColor)
.lineLimit(1)
.padding(.top, 40)
.padding(.horizontal)
}
private var description: some View {
Text(Lorem.sentences(3))
.font(.body)
.foregroundColor(.contrastInformationColor)
.fixedSize(horizontal: false, vertical: true)
.padding(.all)
}
private var pages: [Page] {
return (0..<4).map { index in Page() }
}
}
struct Page: View, Identifiable {
let id = UUID()
var body: some View {
Color.background
.clipShape(RoundedRectangle(cornerRadius: 8))
.overlay(RoundedRectangle(cornerRadius: 8).stroke(Color.stroke, lineWidth: 0.5))
.frame(height: 300)
.shadow(color: Color.shadow, radius: 7, y: 3)
.overlay(RandomIcon().padding(), alignment: .topLeading)
.padding(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15))
}
}
struct ExchangeView_Previews: PreviewProvider {
static var previews: some View {
ExchangeView()
}
}
+41
View File
@@ -0,0 +1,41 @@
//
// FirstView.swift
// Example
//
// Created by Igor K. on 05.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import Foundation
import SwiftUI
struct FirstView: View {
var body: some View {
Screen(color: .background) {
VStack(alignment: .leading) {
Image("Logo")
.padding(.leading, 40)
Text("SwiftUI Blob Menu")
.font(Font.system(size: 24, weight: Font.Weight.semibold))
.foregroundColor(.contrastText)
.lineLimit(1)
.padding(.top, 110)
.padding(.horizontal, 40)
Text("Open the menu by tapping on the hamburger. To close the menu, just tap outside. In this example, by tapping on the menu you will switch the screen view, but it can be used for other purposes. In code you can update the configuration to the close menu after item has been selected.")
.font(Font.system(size: 16))
.lineSpacing(6)
.foregroundColor(.contrastInformation)
.fixedSize(horizontal: false, vertical: true)
.padding(.top, 24)
.padding(.horizontal, 40)
Spacer()
HStack { Spacer() }
}
.frame(maxHeight: 500)
}
}
}
+72
View File
@@ -0,0 +1,72 @@
//
// FourthView.swift
// Example
//
// Created by Igor K. on 20.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import SwiftUI
private let cardHeight: CGFloat = 156
struct FourthView: View {
@Binding var isDragging: Bool
var body: some View {
let v = (UIScreen.main.bounds.height - cardHeight) / 2
let vd: CGFloat = 50
let insets = UIEdgeInsets(top: v - vd, left: 0, bottom: v + vd, right: 0)
return Screen(color: .background) {
ZStack {
VStack(alignment: .leading) {
Image("Logo")
.padding(.leading, 40)
Spacer()
HStack {
Spacer()
Image("Icon_Swipe")
Spacer()
}
.padding(.bottom, UIScreen.main.bounds.height < 800 ? 50 : 0)
}
.frame(maxHeight: 500)
ExtendedScrollView(isDragging: self.$isDragging, contentInset: insets) {
ItemCell().background(Color.clear)
}
}
}
}
}
private struct ItemCell: View {
var body: some View {
VStack(alignment: .leading) {
Text("Drag scroll view")
.font(Font.system(size: 24, weight: Font.Weight.semibold))
.foregroundColor(Color.contrastText)
.lineLimit(1)
.padding(Edge.Set.all.subtracting(.bottom))
Text("This is example shows how you can hide the menu while the user is interacting with other UI.")
.font(Font.system(size: 16))
.lineSpacing(6)
.foregroundColor(Color.contrastInformation)
.fixedSize(horizontal: false, vertical: true)
.padding(.trailing, 60)
.padding(Edge.Set.all.subtracting(.trailing))
}
.frame(height: cardHeight)
.background(Color.cardBackgound)
.clipShape(RoundedRectangle(cornerRadius: 8))
.shadow(color: Color.shadow, radius: 7, y: 3)
.padding(EdgeInsets(top: 7, leading: 15, bottom: 7, trailing: 15))
}
}
+12 -28
View File
@@ -21,12 +21,17 @@ struct RootView: View {
@State private var screen: Screen = .wallet
@State private var isDragging: Bool = false
@ObservedObject private var blobMenuModel = BlobMenuModel(items: BlobMenuItem.all)
//You can use blob menu as simple observable object
//@ObservedObject private var blobMenuModel = BlobMenuModel(items: BlobMenuItem.all)
//Or by using it as environment object
@EnvironmentObject var blobMenuModel: BlobMenuModel
var body: some View {
ZStack {
screenView.edgesIgnoringSafeArea(Edge.Set.all.subtracting(.top))
menuView.opacity(isDragging ? 0.1 : 1)
menuView.opacity(isDragging ? 0.05 : 1)
}
.background(Color.background)
}
@@ -34,17 +39,17 @@ struct RootView: View {
private var screenView: some View {
let screen = Screen(rawValue: blobMenuModel.selectedIndex) ?? .wallet
switch screen {
case .wallet: return WalletView(isDragging: $isDragging.animatable).asAnyView
case .exchange: return ExchangeView().asAnyView
case .commerce: return CommerceView().asAnyView
case .stocks: return StocksView(isDragging: $isDragging.animatable).asAnyView
case .wallet: return FirstView().asAnyView
case .exchange: return SecondView().asAnyView
case .commerce: return ThirdView().asAnyView
case .stocks: return FourthView(isDragging: $isDragging.animatable).asAnyView
}
}
private var menuView: some View {
VStack {
Spacer()
BlobMenuView(model: blobMenuModel).padding(.bottom, 30)
BlobMenuView(model: blobMenuModel).padding(.bottom, 50)
}
}
}
@@ -54,24 +59,3 @@ struct RootView_Previews: PreviewProvider {
RootView()
}
}
extension BlobMenuItem {
static let all: [BlobMenuItem] = [
BlobMenuItem(selectedIcon: Image.walletSelected, unselectedIcon: Image.walletUnselected, offset: CGPoint(x: 1, y: -2)),
BlobMenuItem(selectedIcon: Image.exchangeSelected, unselectedIcon: Image.exchangeUnselected),
BlobMenuItem(selectedIcon: Image.bitcoinSelected, unselectedIcon: Image.bitcoinUnselected),
BlobMenuItem(selectedIcon: Image.gridSelected, unselectedIcon: Image.gridUnselected)
]
}
extension Image {
static let walletSelected = Image("Icon_Wallet_black")
static let walletUnselected = Image("Icon_Wallet_gray")
static let bitcoinSelected = Image("Icon_Bitcoin_black")
static let bitcoinUnselected = Image("Icon_Bitcoin_gray")
static let exchangeSelected = Image("Icon_Exchange_black")
static let exchangeUnselected = Image("Icon_Exchange_gray")
static let gridSelected = Image("Icon_Grid_black")
static let gridUnselected = Image("Icon_Grid_gray")
}
+52
View File
@@ -0,0 +1,52 @@
//
// SecondView.swift
// Example
//
// Created by Igor K. on 20.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import SwiftUI
import BlobMenu
struct SecondView: View {
@Environment(\.menuEnvironment) private var menuModel: BlobMenuModel
var body: some View {
Screen(color: .background) {
VStack(alignment: .leading) {
Image("Logo")
.padding(.leading, 40)
Text("Menu model")
.font(Font.system(size: 24, weight: Font.Weight.semibold))
.foregroundColor(.contrastText)
.lineLimit(1)
.padding(.top, 110)
.padding(.horizontal, 40)
Text("Also, the menu can be opened and closed programmatically. Or switch the selected index")
.font(Font.system(size: 16))
.lineSpacing(6)
.foregroundColor(.contrastInformation)
.fixedSize(horizontal: false, vertical: true)
.padding(.top, 24)
.padding(.horizontal, 40)
HStack(spacing: 16) {
Buttons.roundRect(title: "Close") { self.menuModel.closeMenu() }
Buttons.roundRect(title: "Open") { self.menuModel.openMenu() }
Buttons.roundRect(title: "Next") { self.menuModel.selectIndex(2) }
}
.padding(.horizontal, 40)
.padding(.top, 40)
Spacer()
HStack { Spacer() }
}
.frame(maxHeight: 500)
}
}
}
-85
View File
@@ -1,85 +0,0 @@
//
// StocksView.swift
// Example
//
// Created by Igor K. on 20.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import SwiftUI
struct StocksView: View {
@Binding var isDragging: Bool
var body: some View {
Screen(color: .background) {
ExtendedScrollView(isDragging: self.$isDragging, contentInset: Theme.contentInset) {
VStack(spacing: Theme.padding) {
self.verticalCollection
self.horizontalCollection
self.verticalCollection
}
.background(Color.background)
}
}
}
private var verticalCollection: some View {
GridStack(columns: 4, rows: 2, spacing: Theme.padding) { row, col in
self.cell(size: Theme.cellSize)
.overlay(RandomIcon().padding(), alignment: .topLeading)
}.background(Color.background)
}
private var horizontalCollection: some View {
ExtendedScrollView(axis: .horizontal, isDragging: $isDragging, contentInset: Theme.horizontalContentInset) {
HStack(spacing: Theme.padding) {
ForEach(0..<10) { index in
self.cell(size: Theme.horizontalCellSize)
.padding(.vertical, 20)
.overlay(RandomIcon())
}
}.background(Color.background)
}
.frame(height: Theme.horizontalCellSize.height + 40)
}
private func cell(size: CGSize) -> some View {
Color.background
.clipShape(RoundedRectangle(cornerRadius: 8))
.overlay(RoundedRectangle(cornerRadius: 8).stroke(Color.stroke, lineWidth: 0.5))
.frame(size: size)
.shadow(color: Color.shadow, radius: 7, y: 3)
}
}
struct StocksView_Previews: PreviewProvider {
static var previews: some View {
StocksView(isDragging: .constant(false))
}
}
//MARK: - Theme
extension StocksView {
enum Theme {
static let padding: CGFloat = 20
static private let w = (UIScreen.main.bounds.width - padding * 3) / 2
static var horizontalCellSize: CGSize {
let h = floor(w * 0.5)
return CGSize(width: w, height: h)
}
static var cellSize: CGSize {
let w = (UIScreen.main.bounds.width - padding * 3) / 2
let h = floor(w * 1.25)
return CGSize(width: w, height: h)
}
static let contentInset = UIEdgeInsets(top: 20, left: 0, bottom: UIWindow.safeInsets.bottom + 20, right: 0)
static let horizontalContentInset = UIEdgeInsets(horizontal: 20, vertical: 0)
}
}
+51
View File
@@ -0,0 +1,51 @@
//
// ThirdView.swift
// Example
//
// Created by Igor K. on 20.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import SwiftUI
import BlobMenu
struct ThirdView: View {
@Environment(\.menuEnvironment) private var menuModel: BlobMenuModel
var body: some View {
Screen(color: .background) {
VStack(alignment: .leading) {
Image("Logo")
.padding(.leading, 40)
Text("Menu items")
.font(Font.system(size: 24, weight: Font.Weight.semibold))
.foregroundColor(.contrastText)
.lineLimit(1)
.padding(.top, 110)
.padding(.horizontal, 40)
Text("The menu supports dynamically updating item count. If the UI layout cant to show all items simultaneously, they will be wrapped in a scroll view.")
.font(Font.system(size: 16))
.lineSpacing(6)
.foregroundColor(.contrastInformation)
.fixedSize(horizontal: false, vertical: true)
.padding(.top, 24)
.padding(.horizontal, 40)
HStack(spacing: 16) {
Buttons.roundRect(title: "Remove") { self.menuModel.items = BlobMenuItem.standard }
Buttons.roundRect(title: "Add") { self.menuModel.items = BlobMenuItem.extended }
}
.padding(.horizontal, 40)
.padding(.top, 40)
Spacer()
HStack { Spacer() }
}
.frame(maxHeight: 500)
}
}
}
-63
View File
@@ -1,63 +0,0 @@
//
// WalletView.swift
// Example
//
// Created by Igor K. on 05.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import Foundation
import SwiftUI
struct WalletView: View {
@Binding var isDragging: Bool
var body: some View {
Screen(color: .background) {
ExtendedScrollView(isDragging: self.$isDragging, contentInset: Theme.contentInset) {
ForEach(0..<10) { index in
ItemCell()
}.background(Color.background)
}
}
}
}
private struct ItemCell: View {
var body: some View {
VStack(alignment: .leading) {
Rectangle()
.fill(Color.lightGray)
.aspectRatio(5/3, contentMode: .fill)
.layoutPriority(1)
.overlay(RandomIcon().padding(), alignment: .topLeading)
Text(Lorem.words(3).capitalized)
.font(.subheadline)
.foregroundColor(.textColor)
.lineLimit(1)
.padding(Edge.Set.all.subtracting(.bottom))
Text(Lorem.paragraph)
.font(.body)
.foregroundColor(.contrastInformationColor)
.fixedSize(horizontal: false, vertical: true)
.padding(.all)
}
.background(Color.background)
.clipShape(RoundedRectangle(cornerRadius: 8))
.overlay(RoundedRectangle(cornerRadius: 8)
.stroke(Color.stroke, lineWidth: 0.5))
.shadow(color: Color.shadow, radius: 7, y: 3)
.padding(EdgeInsets(top: 0, leading: 15, bottom: 5, trailing: 15))
}
}
//MARK: - Theme
extension WalletView {
enum Theme {
static let contentInset = UIEdgeInsets(top: 20, left: 0, bottom: UIWindow.safeInsets.bottom + 20, right: 0)
}
}
@@ -30,6 +30,7 @@ struct ExtendedScrollView: UIViewRepresentable {
init<Content: View>(axis: Axis = .vertical,
isDragging: Binding<Bool> = .constant(false),
showsIndicators: Bool = false,
alwaysBounce: Bool = true,
contentInset: UIEdgeInsets = .zero,
@ViewBuilder content: () -> Content) {
@@ -37,6 +38,7 @@ struct ExtendedScrollView: UIViewRepresentable {
let hosting = UIHostingController(rootView: content())
hosting.view.translatesAutoresizingMaskIntoConstraints = false
hosting.view.backgroundColor = .clear
hosting.edgesForExtendedLayout = .all
hosting.extendedLayoutIncludesOpaqueBars = true
@@ -46,10 +48,13 @@ struct ExtendedScrollView: UIViewRepresentable {
scrollView.contentInsetAdjustmentBehavior = .never
scrollView.contentInset = contentInset
scrollView.contentOffset = .zero
scrollView.backgroundColor = .clear
let constraints: [NSLayoutConstraint]
switch axis {
case .horizontal:
scrollView.alwaysBounceHorizontal = alwaysBounce
constraints = [
hosting.view.leadingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.leadingAnchor),
hosting.view.trailingAnchor.constraint(equalTo: scrollView.contentLayoutGuide.trailingAnchor),
@@ -58,6 +63,8 @@ struct ExtendedScrollView: UIViewRepresentable {
hosting.view.heightAnchor.constraint(equalTo: scrollView.heightAnchor)
]
case .vertical:
scrollView.alwaysBounceVertical = alwaysBounce
constraints = [
hosting.view.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
hosting.view.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor),
-36
View File
@@ -1,36 +0,0 @@
//
// GridStack.swift
// Example
//
// Created by Igor K. on 05.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import Foundation
import SwiftUI
public struct GridStack<Content: View>: View {
let columns: Int
let rows: Int
let spacing: CGFloat
let content: (Int, Int) -> Content
public init(columns: Int, rows: Int, spacing: CGFloat = 0, @ViewBuilder content: @escaping (Int, Int) -> Content) {
self.columns = columns
self.rows = rows
self.spacing = spacing
self.content = content
}
public var body: some View {
VStack(spacing: self.spacing) {
ForEach(0..<self.rows, id: \.self) { row in
HStack(spacing: self.spacing) {
ForEach(0..<self.columns, id: \.self) { column in
self.content(column, row)
}
}
}
}
}
}
-52
View File
@@ -1,52 +0,0 @@
import Foundation
import SwiftUI
struct PageControl: View {
@Binding private var index: Int
private let pagesCount: Int
private let diameter: CGFloat
private let spacing: CGFloat
private var width: CGFloat {
return CGFloat(pagesCount) * diameter + CGFloat(pagesCount - 1) * spacing
}
private var size: CGSize {
return CGSize(width: width, height: diameter)
}
init(diameter: CGFloat = 6,
spacing: CGFloat = 10,
pagesCount: Int,
index: Binding<Int>) {
self.diameter = diameter
self.spacing = spacing
self.pagesCount = pagesCount
self._index = index
}
var body: some View {
ZStack {
HStack(spacing: spacing) {
ForEach(0..<pagesCount) { i in
Circle().fill(Color.contrast.opacity(self.index == i ? 1 : 0.3))
}
}
.frame(size: size)
Circle()
.offset(CGPoint(x: getCenteredXPosition(for: self.index), y: 0))
.fill(Color.contrast)
.frame(size: size)
}
}
private func getCenteredXPosition(for index: Int) -> CGFloat {
let position = CGFloat(index) * (diameter + spacing)
let halfAlldotsWidthWithSpaces = (CGFloat(pagesCount - 1) * (diameter + spacing) + diameter) / 2.0
return position - halfAlldotsWidthWithSpaces + diameter / 2
}
}
@@ -1,45 +0,0 @@
import Foundation
import SwiftUI
struct SwiftUIPagerView<Content: View & Identifiable>: View {
@State private var index: Int = 0
@State private var offset: CGFloat = 0
private let pages: [Content]
private let indexChanged: (Int) -> Void
init(pages: [Content], indexChanged: @escaping (Int) -> Void) {
self.pages = pages
self.indexChanged = indexChanged
}
var body: some View {
GeometryReader { geometry in
ScrollView(.horizontal, showsIndicators: false) {
HStack(alignment: .center, spacing: 0) {
ForEach(self.pages) { page in
page
.frame(width: geometry.size.width, height: nil)
}
}
}
.content.offset(x: self.offset)
.frame(width: geometry.size.width, height: nil, alignment: .leading)
.gesture(DragGesture()
.onChanged({ value in
self.offset = value.translation.width - geometry.size.width * CGFloat(self.index)
})
.onEnded({ value in
if abs(value.predictedEndTranslation.width) >= geometry.size.width / 2 {
var nextIndex: Int = (value.predictedEndTranslation.width < 0) ? 1 : -1
nextIndex += self.index
self.index = nextIndex.limited(min: 0, max: self.pages.endIndex - 1)
self.indexChanged(nextIndex)
}
withAnimation { self.offset = -geometry.size.width * CGFloat(self.index) }
})
)
}
}
}
-76
View File
@@ -1,76 +0,0 @@
//
// RandomIcon.swift
// Example
//
// Created by Igor K. on 22.05.2020.
// Copyright © 2020 Ramotion. All rights reserved.
//
import Foundation
import SwiftUI
struct RandomIcon: View {
var body: some View {
let index = Int.random(in: 0..<5)
let result: AnyView
switch index {
case 0: result = circle.frame(size: CGSize(uniform: 30)).asAnyView
case 1: result = roundedRectangle.frame(size: CGSize(uniform: 30)).asAnyView
case 2: result = capsule.frame(size: CGSize(width: 30, height: 20)).asAnyView
case 3: result = elipse.frame(size: CGSize(width: 20, height: 30)).asAnyView
default: result = polygon.frame(size: CGSize(uniform: 30)).asAnyView
}
return result.rotateAroundOnTap
}
private var circle: some View {
Circle().fill(Color.random)
}
private var roundedRectangle: some View {
RoundedRectangle(cornerRadius: 6).fill(Color.random)
}
private var rectangle: some View {
Rectangle().fill(Color.random)
}
private var capsule: some View {
Capsule(style: RoundedCornerStyle.circular).fill(Color.random)
}
private var elipse: some View {
Ellipse().fill(Color.random)
}
private var polygon: some View {
let sidesCount = Int.random(in: 3...8)
return PolygonShape(sides: sidesCount).fill(Color.random)
}
}
private struct PolygonShape: Shape {
var sides: Int
func path(in rect: CGRect) -> Path {
let h = Double(min(rect.size.width, rect.size.height)) / 2.0
let c = CGPoint(x: rect.size.width / 2.0, y: rect.size.height / 2.0)
var path = Path()
for i in 0..<sides {
let angle = Double(i) / Double(sides) * 2 * Double.pi
let pt = CGPoint(x: c.x + CGFloat(cos(angle) * h), y: c.y + CGFloat(sin(angle) * h))
if i == 0 {
path.move(to: pt)
} else {
path.addLine(to: pt)
}
}
path.closeSubpath()
return path
}
}
-291
View File
@@ -1,291 +0,0 @@
//
// Lorem.swift
// Example
//
// Author Lukas Kubanek
// https://github.com/lukaskubanek/LoremSwiftum
//
import Foundation
import Foundation
/// A lightweight lorem ipsum generator.
public final class Lorem {
// ======================================================= //
// MARK: - Text
// ======================================================= //
/// Generates a single word.
public static var word: String {
return allWords.randomElement()!
}
/// Generates multiple words whose count is defined by the given value.
///
/// - Parameter count: The number of words to generate.
/// - Returns: The generated words joined by a space character.
public static func words(_ count: Int) -> String {
return _compose(
word,
count: count,
joinBy: .space
)
}
/// Generates multiple words whose count is randomly selected from within the given range.
///
/// - Parameter range: The range of number of words to generate.
/// - Returns: The generated words joined by a space character.
public static func words(_ range: Range<Int>) -> String {
return _compose(word, count: Int.random(in: range), joinBy: .space)
}
/// Generates multiple words whose count is randomly selected from within the given closed range.
///
/// - Parameter range: The range of number of words to generate.
/// - Returns: The generated words joined by a space character.
public static func words(_ range: ClosedRange<Int>) -> String {
return _compose(word, count: Int.random(in: range), joinBy: .space)
}
/// Generates a single sentence.
public static var sentence: String {
let numberOfWords = Int.random(
in: minWordsCountInSentence...maxWordsCountInSentence
)
return _compose(
word,
count: numberOfWords,
joinBy: .space,
endWith: .dot,
decorate: { $0.firstLetterCapitalized }
)
}
/// Generates multiple sentences whose count is defined by the given value.
///
/// - Parameter count: The number of sentences to generate.
/// - Returns: The generated sentences joined by a space character.
public static func sentences(_ count: Int) -> String {
return _compose(
sentence,
count: count,
joinBy: .space
)
}
/// Generates multiple sentences whose count is selected from within the given range.
///
/// - Parameter count: The number of sentences to generate.
/// - Returns: The generated sentences joined by a space character.
public static func sentences(_ range: Range<Int>) -> String {
return _compose(sentence, count: Int.random(in: range), joinBy: .space)
}
/// Generates multiple sentences whose count is selected from within the given closed range.
///
/// - Parameter count: The number of sentences to generate.
/// - Returns: The generated sentences joined by a space character.
public static func sentences(_ range: ClosedRange<Int>) -> String {
return _compose(sentence, count: Int.random(in: range), joinBy: .space)
}
/// Generates a single paragraph.
public static var paragraph: String {
let numberOfSentences = Int.random(
in: minSentencesCountInParagraph...maxSentencesCountInParagraph
)
return _compose(
sentence,
count: numberOfSentences,
joinBy: .space
)
}
/// Generates multiple paragraphs whose count is defined by the given value.
///
/// - Parameter count: The number of paragraphs to generate.
/// - Returns: The generated paragraphs joined by a new line character.
public static func paragraphs(_ count: Int) -> String {
return _compose(
paragraph,
count: count,
joinBy: .newLine
)
}
/// Generates multiple paragraphs whose count is selected from within the given range.
///
/// - Parameter count: The number of paragraphs to generate.
/// - Returns: The generated paragraphs joined by a new line character.
public static func paragraphs(_ range: Range<Int>) -> String {
return _compose(
paragraph,
count: Int.random(in: range),
joinBy: .newLine
)
}
/// Generates multiple paragraphs whose count is selected from within the given closed range.
///
/// - Parameter count: The number of paragraphs to generate.
/// - Returns: The generated paragraphs joined by a new line character.
public static func paragraphs(_ range: ClosedRange<Int>) -> String {
return _compose(
paragraph,
count: Int.random(in: range),
joinBy: .newLine
)
}
/// Generates a capitalized title.
public static var title: String {
let numberOfWords = Int.random(
in: minWordsCountInTitle...maxWordsCountInTitle
)
return _compose(
word,
count: numberOfWords,
joinBy: .space,
decorate: { $0.capitalized }
)
}
// ======================================================= //
// MARK: - Names
// ======================================================= //
/// Generates a first name.
public static var firstName: String {
return firstNames.randomElement()!
}
/// Generates a last name.
public static var lastName: String {
return lastNames.randomElement()!
}
/// Generates a full name.
public static var fullName: String {
return "\(firstName) \(lastName)"
}
// ======================================================= //
// MARK: - Email Addresses & URLs
// ======================================================= //
/// Generates an email address.
public static var emailAddress: String {
let emailDelimiter = emailDelimiters.randomElement()!
let emailDomain = emailDomains.randomElement()!
return "\(firstName)\(emailDelimiter)\(lastName)@\(emailDomain)".lowercased()
}
/// Generates a URL.
public static var url: String {
let urlScheme = urlSchemes.randomElement()!
let urlDomain = urlDomains.randomElement()!
return "\(urlScheme)://\(urlDomain)"
}
// ======================================================= //
// MARK: - Tweets
// ======================================================= //
/// Generates a random tweet which is shorter than 140 characters.
public static var shortTweet: String {
return _composeTweet(shortTweetMaxLength)
}
/// Generates a random tweet which is shorter than 280 characters.
public static var tweet: String {
return _composeTweet(tweetMaxLength)
}
}
extension Lorem {
fileprivate enum Separator: String {
case none = ""
case space = " "
case dot = "."
case newLine = "\n"
}
fileprivate static func _compose(
_ provider: @autoclosure () -> String,
count: Int,
joinBy middleSeparator: Separator,
endWith endSeparator: Separator = .none,
decorate decorator: ((String) -> String)? = nil
) -> String {
var string = ""
for index in 0..<count {
string += provider()
if (index < count - 1) {
string += middleSeparator.rawValue
} else {
string += endSeparator.rawValue
}
}
if let decorator = decorator {
string = decorator(string)
}
return string
}
fileprivate static func _composeTweet(_ maxLength: Int) -> String {
for numberOfSentences in [4, 3, 2, 1] {
let tweet = sentences(numberOfSentences)
if tweet.count < maxLength {
return tweet
}
}
return ""
}
fileprivate static let minWordsCountInSentence = 4
fileprivate static let maxWordsCountInSentence = 16
fileprivate static let minSentencesCountInParagraph = 3
fileprivate static let maxSentencesCountInParagraph = 9
fileprivate static let minWordsCountInTitle = 2
fileprivate static let maxWordsCountInTitle = 7
fileprivate static let shortTweetMaxLength = 140
fileprivate static let tweetMaxLength = 280
fileprivate static let allWords = ["alias", "consequatur", "aut", "perferendis", "sit", "voluptatem", "accusantium", "doloremque", "aperiam", "eaque", "ipsa", "quae", "ab", "illo", "inventore", "veritatis", "et", "quasi", "architecto", "beatae", "vitae", "dicta", "sunt", "explicabo", "aspernatur", "aut", "odit", "aut", "fugit", "sed", "quia", "consequuntur", "magni", "dolores", "eos", "qui", "ratione", "voluptatem", "sequi", "nesciunt", "neque", "dolorem", "ipsum", "quia", "dolor", "sit", "amet", "consectetur", "adipisci", "velit", "sed", "quia", "non", "numquam", "eius", "modi", "tempora", "incidunt", "ut", "labore", "et", "dolore", "magnam", "aliquam", "quaerat", "voluptatem", "ut", "enim", "ad", "minima", "veniam", "quis", "nostrum", "exercitationem", "ullam", "corporis", "nemo", "enim", "ipsam", "voluptatem", "quia", "voluptas", "sit", "suscipit", "laboriosam", "nisi", "ut", "aliquid", "ex", "ea", "commodi", "consequatur", "quis", "autem", "vel", "eum", "iure", "reprehenderit", "qui", "in", "ea", "voluptate", "velit", "esse", "quam", "nihil", "molestiae", "et", "iusto", "odio", "dignissimos", "ducimus", "qui", "blanditiis", "praesentium", "laudantium", "totam", "rem", "voluptatum", "deleniti", "atque", "corrupti", "quos", "dolores", "et", "quas", "molestias", "excepturi", "sint", "occaecati", "cupiditate", "non", "provident", "sed", "ut", "perspiciatis", "unde", "omnis", "iste", "natus", "error", "similique", "sunt", "in", "culpa", "qui", "officia", "deserunt", "mollitia", "animi", "id", "est", "laborum", "et", "dolorum", "fuga", "et", "harum", "quidem", "rerum", "facilis", "est", "et", "expedita", "distinctio", "nam", "libero", "tempore", "cum", "soluta", "nobis", "est", "eligendi", "optio", "cumque", "nihil", "impedit", "quo", "porro", "quisquam", "est", "qui", "minus", "id", "quod", "maxime", "placeat", "facere", "possimus", "omnis", "voluptas", "assumenda", "est", "omnis", "dolor", "repellendus", "temporibus", "autem", "quibusdam", "et", "aut", "consequatur", "vel", "illum", "qui", "dolorem", "eum", "fugiat", "quo", "voluptas", "nulla", "pariatur", "at", "vero", "eos", "et", "accusamus", "officiis", "debitis", "aut", "rerum", "necessitatibus", "saepe", "eveniet", "ut", "et", "voluptates", "repudiandae", "sint", "et", "molestiae", "non", "recusandae", "itaque", "earum", "rerum", "hic", "tenetur", "a", "sapiente", "delectus", "ut", "aut", "reiciendis", "voluptatibus", "maiores", "doloribus", "asperiores", "repellat"]
fileprivate static let firstNames = ["Judith", "Angelo", "Margarita", "Kerry", "Elaine", "Lorenzo", "Justice", "Doris", "Raul", "Liliana", "Kerry", "Elise", "Ciaran", "Johnny", "Moses", "Davion", "Penny", "Mohammed", "Harvey", "Sheryl", "Hudson", "Brendan", "Brooklynn", "Denis", "Sadie", "Trisha", "Jacquelyn", "Virgil", "Cindy", "Alexa", "Marianne", "Giselle", "Casey", "Alondra", "Angela", "Katherine", "Skyler", "Kyleigh", "Carly", "Abel", "Adrianna", "Luis", "Dominick", "Eoin", "Noel", "Ciara", "Roberto", "Skylar", "Brock", "Earl", "Dwayne", "Jackie", "Hamish", "Sienna", "Nolan", "Daren", "Jean", "Shirley", "Connor", "Geraldine", "Niall", "Kristi", "Monty", "Yvonne", "Tammie", "Zachariah", "Fatima", "Ruby", "Nadia", "Anahi", "Calum", "Peggy", "Alfredo", "Marybeth", "Bonnie", "Gordon", "Cara", "John", "Staci", "Samuel", "Carmen", "Rylee", "Yehudi", "Colm", "Beth", "Dulce", "Darius", "inley", "Javon", "Jason", "Perla", "Wayne", "Laila", "Kaleigh", "Maggie", "Don", "Quinn", "Collin", "Aniya", "Zoe", "Isabel", "Clint", "Leland", "Esmeralda", "Emma", "Madeline", "Byron", "Courtney", "Vanessa", "Terry", "Antoinette", "George", "Constance", "Preston", "Rolando", "Caleb", "Kenneth", "Lynette", "Carley", "Francesca", "Johnnie", "Jordyn", "Arturo", "Camila", "Skye", "Guy", "Ana", "Kaylin", "Nia", "Colton", "Bart", "Brendon", "Alvin", "Daryl", "Dirk", "Mya", "Pete", "Joann", "Uriel", "Alonzo", "Agnes", "Chris", "Alyson", "Paola", "Dora", "Elias", "Allen", "Jackie", "Eric", "Bonita", "Kelvin", "Emiliano", "Ashton", "Kyra", "Kailey", "Sonja", "Alberto", "Ty", "Summer", "Brayden", "Lori", "Kelly", "Tomas", "Joey", "Billie", "Katie", "Stephanie", "Danielle", "Alexis", "Jamal", "Kieran", "Lucinda", "Eliza", "Allyson", "Melinda", "Alma", "Piper", "Deana", "Harriet", "Bryce", "Eli", "Jadyn", "Rogelio", "Orlaith", "Janet", "Randal", "Toby", "Carla", "Lorie", "Caitlyn", "Annika", "Isabelle", "inn", "Ewan", "Maisie", "Michelle", "Grady", "Ida", "Reid", "Emely", "Tricia", "Beau", "Reese", "Vance", "Dalton", "Lexi", "Rafael", "Makenzie", "Mitzi", "Clinton", "Xena", "Angelina", "Kendrick", "Leslie", "Teddy", "Jerald", "Noelle", "Neil", "Marsha", "Gayle", "Omar", "Abigail", "Alexandra", "Phil", "Andre", "Billy", "Brenden", "Bianca", "Jared", "Gretchen", "Patrick", "Antonio", "Josephine", "Kyla", "Manuel", "Freya", "Kellie", "Tonia", "Jamie", "Sydney", "Andres", "Ruben", "Harrison", "Hector", "Clyde", "Wendell", "Kaden", "Ian", "Tracy", "Cathleen", "Shawn"]
fileprivate static let lastNames = ["Chung", "Chen", "Melton", "Hill", "Puckett", "Song", "Hamilton", "Bender", "Wagner", "McLaughlin", "McNamara", "Raynor", "Moon", "Woodard", "Desai", "Wallace", "Lawrence", "Griffin", "Dougherty", "Powers", "May", "Steele", "Teague", "Vick", "Gallagher", "Solomon", "Walsh", "Monroe", "Connolly", "Hawkins", "Middleton", "Goldstein", "Watts", "Johnston", "Weeks", "Wilkerson", "Barton", "Walton", "Hall", "Ross", "Chung", "Bender", "Woods", "Mangum", "Joseph", "Rosenthal", "Bowden", "Barton", "Underwood", "Jones", "Baker", "Merritt", "Cross", "Cooper", "Holmes", "Sharpe", "Morgan", "Hoyle", "Allen", "Rich", "Rich", "Grant", "Proctor", "Diaz", "Graham", "Watkins", "Hinton", "Marsh", "Hewitt", "Branch", "Walton", "O'Brien", "Case", "Watts", "Christensen", "Parks", "Hardin", "Lucas", "Eason", "Davidson", "Whitehead", "Rose", "Sparks", "Moore", "Pearson", "Rodgers", "Graves", "Scarborough", "Sutton", "Sinclair", "Bowman", "Olsen", "Love", "McLean", "Christian", "Lamb", "James", "Chandler", "Stout", "Cowan", "Golden", "Bowling", "Beasley", "Clapp", "Abrams", "Tilley", "Morse", "Boykin", "Sumner", "Cassidy", "Davidson", "Heath", "Blanchard", "McAllister", "McKenzie", "Byrne", "Schroeder", "Griffin", "Gross", "Perkins", "Robertson", "Palmer", "Brady", "Rowe", "Zhang", "Hodge", "Li", "Bowling", "Justice", "Glass", "Willis", "Hester", "Floyd", "Graves", "Fischer", "Norman", "Chan", "Hunt", "Byrd", "Lane", "Kaplan", "Heller", "May", "Jennings", "Hanna", "Locklear", "Holloway", "Jones", "Glover", "Vick", "O'Donnell", "Goldman", "McKenna", "Starr", "Stone", "McClure", "Watson", "Monroe", "Abbott", "Singer", "Hall", "Farrell", "Lucas", "Norman", "Atkins", "Monroe", "Robertson", "Sykes", "Reid", "Chandler", "Finch", "Hobbs", "Adkins", "Kinney", "Whitaker", "Alexander", "Conner", "Waters", "Becker", "Rollins", "Love", "Adkins", "Black", "Fox", "Hatcher", "Wu", "Lloyd", "Joyce", "Welch", "Matthews", "Chappell", "MacDonald", "Kane", "Butler", "Pickett", "Bowman", "Barton", "Kennedy", "Branch", "Thornton", "McNeill", "Weinstein", "Middleton", "Moss", "Lucas", "Rich", "Carlton", "Brady", "Schultz", "Nichols", "Harvey", "Stevenson", "Houston", "Dunn", "West", "O'Brien", "Barr", "Snyder", "Cain", "Heath", "Boswell", "Olsen", "Pittman", "Weiner", "Petersen", "Davis", "Coleman", "Terrell", "Norman", "Burch", "Weiner", "Parrott", "Henry", "Gray", "Chang", "McLean", "Eason", "Weeks", "Siegel", "Puckett", "Heath", "Hoyle", "Garrett", "Neal", "Baker", "Goldman", "Shaffer", "Choi", "Carver"]
fileprivate static let emailDomains = ["gmail.com", "yahoo.com", "hotmail.com", "email.com", "live.com", "me.com", "mac.com", "aol.com", "fastmail.com", "mail.com"]
fileprivate static let emailDelimiters = ["", ".", "-", "_"]
fileprivate static let urlSchemes = ["http", "https"]
fileprivate static let urlDomains = ["twitter.com", "google.com", "youtube.com", "wordpress.org", "adobe.com", "blogspot.com", "godaddy.com", "wikipedia.org", "wordpress.com", "yahoo.com", "linkedin.com", "amazon.com", "flickr.com", "w3.org", "apple.com", "myspace.com", "tumblr.com", "digg.com", "microsoft.com", "vimeo.com", "pinterest.com", "stumbleupon.com", "youtu.be", "miibeian.gov.cn", "baidu.com", "feedburner.com", "bit.ly"]
}
extension String {
fileprivate var firstLetterCapitalized: String {
guard !isEmpty else { return self }
return prefix(1).capitalized + dropFirst()
}
}
+1
View File
@@ -23,5 +23,6 @@ struct Screen<Content>: View where Content: View {
backgoundColor.edgesIgnoringSafeArea(.all)
content()
}
.frame(size: UIScreen.main.bounds.size)
}
}
@@ -1,45 +0,0 @@
import Foundation
import SwiftUI
struct TouchGestureViewModifier: ViewModifier {
let touchBegan: () -> Void
let touchEnd: (_ success: Bool) -> Void
@State private var hasBegun = false
@State private var hasEnded = false
private func isTooFar(_ translation: CGSize) -> Bool {
let distance = sqrt(pow(translation.width, 2) + pow(translation.height, 2))
return distance >= 20.0
}
func body(content: Content) -> some View {
content.gesture(DragGesture(minimumDistance: 0)
.onChanged { event in
guard !self.hasEnded else { return }
if self.hasBegun == false {
self.hasBegun = true
self.touchBegan()
} else if self.isTooFar(event.translation) {
self.hasEnded = true
self.touchEnd(false)
}
}
.onEnded { event in
if !self.hasEnded {
let success = !self.isTooFar(event.translation)
self.touchEnd(success)
}
self.hasBegun = false
self.hasEnded = false
})
}
}
extension View {
func onTouchGesture(touchBegan: @escaping () -> Void,
touchEnd: @escaping (_ success: Bool) -> Void) -> some View {
modifier(TouchGestureViewModifier(touchBegan: touchBegan, touchEnd: touchEnd))
}
}
+36 -79
View File
@@ -9,92 +9,49 @@
import Foundation
import SwiftUI
extension Color {
static var random: Color {
return Color(
red: .random(in: 0...1),
green: .random(in: 0...1),
blue: .random(in: 0...1)
)
}
}
extension UIWindow {
static var safeInsets: UIEdgeInsets {
return current?.safeAreaInsets ?? UIEdgeInsets(top: 44, left: 0, bottom: 34, right: 0)
}
static var isFullScreen: Bool {
return current?.frame == UIScreen.main.bounds
}
}
extension View {
public func greedyFrame(alignment: Alignment) -> some View {
return self.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: alignment)
}
}
extension Binding where Value: BindingAnimatable {
var animatable: Binding<Value> {
return Binding<Value>(get: { return self.wrappedValue },
extension Binding where Value == Bool {
var animatable: Binding<Bool> {
return Binding<Bool>(get: { return self.wrappedValue },
set: { b in withAnimation { self.wrappedValue = b } })
}
}
protocol BindingAnimatable { }
extension Bool: BindingAnimatable { }
extension Int: BindingAnimatable { }
extension View {
var rotateAroundOnTap: some View {
self.modifier(RotationAroundModifier())
struct Buttons {
static func roundRect(title: String, action: @escaping () -> Void) -> some View {
Button(action: action, label: {
Text(title).font(Font.system(size: 15))
})
.buttonStyle(RoundRectStyle(fontColor: Color.buttonText, backgroundColor: Color.buttonBackground))
}
}
struct RotationAroundModifier: ViewModifier {
@State private var animationAngle = 0.0
struct RoundRectStyle: ButtonStyle {
let fontColor: Color
let backgroundColor: Color
public func makeBody(configuration: RoundRectStyle.Configuration) -> some View {
return RoundRectButton(fontColor: fontColor, backgroundColor: backgroundColor, configuration: configuration)
}
private struct RoundRectButton: View {
let fontColor: Color
let backgroundColor: Color
let configuration: ButtonStyle.Configuration
func body(content: Content) -> some View {
return content
.onTapGesture { withAnimation { self.animationAngle += 360 } }
.rotation3DEffect(.degrees(animationAngle), axis: (x: 0, y: 1, z: 0))
.animation(.interpolatingSpring(stiffness: 150, damping: 17))
}
}
extension View {
var scaleOnTap: some View {
self.modifier(TapScaleModifier())
}
}
struct TapScaleModifier: ViewModifier {
@State private var scaleValue: CGFloat = 1
func body(content: Content) -> some View {
content
.scaleEffect(self.scaleValue)
.onTouchGesture(
touchBegan: { withAnimation { self.scaleValue = 1.05 } },
touchEnd: { _ in withAnimation { self.scaleValue = 1.0 } }
)
}
}
extension UIEdgeInsets {
public init(uniform value: CGFloat) {
self.init(top: value, left: value, bottom: value, right: value)
}
public init(horizontal h: CGFloat, vertical v: CGFloat) {
self.init(top: v, left: h, bottom: v, right: h)
@Environment(\.isEnabled) private var isEnabled: Bool
var body: some View {
configuration.label
.foregroundColor(isEnabled ? fontColor : backgroundColor.opacity(0.6))
.padding(.horizontal, 24)
.frame(height: 50)
.background(
RoundedRectangle(cornerRadius: 25)
.fill(isEnabled ? backgroundColor : backgroundColor.opacity(0.1))
)
.compositingGroup()
.opacity(configuration.isPressed ? 0.7 : 1.0)
.scaleEffect(configuration.isPressed ? 0.97 : 1.0)
}
}
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

+58 -15
View File
@@ -1,15 +1,13 @@
<a href="https://www.ramotion.com/agency/app-development?utm_source=gthb&utm_medium=repo&utm_campaign=blob-menu"><img src="https://github.com/Ramotion/blob-menu/blob/master/header.png"></a>
<a href="https://www.ramotion.com/agency/app-development?utm_source=gthb&utm_medium=repo&utm_campaign=blob-menu"><img src="https://github.com/Ramotion/blob-menu/blob/master/Promo/Header.png"></a>
<a href="https://github.com/Ramotion/animated-tab-bar">
<img align="center" src="https://github.com/Ramotion/blob-menu/blob/master/Promo/Blob-Menu-dark.gif" /></a>
<p><h1 align="left">BLOB MENU</h1></p>
<h4>Description</h4>
<h4>Swift UI menu library.</h4>
___
<p><h6>We specialize in the designing and coding of custom UI for Mobile Apps and Websites.</h6>
<a href="https://www.ramotion.com/agency/app-development?utm_source=gthb&utm_medium=repo&utm_campaign=blob-menu">
<img src="https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png" width="187" height="34"></a>
@@ -18,36 +16,41 @@ ___
<a href="https://goo.gl/rPFpid" >
<img src="https://i.imgur.com/ziSqeSo.png/" width="156" height="28"></a></p>
</br>
<br>
[![Twitter](https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat)](http://twitter.com/Ramotion)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Ramotion/blob-menu)
[![codebeat badge](https://codebeat.co/badges/6f67da5d-c416-4bac-9fb7-c2dc938feedc)](https://codebeat.co/projects/github-com-ramotion-blob-menu)
[![Swift 5.0](https://img.shields.io/badge/Swift-5.0-green.svg?style=flat)](https://developer.apple.com/swift/)
[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)
## Requirements
- iOS 13.0
- Xcode 11.4
- iOS 13.0
- Xcode 11.4
- Swift 5.0
## Installation
You can install `blob-menu` in several ways:
- Add source files to your project.
- By adding the source files to your project.
<br>
- Use [CocoaPods](https://cocoapods.org):
- Via [Swift Package Manager](https://swift.org/package-manager/).
<br>
- Via [CocoaPods](https://cocoapods.org):
``` ruby
pod 'blob-menu'
```
<br>
- Use [Carthage](https://github.com/Carthage/Carthage):
- Via [Carthage](https://github.com/Carthage/Carthage):
```
github "Ramotion/blob-menu"
```
@@ -56,9 +59,47 @@ github "Ramotion/blob-menu"
### Blob Menu
Take a look at the `Example` project for an integration example.
1. Create several menu items. You need to provide at least one image icon to initialize `BlobMenuItem`.
2. Use these menu items to create a menu model `BlobMenuModel`.
## 📄 License
`public init(items: [BlobMenuItem], selectedIndex: Int = 0, isOpened: Bool = false)`
3. Finally, use the menu model to initialize `BlobMenuView`. You can use this view in your layout.
### Example
```
extension BlobMenuItem {
static let all = [
BlobMenuItem(icon: <#Image#>),
BlobMenuItem(icon: <#Image#>),
BlobMenuItem(icon: <#Image#>),
BlobMenuItem(icon: <#Image#>)
]
}
struct ContentView: View {
@ObservedObject private var model = BlobMenuModel(items: BlobMenuItem.all)
var body: some View {
VStack {
Spacer()
BlobMenuView(model: model).padding(.bottom, 30)
}
}
}
```
### Configuration
To configure additional menu parameters, use a custom `BlobMenuConfiguration` in the `BlobMenuView` init method.
`public init(model: BlobMenuModel, configuration: BlobMenuConfiguration = .default)`
Right now we provide only color parameters. If you have ideas on what else should be configurable, please create an issue with `suggestion` label.
For more integration details, please take a look at the `Example` project.
## License
Blob Menu is released under the MIT license.
See [LICENSE](./LICENSE) for details.
@@ -68,7 +109,7 @@ This library is a part of a <a href="https://github.com/Ramotion/swift-ui-animat
If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com
## 📱 Get the Showroom App for iOS to give it a try
## Get the Showroom App for iOS to give it a try
Try this UI component and more like this in our iOS app. Contact us if interested.
<a href="https://itunes.apple.com/app/apple-store/id1182360240?pt=550053&ct=garland-view&mt=8" >
@@ -76,3 +117,5 @@ Try this UI component and more like this in our iOS app. Contact us if intereste
<a href="https://www.ramotion.com/agency/app-development?utm_source=gthb&utm_medium=repo&utm_campaign=blob-menu">
<img src="https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png" width="187" height="34"></a>
<br>
<br>
+10 -10
View File
@@ -10,45 +10,45 @@ import Foundation
import SwiftUI
public func + (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
func + (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
return CGPoint(x: lhs.x + rhs.x, y: lhs.y + rhs.y)
}
public func += (lhs: inout CGPoint, rhs: CGPoint) {
func += (lhs: inout CGPoint, rhs: CGPoint) {
lhs = lhs + rhs
}
public func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
func - (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
return CGPoint(x: lhs.x - rhs.x, y: lhs.y - rhs.y)
}
public func -= (lhs: inout CGPoint, rhs: CGPoint) {
func -= (lhs: inout CGPoint, rhs: CGPoint) {
lhs = lhs - rhs
}
public func * (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
func * (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
return CGPoint(x: lhs.x * rhs.x, y: lhs.y * rhs.y)
}
public func *= (lhs: inout CGPoint, rhs: CGPoint) {
func *= (lhs: inout CGPoint, rhs: CGPoint) {
lhs = lhs * rhs
}
public func / (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
func / (lhs: CGPoint, rhs: CGPoint) -> CGPoint {
return CGPoint(x: lhs.x / rhs.x, y: lhs.y / rhs.y)
}
public func /= (lhs: inout CGPoint, rhs: CGPoint) {
func /= (lhs: inout CGPoint, rhs: CGPoint) {
lhs = lhs / rhs
}
public func * (lhs: CGSize, rhs: CGFloat) -> CGSize {
func * (lhs: CGSize, rhs: CGFloat) -> CGSize {
return CGSize(width: lhs.width * rhs, height: lhs.height * rhs)
}
extension CGPoint {
public var length: CGFloat {
var length: CGFloat {
return sqrt(self.x * self.x + self.y * self.y)
}
}
@@ -10,7 +10,7 @@ import Foundation
extension Collection {
public func enumeratedArray() -> Array<(offset: Int, element: Self.Element)> {
func enumeratedArray() -> Array<(offset: Int, element: Self.Element)> {
return Array(self.enumerated())
}
}
@@ -18,7 +18,7 @@ extension Comparable {
- returns: The current value bounded between a minimum and maximum value
*/
public func limited(min: Self, max: Self) -> Self {
func limited(min: Self, max: Self) -> Self {
var value = self
value.limit(min: min, max: max)
return value
@@ -32,7 +32,7 @@ extension Comparable {
- returns: The current value bounded between a minimum and maximum value
*/
public func limited(_ min: Self, _ max: Self) -> Self {
func limited(_ min: Self, _ max: Self) -> Self {
return limited(min: min, max: max)
}
@@ -42,7 +42,7 @@ extension Comparable {
- parameter min: The minimum possible value
- parameter max: The maximum possible value
*/
public mutating func limit(min: Self, max: Self) {
mutating func limit(min: Self, max: Self) {
self = Swift.max(Swift.min(self, max), min)
}
}
+1 -1
View File
@@ -9,7 +9,7 @@
import Foundation
import UIKit
public extension UIWindow {
extension UIWindow {
static var current: UIWindow? {
//if scene is not connected will use first normal level key window
+6
View File
@@ -25,6 +25,12 @@ public struct BlobMenuItem: Identifiable, Hashable {
self.offset = offset
}
public init(icon: Image, offset: CGPoint = .zero) {
self.selectedIcon = icon
self.unselectedIcon = icon
self.offset = offset
}
public func hash(into hasher: inout Hasher) {
hasher.combine(id)
}
+20 -4
View File
@@ -11,21 +11,37 @@ import SwiftUI
public final class BlobMenuModel: ObservableObject {
@Published public var items: [BlobMenuItem]
@Published public var isOpened: Bool
@Published public internal(set) var selectedIndex: Int
@Published public internal(set) var isOpened: Bool
@Published public internal(set) var isBlobMenuItemsVisible: Bool = false
@Published public private(set) var selectedIndex: Int
private let closeOnSelect: Bool
public init(items: [BlobMenuItem],
selectedIndex: Int = 0,
isOpened: Bool = false) {
isOpened: Bool = false,
closeMenuOnSelect: Bool = false) {
self.items = items
self.isOpened = isOpened
self.selectedIndex = selectedIndex.limited(0, items.count - 1)
self.closeOnSelect = closeMenuOnSelect
}
public func selectIndex(_ index: Int) {
let limitedIndex = selectedIndex.limited(0, items.count - 1)
let limitedIndex = index.limited(0, items.count - 1)
selectedIndex = limitedIndex
if closeOnSelect {
delay(0.25) { self.closeMenu() }
}
}
public func closeMenu() {
isOpened = false
isBlobMenuItemsVisible = false
}
public func openMenu() {
withAnimation { self.isOpened = true }
}
}
+6 -6
View File
@@ -62,12 +62,12 @@ extension View {
}
}
public func delay(_ delay: Double, _ closure: @escaping () -> Void) {
DispatchQueue.main.asyncAfter(
deadline: DispatchTime.now() + Double(Int64(delay * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC), execute: closure)
}
extension CGFloat {
static let minAlowedScale: CGFloat = 0.001
}
func delay(_ delay: TimeInterval, _ closure: @escaping () -> Void) {
DispatchQueue.main.asyncAfter(
deadline: DispatchTime.now() + Double(Int64(delay * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC), execute: closure)
}
-3
View File
@@ -14,7 +14,6 @@ struct BackgroundPreferenceData {
let bounds: Anchor<CGRect>
}
struct BackgroundPreferenceKey: PreferenceKey {
typealias Value = [BackgroundPreferenceData]
@@ -25,7 +24,6 @@ struct BackgroundPreferenceKey: PreferenceKey {
}
}
struct BackgroundView: View {
let color: Color
@@ -33,7 +31,6 @@ struct BackgroundView: View {
var body: some View {
return Rectangle()
.fill(color)
.shadow(color: color.opacity(0.45), radius: 8, x: 0, y: 4)
.anchorPreference(key: BackgroundPreferenceKey.self, value: .bounds, transform: { [BackgroundPreferenceData(bounds: $0)] })
}
}
+14 -4
View File
@@ -12,16 +12,18 @@ public struct BlobMenuView: View {
private let configuration: BlobMenuConfiguration
@ObservedObject private var viewModel: BlobMenuModel
private let hapticFeedback: UIImpactFeedbackGenerator.FeedbackStyle?
public init(model: BlobMenuModel,
configuration: BlobMenuConfiguration = .default) {
configuration: BlobMenuConfiguration = .default,
hapticFeedback: UIImpactFeedbackGenerator.FeedbackStyle? = .light) {
self.viewModel = model
self.configuration = configuration
self.hapticFeedback = hapticFeedback
UIWindow.current?.addGesture(type: .tap) {[weak model] _ in
model?.isBlobMenuItemsVisible = false
model?.isOpened = false
model?.closeMenu()
}
}
@@ -106,7 +108,15 @@ public struct BlobMenuView: View {
isOpened: self.viewModel.isBlobMenuItemsVisible,
selectionColor: self.configuration.selectionColor)
.onTapGesture {
self.viewModel.selectedIndex = index
guard self.viewModel.selectedIndex != index else { return }
if let style = self.hapticFeedback {
let generator = UIImpactFeedbackGenerator(style: style)
generator.prepare()
generator.impactOccurred()
}
self.viewModel.selectIndex(index)
}
}
}
+5 -5
View File
@@ -8,16 +8,16 @@
import SwiftUI
public struct HamburgerView: View {
struct HamburgerView: View {
public let isOpened: Bool
public let color: Color
let isOpened: Bool
let color: Color
private var rotationAngle: Angle {
return Angle(degrees: isOpened ? -90 : 0)
}
public var body: some View {
var body: some View {
VStack(alignment: .center, spacing: Theme.lineSpacing) {
line
line
@@ -50,7 +50,7 @@ struct HamburgerView_Previews: PreviewProvider {
extension HamburgerView {
enum Theme {
static let lineSpacing: CGFloat = 6
static let lineThickness: CGFloat = 3
static let lineThickness: CGFloat = 2
static let lineCornerRadius: CGFloat = 1
static let lineWidth: CGFloat = 24
}
+1 -1
View File
@@ -9,7 +9,7 @@
import Foundation
import SwiftUI
public struct BlobMenuItemView: View {
struct BlobMenuItemView: View {
let item: BlobMenuItem
let isSelected: Bool
+5 -5
View File
@@ -9,7 +9,7 @@
import Foundation
import SwiftUI
public final class StickyPathGenerator {
final class StickyPathGenerator {
static let `default` = StickyPathGenerator()
@@ -67,10 +67,10 @@ public final class StickyPathGenerator {
private var storedBasePointA: CGPoint?
private var storedBasePointB: CGPoint?
public func generatePath(baseRect: CGRect,
figureRect: CGRect,
figureCornerRadius: CGFloat,
avulsionDistance: CGFloat) -> CGPath {
func generatePath(baseRect: CGRect,
figureRect: CGRect,
figureCornerRadius: CGFloat,
avulsionDistance: CGFloat) -> CGPath {
let input = Input(baseRect: baseRect, figureRect: figureRect, figureCornerRadius: figureCornerRadius, avulsionDistance: avulsionDistance)