From ca06b501d8ebf772a233ce82de9c4a131114fd37 Mon Sep 17 00:00:00 2001 From: "pengfei.zhou" Date: Wed, 4 Dec 2019 13:29:26 +0800 Subject: [PATCH] seperate iOS project from main project --- Doric.podspec | 48 + Example/.gitignore | 1 + Example/Example.xcodeproj/project.pbxproj | 856 +++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Example.xcscheme | 107 + .../xcschemes/xcschememanagement.plist | 5 + .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 293844 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 35 + .../xcdebugger/Expressions.xcexplist | 33 + .../xcschemes/xcschememanagement.plist | 5 + Example/Example/AppDelegate.h | 17 + Example/Example/AppDelegate.m | 61 + .../AppIcon.appiconset/Contents.json | 98 + Example/Example/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 + Example/Example/Base.lproj/Main.storyboard | 24 + Example/Example/DemoVC.h | 12 + Example/Example/DemoVC.m | 39 + Example/Example/Info.plist | 54 + Example/Example/QRScanViewController.h | 10 + Example/Example/QRScanViewController.m | 93 + Example/Example/ViewController.h | 15 + Example/Example/ViewController.m | 83 + Example/Example/demo | 1 + Example/Example/main.m | 16 + Example/ExampleTests/ExampleTests.m | 37 + Example/ExampleTests/Info.plist | 22 + Example/ExampleUITests/ExampleUITests.m | 38 + Example/ExampleUITests/Info.plist | 22 + Example/Podfile | 17 + Example/Podfile.lock | 47 + .../GCDWebServer/Core/GCDWebServer.h | 637 ++++ .../GCDWebServer/Core/GCDWebServer.m | 1306 ++++++++ .../Core/GCDWebServerConnection.h | 183 ++ .../Core/GCDWebServerConnection.m | 843 +++++ .../GCDWebServer/Core/GCDWebServerFunctions.h | 114 + .../GCDWebServer/Core/GCDWebServerFunctions.m | 331 ++ .../Core/GCDWebServerHTTPStatusCodes.h | 116 + .../GCDWebServer/Core/GCDWebServerPrivate.h | 224 ++ .../GCDWebServer/Core/GCDWebServerRequest.h | 210 ++ .../GCDWebServer/Core/GCDWebServerRequest.m | 303 ++ .../GCDWebServer/Core/GCDWebServerResponse.h | 212 ++ .../GCDWebServer/Core/GCDWebServerResponse.m | 284 ++ .../Requests/GCDWebServerDataRequest.h | 64 + .../Requests/GCDWebServerDataRequest.m | 104 + .../Requests/GCDWebServerFileRequest.h | 49 + .../Requests/GCDWebServerFileRequest.m | 102 + .../GCDWebServerMultiPartFormRequest.h | 136 + .../GCDWebServerMultiPartFormRequest.m | 405 +++ .../GCDWebServerURLEncodedFormRequest.h | 55 + .../GCDWebServerURLEncodedFormRequest.m | 60 + .../Responses/GCDWebServerDataResponse.h | 113 + .../Responses/GCDWebServerDataResponse.m | 136 + .../Responses/GCDWebServerErrorResponse.h | 85 + .../Responses/GCDWebServerErrorResponse.m | 124 + .../Responses/GCDWebServerFileResponse.h | 108 + .../Responses/GCDWebServerFileResponse.m | 185 ++ .../Responses/GCDWebServerStreamedResponse.h | 80 + .../Responses/GCDWebServerStreamedResponse.m | 76 + Example/Pods/GCDWebServer/LICENSE | 24 + Example/Pods/GCDWebServer/README.md | 469 +++ Example/Pods/Headers/Private/Doric/Doric.h | 1 + .../Private/Doric/DoricAnimatePlugin.h | 1 + .../Headers/Private/Doric/DoricAsyncResult.h | 1 + .../Private/Doric/DoricBridgeExtension.h | 1 + .../Headers/Private/Doric/DoricConstant.h | 1 + .../Pods/Headers/Private/Doric/DoricContext.h | 1 + .../Private/Doric/DoricContextHolder.h | 1 + .../Private/Doric/DoricContextManager.h | 1 + .../Pods/Headers/Private/Doric/DoricDriver.h | 1 + .../Headers/Private/Doric/DoricExtensions.h | 1 + .../Private/Doric/DoricFlowLayoutItemNode.h | 1 + .../Private/Doric/DoricFlowLayoutNode.h | 1 + .../Headers/Private/Doric/DoricGroupNode.h | 1 + .../Headers/Private/Doric/DoricHLayoutNode.h | 1 + .../Headers/Private/Doric/DoricHttpJSLoader.h | 1 + .../Headers/Private/Doric/DoricImageNode.h | 1 + .../Private/Doric/DoricJSCoreExecutor.h | 1 + .../Headers/Private/Doric/DoricJSEngine.h | 1 + .../Private/Doric/DoricJSExecutorProtocol.h | 1 + .../Private/Doric/DoricJSLoaderManager.h | 1 + .../Private/Doric/DoricJSRemoteArgType.h | 1 + .../Private/Doric/DoricJSRemoteExecutor.h | 1 + .../Pods/Headers/Private/Doric/DoricLayouts.h | 1 + .../Headers/Private/Doric/DoricListItemNode.h | 1 + .../Headers/Private/Doric/DoricListNode.h | 1 + .../Private/Doric/DoricLoaderProtocol.h | 1 + .../Headers/Private/Doric/DoricLocalServer.h | 1 + .../Private/Doric/DoricMainBundleJSLoader.h | 1 + .../Headers/Private/Doric/DoricModalPlugin.h | 1 + .../Headers/Private/Doric/DoricNativePlugin.h | 1 + .../Private/Doric/DoricNavBarDelegate.h | 1 + .../Headers/Private/Doric/DoricNavBarPlugin.h | 1 + .../Private/Doric/DoricNavigatorDelegate.h | 1 + .../Private/Doric/DoricNavigatorPlugin.h | 1 + .../Private/Doric/DoricNetworkPlugin.h | 1 + .../Pods/Headers/Private/Doric/DoricPanel.h | 1 + .../Private/Doric/DoricPopoverPlugin.h | 1 + .../Pods/Headers/Private/Doric/DoricPromise.h | 1 + .../Private/Doric/DoricRefreshableNode.h | 1 + .../Headers/Private/Doric/DoricRegistry.h | 1 + .../Headers/Private/Doric/DoricRootNode.h | 1 + .../Headers/Private/Doric/DoricScrollerNode.h | 1 + .../Headers/Private/Doric/DoricShaderPlugin.h | 1 + .../Private/Doric/DoricSlideItemNode.h | 1 + .../Headers/Private/Doric/DoricSliderNode.h | 1 + .../Headers/Private/Doric/DoricStackNode.h | 1 + .../Private/Doric/DoricStoragePlugin.h | 1 + .../Headers/Private/Doric/DoricSuperNode.h | 1 + .../Private/Doric/DoricSwipeRefreshLayout.h | 1 + .../Headers/Private/Doric/DoricTextNode.h | 1 + .../Pods/Headers/Private/Doric/DoricUtil.h | 1 + .../Headers/Private/Doric/DoricVLayoutNode.h | 1 + .../Private/Doric/DoricViewController.h | 1 + .../Headers/Private/Doric/DoricViewNode.h | 1 + .../Headers/Private/Doric/DoricWSClient.h | 1 + .../Private/Doric/NSString+JsonString.h | 1 + .../Pods/Headers/Private/Doric/UIView+Doric.h | 1 + .../Private/GCDWebServer/GCDWebServer.h | 1 + .../GCDWebServer/GCDWebServerConnection.h | 1 + .../GCDWebServer/GCDWebServerDataRequest.h | 1 + .../GCDWebServer/GCDWebServerDataResponse.h | 1 + .../GCDWebServer/GCDWebServerErrorResponse.h | 1 + .../GCDWebServer/GCDWebServerFileRequest.h | 1 + .../GCDWebServer/GCDWebServerFileResponse.h | 1 + .../GCDWebServer/GCDWebServerFunctions.h | 1 + .../GCDWebServerHTTPStatusCodes.h | 1 + .../GCDWebServerMultiPartFormRequest.h | 1 + .../GCDWebServer/GCDWebServerPrivate.h | 1 + .../GCDWebServer/GCDWebServerRequest.h | 1 + .../GCDWebServer/GCDWebServerResponse.h | 1 + .../GCDWebServerStreamedResponse.h | 1 + .../GCDWebServerURLEncodedFormRequest.h | 1 + .../Private/SocketRocket/SRWebSocket.h | 1 + .../Private/SocketRocket/SocketRocket.h | 1 + .../Pods/Headers/Private/YYCache/YYCache.h | 1 + .../Headers/Private/YYCache/YYDiskCache.h | 1 + .../Headers/Private/YYCache/YYKVStorage.h | 1 + .../Headers/Private/YYCache/YYMemoryCache.h | 1 + .../Private/YYImage/YYAnimatedImageView.h | 1 + .../Headers/Private/YYImage/YYFrameImage.h | 1 + .../Pods/Headers/Private/YYImage/YYImage.h | 1 + .../Headers/Private/YYImage/YYImageCoder.h | 1 + .../Private/YYImage/YYSpriteSheetImage.h | 1 + .../Private/YYWebImage/CALayer+YYWebImage.h | 1 + .../YYWebImage/MKAnnotationView+YYWebImage.h | 1 + .../Private/YYWebImage/UIButton+YYWebImage.h | 1 + .../Private/YYWebImage/UIImage+YYWebImage.h | 1 + .../YYWebImage/UIImageView+YYWebImage.h | 1 + .../Headers/Private/YYWebImage/YYImageCache.h | 1 + .../Headers/Private/YYWebImage/YYWebImage.h | 1 + .../Private/YYWebImage/YYWebImageManager.h | 1 + .../Private/YYWebImage/YYWebImageOperation.h | 1 + .../Private/YYWebImage/_YYWebImageSetter.h | 1 + Example/Pods/Headers/Public/Doric/Doric.h | 1 + .../Headers/Public/Doric/DoricAnimatePlugin.h | 1 + .../Headers/Public/Doric/DoricAsyncResult.h | 1 + .../Public/Doric/DoricBridgeExtension.h | 1 + .../Pods/Headers/Public/Doric/DoricConstant.h | 1 + .../Pods/Headers/Public/Doric/DoricContext.h | 1 + .../Headers/Public/Doric/DoricContextHolder.h | 1 + .../Public/Doric/DoricContextManager.h | 1 + .../Pods/Headers/Public/Doric/DoricDriver.h | 1 + .../Headers/Public/Doric/DoricExtensions.h | 1 + .../Public/Doric/DoricFlowLayoutItemNode.h | 1 + .../Public/Doric/DoricFlowLayoutNode.h | 1 + .../Headers/Public/Doric/DoricGroupNode.h | 1 + .../Headers/Public/Doric/DoricHLayoutNode.h | 1 + .../Headers/Public/Doric/DoricHttpJSLoader.h | 1 + .../Headers/Public/Doric/DoricImageNode.h | 1 + .../Public/Doric/DoricJSCoreExecutor.h | 1 + .../Pods/Headers/Public/Doric/DoricJSEngine.h | 1 + .../Public/Doric/DoricJSExecutorProtocol.h | 1 + .../Public/Doric/DoricJSLoaderManager.h | 1 + .../Public/Doric/DoricJSRemoteArgType.h | 1 + .../Public/Doric/DoricJSRemoteExecutor.h | 1 + .../Pods/Headers/Public/Doric/DoricLayouts.h | 1 + .../Headers/Public/Doric/DoricListItemNode.h | 1 + .../Pods/Headers/Public/Doric/DoricListNode.h | 1 + .../Public/Doric/DoricLoaderProtocol.h | 1 + .../Headers/Public/Doric/DoricLocalServer.h | 1 + .../Public/Doric/DoricMainBundleJSLoader.h | 1 + .../Headers/Public/Doric/DoricModalPlugin.h | 1 + .../Headers/Public/Doric/DoricNativePlugin.h | 1 + .../Public/Doric/DoricNavBarDelegate.h | 1 + .../Headers/Public/Doric/DoricNavBarPlugin.h | 1 + .../Public/Doric/DoricNavigatorDelegate.h | 1 + .../Public/Doric/DoricNavigatorPlugin.h | 1 + .../Headers/Public/Doric/DoricNetworkPlugin.h | 1 + .../Pods/Headers/Public/Doric/DoricPanel.h | 1 + .../Headers/Public/Doric/DoricPopoverPlugin.h | 1 + .../Pods/Headers/Public/Doric/DoricPromise.h | 1 + .../Public/Doric/DoricRefreshableNode.h | 1 + .../Pods/Headers/Public/Doric/DoricRegistry.h | 1 + .../Pods/Headers/Public/Doric/DoricRootNode.h | 1 + .../Headers/Public/Doric/DoricScrollerNode.h | 1 + .../Headers/Public/Doric/DoricShaderPlugin.h | 1 + .../Headers/Public/Doric/DoricSlideItemNode.h | 1 + .../Headers/Public/Doric/DoricSliderNode.h | 1 + .../Headers/Public/Doric/DoricStackNode.h | 1 + .../Headers/Public/Doric/DoricStoragePlugin.h | 1 + .../Headers/Public/Doric/DoricSuperNode.h | 1 + .../Public/Doric/DoricSwipeRefreshLayout.h | 1 + .../Pods/Headers/Public/Doric/DoricTextNode.h | 1 + Example/Pods/Headers/Public/Doric/DoricUtil.h | 1 + .../Headers/Public/Doric/DoricVLayoutNode.h | 1 + .../Public/Doric/DoricViewController.h | 1 + .../Pods/Headers/Public/Doric/DoricViewNode.h | 1 + .../Pods/Headers/Public/Doric/DoricWSClient.h | 1 + .../Public/Doric/NSString+JsonString.h | 1 + .../Pods/Headers/Public/Doric/UIView+Doric.h | 1 + .../Public/GCDWebServer/GCDWebServer.h | 1 + .../GCDWebServer/GCDWebServerConnection.h | 1 + .../GCDWebServer/GCDWebServerDataRequest.h | 1 + .../GCDWebServer/GCDWebServerDataResponse.h | 1 + .../GCDWebServer/GCDWebServerErrorResponse.h | 1 + .../GCDWebServer/GCDWebServerFileRequest.h | 1 + .../GCDWebServer/GCDWebServerFileResponse.h | 1 + .../GCDWebServer/GCDWebServerFunctions.h | 1 + .../GCDWebServerHTTPStatusCodes.h | 1 + .../GCDWebServerMultiPartFormRequest.h | 1 + .../Public/GCDWebServer/GCDWebServerRequest.h | 1 + .../GCDWebServer/GCDWebServerResponse.h | 1 + .../GCDWebServerStreamedResponse.h | 1 + .../GCDWebServerURLEncodedFormRequest.h | 1 + .../Headers/Public/SocketRocket/SRWebSocket.h | 1 + .../Public/SocketRocket/SocketRocket.h | 1 + Example/Pods/Headers/Public/YYCache/YYCache.h | 1 + .../Pods/Headers/Public/YYCache/YYDiskCache.h | 1 + .../Pods/Headers/Public/YYCache/YYKVStorage.h | 1 + .../Headers/Public/YYCache/YYMemoryCache.h | 1 + .../Public/YYImage/YYAnimatedImageView.h | 1 + .../Headers/Public/YYImage/YYFrameImage.h | 1 + Example/Pods/Headers/Public/YYImage/YYImage.h | 1 + .../Headers/Public/YYImage/YYImageCoder.h | 1 + .../Public/YYImage/YYSpriteSheetImage.h | 1 + .../Public/YYWebImage/CALayer+YYWebImage.h | 1 + .../YYWebImage/MKAnnotationView+YYWebImage.h | 1 + .../Public/YYWebImage/UIButton+YYWebImage.h | 1 + .../Public/YYWebImage/UIImage+YYWebImage.h | 1 + .../YYWebImage/UIImageView+YYWebImage.h | 1 + .../Headers/Public/YYWebImage/YYImageCache.h | 1 + .../Headers/Public/YYWebImage/YYWebImage.h | 1 + .../Public/YYWebImage/YYWebImageManager.h | 1 + .../Public/YYWebImage/YYWebImageOperation.h | 1 + .../Pods/Local Podspecs/Doric.podspec.json | 46 + Example/Pods/Manifest.lock | 47 + Example/Pods/Pods.xcodeproj/project.pbxproj | 2497 ++++++++++++++ .../xcschemes/Doric-Doric.xcscheme | 58 + .../xcschemes/Doric.xcscheme | 60 + .../xcschemes/GCDWebServer.xcscheme | 60 + .../xcschemes/Pods-Example.xcscheme | 60 + .../xcschemes/Pods-ExampleTests.xcscheme | 60 + .../xcschemes/Pods-ExampleUITests.xcscheme | 60 + .../xcschemes/SocketRocket.xcscheme | 60 + .../xcschemes/YYCache.xcscheme | 60 + .../xcschemes/YYImage.xcscheme | 60 + .../xcschemes/YYWebImage.xcscheme | 60 + .../xcschemes/xcschememanagement.plist | 81 + Example/Pods/SocketRocket/LICENSE | 15 + Example/Pods/SocketRocket/README.rst | 246 ++ .../SocketRocket/SocketRocket/SRWebSocket.h | 154 + .../SocketRocket/SocketRocket/SRWebSocket.m | 1916 +++++++++++ .../SocketRocket/SocketRocket/SocketRocket.h | 17 + .../Target Support Files/Doric/Doric-dummy.m | 5 + .../Doric/Doric-prefix.pch | 12 + .../Target Support Files/Doric/Doric.xcconfig | 10 + .../ResourceBundle-Doric-Doric-Info.plist | 24 + .../GCDWebServer/GCDWebServer-dummy.m | 5 + .../GCDWebServer/GCDWebServer-prefix.pch | 12 + .../GCDWebServer/GCDWebServer.xcconfig | 9 + .../Pods-Example-acknowledgements.markdown | 333 ++ .../Pods-Example-acknowledgements.plist | 395 +++ .../Pods-Example/Pods-Example-dummy.m | 5 + ...ple-resources-Debug-input-files.xcfilelist | 2 + ...le-resources-Debug-output-files.xcfilelist | 1 + ...e-resources-Release-input-files.xcfilelist | 2 + ...-resources-Release-output-files.xcfilelist | 1 + .../Pods-Example/Pods-Example-resources.sh | 129 + .../Pods-Example/Pods-Example.debug.xcconfig | 9 + .../Pods-Example.release.xcconfig | 9 + ...ods-ExampleTests-acknowledgements.markdown | 3 + .../Pods-ExampleTests-acknowledgements.plist | 29 + .../Pods-ExampleTests-dummy.m | 5 + .../Pods-ExampleTests.debug.xcconfig | 8 + .../Pods-ExampleTests.release.xcconfig | 8 + ...s-ExampleUITests-acknowledgements.markdown | 3 + ...Pods-ExampleUITests-acknowledgements.plist | 29 + .../Pods-ExampleUITests-dummy.m | 5 + .../Pods-ExampleUITests.debug.xcconfig | 8 + .../Pods-ExampleUITests.release.xcconfig | 8 + .../SocketRocket/SocketRocket-dummy.m | 5 + .../SocketRocket/SocketRocket-prefix.pch | 12 + .../SocketRocket/SocketRocket.xcconfig | 9 + .../YYCache/YYCache-dummy.m | 5 + .../YYCache/YYCache-prefix.pch | 12 + .../YYCache/YYCache.xcconfig | 9 + .../YYImage/YYImage-dummy.m | 5 + .../YYImage/YYImage-prefix.pch | 12 + .../YYImage/YYImage.xcconfig | 10 + .../YYWebImage/YYWebImage-dummy.m | 5 + .../YYWebImage/YYWebImage-prefix.pch | 12 + .../YYWebImage/YYWebImage.xcconfig | 10 + Example/Pods/YYCache/LICENSE | 22 + Example/Pods/YYCache/README.md | 171 + Example/Pods/YYCache/YYCache/YYCache.h | 206 ++ Example/Pods/YYCache/YYCache/YYCache.m | 139 + Example/Pods/YYCache/YYCache/YYDiskCache.h | 412 +++ Example/Pods/YYCache/YYCache/YYDiskCache.m | 458 +++ Example/Pods/YYCache/YYCache/YYKVStorage.h | 325 ++ Example/Pods/YYCache/YYCache/YYKVStorage.m | 1069 ++++++ Example/Pods/YYCache/YYCache/YYMemoryCache.h | 213 ++ Example/Pods/YYCache/YYCache/YYMemoryCache.m | 505 +++ Example/Pods/YYImage/LICENSE | 22 + Example/Pods/YYImage/README.md | 384 +++ .../Vendor/WebP.framework/Headers/config.h | 145 + .../Vendor/WebP.framework/Headers/decode.h | 488 +++ .../Vendor/WebP.framework/Headers/demux.h | 358 ++ .../Vendor/WebP.framework/Headers/encode.h | 527 +++ .../Vendor/WebP.framework/Headers/extras.h | 51 + .../WebP.framework/Headers/format_constants.h | 88 + .../Vendor/WebP.framework/Headers/mux.h | 530 +++ .../Vendor/WebP.framework/Headers/mux_types.h | 97 + .../Vendor/WebP.framework/Headers/types.h | 52 + .../Pods/YYImage/Vendor/WebP.framework/WebP | Bin 0 -> 9090968 bytes .../YYImage/YYImage/YYAnimatedImageView.h | 125 + .../YYImage/YYImage/YYAnimatedImageView.m | 672 ++++ Example/Pods/YYImage/YYImage/YYFrameImage.h | 109 + Example/Pods/YYImage/YYImage/YYFrameImage.m | 150 + Example/Pods/YYImage/YYImage/YYImage.h | 92 + Example/Pods/YYImage/YYImage/YYImage.m | 254 ++ Example/Pods/YYImage/YYImage/YYImageCoder.h | 505 +++ Example/Pods/YYImage/YYImage/YYImageCoder.m | 2870 +++++++++++++++++ .../Pods/YYImage/YYImage/YYSpriteSheetImage.h | 104 + .../Pods/YYImage/YYImage/YYSpriteSheetImage.m | 80 + Example/Pods/YYWebImage/LICENSE | 22 + Example/Pods/YYWebImage/README.md | 308 ++ .../Categories/CALayer+YYWebImage.h | 112 + .../Categories/CALayer+YYWebImage.m | 189 ++ .../Categories/MKAnnotationView+YYWebImage.h | 109 + .../Categories/MKAnnotationView+YYWebImage.m | 187 ++ .../Categories/UIButton+YYWebImage.h | 213 ++ .../Categories/UIButton+YYWebImage.m | 439 +++ .../Categories/UIImage+YYWebImage.h | 316 ++ .../Categories/UIImage+YYWebImage.m | 745 +++++ .../Categories/UIImageView+YYWebImage.h | 193 ++ .../Categories/UIImageView+YYWebImage.m | 355 ++ .../YYWebImage/Categories/_YYWebImageSetter.h | 67 + .../YYWebImage/Categories/_YYWebImageSetter.m | 103 + .../Pods/YYWebImage/YYWebImage/YYImageCache.h | 228 ++ .../Pods/YYWebImage/YYWebImage/YYImageCache.m | 253 ++ .../Pods/YYWebImage/YYWebImage/YYWebImage.h | 65 + .../YYWebImage/YYWebImage/YYWebImageManager.h | 312 ++ .../YYWebImage/YYWebImage/YYWebImageManager.m | 184 ++ .../YYWebImage/YYWebImageOperation.h | 97 + .../YYWebImage/YYWebImageOperation.m | 868 +++++ LICENSE | 201 ++ Pod/Assets/.gitkeep | 0 Pod/Assets/bundle | 1 + Pod/Assets/dist | 1 + Pod/Classes/.gitkeep | 0 Pod/Classes/Dev/DoricLocalServer.h | 31 + Pod/Classes/Dev/DoricLocalServer.m | 130 + Pod/Classes/Dev/DoricWSClient.h | 33 + Pod/Classes/Dev/DoricWSClient.m | 81 + Pod/Classes/Doric.h | 28 + Pod/Classes/DoricContext.h | 64 + Pod/Classes/DoricContext.m | 99 + Pod/Classes/DoricContextHolder.h | 35 + Pod/Classes/DoricContextHolder.m | 34 + Pod/Classes/DoricContextManager.h | 40 + Pod/Classes/DoricContextManager.m | 84 + Pod/Classes/DoricDriver.h | 59 + Pod/Classes/DoricDriver.m | 193 ++ Pod/Classes/DoricPanel.h | 29 + Pod/Classes/DoricPanel.m | 54 + Pod/Classes/DoricRegistry.h | 43 + Pod/Classes/DoricRegistry.m | 115 + Pod/Classes/DoricViewController.h | 26 + Pod/Classes/DoricViewController.m | 107 + Pod/Classes/Engine/DoricJSCoreExecutor.h | 32 + Pod/Classes/Engine/DoricJSCoreExecutor.m | 64 + Pod/Classes/Engine/DoricJSEngine.h | 46 + Pod/Classes/Engine/DoricJSEngine.m | 181 ++ Pod/Classes/Engine/DoricJSExecutorProtocol.h | 38 + Pod/Classes/Engine/DoricJSRemoteExecutor.h | 35 + Pod/Classes/Engine/DoricJSRemoteExecutor.m | 193 ++ Pod/Classes/Extension/DoricBridgeExtension.h | 31 + Pod/Classes/Extension/DoricBridgeExtension.m | 120 + Pod/Classes/Loader/DoricHttpJSLoader.h | 25 + Pod/Classes/Loader/DoricHttpJSLoader.m | 45 + Pod/Classes/Loader/DoricJSLoaderManager.h | 33 + Pod/Classes/Loader/DoricJSLoaderManager.m | 68 + Pod/Classes/Loader/DoricLoaderProtocol.h | 27 + Pod/Classes/Loader/DoricMainBundleJSLoader.h | 25 + Pod/Classes/Loader/DoricMainBundleJSLoader.m | 42 + Pod/Classes/NavBar/DoricNavBarDelegate.h | 31 + .../Navigator/DoricNavigatorDelegate.h | 26 + Pod/Classes/Plugin/DoricAnimatePlugin.h | 10 + Pod/Classes/Plugin/DoricAnimatePlugin.m | 33 + Pod/Classes/Plugin/DoricModalPlugin.h | 32 + Pod/Classes/Plugin/DoricModalPlugin.m | 115 + Pod/Classes/Plugin/DoricNativePlugin.h | 34 + Pod/Classes/Plugin/DoricNativePlugin.m | 27 + Pod/Classes/Plugin/DoricNavBarPlugin.h | 26 + Pod/Classes/Plugin/DoricNavBarPlugin.m | 68 + Pod/Classes/Plugin/DoricNavigatorPlugin.h | 24 + Pod/Classes/Plugin/DoricNavigatorPlugin.m | 43 + Pod/Classes/Plugin/DoricNetworkPlugin.h | 24 + Pod/Classes/Plugin/DoricNetworkPlugin.m | 59 + Pod/Classes/Plugin/DoricPopoverPlugin.h | 9 + Pod/Classes/Plugin/DoricPopoverPlugin.m | 70 + Pod/Classes/Plugin/DoricPromise.h | 32 + Pod/Classes/Plugin/DoricPromise.m | 49 + Pod/Classes/Plugin/DoricShaderPlugin.h | 32 + Pod/Classes/Plugin/DoricShaderPlugin.m | 143 + Pod/Classes/Plugin/DoricStoragePlugin.h | 24 + Pod/Classes/Plugin/DoricStoragePlugin.m | 98 + Pod/Classes/Refresh/DoricRefreshableNode.h | 25 + Pod/Classes/Refresh/DoricRefreshableNode.m | 176 + Pod/Classes/Refresh/DoricSwipeRefreshLayout.h | 22 + Pod/Classes/Refresh/DoricSwipeRefreshLayout.m | 159 + Pod/Classes/Shader/DoricFlowLayoutItemNode.h | 25 + Pod/Classes/Shader/DoricFlowLayoutItemNode.m | 48 + Pod/Classes/Shader/DoricFlowLayoutNode.h | 24 + Pod/Classes/Shader/DoricFlowLayoutNode.m | 322 ++ Pod/Classes/Shader/DoricGroupNode.h | 30 + Pod/Classes/Shader/DoricGroupNode.m | 171 + Pod/Classes/Shader/DoricHLayoutNode.h | 26 + Pod/Classes/Shader/DoricHLayoutNode.m | 40 + Pod/Classes/Shader/DoricImageNode.h | 31 + Pod/Classes/Shader/DoricImageNode.m | 87 + Pod/Classes/Shader/DoricLayouts.h | 99 + Pod/Classes/Shader/DoricLayouts.m | 457 +++ Pod/Classes/Shader/DoricListItemNode.h | 25 + Pod/Classes/Shader/DoricListItemNode.m | 49 + Pod/Classes/Shader/DoricListNode.h | 24 + Pod/Classes/Shader/DoricListNode.m | 216 ++ Pod/Classes/Shader/DoricRootNode.h | 33 + Pod/Classes/Shader/DoricRootNode.m | 33 + Pod/Classes/Shader/DoricScrollerNode.h | 30 + Pod/Classes/Shader/DoricScrollerNode.m | 122 + Pod/Classes/Shader/DoricSlideItemNode.h | 26 + Pod/Classes/Shader/DoricSlideItemNode.m | 51 + Pod/Classes/Shader/DoricSliderNode.h | 27 + Pod/Classes/Shader/DoricSliderNode.m | 201 ++ Pod/Classes/Shader/DoricStackNode.h | 26 + Pod/Classes/Shader/DoricStackNode.m | 34 + Pod/Classes/Shader/DoricSuperNode.h | 41 + Pod/Classes/Shader/DoricSuperNode.m | 160 + Pod/Classes/Shader/DoricTextNode.h | 31 + Pod/Classes/Shader/DoricTextNode.m | 60 + Pod/Classes/Shader/DoricVLayoutNode.h | 26 + Pod/Classes/Shader/DoricVLayoutNode.m | 41 + Pod/Classes/Shader/DoricViewNode.h | 56 + Pod/Classes/Shader/DoricViewNode.m | 627 ++++ Pod/Classes/Shader/UIView+Doric.h | 42 + Pod/Classes/Shader/UIView+Doric.m | 128 + .../Util/Category/NSString+JsonString.h | 18 + .../Util/Category/NSString+JsonString.m | 23 + Pod/Classes/Util/DoricAsyncResult.h | 44 + Pod/Classes/Util/DoricAsyncResult.m | 92 + Pod/Classes/Util/DoricConstant.h | 65 + Pod/Classes/Util/DoricConstant.m | 82 + Pod/Classes/Util/DoricExtensions.h | 47 + Pod/Classes/Util/DoricExtensions.m | 102 + Pod/Classes/Util/DoricJSRemoteArgType.h | 23 + Pod/Classes/Util/DoricJSRemoteArgType.m | 12 + Pod/Classes/Util/DoricUtil.h | 42 + Pod/Classes/Util/DoricUtil.m | 88 + 473 files changed, 40553 insertions(+) create mode 100644 Doric.podspec create mode 100644 Example/.gitignore create mode 100644 Example/Example.xcodeproj/project.pbxproj create mode 100644 Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Example/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme create mode 100644 Example/Example.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Example/Example.xcworkspace/contents.xcworkspacedata create mode 100644 Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Expressions.xcexplist create mode 100644 Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Example/Example/AppDelegate.h create mode 100644 Example/Example/AppDelegate.m create mode 100644 Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Example/Example/Assets.xcassets/Contents.json create mode 100644 Example/Example/Base.lproj/LaunchScreen.storyboard create mode 100644 Example/Example/Base.lproj/Main.storyboard create mode 100644 Example/Example/DemoVC.h create mode 100644 Example/Example/DemoVC.m create mode 100644 Example/Example/Info.plist create mode 100644 Example/Example/QRScanViewController.h create mode 100644 Example/Example/QRScanViewController.m create mode 100644 Example/Example/ViewController.h create mode 100644 Example/Example/ViewController.m create mode 120000 Example/Example/demo create mode 100644 Example/Example/main.m create mode 100644 Example/ExampleTests/ExampleTests.m create mode 100644 Example/ExampleTests/Info.plist create mode 100644 Example/ExampleUITests/ExampleUITests.m create mode 100644 Example/ExampleUITests/Info.plist create mode 100644 Example/Podfile create mode 100644 Example/Podfile.lock create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerPrivate.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.m create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.h create mode 100644 Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.m create mode 100644 Example/Pods/GCDWebServer/LICENSE create mode 100644 Example/Pods/GCDWebServer/README.md create mode 120000 Example/Pods/Headers/Private/Doric/Doric.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricAnimatePlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricAsyncResult.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricBridgeExtension.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricConstant.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricContext.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricContextHolder.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricContextManager.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricDriver.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricExtensions.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricFlowLayoutItemNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricFlowLayoutNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricGroupNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricHLayoutNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricHttpJSLoader.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricImageNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricJSCoreExecutor.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricJSEngine.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricJSExecutorProtocol.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricJSLoaderManager.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricJSRemoteArgType.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricJSRemoteExecutor.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricLayouts.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricListItemNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricListNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricLoaderProtocol.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricLocalServer.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricMainBundleJSLoader.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricModalPlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricNativePlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricNavBarDelegate.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricNavBarPlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricNavigatorDelegate.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricNavigatorPlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricNetworkPlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricPanel.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricPopoverPlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricPromise.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricRefreshableNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricRegistry.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricRootNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricScrollerNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricShaderPlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricSlideItemNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricSliderNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricStackNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricStoragePlugin.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricSuperNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricSwipeRefreshLayout.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricTextNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricUtil.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricVLayoutNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricViewController.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricViewNode.h create mode 120000 Example/Pods/Headers/Private/Doric/DoricWSClient.h create mode 120000 Example/Pods/Headers/Private/Doric/NSString+JsonString.h create mode 120000 Example/Pods/Headers/Private/Doric/UIView+Doric.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServer.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerConnection.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataRequest.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataResponse.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerErrorResponse.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileRequest.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileResponse.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFunctions.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerHTTPStatusCodes.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerMultiPartFormRequest.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerPrivate.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerRequest.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerResponse.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerStreamedResponse.h create mode 120000 Example/Pods/Headers/Private/GCDWebServer/GCDWebServerURLEncodedFormRequest.h create mode 120000 Example/Pods/Headers/Private/SocketRocket/SRWebSocket.h create mode 120000 Example/Pods/Headers/Private/SocketRocket/SocketRocket.h create mode 120000 Example/Pods/Headers/Private/YYCache/YYCache.h create mode 120000 Example/Pods/Headers/Private/YYCache/YYDiskCache.h create mode 120000 Example/Pods/Headers/Private/YYCache/YYKVStorage.h create mode 120000 Example/Pods/Headers/Private/YYCache/YYMemoryCache.h create mode 120000 Example/Pods/Headers/Private/YYImage/YYAnimatedImageView.h create mode 120000 Example/Pods/Headers/Private/YYImage/YYFrameImage.h create mode 120000 Example/Pods/Headers/Private/YYImage/YYImage.h create mode 120000 Example/Pods/Headers/Private/YYImage/YYImageCoder.h create mode 120000 Example/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/CALayer+YYWebImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/MKAnnotationView+YYWebImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/UIButton+YYWebImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/UIImage+YYWebImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/UIImageView+YYWebImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/YYImageCache.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/YYWebImage.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/YYWebImageManager.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/YYWebImageOperation.h create mode 120000 Example/Pods/Headers/Private/YYWebImage/_YYWebImageSetter.h create mode 120000 Example/Pods/Headers/Public/Doric/Doric.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricAnimatePlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricAsyncResult.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricBridgeExtension.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricConstant.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricContext.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricContextHolder.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricContextManager.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricDriver.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricExtensions.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricFlowLayoutItemNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricFlowLayoutNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricGroupNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricHLayoutNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricHttpJSLoader.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricImageNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricJSCoreExecutor.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricJSEngine.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricJSExecutorProtocol.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricJSLoaderManager.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricJSRemoteArgType.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricJSRemoteExecutor.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricLayouts.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricListItemNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricListNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricLoaderProtocol.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricLocalServer.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricMainBundleJSLoader.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricModalPlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricNativePlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricNavBarDelegate.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricNavBarPlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricNavigatorDelegate.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricNavigatorPlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricNetworkPlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricPanel.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricPopoverPlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricPromise.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricRefreshableNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricRegistry.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricRootNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricScrollerNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricShaderPlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricSlideItemNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricSliderNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricStackNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricStoragePlugin.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricSuperNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricSwipeRefreshLayout.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricTextNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricUtil.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricVLayoutNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricViewController.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricViewNode.h create mode 120000 Example/Pods/Headers/Public/Doric/DoricWSClient.h create mode 120000 Example/Pods/Headers/Public/Doric/NSString+JsonString.h create mode 120000 Example/Pods/Headers/Public/Doric/UIView+Doric.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServer.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerConnection.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataRequest.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataResponse.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerErrorResponse.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileRequest.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileResponse.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFunctions.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerHTTPStatusCodes.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerMultiPartFormRequest.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerRequest.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerResponse.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerStreamedResponse.h create mode 120000 Example/Pods/Headers/Public/GCDWebServer/GCDWebServerURLEncodedFormRequest.h create mode 120000 Example/Pods/Headers/Public/SocketRocket/SRWebSocket.h create mode 120000 Example/Pods/Headers/Public/SocketRocket/SocketRocket.h create mode 120000 Example/Pods/Headers/Public/YYCache/YYCache.h create mode 120000 Example/Pods/Headers/Public/YYCache/YYDiskCache.h create mode 120000 Example/Pods/Headers/Public/YYCache/YYKVStorage.h create mode 120000 Example/Pods/Headers/Public/YYCache/YYMemoryCache.h create mode 120000 Example/Pods/Headers/Public/YYImage/YYAnimatedImageView.h create mode 120000 Example/Pods/Headers/Public/YYImage/YYFrameImage.h create mode 120000 Example/Pods/Headers/Public/YYImage/YYImage.h create mode 120000 Example/Pods/Headers/Public/YYImage/YYImageCoder.h create mode 120000 Example/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/CALayer+YYWebImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/MKAnnotationView+YYWebImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/UIButton+YYWebImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/UIImage+YYWebImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/UIImageView+YYWebImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/YYImageCache.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/YYWebImage.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/YYWebImageManager.h create mode 120000 Example/Pods/Headers/Public/YYWebImage/YYWebImageOperation.h create mode 100644 Example/Pods/Local Podspecs/Doric.podspec.json create mode 100644 Example/Pods/Manifest.lock create mode 100644 Example/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric-Doric.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/GCDWebServer.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-Example.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleTests.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleUITests.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/SocketRocket.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYCache.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYImage.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYWebImage.xcscheme create mode 100644 Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Example/Pods/SocketRocket/LICENSE create mode 100644 Example/Pods/SocketRocket/README.rst create mode 100644 Example/Pods/SocketRocket/SocketRocket/SRWebSocket.h create mode 100644 Example/Pods/SocketRocket/SocketRocket/SRWebSocket.m create mode 100644 Example/Pods/SocketRocket/SocketRocket/SocketRocket.h create mode 100644 Example/Pods/Target Support Files/Doric/Doric-dummy.m create mode 100644 Example/Pods/Target Support Files/Doric/Doric-prefix.pch create mode 100644 Example/Pods/Target Support Files/Doric/Doric.xcconfig create mode 100644 Example/Pods/Target Support Files/Doric/ResourceBundle-Doric-Doric-Info.plist create mode 100644 Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-dummy.m create mode 100644 Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-prefix.pch create mode 100644 Example/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-input-files.xcfilelist create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-output-files.xcfilelist create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-input-files.xcfilelist create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-output-files.xcfilelist create mode 100755 Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig create mode 100644 Example/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig create mode 100644 Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.markdown create mode 100644 Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.plist create mode 100644 Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-dummy.m create mode 100644 Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.debug.xcconfig create mode 100644 Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.release.xcconfig create mode 100644 Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.markdown create mode 100644 Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.plist create mode 100644 Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-dummy.m create mode 100644 Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.debug.xcconfig create mode 100644 Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.release.xcconfig create mode 100644 Example/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m create mode 100644 Example/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch create mode 100644 Example/Pods/Target Support Files/SocketRocket/SocketRocket.xcconfig create mode 100644 Example/Pods/Target Support Files/YYCache/YYCache-dummy.m create mode 100644 Example/Pods/Target Support Files/YYCache/YYCache-prefix.pch create mode 100644 Example/Pods/Target Support Files/YYCache/YYCache.xcconfig create mode 100644 Example/Pods/Target Support Files/YYImage/YYImage-dummy.m create mode 100644 Example/Pods/Target Support Files/YYImage/YYImage-prefix.pch create mode 100644 Example/Pods/Target Support Files/YYImage/YYImage.xcconfig create mode 100644 Example/Pods/Target Support Files/YYWebImage/YYWebImage-dummy.m create mode 100644 Example/Pods/Target Support Files/YYWebImage/YYWebImage-prefix.pch create mode 100644 Example/Pods/Target Support Files/YYWebImage/YYWebImage.xcconfig create mode 100644 Example/Pods/YYCache/LICENSE create mode 100755 Example/Pods/YYCache/README.md create mode 100644 Example/Pods/YYCache/YYCache/YYCache.h create mode 100644 Example/Pods/YYCache/YYCache/YYCache.m create mode 100644 Example/Pods/YYCache/YYCache/YYDiskCache.h create mode 100644 Example/Pods/YYCache/YYCache/YYDiskCache.m create mode 100644 Example/Pods/YYCache/YYCache/YYKVStorage.h create mode 100644 Example/Pods/YYCache/YYCache/YYKVStorage.m create mode 100644 Example/Pods/YYCache/YYCache/YYMemoryCache.h create mode 100644 Example/Pods/YYCache/YYCache/YYMemoryCache.m create mode 100644 Example/Pods/YYImage/LICENSE create mode 100755 Example/Pods/YYImage/README.md create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/config.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/decode.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/demux.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/encode.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/extras.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/format_constants.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux_types.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/Headers/types.h create mode 100644 Example/Pods/YYImage/Vendor/WebP.framework/WebP create mode 100644 Example/Pods/YYImage/YYImage/YYAnimatedImageView.h create mode 100644 Example/Pods/YYImage/YYImage/YYAnimatedImageView.m create mode 100644 Example/Pods/YYImage/YYImage/YYFrameImage.h create mode 100644 Example/Pods/YYImage/YYImage/YYFrameImage.m create mode 100644 Example/Pods/YYImage/YYImage/YYImage.h create mode 100644 Example/Pods/YYImage/YYImage/YYImage.m create mode 100644 Example/Pods/YYImage/YYImage/YYImageCoder.h create mode 100644 Example/Pods/YYImage/YYImage/YYImageCoder.m create mode 100644 Example/Pods/YYImage/YYImage/YYSpriteSheetImage.h create mode 100644 Example/Pods/YYImage/YYImage/YYSpriteSheetImage.m create mode 100644 Example/Pods/YYWebImage/LICENSE create mode 100755 Example/Pods/YYWebImage/README.md create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/CALayer+YYWebImage.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/CALayer+YYWebImage.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/MKAnnotationView+YYWebImage.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/MKAnnotationView+YYWebImage.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/UIButton+YYWebImage.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/UIButton+YYWebImage.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/UIImage+YYWebImage.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/UIImage+YYWebImage.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/UIImageView+YYWebImage.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/UIImageView+YYWebImage.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/_YYWebImageSetter.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/Categories/_YYWebImageSetter.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYImageCache.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYImageCache.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYWebImage.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYWebImageManager.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYWebImageManager.m create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYWebImageOperation.h create mode 100644 Example/Pods/YYWebImage/YYWebImage/YYWebImageOperation.m create mode 100644 LICENSE create mode 100644 Pod/Assets/.gitkeep create mode 120000 Pod/Assets/bundle create mode 120000 Pod/Assets/dist create mode 100644 Pod/Classes/.gitkeep create mode 100644 Pod/Classes/Dev/DoricLocalServer.h create mode 100644 Pod/Classes/Dev/DoricLocalServer.m create mode 100644 Pod/Classes/Dev/DoricWSClient.h create mode 100644 Pod/Classes/Dev/DoricWSClient.m create mode 100644 Pod/Classes/Doric.h create mode 100644 Pod/Classes/DoricContext.h create mode 100644 Pod/Classes/DoricContext.m create mode 100644 Pod/Classes/DoricContextHolder.h create mode 100644 Pod/Classes/DoricContextHolder.m create mode 100644 Pod/Classes/DoricContextManager.h create mode 100644 Pod/Classes/DoricContextManager.m create mode 100644 Pod/Classes/DoricDriver.h create mode 100644 Pod/Classes/DoricDriver.m create mode 100644 Pod/Classes/DoricPanel.h create mode 100644 Pod/Classes/DoricPanel.m create mode 100644 Pod/Classes/DoricRegistry.h create mode 100644 Pod/Classes/DoricRegistry.m create mode 100644 Pod/Classes/DoricViewController.h create mode 100644 Pod/Classes/DoricViewController.m create mode 100644 Pod/Classes/Engine/DoricJSCoreExecutor.h create mode 100644 Pod/Classes/Engine/DoricJSCoreExecutor.m create mode 100644 Pod/Classes/Engine/DoricJSEngine.h create mode 100644 Pod/Classes/Engine/DoricJSEngine.m create mode 100644 Pod/Classes/Engine/DoricJSExecutorProtocol.h create mode 100644 Pod/Classes/Engine/DoricJSRemoteExecutor.h create mode 100644 Pod/Classes/Engine/DoricJSRemoteExecutor.m create mode 100644 Pod/Classes/Extension/DoricBridgeExtension.h create mode 100644 Pod/Classes/Extension/DoricBridgeExtension.m create mode 100644 Pod/Classes/Loader/DoricHttpJSLoader.h create mode 100644 Pod/Classes/Loader/DoricHttpJSLoader.m create mode 100644 Pod/Classes/Loader/DoricJSLoaderManager.h create mode 100644 Pod/Classes/Loader/DoricJSLoaderManager.m create mode 100644 Pod/Classes/Loader/DoricLoaderProtocol.h create mode 100644 Pod/Classes/Loader/DoricMainBundleJSLoader.h create mode 100644 Pod/Classes/Loader/DoricMainBundleJSLoader.m create mode 100644 Pod/Classes/NavBar/DoricNavBarDelegate.h create mode 100644 Pod/Classes/Navigator/DoricNavigatorDelegate.h create mode 100644 Pod/Classes/Plugin/DoricAnimatePlugin.h create mode 100644 Pod/Classes/Plugin/DoricAnimatePlugin.m create mode 100644 Pod/Classes/Plugin/DoricModalPlugin.h create mode 100644 Pod/Classes/Plugin/DoricModalPlugin.m create mode 100644 Pod/Classes/Plugin/DoricNativePlugin.h create mode 100644 Pod/Classes/Plugin/DoricNativePlugin.m create mode 100644 Pod/Classes/Plugin/DoricNavBarPlugin.h create mode 100644 Pod/Classes/Plugin/DoricNavBarPlugin.m create mode 100644 Pod/Classes/Plugin/DoricNavigatorPlugin.h create mode 100644 Pod/Classes/Plugin/DoricNavigatorPlugin.m create mode 100644 Pod/Classes/Plugin/DoricNetworkPlugin.h create mode 100644 Pod/Classes/Plugin/DoricNetworkPlugin.m create mode 100644 Pod/Classes/Plugin/DoricPopoverPlugin.h create mode 100644 Pod/Classes/Plugin/DoricPopoverPlugin.m create mode 100644 Pod/Classes/Plugin/DoricPromise.h create mode 100644 Pod/Classes/Plugin/DoricPromise.m create mode 100644 Pod/Classes/Plugin/DoricShaderPlugin.h create mode 100644 Pod/Classes/Plugin/DoricShaderPlugin.m create mode 100644 Pod/Classes/Plugin/DoricStoragePlugin.h create mode 100644 Pod/Classes/Plugin/DoricStoragePlugin.m create mode 100644 Pod/Classes/Refresh/DoricRefreshableNode.h create mode 100644 Pod/Classes/Refresh/DoricRefreshableNode.m create mode 100644 Pod/Classes/Refresh/DoricSwipeRefreshLayout.h create mode 100644 Pod/Classes/Refresh/DoricSwipeRefreshLayout.m create mode 100644 Pod/Classes/Shader/DoricFlowLayoutItemNode.h create mode 100644 Pod/Classes/Shader/DoricFlowLayoutItemNode.m create mode 100644 Pod/Classes/Shader/DoricFlowLayoutNode.h create mode 100644 Pod/Classes/Shader/DoricFlowLayoutNode.m create mode 100644 Pod/Classes/Shader/DoricGroupNode.h create mode 100644 Pod/Classes/Shader/DoricGroupNode.m create mode 100644 Pod/Classes/Shader/DoricHLayoutNode.h create mode 100644 Pod/Classes/Shader/DoricHLayoutNode.m create mode 100644 Pod/Classes/Shader/DoricImageNode.h create mode 100644 Pod/Classes/Shader/DoricImageNode.m create mode 100644 Pod/Classes/Shader/DoricLayouts.h create mode 100644 Pod/Classes/Shader/DoricLayouts.m create mode 100644 Pod/Classes/Shader/DoricListItemNode.h create mode 100644 Pod/Classes/Shader/DoricListItemNode.m create mode 100644 Pod/Classes/Shader/DoricListNode.h create mode 100644 Pod/Classes/Shader/DoricListNode.m create mode 100644 Pod/Classes/Shader/DoricRootNode.h create mode 100644 Pod/Classes/Shader/DoricRootNode.m create mode 100644 Pod/Classes/Shader/DoricScrollerNode.h create mode 100644 Pod/Classes/Shader/DoricScrollerNode.m create mode 100644 Pod/Classes/Shader/DoricSlideItemNode.h create mode 100644 Pod/Classes/Shader/DoricSlideItemNode.m create mode 100644 Pod/Classes/Shader/DoricSliderNode.h create mode 100644 Pod/Classes/Shader/DoricSliderNode.m create mode 100644 Pod/Classes/Shader/DoricStackNode.h create mode 100644 Pod/Classes/Shader/DoricStackNode.m create mode 100644 Pod/Classes/Shader/DoricSuperNode.h create mode 100644 Pod/Classes/Shader/DoricSuperNode.m create mode 100644 Pod/Classes/Shader/DoricTextNode.h create mode 100644 Pod/Classes/Shader/DoricTextNode.m create mode 100644 Pod/Classes/Shader/DoricVLayoutNode.h create mode 100644 Pod/Classes/Shader/DoricVLayoutNode.m create mode 100644 Pod/Classes/Shader/DoricViewNode.h create mode 100644 Pod/Classes/Shader/DoricViewNode.m create mode 100644 Pod/Classes/Shader/UIView+Doric.h create mode 100644 Pod/Classes/Shader/UIView+Doric.m create mode 100644 Pod/Classes/Util/Category/NSString+JsonString.h create mode 100644 Pod/Classes/Util/Category/NSString+JsonString.m create mode 100644 Pod/Classes/Util/DoricAsyncResult.h create mode 100644 Pod/Classes/Util/DoricAsyncResult.m create mode 100644 Pod/Classes/Util/DoricConstant.h create mode 100644 Pod/Classes/Util/DoricConstant.m create mode 100644 Pod/Classes/Util/DoricExtensions.h create mode 100644 Pod/Classes/Util/DoricExtensions.m create mode 100644 Pod/Classes/Util/DoricJSRemoteArgType.h create mode 100644 Pod/Classes/Util/DoricJSRemoteArgType.m create mode 100644 Pod/Classes/Util/DoricUtil.h create mode 100644 Pod/Classes/Util/DoricUtil.m diff --git a/Doric.podspec b/Doric.podspec new file mode 100644 index 00000000..8eb2cf33 --- /dev/null +++ b/Doric.podspec @@ -0,0 +1,48 @@ +# +# Be sure to run `pod lib lint Doric.podspec' to ensure this is a +# valid spec before submitting. +# +# Any lines starting with a # are optional, but their use is encouraged +# To learn more about a Podspec see https://guides.cocoapods.org/syntax/podspec.html +# + +Pod::Spec.new do |s| + s.name = 'Doric' + s.version = '0.1.0' + s.summary = 'A short description of Doric.' + +# This description is used to generate tags and improve search results. +# * Think: What does it do? Why did you write it? What is the focus? +# * Try to keep it short, snappy and to the point. +# * Write the description between the DESC delimiters below. +# * Finally, don't worry about the indent, CocoaPods strips it! + + s.description = <<-DESC +TODO: Add long description of the pod here. + DESC + + s.homepage = 'https://github.com/doric-pub/doric' + # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' + s.license = { :type => 'Apache-2.0', :file => 'LICENSE' } + s.author = { 'pengfei.zhou' => 'pengfeizhou@foxmail.com' } + s.source = { :git => 'git@github.com:penfeizhou/doric.git', :tag => s.version.to_s } + # s.social_media_url = 'https://twitter.com/' + + s.ios.deployment_target = '8.0' + + s.source_files = 'Pod/Classes/**/*' + s.resource = "Pod/Assets/*.js" + s.resource_bundles = { + 'Doric' => ['Pod/Assets/**/*'] + } + + s.public_header_files = 'Pod/Classes/**/*.h' + # s.frameworks = 'UIKit', 'MapKit' + # s.dependency 'AFNetworking', '~> 2.3' + # s.dependency 'SDWebImage', '~> 5.0' + s.dependency 'YYWebImage', '~>1.0.5' + s.dependency 'YYImage/WebP' + s.dependency 'SocketRocket', '~> 0.5.1' + s.dependency 'GCDWebServer', '~> 3.0' + s.dependency 'YYCache', '~> 1.0.4' +end diff --git a/Example/.gitignore b/Example/.gitignore new file mode 100644 index 00000000..62c89355 --- /dev/null +++ b/Example/.gitignore @@ -0,0 +1 @@ +.idea/ \ No newline at end of file diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj new file mode 100644 index 00000000..6edeba9e --- /dev/null +++ b/Example/Example.xcodeproj/project.pbxproj @@ -0,0 +1,856 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 1B5560FDC1A57040A84A35AB /* libPods-ExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 30CF3CCBAF1F8AD594763E4A /* libPods-ExampleTests.a */; }; + 2EB14575543B0285648B858D /* libPods-Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C3CFA4394FF1344386170022 /* libPods-Example.a */; }; + 835F4CD080BABFE95A6BFD16 /* libPods-ExampleUITests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 563C5AC823878F4913BBCDF2 /* libPods-ExampleUITests.a */; }; + D751D4B065D8D4FA6594B5EE /* DemoVC.m in Sources */ = {isa = PBXBuildFile; fileRef = D751D19E97EF4EDD7588FEBE /* DemoVC.m */; }; + D751D4FCC0A2322211DE3D55 /* QRScanViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D751DA399F1ADB6D34563B5D /* QRScanViewController.m */; }; + E2334AF022E9D2060098A085 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E2334AEF22E9D2060098A085 /* AppDelegate.m */; }; + E2334AF322E9D2060098A085 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E2334AF222E9D2060098A085 /* ViewController.m */; }; + E2334AF622E9D2060098A085 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E2334AF422E9D2060098A085 /* Main.storyboard */; }; + E2334AF822E9D2070098A085 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E2334AF722E9D2070098A085 /* Assets.xcassets */; }; + E2334AFB22E9D2070098A085 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E2334AF922E9D2070098A085 /* LaunchScreen.storyboard */; }; + E2334AFE22E9D2070098A085 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E2334AFD22E9D2070098A085 /* main.m */; }; + E2334B0822E9D2070098A085 /* ExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2334B0722E9D2070098A085 /* ExampleTests.m */; }; + E2334B1322E9D2070098A085 /* ExampleUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = E2334B1222E9D2070098A085 /* ExampleUITests.m */; }; + E2F4481723839AC500073C7F /* demo in Resources */ = {isa = PBXBuildFile; fileRef = E2F4481623839AC500073C7F /* demo */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + E2334B0422E9D2070098A085 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E2334AE322E9D2060098A085 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E2334AEA22E9D2060098A085; + remoteInfo = Example; + }; + E2334B0F22E9D2070098A085 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = E2334AE322E9D2060098A085 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E2334AEA22E9D2060098A085; + remoteInfo = Example; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 016E930415B91D826F9FFF47 /* Pods-ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.debug.xcconfig"; sourceTree = ""; }; + 30CF3CCBAF1F8AD594763E4A /* libPods-ExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3D75F592D76A665674B31A66 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; + 563C5AC823878F4913BBCDF2 /* libPods-ExampleUITests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleUITests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8231E841CCAF382F85C9F576 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; + B93423722F2E06DC238CDD18 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.release.xcconfig"; sourceTree = ""; }; + B93D4DB00FD244178B7CE7C4 /* Pods-ExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.release.xcconfig"; sourceTree = ""; }; + C3CFA4394FF1344386170022 /* libPods-Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + D751D18AD6496F4A9BE1AB45 /* QRScanViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QRScanViewController.h; sourceTree = ""; }; + D751D19E97EF4EDD7588FEBE /* DemoVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DemoVC.m; sourceTree = ""; }; + D751DA399F1ADB6D34563B5D /* QRScanViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QRScanViewController.m; sourceTree = ""; }; + D751DDEC114E037231257E64 /* DemoVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DemoVC.h; sourceTree = ""; }; + D91241144B5A3356A3C60644 /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExampleTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.debug.xcconfig"; sourceTree = ""; }; + E2334AEB22E9D2060098A085 /* Doric Playground.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Doric Playground.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + E2334AEE22E9D2060098A085 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + E2334AEF22E9D2060098A085 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + E2334AF122E9D2060098A085 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + E2334AF222E9D2060098A085 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + E2334AF522E9D2060098A085 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + E2334AF722E9D2070098A085 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + E2334AFA22E9D2070098A085 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + E2334AFC22E9D2070098A085 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E2334AFD22E9D2070098A085 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + E2334B0322E9D2070098A085 /* ExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E2334B0722E9D2070098A085 /* ExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExampleTests.m; sourceTree = ""; }; + E2334B0922E9D2070098A085 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E2334B0E22E9D2070098A085 /* ExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + E2334B1222E9D2070098A085 /* ExampleUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExampleUITests.m; sourceTree = ""; }; + E2334B1422E9D2070098A085 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E2F4481623839AC500073C7F /* demo */ = {isa = PBXFileReference; lastKnownFileType = folder; path = demo; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E2334AE822E9D2060098A085 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2EB14575543B0285648B858D /* libPods-Example.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2334B0022E9D2070098A085 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1B5560FDC1A57040A84A35AB /* libPods-ExampleTests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2334B0B22E9D2070098A085 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 835F4CD080BABFE95A6BFD16 /* libPods-ExampleUITests.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 6CBE6FA5F47A90E57AB456B2 /* Pods */ = { + isa = PBXGroup; + children = ( + 8231E841CCAF382F85C9F576 /* Pods-Example.debug.xcconfig */, + 3D75F592D76A665674B31A66 /* Pods-Example.release.xcconfig */, + D91241144B5A3356A3C60644 /* Pods-ExampleTests.debug.xcconfig */, + B93D4DB00FD244178B7CE7C4 /* Pods-ExampleTests.release.xcconfig */, + 016E930415B91D826F9FFF47 /* Pods-ExampleUITests.debug.xcconfig */, + B93423722F2E06DC238CDD18 /* Pods-ExampleUITests.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + D80A9B07B39AD04027CAE17B /* Frameworks */ = { + isa = PBXGroup; + children = ( + C3CFA4394FF1344386170022 /* libPods-Example.a */, + 30CF3CCBAF1F8AD594763E4A /* libPods-ExampleTests.a */, + 563C5AC823878F4913BBCDF2 /* libPods-ExampleUITests.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + E2334AE222E9D2060098A085 = { + isa = PBXGroup; + children = ( + E2334AED22E9D2060098A085 /* Example */, + E2334B0622E9D2070098A085 /* ExampleTests */, + E2334B1122E9D2070098A085 /* ExampleUITests */, + E2334AEC22E9D2060098A085 /* Products */, + 6CBE6FA5F47A90E57AB456B2 /* Pods */, + D80A9B07B39AD04027CAE17B /* Frameworks */, + ); + sourceTree = ""; + }; + E2334AEC22E9D2060098A085 /* Products */ = { + isa = PBXGroup; + children = ( + E2334AEB22E9D2060098A085 /* Doric Playground.app */, + E2334B0322E9D2070098A085 /* ExampleTests.xctest */, + E2334B0E22E9D2070098A085 /* ExampleUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + E2334AED22E9D2060098A085 /* Example */ = { + isa = PBXGroup; + children = ( + E2F4481623839AC500073C7F /* demo */, + E2334AEE22E9D2060098A085 /* AppDelegate.h */, + E2334AEF22E9D2060098A085 /* AppDelegate.m */, + E2334AF122E9D2060098A085 /* ViewController.h */, + E2334AF222E9D2060098A085 /* ViewController.m */, + E2334AF422E9D2060098A085 /* Main.storyboard */, + E2334AF722E9D2070098A085 /* Assets.xcassets */, + E2334AFC22E9D2070098A085 /* Info.plist */, + E2334AF922E9D2070098A085 /* LaunchScreen.storyboard */, + E2334AFD22E9D2070098A085 /* main.m */, + D751D19E97EF4EDD7588FEBE /* DemoVC.m */, + D751DDEC114E037231257E64 /* DemoVC.h */, + D751DA399F1ADB6D34563B5D /* QRScanViewController.m */, + D751D18AD6496F4A9BE1AB45 /* QRScanViewController.h */, + ); + path = Example; + sourceTree = ""; + }; + E2334B0622E9D2070098A085 /* ExampleTests */ = { + isa = PBXGroup; + children = ( + E2334B0722E9D2070098A085 /* ExampleTests.m */, + E2334B0922E9D2070098A085 /* Info.plist */, + ); + path = ExampleTests; + sourceTree = ""; + }; + E2334B1122E9D2070098A085 /* ExampleUITests */ = { + isa = PBXGroup; + children = ( + E2334B1222E9D2070098A085 /* ExampleUITests.m */, + E2334B1422E9D2070098A085 /* Info.plist */, + ); + path = ExampleUITests; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E2334AEA22E9D2060098A085 /* Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = E2334B1722E9D2070098A085 /* Build configuration list for PBXNativeTarget "Example" */; + buildPhases = ( + BE34CD8291B20D26F2ADE3E1 /* [CP] Check Pods Manifest.lock */, + E24A030C22EED0D500AB4631 /* Package JS Bundle */, + E2334AE722E9D2060098A085 /* Sources */, + E2334AE822E9D2060098A085 /* Frameworks */, + E2334AE922E9D2060098A085 /* Resources */, + 2719DACF05C7A7C1EB4AD553 /* [CP] Embed Pods Frameworks */, + C232600D894D85358A6ABF4D /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Example; + productName = Example; + productReference = E2334AEB22E9D2060098A085 /* Doric Playground.app */; + productType = "com.apple.product-type.application"; + }; + E2334B0222E9D2070098A085 /* ExampleTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = E2334B1A22E9D2070098A085 /* Build configuration list for PBXNativeTarget "ExampleTests" */; + buildPhases = ( + 48D050F720D3A879060292A8 /* [CP] Check Pods Manifest.lock */, + E2334AFF22E9D2070098A085 /* Sources */, + E2334B0022E9D2070098A085 /* Frameworks */, + E2334B0122E9D2070098A085 /* Resources */, + 68729F70B03CECDBAD2022E4 /* [CP] Embed Pods Frameworks */, + D5C1C722575685F99C382E01 /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + E2334B0522E9D2070098A085 /* PBXTargetDependency */, + ); + name = ExampleTests; + productName = ExampleTests; + productReference = E2334B0322E9D2070098A085 /* ExampleTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + E2334B0D22E9D2070098A085 /* ExampleUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = E2334B1D22E9D2070098A085 /* Build configuration list for PBXNativeTarget "ExampleUITests" */; + buildPhases = ( + 074533B9C1C5204E8750B07B /* [CP] Check Pods Manifest.lock */, + E2334B0A22E9D2070098A085 /* Sources */, + E2334B0B22E9D2070098A085 /* Frameworks */, + E2334B0C22E9D2070098A085 /* Resources */, + AC45D4A1B85D5D5A2F6E3DBD /* [CP] Embed Pods Frameworks */, + F0AA1A5ADB99F5ECA1F9331E /* [CP] Copy Pods Resources */, + ); + buildRules = ( + ); + dependencies = ( + E2334B1022E9D2070098A085 /* PBXTargetDependency */, + ); + name = ExampleUITests; + productName = ExampleUITests; + productReference = E2334B0E22E9D2070098A085 /* ExampleUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E2334AE322E9D2060098A085 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1030; + ORGANIZATIONNAME = pengfei.zhou; + TargetAttributes = { + E2334AEA22E9D2060098A085 = { + CreatedOnToolsVersion = 10.3; + }; + E2334B0222E9D2070098A085 = { + CreatedOnToolsVersion = 10.3; + TestTargetID = E2334AEA22E9D2060098A085; + }; + E2334B0D22E9D2070098A085 = { + CreatedOnToolsVersion = 10.3; + TestTargetID = E2334AEA22E9D2060098A085; + }; + }; + }; + buildConfigurationList = E2334AE622E9D2060098A085 /* Build configuration list for PBXProject "Example" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = E2334AE222E9D2060098A085; + productRefGroup = E2334AEC22E9D2060098A085 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E2334AEA22E9D2060098A085 /* Example */, + E2334B0222E9D2070098A085 /* ExampleTests */, + E2334B0D22E9D2070098A085 /* ExampleUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + E2334AE922E9D2060098A085 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E2334AFB22E9D2070098A085 /* LaunchScreen.storyboard in Resources */, + E2F4481723839AC500073C7F /* demo in Resources */, + E2334AF822E9D2070098A085 /* Assets.xcassets in Resources */, + E2334AF622E9D2060098A085 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2334B0122E9D2070098A085 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2334B0C22E9D2070098A085 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 074533B9C1C5204E8750B07B /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ExampleUITests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 2719DACF05C7A7C1EB4AD553 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 48D050F720D3A879060292A8 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-ExampleTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 68729F70B03CECDBAD2022E4 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + AC45D4A1B85D5D5A2F6E3DBD /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + BE34CD8291B20D26F2ADE3E1 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + C232600D894D85358A6ABF4D /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/Doric/Doric.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + ); + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Doric.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + D5C1C722575685F99C382E01 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + E24A030C22EED0D500AB4631 /* Package JS Bundle */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Package JS Bundle"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n\nexport NVM_DIR=\"$HOME/.nvm\"\n[ -s \"$NVM_DIR/nvm.sh\" ] && \\. \"$NVM_DIR/nvm.sh\" # This loads nvm\n[ -s \"$NVM_DIR/bash_completion\" ] && \\. \"$NVM_DIR/bash_completion\" # This loads nvm bash_completion\n\ncd ../../js-framework && npm run build\ncd ../demo && npm run build\n"; + }; + F0AA1A5ADB99F5ECA1F9331E /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E2334AE722E9D2060098A085 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E2334AF322E9D2060098A085 /* ViewController.m in Sources */, + E2334AFE22E9D2070098A085 /* main.m in Sources */, + E2334AF022E9D2060098A085 /* AppDelegate.m in Sources */, + D751D4B065D8D4FA6594B5EE /* DemoVC.m in Sources */, + D751D4FCC0A2322211DE3D55 /* QRScanViewController.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2334AFF22E9D2070098A085 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E2334B0822E9D2070098A085 /* ExampleTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E2334B0A22E9D2070098A085 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E2334B1322E9D2070098A085 /* ExampleUITests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + E2334B0522E9D2070098A085 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = E2334AEA22E9D2060098A085 /* Example */; + targetProxy = E2334B0422E9D2070098A085 /* PBXContainerItemProxy */; + }; + E2334B1022E9D2070098A085 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = E2334AEA22E9D2060098A085 /* Example */; + targetProxy = E2334B0F22E9D2070098A085 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + E2334AF422E9D2060098A085 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + E2334AF522E9D2060098A085 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + E2334AF922E9D2070098A085 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + E2334AFA22E9D2070098A085 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + E2334B1522E9D2070098A085 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + E2334B1622E9D2070098A085 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + E2334B1822E9D2070098A085 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8231E841CCAF382F85C9F576 /* Pods-Example.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 7EE2RX3L3P; + INFOPLIST_FILE = Example/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = pub.doric.Example; + PRODUCT_NAME = "Doric Playground"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + E2334B1922E9D2070098A085 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 3D75F592D76A665674B31A66 /* Pods-Example.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 7EE2RX3L3P; + INFOPLIST_FILE = Example/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = pub.doric.Example; + PRODUCT_NAME = "Doric Playground"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + E2334B1B22E9D2070098A085 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D91241144B5A3356A3C60644 /* Pods-ExampleTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = ExampleTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = pub.doric.ExampleTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; + }; + name = Debug; + }; + E2334B1C22E9D2070098A085 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B93D4DB00FD244178B7CE7C4 /* Pods-ExampleTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = ExampleTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = pub.doric.ExampleTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Example.app/Example"; + }; + name = Release; + }; + E2334B1E22E9D2070098A085 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 016E930415B91D826F9FFF47 /* Pods-ExampleUITests.debug.xcconfig */; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = ExampleUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = pub.doric.ExampleUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Example; + }; + name = Debug; + }; + E2334B1F22E9D2070098A085 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B93423722F2E06DC238CDD18 /* Pods-ExampleUITests.release.xcconfig */; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = ExampleUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = pub.doric.ExampleUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Example; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E2334AE622E9D2060098A085 /* Build configuration list for PBXProject "Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E2334B1522E9D2070098A085 /* Debug */, + E2334B1622E9D2070098A085 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E2334B1722E9D2070098A085 /* Build configuration list for PBXNativeTarget "Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E2334B1822E9D2070098A085 /* Debug */, + E2334B1922E9D2070098A085 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E2334B1A22E9D2070098A085 /* Build configuration list for PBXNativeTarget "ExampleTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E2334B1B22E9D2070098A085 /* Debug */, + E2334B1C22E9D2070098A085 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E2334B1D22E9D2070098A085 /* Build configuration list for PBXNativeTarget "ExampleUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E2334B1E22E9D2070098A085 /* Debug */, + E2334B1F22E9D2070098A085 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E2334AE322E9D2060098A085 /* Project object */; +} diff --git a/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..6d2a51bb --- /dev/null +++ b/Example/Example.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/Example/Example.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme new file mode 100644 index 00000000..fb23330f --- /dev/null +++ b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Example.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Example.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..ee3458dd --- /dev/null +++ b/Example/Example.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,5 @@ + + + + + diff --git a/Example/Example.xcworkspace/contents.xcworkspacedata b/Example/Example.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..a37cf193 --- /dev/null +++ b/Example/Example.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/Example/Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/UserInterfaceState.xcuserstate b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..259eaeb666d065159e5d4882ace99f9770f40f0a GIT binary patch literal 293844 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 literal 0 HcmV?d00001 diff --git a/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 00000000..f3a23345 --- /dev/null +++ b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,35 @@ + + + + + + + + + + + + + diff --git a/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Expressions.xcexplist b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Expressions.xcexplist new file mode 100644 index 00000000..5b3a9234 --- /dev/null +++ b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcdebugger/Expressions.xcexplist @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..ee3458dd --- /dev/null +++ b/Example/Example.xcworkspace/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,5 @@ + + + + + diff --git a/Example/Example/AppDelegate.h b/Example/Example/AppDelegate.h new file mode 100644 index 00000000..2e2a4c08 --- /dev/null +++ b/Example/Example/AppDelegate.h @@ -0,0 +1,17 @@ +// +// AppDelegate.h +// Example +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import + +@interface AppDelegate : UIResponder + +@property (strong, nonatomic) UIWindow *window; + + +@end + diff --git a/Example/Example/AppDelegate.m b/Example/Example/AppDelegate.m new file mode 100644 index 00000000..28002f7c --- /dev/null +++ b/Example/Example/AppDelegate.m @@ -0,0 +1,61 @@ +// +// AppDelegate.m +// Example +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import "AppDelegate.h" +#import "ViewController.h" + +@interface AppDelegate () +@property(nonatomic, strong) UIViewController *rootVC; +@property(nonatomic, strong) UINavigationController *navigationController; +@end + +@implementation AppDelegate + + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + self.rootVC = [[ViewController alloc] init]; + + self.window.rootViewController = self.rootVC; + self.navigationController = [[UINavigationController + alloc] initWithRootViewController:self.rootVC]; + [self.window addSubview:self.navigationController.view]; + [self.window makeKeyAndVisible]; + return YES; +} + + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. +} + + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. +} + + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + + +@end diff --git a/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json b/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d8db8d65 --- /dev/null +++ b/Example/Example/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Example/Assets.xcassets/Contents.json b/Example/Example/Assets.xcassets/Contents.json new file mode 100644 index 00000000..da4a164c --- /dev/null +++ b/Example/Example/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/Example/Base.lproj/LaunchScreen.storyboard b/Example/Example/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..bfa36129 --- /dev/null +++ b/Example/Example/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Example/Base.lproj/Main.storyboard b/Example/Example/Base.lproj/Main.storyboard new file mode 100644 index 00000000..942f0bc4 --- /dev/null +++ b/Example/Example/Base.lproj/Main.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Example/DemoVC.h b/Example/Example/DemoVC.h new file mode 100644 index 00000000..ea808936 --- /dev/null +++ b/Example/Example/DemoVC.h @@ -0,0 +1,12 @@ +// +// Created by pengfei.zhou on 2019/11/19. +// Copyright (c) 2019 pengfei.zhou. All rights reserved. +// + +#import +#import + + +@interface DemoVC : UIViewController +- (instancetype)initWithPath:(NSString *)filePath; +@end \ No newline at end of file diff --git a/Example/Example/DemoVC.m b/Example/Example/DemoVC.m new file mode 100644 index 00000000..02f7f354 --- /dev/null +++ b/Example/Example/DemoVC.m @@ -0,0 +1,39 @@ +// +// Created by pengfei.zhou on 2019/11/19. +// Copyright (c) 2019 pengfei.zhou. All rights reserved. +// + +#import "DemoVC.h" +#import "Doric.h" + +@interface DemoVC () +@property(nonatomic, copy) NSString *filePath; +@end + +@implementation DemoVC +- (instancetype)initWithPath:(NSString *)filePath { + if (self = [self init]) { + _filePath = filePath; + } + return self; +} + +- (void)viewDidLoad { + self.title = self.filePath; + self.view.backgroundColor = [UIColor whiteColor]; + NSString *path = [[NSBundle mainBundle] bundlePath]; + NSString *demoPath = [path stringByAppendingPathComponent:@"demo"]; + NSString *fullPath = [demoPath stringByAppendingPathComponent:self.filePath]; + NSString *jsContent = [NSString stringWithContentsOfFile:fullPath encoding:NSUTF8StringEncoding error:nil]; + DoricPanel *panel = [DoricPanel new]; + [panel.view also:^(UIView *it) { + it.width = self.view.width; + it.height = self.view.height - 88; + it.top = 88; + [self.view addSubview:it]; + }]; + [self addChildViewController:panel]; + [panel config:jsContent alias:self.filePath]; +} + +@end \ No newline at end of file diff --git a/Example/Example/Info.plist b/Example/Example/Info.plist new file mode 100644 index 00000000..dc0608e9 --- /dev/null +++ b/Example/Example/Info.plist @@ -0,0 +1,54 @@ + + + + + NSCameraUsageDescription + Scan QR Code + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + LSApplicationCategoryType + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Example/Example/QRScanViewController.h b/Example/Example/QRScanViewController.h new file mode 100644 index 00000000..05ffa4e6 --- /dev/null +++ b/Example/Example/QRScanViewController.h @@ -0,0 +1,10 @@ +// +// Created by pengfei.zhou on 2019/11/21. +// Copyright (c) 2019 pengfei.zhou. All rights reserved. +// + +#import +#import + +@interface QRScanViewController : UIViewController +@end \ No newline at end of file diff --git a/Example/Example/QRScanViewController.m b/Example/Example/QRScanViewController.m new file mode 100644 index 00000000..81aa3292 --- /dev/null +++ b/Example/Example/QRScanViewController.m @@ -0,0 +1,93 @@ +// +// Created by pengfei.zhou on 2019/11/21. +// Copyright (c) 2019 pengfei.zhou. All rights reserved. +// + +#import "QRScanViewController.h" +#import +#import "Doric.h" + +@interface QRScanViewController () +@property(strong, nonatomic) AVCaptureDevice *device; +@property(strong, nonatomic) AVCaptureDeviceInput *input; +@property(strong, nonatomic) AVCaptureMetadataOutput *output; +@property(strong, nonatomic) AVCaptureSession *session; +@property(strong, nonatomic) AVCaptureVideoPreviewLayer *previewLayer; +@property(strong, nonatomic) UIPinchGestureRecognizer *pinchGes; +@property(assign, nonatomic) CGFloat scanRegion_W; +@property(assign, nonatomic) CGFloat initScale; +@end + +@implementation QRScanViewController +- (void)viewDidLoad { + [super viewDidLoad]; + self.title = @"扫一扫"; + [self configBasicDevice]; + [self configPinchGes]; + [self.session startRunning]; +} + +- (void)configBasicDevice { + self.device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; + self.input = [[AVCaptureDeviceInput alloc] initWithDevice:self.device error:nil]; + self.output = [[AVCaptureMetadataOutput alloc] init]; + [self.output setMetadataObjectsDelegate:self queue:dispatch_get_main_queue()]; + self.session = [[AVCaptureSession alloc] init]; + [self.session setSessionPreset:AVCaptureSessionPresetHigh]; + if ([self.session canAddInput:self.input]) { + [self.session addInput:self.input]; + } + if ([self.session canAddOutput:self.output]) { + [self.session addOutput:self.output]; + } + [self.output setMetadataObjectTypes:@[AVMetadataObjectTypeQRCode]]; + [self.output setRectOfInterest:CGRectMake(0, 0, 1, 1)]; + self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.session]; + self.previewLayer.frame = CGRectMake(0, 0, self.view.width, self.view.height); + self.previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; + [self.view.layer addSublayer:self.previewLayer]; +} + +- (void)configPinchGes { + self.pinchGes = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchDetected:)]; + [self.view addGestureRecognizer:self.pinchGes]; +} + +- (void)pinchDetected:(UIPinchGestureRecognizer *)recogniser { + if (!_device) { + return; + } + if (recogniser.state == UIGestureRecognizerStateBegan) { + _initScale = _device.videoZoomFactor; + } + NSError *error = nil; + [_device lockForConfiguration:&error]; + if (!error) { + CGFloat zoomFactor; + CGFloat scale = recogniser.scale; + if (scale < 1.0f) { + zoomFactor = self.initScale - pow(self.device.activeFormat.videoMaxZoomFactor, 1.0f - recogniser.scale); + } else { + zoomFactor = self.initScale + pow(self.device.activeFormat.videoMaxZoomFactor, (recogniser.scale - 1.0f) / 2.0f); + } + zoomFactor = MIN(15.0f, zoomFactor); + zoomFactor = MAX(1.0f, zoomFactor); + _device.videoZoomFactor = zoomFactor; + [_device unlockForConfiguration]; + } +} + +#pragma mark - AVCaptureMetadataOutputObjectsDelegate + +- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection { + [self.session stopRunning]; + if ([metadataObjects count] >= 1) { + AVMetadataMachineReadableCodeObject *qrObject = [metadataObjects lastObject]; + NSString *result = qrObject.stringValue; + NSLog(@"Scan result is %@", result); + [[DoricDriver instance] connectDevKit:[NSString stringWithFormat:@"ws://%@:7777", result]]; + ShowToast([NSString stringWithFormat:@"Connected to %@", result], BOTTOM); + [self.navigationController popViewControllerAnimated:NO]; + } +} +@end \ No newline at end of file diff --git a/Example/Example/ViewController.h b/Example/Example/ViewController.h new file mode 100644 index 00000000..6e210c8a --- /dev/null +++ b/Example/Example/ViewController.h @@ -0,0 +1,15 @@ +// +// ViewController.h +// Example +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import + +@interface ViewController : UIViewController + + +@end + diff --git a/Example/Example/ViewController.m b/Example/Example/ViewController.m new file mode 100644 index 00000000..8acb2e3e --- /dev/null +++ b/Example/Example/ViewController.m @@ -0,0 +1,83 @@ +// +// ViewController.m +// Example +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import "ViewController.h" +#import "Doric.h" +#import "DemoVC.h" +#import "QRScanViewController.h" + +@interface ViewController () +@property(nonatomic, copy) NSArray *demoFilePaths; +@end + +@implementation ViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + self.title = @"Doric Demo"; + NSString *path = [[NSBundle mainBundle] bundlePath]; + NSString *demoPath = [path stringByAppendingPathComponent:@"demo"]; + NSFileManager *mgr = [NSFileManager defaultManager]; + self.demoFilePaths = [[mgr subpathsAtPath:demoPath] filter:^BOOL(NSString *obj) { + return ![obj containsString:@".map"]; + }]; + NSMutableArray *tmp = [self.demoFilePaths mutableCopy]; + [tmp insertObject:@"Dev Kit" atIndex:0]; + self.demoFilePaths = tmp; + [self.view addSubview:[[UITableView new] also:^(UITableView *it) { + it.width = self.view.width; + it.height = self.view.height; + it.left = it.top = 0; + it.dataSource = self; + it.delegate = self; + }]]; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.demoFilePaths.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + NSString *path = self.demoFilePaths[(NSUInteger) indexPath.row]; + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; + if (cell == nil) { + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cellID"]; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + } + cell.textLabel.text = path; + return cell; +} + +- (BOOL)isSimulator { + return TARGET_OS_SIMULATOR == 1; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.row == 0) { + if (self.isSimulator) { + NSString *result = @"127.0.0.1"; + [[DoricDriver instance] connectDevKit:[NSString stringWithFormat:@"ws://%@:7777", result]]; + ShowToast([NSString stringWithFormat:@"Connected to %@", result], BOTTOM); + } else { + [self.navigationController pushViewController:[QRScanViewController new] animated:NO]; + } + return; + } + NSString *file = self.demoFilePaths[(NSUInteger) indexPath.row]; + if ([file containsString:@"NavigatorDemo"]) { + DoricViewController *doricViewController = [[DoricViewController alloc] + initWithScheme:[NSString stringWithFormat:@"assets://demo/%@", file] + alias:self.demoFilePaths[(NSUInteger) indexPath.row]]; + [self.navigationController pushViewController:doricViewController animated:NO]; + } else { + DemoVC *demoVC = [[DemoVC alloc] initWithPath:file]; + [self.navigationController pushViewController:demoVC animated:NO]; + } +} + +@end diff --git a/Example/Example/demo b/Example/Example/demo new file mode 120000 index 00000000..7506393d --- /dev/null +++ b/Example/Example/demo @@ -0,0 +1 @@ +../../../demo/bundle/src/ \ No newline at end of file diff --git a/Example/Example/main.m b/Example/Example/main.m new file mode 100644 index 00000000..bd949033 --- /dev/null +++ b/Example/Example/main.m @@ -0,0 +1,16 @@ +// +// main.m +// Example +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Example/ExampleTests/ExampleTests.m b/Example/ExampleTests/ExampleTests.m new file mode 100644 index 00000000..3c72c126 --- /dev/null +++ b/Example/ExampleTests/ExampleTests.m @@ -0,0 +1,37 @@ +// +// ExampleTests.m +// ExampleTests +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import + +@interface ExampleTests : XCTestCase + +@end + +@implementation ExampleTests + +- (void)setUp { + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. +} + +- (void)testExample { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. +} + +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; +} + +@end diff --git a/Example/ExampleTests/Info.plist b/Example/ExampleTests/Info.plist new file mode 100644 index 00000000..6c40a6cd --- /dev/null +++ b/Example/ExampleTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/Example/ExampleUITests/ExampleUITests.m b/Example/ExampleUITests/ExampleUITests.m new file mode 100644 index 00000000..b34459a7 --- /dev/null +++ b/Example/ExampleUITests/ExampleUITests.m @@ -0,0 +1,38 @@ +// +// ExampleUITests.m +// ExampleUITests +// +// Created by pengfei.zhou on 2019/7/25. +// Copyright © 2019 pengfei.zhou. All rights reserved. +// + +#import + +@interface ExampleUITests : XCTestCase + +@end + +@implementation ExampleUITests + +- (void)setUp { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + self.continueAfterFailure = NO; + + // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. + [[[XCUIApplication alloc] init] launch]; + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. +} + +- (void)testExample { + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. +} + +@end diff --git a/Example/ExampleUITests/Info.plist b/Example/ExampleUITests/Info.plist new file mode 100644 index 00000000..6c40a6cd --- /dev/null +++ b/Example/ExampleUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/Example/Podfile b/Example/Podfile new file mode 100644 index 00000000..86f37ee2 --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,17 @@ +# Uncomment the next line to define a global platform for your project +# platform :ios, '9.0' + +target 'Example' do + + pod 'Doric', :path => '../' + target 'ExampleTests' do + inherit! :search_paths + # Pods for testing + end + + target 'ExampleUITests' do + inherit! :search_paths + # Pods for testing + end + +end diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 00000000..93a0efb8 --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,47 @@ +PODS: + - Doric (0.1.0): + - GCDWebServer (~> 3.0) + - SocketRocket (~> 0.5.1) + - YYCache (~> 1.0.4) + - YYImage/WebP + - YYWebImage (~> 1.0.5) + - GCDWebServer (3.5.3): + - GCDWebServer/Core (= 3.5.3) + - GCDWebServer/Core (3.5.3) + - SocketRocket (0.5.1) + - YYCache (1.0.4) + - YYImage (1.0.4): + - YYImage/Core (= 1.0.4) + - YYImage/Core (1.0.4) + - YYImage/WebP (1.0.4): + - YYImage/Core + - YYWebImage (1.0.5): + - YYCache + - YYImage + +DEPENDENCIES: + - Doric (from `../`) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - GCDWebServer + - SocketRocket + - YYCache + - YYImage + - YYWebImage + +EXTERNAL SOURCES: + Doric: + :path: "../" + +SPEC CHECKSUMS: + Doric: 38ac111ee84ca27c3838f65f286daf11b537801c + GCDWebServer: c0ab22c73e1b84f358d1e2f74bf6afd1c60829f2 + SocketRocket: d57c7159b83c3c6655745cd15302aa24b6bae531 + YYCache: 8105b6638f5e849296c71f331ff83891a4942952 + YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 + YYWebImage: 5f7f36aee2ae293f016d418c7d6ba05c4863e928 + +PODFILE CHECKSUM: 012563d71439e7e33e976dca3b59664ed56cee39 + +COCOAPODS: 1.7.5 diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.h new file mode 100644 index 00000000..70cb70c6 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.h @@ -0,0 +1,637 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +#import "GCDWebServerRequest.h" +#import "GCDWebServerResponse.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerMatchBlock is called for every handler added to the + * GCDWebServer whenever a new HTTP request has started (i.e. HTTP headers have + * been received). The block is passed the basic info for the request (HTTP method, + * URL, headers...) and must decide if it wants to handle it or not. + * + * If the handler can handle the request, the block must return a new + * GCDWebServerRequest instance created with the same basic info. + * Otherwise, it simply returns nil. + */ +typedef GCDWebServerRequest* _Nullable (^GCDWebServerMatchBlock)(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery); + +/** + * The GCDWebServerProcessBlock is called after the HTTP request has been fully + * received (i.e. the entire HTTP body has been read). The block is passed the + * GCDWebServerRequest created at the previous step by the GCDWebServerMatchBlock. + * + * The block must return a GCDWebServerResponse or nil on error, which will + * result in a 500 HTTP status code returned to the client. It's however + * recommended to return a GCDWebServerErrorResponse on error so more useful + * information can be returned to the client. + */ +typedef GCDWebServerResponse* _Nullable (^GCDWebServerProcessBlock)(__kindof GCDWebServerRequest* request); + +/** + * The GCDWebServerAsynchronousProcessBlock works like the GCDWebServerProcessBlock + * except the GCDWebServerResponse can be returned to the server at a later time + * allowing for asynchronous generation of the response. + * + * The block must eventually call "completionBlock" passing a GCDWebServerResponse + * or nil on error, which will result in a 500 HTTP status code returned to the client. + * It's however recommended to return a GCDWebServerErrorResponse on error so more + * useful information can be returned to the client. + */ +typedef void (^GCDWebServerCompletionBlock)(GCDWebServerResponse* _Nullable response); +typedef void (^GCDWebServerAsyncProcessBlock)(__kindof GCDWebServerRequest* request, GCDWebServerCompletionBlock completionBlock); + +/** + * The GCDWebServerBuiltInLoggerBlock is used to override the built-in logger at runtime. + * The block will be passed the log level and the log message, see setLogLevel for + * documentation of the log levels for the built-in logger. + */ +typedef void (^GCDWebServerBuiltInLoggerBlock)(int level, NSString* _Nonnull message); + +/** + * The port used by the GCDWebServer (NSNumber / NSUInteger). + * + * The default value is 0 i.e. let the OS pick a random port. + */ +extern NSString* const GCDWebServerOption_Port; + +/** + * The Bonjour name used by the GCDWebServer (NSString). If set to an empty string, + * the name will automatically take the value of the GCDWebServerOption_ServerName + * option. If this option is set to nil, Bonjour will be disabled. + * + * The default value is nil. + */ +extern NSString* const GCDWebServerOption_BonjourName; + +/** + * The Bonjour service type used by the GCDWebServer (NSString). + * + * The default value is "_http._tcp", the service type for HTTP web servers. + */ +extern NSString* const GCDWebServerOption_BonjourType; + +/** + * Request a port mapping in the NAT gateway (NSNumber / BOOL). + * + * This uses the DNSService API under the hood which supports IPv4 mappings only. + * + * The default value is NO. + * + * @warning The external port set up by the NAT gateway may be different than + * the one used by the GCDWebServer. + */ +extern NSString* const GCDWebServerOption_RequestNATPortMapping; + +/** + * Only accept HTTP requests coming from localhost i.e. not from the outside + * network (NSNumber / BOOL). + * + * The default value is NO. + * + * @warning Bonjour and NAT port mapping should be disabled if using this option + * since the server will not be reachable from the outside network anyway. + */ +extern NSString* const GCDWebServerOption_BindToLocalhost; + +/** + * The maximum number of incoming HTTP requests that can be queued waiting to + * be handled before new ones are dropped (NSNumber / NSUInteger). + * + * The default value is 16. + */ +extern NSString* const GCDWebServerOption_MaxPendingConnections; + +/** + * The value for "Server" HTTP header used by the GCDWebServer (NSString). + * + * The default value is the GCDWebServer class name. + */ +extern NSString* const GCDWebServerOption_ServerName; + +/** + * The authentication method used by the GCDWebServer + * (one of "GCDWebServerAuthenticationMethod_..."). + * + * The default value is nil i.e. authentication is disabled. + */ +extern NSString* const GCDWebServerOption_AuthenticationMethod; + +/** + * The authentication realm used by the GCDWebServer (NSString). + * + * The default value is the same as the GCDWebServerOption_ServerName option. + */ +extern NSString* const GCDWebServerOption_AuthenticationRealm; + +/** + * The authentication accounts used by the GCDWebServer + * (NSDictionary of username / password pairs). + * + * The default value is nil i.e. no accounts. + */ +extern NSString* const GCDWebServerOption_AuthenticationAccounts; + +/** + * The class used by the GCDWebServer when instantiating GCDWebServerConnection + * (subclass of GCDWebServerConnection). + * + * The default value is the GCDWebServerConnection class. + */ +extern NSString* const GCDWebServerOption_ConnectionClass; + +/** + * Allow the GCDWebServer to pretend "HEAD" requests are actually "GET" ones + * and automatically discard the HTTP body of the response (NSNumber / BOOL). + * + * The default value is YES. + */ +extern NSString* const GCDWebServerOption_AutomaticallyMapHEADToGET; + +/** + * The interval expressed in seconds used by the GCDWebServer to decide how to + * coalesce calls to -webServerDidConnect: and -webServerDidDisconnect: + * (NSNumber / double). Coalescing will be disabled if the interval is <= 0.0. + * + * The default value is 1.0 second. + */ +extern NSString* const GCDWebServerOption_ConnectedStateCoalescingInterval; + +/** + * Set the dispatch queue priority on which server connection will be + * run (NSNumber / long). + * + * + * The default value is DISPATCH_QUEUE_PRIORITY_DEFAULT. + */ +extern NSString* const GCDWebServerOption_DispatchQueuePriority; + +#if TARGET_OS_IPHONE + +/** + * Enables the GCDWebServer to automatically suspend itself (as if -stop was + * called) when the iOS app goes into the background and the last + * GCDWebServerConnection is closed, then resume itself (as if -start was called) + * when the iOS app comes back to the foreground (NSNumber / BOOL). + * + * See the README.md file for more information about this option. + * + * The default value is YES. + * + * @warning The running property will be NO while the GCDWebServer is suspended. + */ +extern NSString* const GCDWebServerOption_AutomaticallySuspendInBackground; + +#endif + +/** + * HTTP Basic Authentication scheme (see https://tools.ietf.org/html/rfc2617). + * + * @warning Use of this authentication scheme is not recommended as the + * passwords are sent in clear. + */ +extern NSString* const GCDWebServerAuthenticationMethod_Basic; + +/** + * HTTP Digest Access Authentication scheme (see https://tools.ietf.org/html/rfc2617). + */ +extern NSString* const GCDWebServerAuthenticationMethod_DigestAccess; + +@class GCDWebServer; + +/** + * Delegate methods for GCDWebServer. + * + * @warning These methods are always called on the main thread in a serialized way. + */ +@protocol GCDWebServerDelegate +@optional + +/** + * This method is called after the server has successfully started. + */ +- (void)webServerDidStart:(GCDWebServer*)server; + +/** + * This method is called after the Bonjour registration for the server has + * successfully completed. + * + * Use the "bonjourServerURL" property to retrieve the Bonjour address of the + * server. + */ +- (void)webServerDidCompleteBonjourRegistration:(GCDWebServer*)server; + +/** + * This method is called after the NAT port mapping for the server has been + * updated. + * + * Use the "publicServerURL" property to retrieve the public address of the + * server. + */ +- (void)webServerDidUpdateNATPortMapping:(GCDWebServer*)server; + +/** + * This method is called when the first GCDWebServerConnection is opened by the + * server to serve a series of HTTP requests. + * + * A series of HTTP requests is considered ongoing as long as new HTTP requests + * keep coming (and new GCDWebServerConnection instances keep being opened), + * until before the last HTTP request has been responded to (and the + * corresponding last GCDWebServerConnection closed). + */ +- (void)webServerDidConnect:(GCDWebServer*)server; + +/** + * This method is called when the last GCDWebServerConnection is closed after + * the server has served a series of HTTP requests. + * + * The GCDWebServerOption_ConnectedStateCoalescingInterval option can be used + * to have the server wait some extra delay before considering that the series + * of HTTP requests has ended (in case there some latency between consecutive + * requests). This effectively coalesces the calls to -webServerDidConnect: + * and -webServerDidDisconnect:. + */ +- (void)webServerDidDisconnect:(GCDWebServer*)server; + +/** + * This method is called after the server has stopped. + */ +- (void)webServerDidStop:(GCDWebServer*)server; + +@end + +/** + * The GCDWebServer class listens for incoming HTTP requests on a given port, + * then passes each one to a "handler" capable of generating an HTTP response + * for it, which is then sent back to the client. + * + * GCDWebServer instances can be created and used from any thread but it's + * recommended to have the main thread's runloop be running so internal callbacks + * can be handled e.g. for Bonjour registration. + * + * See the README.md file for more information about the architecture of GCDWebServer. + */ +@interface GCDWebServer : NSObject + +/** + * Sets the delegate for the server. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Returns YES if the server is currently running. + */ +@property(nonatomic, readonly, getter=isRunning) BOOL running; + +/** + * Returns the port used by the server. + * + * @warning This property is only valid if the server is running. + */ +@property(nonatomic, readonly) NSUInteger port; + +/** + * Returns the Bonjour name used by the server. + * + * @warning This property is only valid if the server is running and Bonjour + * registration has successfully completed, which can take up to a few seconds. + */ +@property(nonatomic, readonly, nullable) NSString* bonjourName; + +/** + * Returns the Bonjour service type used by the server. + * + * @warning This property is only valid if the server is running and Bonjour + * registration has successfully completed, which can take up to a few seconds. + */ +@property(nonatomic, readonly, nullable) NSString* bonjourType; + +/** + * This method is the designated initializer for the class. + */ +- (instancetype)init; + +/** + * Adds to the server a handler that generates responses synchronously when handling incoming HTTP requests. + * + * Handlers are called in a LIFO queue, so if multiple handlers can potentially + * respond to a given request, the latest added one wins. + * + * @warning Addling handlers while the server is running is not allowed. + */ +- (void)addHandlerWithMatchBlock:(GCDWebServerMatchBlock)matchBlock processBlock:(GCDWebServerProcessBlock)processBlock; + +/** + * Adds to the server a handler that generates responses asynchronously when handling incoming HTTP requests. + * + * Handlers are called in a LIFO queue, so if multiple handlers can potentially + * respond to a given request, the latest added one wins. + * + * @warning Addling handlers while the server is running is not allowed. + */ +- (void)addHandlerWithMatchBlock:(GCDWebServerMatchBlock)matchBlock asyncProcessBlock:(GCDWebServerAsyncProcessBlock)processBlock; + +/** + * Removes all handlers previously added to the server. + * + * @warning Removing handlers while the server is running is not allowed. + */ +- (void)removeAllHandlers; + +/** + * Starts the server with explicit options. This method is the designated way + * to start the server. + * + * Returns NO if the server failed to start and sets "error" argument if not NULL. + */ +- (BOOL)startWithOptions:(nullable NSDictionary*)options error:(NSError** _Nullable)error; + +/** + * Stops the server and prevents it to accepts new HTTP requests. + * + * @warning Stopping the server does not abort GCDWebServerConnection instances + * currently handling already received HTTP requests. These connections will + * continue to execute normally until completion. + */ +- (void)stop; + +@end + +@interface GCDWebServer (Extensions) + +/** + * Returns the server's URL. + * + * @warning This property is only valid if the server is running. + */ +@property(nonatomic, readonly, nullable) NSURL* serverURL; + +/** + * Returns the server's Bonjour URL. + * + * @warning This property is only valid if the server is running and Bonjour + * registration has successfully completed, which can take up to a few seconds. + * Also be aware this property will not automatically update if the Bonjour hostname + * has been dynamically changed after the server started running (this should be rare). + */ +@property(nonatomic, readonly, nullable) NSURL* bonjourServerURL; + +/** + * Returns the server's public URL. + * + * @warning This property is only valid if the server is running and NAT port + * mapping is active. + */ +@property(nonatomic, readonly, nullable) NSURL* publicServerURL; + +/** + * Starts the server on port 8080 (OS X & iOS Simulator) or port 80 (iOS) + * using the default Bonjour name. + * + * Returns NO if the server failed to start. + */ +- (BOOL)start; + +/** + * Starts the server on a given port and with a specific Bonjour name. + * Pass a nil Bonjour name to disable Bonjour entirely or an empty string to + * use the default name. + * + * Returns NO if the server failed to start. + */ +- (BOOL)startWithPort:(NSUInteger)port bonjourName:(nullable NSString*)name; + +#if !TARGET_OS_IPHONE + +/** + * Runs the server synchronously using -startWithPort:bonjourName: until a + * SIGINT signal is received i.e. Ctrl-C. This method is intended to be used + * by command line tools. + * + * Returns NO if the server failed to start. + * + * @warning This method must be used from the main thread only. + */ +- (BOOL)runWithPort:(NSUInteger)port bonjourName:(nullable NSString*)name; + +/** + * Runs the server synchronously using -startWithOptions: until a SIGTERM or + * SIGINT signal is received i.e. Ctrl-C in Terminal. This method is intended to + * be used by command line tools. + * + * Returns NO if the server failed to start and sets "error" argument if not NULL. + * + * @warning This method must be used from the main thread only. + */ +- (BOOL)runWithOptions:(nullable NSDictionary*)options error:(NSError** _Nullable)error; + +#endif + +@end + +@interface GCDWebServer (Handlers) + +/** + * Adds a default handler to the server to handle all incoming HTTP requests + * with a given HTTP method and generate responses synchronously. + */ +- (void)addDefaultHandlerForMethod:(NSString*)method requestClass:(Class)aClass processBlock:(GCDWebServerProcessBlock)block; + +/** + * Adds a default handler to the server to handle all incoming HTTP requests + * with a given HTTP method and generate responses asynchronously. + */ +- (void)addDefaultHandlerForMethod:(NSString*)method requestClass:(Class)aClass asyncProcessBlock:(GCDWebServerAsyncProcessBlock)block; + +/** + * Adds a handler to the server to handle incoming HTTP requests with a given + * HTTP method and a specific case-insensitive path and generate responses + * synchronously. + */ +- (void)addHandlerForMethod:(NSString*)method path:(NSString*)path requestClass:(Class)aClass processBlock:(GCDWebServerProcessBlock)block; + +/** + * Adds a handler to the server to handle incoming HTTP requests with a given + * HTTP method and a specific case-insensitive path and generate responses + * asynchronously. + */ +- (void)addHandlerForMethod:(NSString*)method path:(NSString*)path requestClass:(Class)aClass asyncProcessBlock:(GCDWebServerAsyncProcessBlock)block; + +/** + * Adds a handler to the server to handle incoming HTTP requests with a given + * HTTP method and a path matching a case-insensitive regular expression and + * generate responses synchronously. + */ +- (void)addHandlerForMethod:(NSString*)method pathRegex:(NSString*)regex requestClass:(Class)aClass processBlock:(GCDWebServerProcessBlock)block; + +/** + * Adds a handler to the server to handle incoming HTTP requests with a given + * HTTP method and a path matching a case-insensitive regular expression and + * generate responses asynchronously. + */ +- (void)addHandlerForMethod:(NSString*)method pathRegex:(NSString*)regex requestClass:(Class)aClass asyncProcessBlock:(GCDWebServerAsyncProcessBlock)block; + +@end + +@interface GCDWebServer (GETHandlers) + +/** + * Adds a handler to the server to respond to incoming "GET" HTTP requests + * with a specific case-insensitive path with in-memory data. + */ +- (void)addGETHandlerForPath:(NSString*)path staticData:(NSData*)staticData contentType:(nullable NSString*)contentType cacheAge:(NSUInteger)cacheAge; + +/** + * Adds a handler to the server to respond to incoming "GET" HTTP requests + * with a specific case-insensitive path with a file. + */ +- (void)addGETHandlerForPath:(NSString*)path filePath:(NSString*)filePath isAttachment:(BOOL)isAttachment cacheAge:(NSUInteger)cacheAge allowRangeRequests:(BOOL)allowRangeRequests; + +/** + * Adds a handler to the server to respond to incoming "GET" HTTP requests + * with a case-insensitive path inside a base path with the corresponding file + * inside a local directory. If no local file matches the request path, a 401 + * HTTP status code is returned to the client. + * + * The "indexFilename" argument allows to specify an "index" file name to use + * when the request path corresponds to a directory. + */ +- (void)addGETHandlerForBasePath:(NSString*)basePath directoryPath:(NSString*)directoryPath indexFilename:(nullable NSString*)indexFilename cacheAge:(NSUInteger)cacheAge allowRangeRequests:(BOOL)allowRangeRequests; + +@end + +/** + * GCDWebServer provides its own built-in logging facility which is used by + * default. It simply sends log messages to stderr assuming it is connected + * to a terminal type device. + * + * GCDWebServer is also compatible with a limited set of third-party logging + * facilities. If one of them is available at compile time, GCDWebServer will + * automatically use it in place of the built-in one. + * + * Currently supported third-party logging facilities are: + * - XLFacility (by the same author as GCDWebServer): https://github.com/swisspol/XLFacility + * + * For the built-in logging facility, the default logging level is INFO + * (or DEBUG if the preprocessor constant "DEBUG" evaluates to non-zero at + * compile time). + * + * It's possible to have GCDWebServer use a custom logging facility by defining + * the "__GCDWEBSERVER_LOGGING_HEADER__" preprocessor constant in Xcode build + * settings to the name of a custom header file (escaped like \"MyLogging.h\"). + * This header file must define the following set of macros: + * + * GWS_LOG_DEBUG(...) + * GWS_LOG_VERBOSE(...) + * GWS_LOG_INFO(...) + * GWS_LOG_WARNING(...) + * GWS_LOG_ERROR(...) + * + * IMPORTANT: These macros must behave like NSLog(). Furthermore the GWS_LOG_DEBUG() + * macro should not do anything unless the preprocessor constant "DEBUG" evaluates + * to non-zero. + * + * The logging methods below send log messages to the same logging facility + * used by GCDWebServer. They can be used for consistency wherever you interact + * with GCDWebServer in your code (e.g. in the implementation of handlers). + */ +@interface GCDWebServer (Logging) + +/** + * Sets the log level of the logging facility below which log messages are discarded. + * + * @warning The interpretation of the "level" argument depends on the logging + * facility used at compile time. + * + * If using the built-in logging facility, the log levels are as follow: + * DEBUG = 0 + * VERBOSE = 1 + * INFO = 2 + * WARNING = 3 + * ERROR = 4 + */ ++ (void)setLogLevel:(int)level; + +/** + * Set a logger to be used instead of the built-in logger which logs to stderr. + * + * IMPORTANT: In order for this override to work, you should not be specifying + * a custom logger at compile time with "__GCDWEBSERVER_LOGGING_HEADER__". + */ ++ (void)setBuiltInLogger:(GCDWebServerBuiltInLoggerBlock)block; + +/** + * Logs a message to the logging facility at the VERBOSE level. + */ +- (void)logVerbose:(NSString*)format, ... NS_FORMAT_FUNCTION(1, 2); + +/** + * Logs a message to the logging facility at the INFO level. + */ +- (void)logInfo:(NSString*)format, ... NS_FORMAT_FUNCTION(1, 2); + +/** + * Logs a message to the logging facility at the WARNING level. + */ +- (void)logWarning:(NSString*)format, ... NS_FORMAT_FUNCTION(1, 2); + +/** + * Logs a message to the logging facility at the ERROR level. + */ +- (void)logError:(NSString*)format, ... NS_FORMAT_FUNCTION(1, 2); + +@end + +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + +@interface GCDWebServer (Testing) + +/** + * Activates recording of HTTP requests and responses which create files in the + * current directory containing the raw data for all requests and responses. + * + * @warning The current directory must not contain any prior recording files. + */ +@property(nonatomic, getter=isRecordingEnabled) BOOL recordingEnabled; + +/** + * Runs tests by playing back pre-recorded HTTP requests in the given directory + * and comparing the generated responses with the pre-recorded ones. + * + * Returns the number of failed tests or -1 if server failed to start. + */ +- (NSInteger)runTestsWithOptions:(nullable NSDictionary*)options inDirectory:(NSString*)path; + +@end + +#endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.m b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.m new file mode 100644 index 00000000..cb1b2955 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServer.m @@ -0,0 +1,1306 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import +#if TARGET_OS_IPHONE +#import +#else +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ +#import +#endif +#endif +#import +#import + +#import "GCDWebServerPrivate.h" + +#if TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR +#define kDefaultPort 80 +#else +#define kDefaultPort 8080 +#endif + +#define kBonjourResolutionTimeout 5.0 + +NSString* const GCDWebServerOption_Port = @"Port"; +NSString* const GCDWebServerOption_BonjourName = @"BonjourName"; +NSString* const GCDWebServerOption_BonjourType = @"BonjourType"; +NSString* const GCDWebServerOption_RequestNATPortMapping = @"RequestNATPortMapping"; +NSString* const GCDWebServerOption_BindToLocalhost = @"BindToLocalhost"; +NSString* const GCDWebServerOption_MaxPendingConnections = @"MaxPendingConnections"; +NSString* const GCDWebServerOption_ServerName = @"ServerName"; +NSString* const GCDWebServerOption_AuthenticationMethod = @"AuthenticationMethod"; +NSString* const GCDWebServerOption_AuthenticationRealm = @"AuthenticationRealm"; +NSString* const GCDWebServerOption_AuthenticationAccounts = @"AuthenticationAccounts"; +NSString* const GCDWebServerOption_ConnectionClass = @"ConnectionClass"; +NSString* const GCDWebServerOption_AutomaticallyMapHEADToGET = @"AutomaticallyMapHEADToGET"; +NSString* const GCDWebServerOption_ConnectedStateCoalescingInterval = @"ConnectedStateCoalescingInterval"; +NSString* const GCDWebServerOption_DispatchQueuePriority = @"DispatchQueuePriority"; +#if TARGET_OS_IPHONE +NSString* const GCDWebServerOption_AutomaticallySuspendInBackground = @"AutomaticallySuspendInBackground"; +#endif + +NSString* const GCDWebServerAuthenticationMethod_Basic = @"Basic"; +NSString* const GCDWebServerAuthenticationMethod_DigestAccess = @"DigestAccess"; + +#if defined(__GCDWEBSERVER_LOGGING_FACILITY_BUILTIN__) +#if DEBUG +GCDWebServerLoggingLevel GCDWebServerLogLevel = kGCDWebServerLoggingLevel_Debug; +#else +GCDWebServerLoggingLevel GCDWebServerLogLevel = kGCDWebServerLoggingLevel_Info; +#endif +#endif + +#if !TARGET_OS_IPHONE +static BOOL _run; +#endif + +#ifdef __GCDWEBSERVER_LOGGING_FACILITY_BUILTIN__ + +static GCDWebServerBuiltInLoggerBlock _builtInLoggerBlock; + +void GCDWebServerLogMessage(GCDWebServerLoggingLevel level, NSString* format, ...) { + static const char* levelNames[] = {"DEBUG", "VERBOSE", "INFO", "WARNING", "ERROR"}; + static int enableLogging = -1; + if (enableLogging < 0) { + enableLogging = (isatty(STDERR_FILENO) ? 1 : 0); + } + if (_builtInLoggerBlock || enableLogging) { + va_list arguments; + va_start(arguments, format); + NSString* message = [[NSString alloc] initWithFormat:format arguments:arguments]; + va_end(arguments); + if (_builtInLoggerBlock) { + _builtInLoggerBlock(level, message); + } else { + fprintf(stderr, "[%s] %s\n", levelNames[level], [message UTF8String]); + } + } +} + +#endif + +#if !TARGET_OS_IPHONE + +static void _SignalHandler(int signal) { + _run = NO; + printf("\n"); +} + +#endif + +#if !TARGET_OS_IPHONE || defined(__GCDWEBSERVER_ENABLE_TESTING__) + +// This utility function is used to ensure scheduled callbacks on the main thread are called when running the server synchronously +// https://developer.apple.com/library/mac/documentation/General/Conceptual/ConcurrencyProgrammingGuide/OperationQueues/OperationQueues.html +// The main queue works with the application’s run loop to interleave the execution of queued tasks with the execution of other event sources attached to the run loop +// TODO: Ensure all scheduled blocks on the main queue are also executed +static void _ExecuteMainThreadRunLoopSources() { + SInt32 result; + do { + result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.0, true); + } while (result == kCFRunLoopRunHandledSource); +} + +#endif + +@implementation GCDWebServerHandler + +- (instancetype)initWithMatchBlock:(GCDWebServerMatchBlock _Nonnull)matchBlock asyncProcessBlock:(GCDWebServerAsyncProcessBlock _Nonnull)processBlock { + if ((self = [super init])) { + _matchBlock = [matchBlock copy]; + _asyncProcessBlock = [processBlock copy]; + } + return self; +} + +@end + +@implementation GCDWebServer { + dispatch_queue_t _syncQueue; + dispatch_group_t _sourceGroup; + NSMutableArray* _handlers; + NSInteger _activeConnections; // Accessed through _syncQueue only + BOOL _connected; // Accessed on main thread only + CFRunLoopTimerRef _disconnectTimer; // Accessed on main thread only + + NSDictionary* _options; + NSMutableDictionary* _authenticationBasicAccounts; + NSMutableDictionary* _authenticationDigestAccounts; + Class _connectionClass; + CFTimeInterval _disconnectDelay; + dispatch_source_t _source4; + dispatch_source_t _source6; + CFNetServiceRef _registrationService; + CFNetServiceRef _resolutionService; + DNSServiceRef _dnsService; + CFSocketRef _dnsSocket; + CFRunLoopSourceRef _dnsSource; + NSString* _dnsAddress; + NSUInteger _dnsPort; + BOOL _bindToLocalhost; +#if TARGET_OS_IPHONE + BOOL _suspendInBackground; + UIBackgroundTaskIdentifier _backgroundTask; +#endif +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + BOOL _recording; +#endif +} + ++ (void)initialize { + GCDWebServerInitializeFunctions(); +} + +- (instancetype)init { + if ((self = [super init])) { + _syncQueue = dispatch_queue_create([NSStringFromClass([self class]) UTF8String], DISPATCH_QUEUE_SERIAL); + _sourceGroup = dispatch_group_create(); + _handlers = [[NSMutableArray alloc] init]; +#if TARGET_OS_IPHONE + _backgroundTask = UIBackgroundTaskInvalid; +#endif + } + return self; +} + +- (void)dealloc { + GWS_DCHECK(_connected == NO); + GWS_DCHECK(_activeConnections == 0); + GWS_DCHECK(_options == nil); // The server can never be dealloc'ed while running because of the retain-cycle with the dispatch source + GWS_DCHECK(_disconnectTimer == NULL); // The server can never be dealloc'ed while the disconnect timer is pending because of the retain-cycle + +#if !OS_OBJECT_USE_OBJC_RETAIN_RELEASE + dispatch_release(_sourceGroup); + dispatch_release(_syncQueue); +#endif +} + +#if TARGET_OS_IPHONE + +// Always called on main thread +- (void)_startBackgroundTask { + GWS_DCHECK([NSThread isMainThread]); + if (_backgroundTask == UIBackgroundTaskInvalid) { + GWS_LOG_DEBUG(@"Did start background task"); + _backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ + GWS_LOG_WARNING(@"Application is being suspended while %@ is still connected", [self class]); + [self _endBackgroundTask]; + }]; + } else { + GWS_DNOT_REACHED(); + } +} + +#endif + +// Always called on main thread +- (void)_didConnect { + GWS_DCHECK([NSThread isMainThread]); + GWS_DCHECK(_connected == NO); + _connected = YES; + GWS_LOG_DEBUG(@"Did connect"); + +#if TARGET_OS_IPHONE + if ([[UIApplication sharedApplication] applicationState] != UIApplicationStateBackground) { + [self _startBackgroundTask]; + } +#endif + + if ([_delegate respondsToSelector:@selector(webServerDidConnect:)]) { + [_delegate webServerDidConnect:self]; + } +} + +- (void)willStartConnection:(GCDWebServerConnection*)connection { + dispatch_sync(_syncQueue, ^{ + GWS_DCHECK(self->_activeConnections >= 0); + if (self->_activeConnections == 0) { + dispatch_async(dispatch_get_main_queue(), ^{ + if (self->_disconnectTimer) { + CFRunLoopTimerInvalidate(self->_disconnectTimer); + CFRelease(self->_disconnectTimer); + self->_disconnectTimer = NULL; + } + if (self->_connected == NO) { + [self _didConnect]; + } + }); + } + self->_activeConnections += 1; + }); +} + +#if TARGET_OS_IPHONE + +// Always called on main thread +- (void)_endBackgroundTask { + GWS_DCHECK([NSThread isMainThread]); + if (_backgroundTask != UIBackgroundTaskInvalid) { + if (_suspendInBackground && ([[UIApplication sharedApplication] applicationState] == UIApplicationStateBackground) && _source4) { + [self _stop]; + } + [[UIApplication sharedApplication] endBackgroundTask:_backgroundTask]; + _backgroundTask = UIBackgroundTaskInvalid; + GWS_LOG_DEBUG(@"Did end background task"); + } +} + +#endif + +// Always called on main thread +- (void)_didDisconnect { + GWS_DCHECK([NSThread isMainThread]); + GWS_DCHECK(_connected == YES); + _connected = NO; + GWS_LOG_DEBUG(@"Did disconnect"); + +#if TARGET_OS_IPHONE + [self _endBackgroundTask]; +#endif + + if ([_delegate respondsToSelector:@selector(webServerDidDisconnect:)]) { + [_delegate webServerDidDisconnect:self]; + } +} + +- (void)didEndConnection:(GCDWebServerConnection*)connection { + dispatch_sync(_syncQueue, ^{ + GWS_DCHECK(self->_activeConnections > 0); + self->_activeConnections -= 1; + if (self->_activeConnections == 0) { + dispatch_async(dispatch_get_main_queue(), ^{ + if ((self->_disconnectDelay > 0.0) && (self->_source4 != NULL)) { + if (self->_disconnectTimer) { + CFRunLoopTimerInvalidate(self->_disconnectTimer); + CFRelease(self->_disconnectTimer); + } + self->_disconnectTimer = CFRunLoopTimerCreateWithHandler(kCFAllocatorDefault, CFAbsoluteTimeGetCurrent() + self->_disconnectDelay, 0.0, 0, 0, ^(CFRunLoopTimerRef timer) { + GWS_DCHECK([NSThread isMainThread]); + [self _didDisconnect]; + CFRelease(self->_disconnectTimer); + self->_disconnectTimer = NULL; + }); + CFRunLoopAddTimer(CFRunLoopGetMain(), self->_disconnectTimer, kCFRunLoopCommonModes); + } else { + [self _didDisconnect]; + } + }); + } + }); +} + +- (NSString*)bonjourName { + CFStringRef name = _resolutionService ? CFNetServiceGetName(_resolutionService) : NULL; + return name && CFStringGetLength(name) ? CFBridgingRelease(CFStringCreateCopy(kCFAllocatorDefault, name)) : nil; +} + +- (NSString*)bonjourType { + CFStringRef type = _resolutionService ? CFNetServiceGetType(_resolutionService) : NULL; + return type && CFStringGetLength(type) ? CFBridgingRelease(CFStringCreateCopy(kCFAllocatorDefault, type)) : nil; +} + +- (void)addHandlerWithMatchBlock:(GCDWebServerMatchBlock)matchBlock processBlock:(GCDWebServerProcessBlock)processBlock { + [self addHandlerWithMatchBlock:matchBlock + asyncProcessBlock:^(GCDWebServerRequest* request, GCDWebServerCompletionBlock completionBlock) { + completionBlock(processBlock(request)); + }]; +} + +- (void)addHandlerWithMatchBlock:(GCDWebServerMatchBlock)matchBlock asyncProcessBlock:(GCDWebServerAsyncProcessBlock)processBlock { + GWS_DCHECK(_options == nil); + GCDWebServerHandler* handler = [[GCDWebServerHandler alloc] initWithMatchBlock:matchBlock asyncProcessBlock:processBlock]; + [_handlers insertObject:handler atIndex:0]; +} + +- (void)removeAllHandlers { + GWS_DCHECK(_options == nil); + [_handlers removeAllObjects]; +} + +static void _NetServiceRegisterCallBack(CFNetServiceRef service, CFStreamError* error, void* info) { + GWS_DCHECK([NSThread isMainThread]); + @autoreleasepool { + if (error->error) { + GWS_LOG_ERROR(@"Bonjour registration error %i (domain %i)", (int)error->error, (int)error->domain); + } else { + GCDWebServer* server = (__bridge GCDWebServer*)info; + GWS_LOG_VERBOSE(@"Bonjour registration complete for %@", [server class]); + if (!CFNetServiceResolveWithTimeout(server->_resolutionService, kBonjourResolutionTimeout, NULL)) { + GWS_LOG_ERROR(@"Failed starting Bonjour resolution"); + GWS_DNOT_REACHED(); + } + } + } +} + +static void _NetServiceResolveCallBack(CFNetServiceRef service, CFStreamError* error, void* info) { + GWS_DCHECK([NSThread isMainThread]); + @autoreleasepool { + if (error->error) { + if ((error->domain != kCFStreamErrorDomainNetServices) && (error->error != kCFNetServicesErrorTimeout)) { + GWS_LOG_ERROR(@"Bonjour resolution error %i (domain %i)", (int)error->error, (int)error->domain); + } + } else { + GCDWebServer* server = (__bridge GCDWebServer*)info; + GWS_LOG_INFO(@"%@ now locally reachable at %@", [server class], server.bonjourServerURL); + if ([server.delegate respondsToSelector:@selector(webServerDidCompleteBonjourRegistration:)]) { + [server.delegate webServerDidCompleteBonjourRegistration:server]; + } + } + } +} + +static void _DNSServiceCallBack(DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex, DNSServiceErrorType errorCode, uint32_t externalAddress, DNSServiceProtocol protocol, uint16_t internalPort, uint16_t externalPort, uint32_t ttl, void* context) { + GWS_DCHECK([NSThread isMainThread]); + @autoreleasepool { + GCDWebServer* server = (__bridge GCDWebServer*)context; + if ((errorCode == kDNSServiceErr_NoError) || (errorCode == kDNSServiceErr_DoubleNAT)) { + struct sockaddr_in addr4; + bzero(&addr4, sizeof(addr4)); + addr4.sin_len = sizeof(addr4); + addr4.sin_family = AF_INET; + addr4.sin_addr.s_addr = externalAddress; // Already in network byte order + server->_dnsAddress = GCDWebServerStringFromSockAddr((const struct sockaddr*)&addr4, NO); + server->_dnsPort = ntohs(externalPort); + GWS_LOG_INFO(@"%@ now publicly reachable at %@", [server class], server.publicServerURL); + } else { + GWS_LOG_ERROR(@"DNS service error %i", errorCode); + server->_dnsAddress = nil; + server->_dnsPort = 0; + } + if ([server.delegate respondsToSelector:@selector(webServerDidUpdateNATPortMapping:)]) { + [server.delegate webServerDidUpdateNATPortMapping:server]; + } + } +} + +static void _SocketCallBack(CFSocketRef s, CFSocketCallBackType type, CFDataRef address, const void* data, void* info) { + GWS_DCHECK([NSThread isMainThread]); + @autoreleasepool { + GCDWebServer* server = (__bridge GCDWebServer*)info; + DNSServiceErrorType status = DNSServiceProcessResult(server->_dnsService); + if (status != kDNSServiceErr_NoError) { + GWS_LOG_ERROR(@"DNS service error %i", status); + } + } +} + +static inline id _GetOption(NSDictionary* options, NSString* key, id defaultValue) { + id value = [options objectForKey:key]; + return value ? value : defaultValue; +} + +static inline NSString* _EncodeBase64(NSString* string) { + NSData* data = [string dataUsingEncoding:NSUTF8StringEncoding]; +#if TARGET_OS_IPHONE || (__MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9) + return [[NSString alloc] initWithData:[data base64EncodedDataWithOptions:0] encoding:NSASCIIStringEncoding]; +#else + if (@available(macOS 10.9, *)) { + return [[NSString alloc] initWithData:[data base64EncodedDataWithOptions:0] encoding:NSASCIIStringEncoding]; + } + return [data base64Encoding]; +#endif +} + +- (int)_createListeningSocket:(BOOL)useIPv6 + localAddress:(const void*)address + length:(socklen_t)length + maxPendingConnections:(NSUInteger)maxPendingConnections + error:(NSError**)error { + int listeningSocket = socket(useIPv6 ? PF_INET6 : PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (listeningSocket > 0) { + int yes = 1; + setsockopt(listeningSocket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)); + + if (bind(listeningSocket, address, length) == 0) { + if (listen(listeningSocket, (int)maxPendingConnections) == 0) { + GWS_LOG_DEBUG(@"Did open %s listening socket %i", useIPv6 ? "IPv6" : "IPv4", listeningSocket); + return listeningSocket; + } else { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + GWS_LOG_ERROR(@"Failed starting %s listening socket: %s (%i)", useIPv6 ? "IPv6" : "IPv4", strerror(errno), errno); + close(listeningSocket); + } + } else { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + GWS_LOG_ERROR(@"Failed binding %s listening socket: %s (%i)", useIPv6 ? "IPv6" : "IPv4", strerror(errno), errno); + close(listeningSocket); + } + + } else { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + GWS_LOG_ERROR(@"Failed creating %s listening socket: %s (%i)", useIPv6 ? "IPv6" : "IPv4", strerror(errno), errno); + } + return -1; +} + +- (dispatch_source_t)_createDispatchSourceWithListeningSocket:(int)listeningSocket isIPv6:(BOOL)isIPv6 { + dispatch_group_enter(_sourceGroup); + dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_READ, listeningSocket, 0, dispatch_get_global_queue(_dispatchQueuePriority, 0)); + dispatch_source_set_cancel_handler(source, ^{ + @autoreleasepool { + int result = close(listeningSocket); + if (result != 0) { + GWS_LOG_ERROR(@"Failed closing %s listening socket: %s (%i)", isIPv6 ? "IPv6" : "IPv4", strerror(errno), errno); + } else { + GWS_LOG_DEBUG(@"Did close %s listening socket %i", isIPv6 ? "IPv6" : "IPv4", listeningSocket); + } + } + dispatch_group_leave(self->_sourceGroup); + }); + dispatch_source_set_event_handler(source, ^{ + @autoreleasepool { + struct sockaddr_storage remoteSockAddr; + socklen_t remoteAddrLen = sizeof(remoteSockAddr); + int socket = accept(listeningSocket, (struct sockaddr*)&remoteSockAddr, &remoteAddrLen); + if (socket > 0) { + NSData* remoteAddress = [NSData dataWithBytes:&remoteSockAddr length:remoteAddrLen]; + + struct sockaddr_storage localSockAddr; + socklen_t localAddrLen = sizeof(localSockAddr); + NSData* localAddress = nil; + if (getsockname(socket, (struct sockaddr*)&localSockAddr, &localAddrLen) == 0) { + localAddress = [NSData dataWithBytes:&localSockAddr length:localAddrLen]; + GWS_DCHECK((!isIPv6 && localSockAddr.ss_family == AF_INET) || (isIPv6 && localSockAddr.ss_family == AF_INET6)); + } else { + GWS_DNOT_REACHED(); + } + + int noSigPipe = 1; + setsockopt(socket, SOL_SOCKET, SO_NOSIGPIPE, &noSigPipe, sizeof(noSigPipe)); // Make sure this socket cannot generate SIG_PIPE + + GCDWebServerConnection* connection = [(GCDWebServerConnection*)[self->_connectionClass alloc] initWithServer:self localAddress:localAddress remoteAddress:remoteAddress socket:socket]; // Connection will automatically retain itself while opened + [connection self]; // Prevent compiler from complaining about unused variable / useless statement + } else { + GWS_LOG_ERROR(@"Failed accepting %s socket: %s (%i)", isIPv6 ? "IPv6" : "IPv4", strerror(errno), errno); + } + } + }); + return source; +} + +- (BOOL)_start:(NSError**)error { + GWS_DCHECK(_source4 == NULL); + + NSUInteger port = [(NSNumber*)_GetOption(_options, GCDWebServerOption_Port, @0) unsignedIntegerValue]; + BOOL bindToLocalhost = [(NSNumber*)_GetOption(_options, GCDWebServerOption_BindToLocalhost, @NO) boolValue]; + NSUInteger maxPendingConnections = [(NSNumber*)_GetOption(_options, GCDWebServerOption_MaxPendingConnections, @16) unsignedIntegerValue]; + + struct sockaddr_in addr4; + bzero(&addr4, sizeof(addr4)); + addr4.sin_len = sizeof(addr4); + addr4.sin_family = AF_INET; + addr4.sin_port = htons(port); + addr4.sin_addr.s_addr = bindToLocalhost ? htonl(INADDR_LOOPBACK) : htonl(INADDR_ANY); + int listeningSocket4 = [self _createListeningSocket:NO localAddress:&addr4 length:sizeof(addr4) maxPendingConnections:maxPendingConnections error:error]; + if (listeningSocket4 <= 0) { + return NO; + } + if (port == 0) { + struct sockaddr_in addr; + socklen_t addrlen = sizeof(addr); + if (getsockname(listeningSocket4, (struct sockaddr*)&addr, &addrlen) == 0) { + port = ntohs(addr.sin_port); + } else { + GWS_LOG_ERROR(@"Failed retrieving socket address: %s (%i)", strerror(errno), errno); + } + } + + struct sockaddr_in6 addr6; + bzero(&addr6, sizeof(addr6)); + addr6.sin6_len = sizeof(addr6); + addr6.sin6_family = AF_INET6; + addr6.sin6_port = htons(port); + addr6.sin6_addr = bindToLocalhost ? in6addr_loopback : in6addr_any; + int listeningSocket6 = [self _createListeningSocket:YES localAddress:&addr6 length:sizeof(addr6) maxPendingConnections:maxPendingConnections error:error]; + if (listeningSocket6 <= 0) { + close(listeningSocket4); + return NO; + } + + _serverName = [(NSString*)_GetOption(_options, GCDWebServerOption_ServerName, NSStringFromClass([self class])) copy]; + NSString* authenticationMethod = _GetOption(_options, GCDWebServerOption_AuthenticationMethod, nil); + if ([authenticationMethod isEqualToString:GCDWebServerAuthenticationMethod_Basic]) { + _authenticationRealm = [(NSString*)_GetOption(_options, GCDWebServerOption_AuthenticationRealm, _serverName) copy]; + _authenticationBasicAccounts = [[NSMutableDictionary alloc] init]; + NSDictionary* accounts = _GetOption(_options, GCDWebServerOption_AuthenticationAccounts, @{}); + [accounts enumerateKeysAndObjectsUsingBlock:^(NSString* username, NSString* password, BOOL* stop) { + [self->_authenticationBasicAccounts setObject:_EncodeBase64([NSString stringWithFormat:@"%@:%@", username, password]) forKey:username]; + }]; + } else if ([authenticationMethod isEqualToString:GCDWebServerAuthenticationMethod_DigestAccess]) { + _authenticationRealm = [(NSString*)_GetOption(_options, GCDWebServerOption_AuthenticationRealm, _serverName) copy]; + _authenticationDigestAccounts = [[NSMutableDictionary alloc] init]; + NSDictionary* accounts = _GetOption(_options, GCDWebServerOption_AuthenticationAccounts, @{}); + [accounts enumerateKeysAndObjectsUsingBlock:^(NSString* username, NSString* password, BOOL* stop) { + [self->_authenticationDigestAccounts setObject:GCDWebServerComputeMD5Digest(@"%@:%@:%@", username, self->_authenticationRealm, password) forKey:username]; + }]; + } + _connectionClass = _GetOption(_options, GCDWebServerOption_ConnectionClass, [GCDWebServerConnection class]); + _shouldAutomaticallyMapHEADToGET = [(NSNumber*)_GetOption(_options, GCDWebServerOption_AutomaticallyMapHEADToGET, @YES) boolValue]; + _disconnectDelay = [(NSNumber*)_GetOption(_options, GCDWebServerOption_ConnectedStateCoalescingInterval, @1.0) doubleValue]; + _dispatchQueuePriority = [(NSNumber*)_GetOption(_options, GCDWebServerOption_DispatchQueuePriority, @(DISPATCH_QUEUE_PRIORITY_DEFAULT)) longValue]; + + _source4 = [self _createDispatchSourceWithListeningSocket:listeningSocket4 isIPv6:NO]; + _source6 = [self _createDispatchSourceWithListeningSocket:listeningSocket6 isIPv6:YES]; + _port = port; + _bindToLocalhost = bindToLocalhost; + + NSString* bonjourName = _GetOption(_options, GCDWebServerOption_BonjourName, nil); + NSString* bonjourType = _GetOption(_options, GCDWebServerOption_BonjourType, @"_http._tcp"); + if (bonjourName) { + _registrationService = CFNetServiceCreate(kCFAllocatorDefault, CFSTR("local."), (__bridge CFStringRef)bonjourType, (__bridge CFStringRef)(bonjourName.length ? bonjourName : _serverName), (SInt32)_port); + if (_registrationService) { + CFNetServiceClientContext context = {0, (__bridge void*)self, NULL, NULL, NULL}; + + CFNetServiceSetClient(_registrationService, _NetServiceRegisterCallBack, &context); + CFNetServiceScheduleWithRunLoop(_registrationService, CFRunLoopGetMain(), kCFRunLoopCommonModes); + CFStreamError streamError = {0}; + CFNetServiceRegisterWithOptions(_registrationService, 0, &streamError); + + _resolutionService = CFNetServiceCreateCopy(kCFAllocatorDefault, _registrationService); + if (_resolutionService) { + CFNetServiceSetClient(_resolutionService, _NetServiceResolveCallBack, &context); + CFNetServiceScheduleWithRunLoop(_resolutionService, CFRunLoopGetMain(), kCFRunLoopCommonModes); + } else { + GWS_LOG_ERROR(@"Failed creating CFNetService for resolution"); + } + } else { + GWS_LOG_ERROR(@"Failed creating CFNetService for registration"); + } + } + + if ([(NSNumber*)_GetOption(_options, GCDWebServerOption_RequestNATPortMapping, @NO) boolValue]) { + DNSServiceErrorType status = DNSServiceNATPortMappingCreate(&_dnsService, 0, 0, kDNSServiceProtocol_TCP, htons(port), htons(port), 0, _DNSServiceCallBack, (__bridge void*)self); + if (status == kDNSServiceErr_NoError) { + CFSocketContext context = {0, (__bridge void*)self, NULL, NULL, NULL}; + _dnsSocket = CFSocketCreateWithNative(kCFAllocatorDefault, DNSServiceRefSockFD(_dnsService), kCFSocketReadCallBack, _SocketCallBack, &context); + if (_dnsSocket) { + CFSocketSetSocketFlags(_dnsSocket, CFSocketGetSocketFlags(_dnsSocket) & ~kCFSocketCloseOnInvalidate); + _dnsSource = CFSocketCreateRunLoopSource(kCFAllocatorDefault, _dnsSocket, 0); + if (_dnsSource) { + CFRunLoopAddSource(CFRunLoopGetMain(), _dnsSource, kCFRunLoopCommonModes); + } else { + GWS_LOG_ERROR(@"Failed creating CFRunLoopSource"); + GWS_DNOT_REACHED(); + } + } else { + GWS_LOG_ERROR(@"Failed creating CFSocket"); + GWS_DNOT_REACHED(); + } + } else { + GWS_LOG_ERROR(@"Failed creating NAT port mapping (%i)", status); + } + } + + dispatch_resume(_source4); + dispatch_resume(_source6); + GWS_LOG_INFO(@"%@ started on port %i and reachable at %@", [self class], (int)_port, self.serverURL); + if ([_delegate respondsToSelector:@selector(webServerDidStart:)]) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self->_delegate webServerDidStart:self]; + }); + } + + return YES; +} + +- (void)_stop { + GWS_DCHECK(_source4 != NULL); + + if (_dnsService) { + _dnsAddress = nil; + _dnsPort = 0; + if (_dnsSource) { + CFRunLoopSourceInvalidate(_dnsSource); + CFRelease(_dnsSource); + _dnsSource = NULL; + } + if (_dnsSocket) { + CFRelease(_dnsSocket); + _dnsSocket = NULL; + } + DNSServiceRefDeallocate(_dnsService); + _dnsService = NULL; + } + + if (_registrationService) { + if (_resolutionService) { + CFNetServiceUnscheduleFromRunLoop(_resolutionService, CFRunLoopGetMain(), kCFRunLoopCommonModes); + CFNetServiceSetClient(_resolutionService, NULL, NULL); + CFNetServiceCancel(_resolutionService); + CFRelease(_resolutionService); + _resolutionService = NULL; + } + CFNetServiceUnscheduleFromRunLoop(_registrationService, CFRunLoopGetMain(), kCFRunLoopCommonModes); + CFNetServiceSetClient(_registrationService, NULL, NULL); + CFNetServiceCancel(_registrationService); + CFRelease(_registrationService); + _registrationService = NULL; + } + + dispatch_source_cancel(_source6); + dispatch_source_cancel(_source4); + dispatch_group_wait(_sourceGroup, DISPATCH_TIME_FOREVER); // Wait until the cancellation handlers have been called which guarantees the listening sockets are closed +#if !OS_OBJECT_USE_OBJC_RETAIN_RELEASE + dispatch_release(_source6); +#endif + _source6 = NULL; +#if !OS_OBJECT_USE_OBJC_RETAIN_RELEASE + dispatch_release(_source4); +#endif + _source4 = NULL; + _port = 0; + _bindToLocalhost = NO; + + _serverName = nil; + _authenticationRealm = nil; + _authenticationBasicAccounts = nil; + _authenticationDigestAccounts = nil; + + dispatch_async(dispatch_get_main_queue(), ^{ + if (self->_disconnectTimer) { + CFRunLoopTimerInvalidate(self->_disconnectTimer); + CFRelease(self->_disconnectTimer); + self->_disconnectTimer = NULL; + [self _didDisconnect]; + } + }); + + GWS_LOG_INFO(@"%@ stopped", [self class]); + if ([_delegate respondsToSelector:@selector(webServerDidStop:)]) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self->_delegate webServerDidStop:self]; + }); + } +} + +#if TARGET_OS_IPHONE + +- (void)_didEnterBackground:(NSNotification*)notification { + GWS_DCHECK([NSThread isMainThread]); + GWS_LOG_DEBUG(@"Did enter background"); + if ((_backgroundTask == UIBackgroundTaskInvalid) && _source4) { + [self _stop]; + } +} + +- (void)_willEnterForeground:(NSNotification*)notification { + GWS_DCHECK([NSThread isMainThread]); + GWS_LOG_DEBUG(@"Will enter foreground"); + if (!_source4) { + [self _start:NULL]; // TODO: There's probably nothing we can do on failure + } +} + +#endif + +- (BOOL)startWithOptions:(NSDictionary*)options error:(NSError**)error { + if (_options == nil) { + _options = options ? [options copy] : @{}; +#if TARGET_OS_IPHONE + _suspendInBackground = [(NSNumber*)_GetOption(_options, GCDWebServerOption_AutomaticallySuspendInBackground, @YES) boolValue]; + if (((_suspendInBackground == NO) || ([[UIApplication sharedApplication] applicationState] != UIApplicationStateBackground)) && ![self _start:error]) +#else + if (![self _start:error]) +#endif + { + _options = nil; + return NO; + } +#if TARGET_OS_IPHONE + if (_suspendInBackground) { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_willEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil]; + } +#endif + return YES; + } else { + GWS_DNOT_REACHED(); + } + return NO; +} + +- (BOOL)isRunning { + return (_options ? YES : NO); +} + +- (void)stop { + if (_options) { +#if TARGET_OS_IPHONE + if (_suspendInBackground) { + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillEnterForegroundNotification object:nil]; + } +#endif + if (_source4) { + [self _stop]; + } + _options = nil; + } else { + GWS_DNOT_REACHED(); + } +} + +@end + +@implementation GCDWebServer (Extensions) + +- (NSURL*)serverURL { + if (_source4) { + NSString* ipAddress = _bindToLocalhost ? @"localhost" : GCDWebServerGetPrimaryIPAddress(NO); // We can't really use IPv6 anyway as it doesn't work great with HTTP URLs in practice + if (ipAddress) { + if (_port != 80) { + return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:%i/", ipAddress, (int)_port]]; + } else { + return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@/", ipAddress]]; + } + } + } + return nil; +} + +- (NSURL*)bonjourServerURL { + if (_source4 && _resolutionService) { + NSString* name = (__bridge NSString*)CFNetServiceGetTargetHost(_resolutionService); + if (name.length) { + name = [name substringToIndex:(name.length - 1)]; // Strip trailing period at end of domain + if (_port != 80) { + return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:%i/", name, (int)_port]]; + } else { + return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@/", name]]; + } + } + } + return nil; +} + +- (NSURL*)publicServerURL { + if (_source4 && _dnsService && _dnsAddress && _dnsPort) { + if (_dnsPort != 80) { + return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:%i/", _dnsAddress, (int)_dnsPort]]; + } else { + return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@/", _dnsAddress]]; + } + } + return nil; +} + +- (BOOL)start { + return [self startWithPort:kDefaultPort bonjourName:@""]; +} + +- (BOOL)startWithPort:(NSUInteger)port bonjourName:(NSString*)name { + NSMutableDictionary* options = [NSMutableDictionary dictionary]; + [options setObject:[NSNumber numberWithInteger:port] forKey:GCDWebServerOption_Port]; + [options setValue:name forKey:GCDWebServerOption_BonjourName]; + return [self startWithOptions:options error:NULL]; +} + +#if !TARGET_OS_IPHONE + +- (BOOL)runWithPort:(NSUInteger)port bonjourName:(NSString*)name { + NSMutableDictionary* options = [NSMutableDictionary dictionary]; + [options setObject:[NSNumber numberWithInteger:port] forKey:GCDWebServerOption_Port]; + [options setValue:name forKey:GCDWebServerOption_BonjourName]; + return [self runWithOptions:options error:NULL]; +} + +- (BOOL)runWithOptions:(NSDictionary*)options error:(NSError**)error { + GWS_DCHECK([NSThread isMainThread]); + BOOL success = NO; + _run = YES; + void (*termHandler)(int) = signal(SIGTERM, _SignalHandler); + void (*intHandler)(int) = signal(SIGINT, _SignalHandler); + if ((termHandler != SIG_ERR) && (intHandler != SIG_ERR)) { + if ([self startWithOptions:options error:error]) { + while (_run) { + CFRunLoopRunInMode(kCFRunLoopDefaultMode, 1.0, true); + } + [self stop]; + success = YES; + } + _ExecuteMainThreadRunLoopSources(); + signal(SIGINT, intHandler); + signal(SIGTERM, termHandler); + } + return success; +} + +#endif + +@end + +@implementation GCDWebServer (Handlers) + +- (void)addDefaultHandlerForMethod:(NSString*)method requestClass:(Class)aClass processBlock:(GCDWebServerProcessBlock)block { + [self addDefaultHandlerForMethod:method + requestClass:aClass + asyncProcessBlock:^(GCDWebServerRequest* request, GCDWebServerCompletionBlock completionBlock) { + completionBlock(block(request)); + }]; +} + +- (void)addDefaultHandlerForMethod:(NSString*)method requestClass:(Class)aClass asyncProcessBlock:(GCDWebServerAsyncProcessBlock)block { + [self addHandlerWithMatchBlock:^GCDWebServerRequest*(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery) { + if (![requestMethod isEqualToString:method]) { + return nil; + } + return [(GCDWebServerRequest*)[aClass alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; + } + asyncProcessBlock:block]; +} + +- (void)addHandlerForMethod:(NSString*)method path:(NSString*)path requestClass:(Class)aClass processBlock:(GCDWebServerProcessBlock)block { + [self addHandlerForMethod:method + path:path + requestClass:aClass + asyncProcessBlock:^(GCDWebServerRequest* request, GCDWebServerCompletionBlock completionBlock) { + completionBlock(block(request)); + }]; +} + +- (void)addHandlerForMethod:(NSString*)method path:(NSString*)path requestClass:(Class)aClass asyncProcessBlock:(GCDWebServerAsyncProcessBlock)block { + if ([path hasPrefix:@"/"] && [aClass isSubclassOfClass:[GCDWebServerRequest class]]) { + [self addHandlerWithMatchBlock:^GCDWebServerRequest*(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery) { + if (![requestMethod isEqualToString:method]) { + return nil; + } + if ([urlPath caseInsensitiveCompare:path] != NSOrderedSame) { + return nil; + } + return [(GCDWebServerRequest*)[aClass alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; + } + asyncProcessBlock:block]; + } else { + GWS_DNOT_REACHED(); + } +} + +- (void)addHandlerForMethod:(NSString*)method pathRegex:(NSString*)regex requestClass:(Class)aClass processBlock:(GCDWebServerProcessBlock)block { + [self addHandlerForMethod:method + pathRegex:regex + requestClass:aClass + asyncProcessBlock:^(GCDWebServerRequest* request, GCDWebServerCompletionBlock completionBlock) { + completionBlock(block(request)); + }]; +} + +- (void)addHandlerForMethod:(NSString*)method pathRegex:(NSString*)regex requestClass:(Class)aClass asyncProcessBlock:(GCDWebServerAsyncProcessBlock)block { + NSRegularExpression* expression = [NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:NULL]; + if (expression && [aClass isSubclassOfClass:[GCDWebServerRequest class]]) { + [self addHandlerWithMatchBlock:^GCDWebServerRequest*(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery) { + if (![requestMethod isEqualToString:method]) { + return nil; + } + + NSArray* matches = [expression matchesInString:urlPath options:0 range:NSMakeRange(0, urlPath.length)]; + if (matches.count == 0) { + return nil; + } + + NSMutableArray* captures = [NSMutableArray array]; + for (NSTextCheckingResult* result in matches) { + // Start at 1; index 0 is the whole string + for (NSUInteger i = 1; i < result.numberOfRanges; i++) { + NSRange range = [result rangeAtIndex:i]; + // range is {NSNotFound, 0} "if one of the capture groups did not participate in this particular match" + // see discussion in -[NSRegularExpression firstMatchInString:options:range:] + if (range.location != NSNotFound) { + [captures addObject:[urlPath substringWithRange:range]]; + } + } + } + + GCDWebServerRequest* request = [(GCDWebServerRequest*)[aClass alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; + [request setAttribute:captures forKey:GCDWebServerRequestAttribute_RegexCaptures]; + return request; + } + asyncProcessBlock:block]; + } else { + GWS_DNOT_REACHED(); + } +} + +@end + +@implementation GCDWebServer (GETHandlers) + +- (void)addGETHandlerForPath:(NSString*)path staticData:(NSData*)staticData contentType:(NSString*)contentType cacheAge:(NSUInteger)cacheAge { + [self addHandlerForMethod:@"GET" + path:path + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse*(GCDWebServerRequest* request) { + GCDWebServerResponse* response = [GCDWebServerDataResponse responseWithData:staticData contentType:contentType]; + response.cacheControlMaxAge = cacheAge; + return response; + }]; +} + +- (void)addGETHandlerForPath:(NSString*)path filePath:(NSString*)filePath isAttachment:(BOOL)isAttachment cacheAge:(NSUInteger)cacheAge allowRangeRequests:(BOOL)allowRangeRequests { + [self addHandlerForMethod:@"GET" + path:path + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse*(GCDWebServerRequest* request) { + GCDWebServerResponse* response = nil; + if (allowRangeRequests) { + response = [GCDWebServerFileResponse responseWithFile:filePath byteRange:request.byteRange isAttachment:isAttachment]; + [response setValue:@"bytes" forAdditionalHeader:@"Accept-Ranges"]; + } else { + response = [GCDWebServerFileResponse responseWithFile:filePath isAttachment:isAttachment]; + } + response.cacheControlMaxAge = cacheAge; + return response; + }]; +} + +- (GCDWebServerResponse*)_responseWithContentsOfDirectory:(NSString*)path { + NSArray* contents = [[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL] sortedArrayUsingSelector:@selector(localizedStandardCompare:)]; + if (contents == nil) { + return nil; + } + NSMutableString* html = [NSMutableString string]; + [html appendString:@"\n"]; + [html appendString:@"\n"]; + [html appendString:@"\n"]; + [html appendString:@"\n"]; + return [GCDWebServerDataResponse responseWithHTML:html]; +} + +- (void)addGETHandlerForBasePath:(NSString*)basePath directoryPath:(NSString*)directoryPath indexFilename:(NSString*)indexFilename cacheAge:(NSUInteger)cacheAge allowRangeRequests:(BOOL)allowRangeRequests { + if ([basePath hasPrefix:@"/"] && [basePath hasSuffix:@"/"]) { + GCDWebServer* __unsafe_unretained server = self; + [self addHandlerWithMatchBlock:^GCDWebServerRequest*(NSString* requestMethod, NSURL* requestURL, NSDictionary* requestHeaders, NSString* urlPath, NSDictionary* urlQuery) { + if (![requestMethod isEqualToString:@"GET"]) { + return nil; + } + if (![urlPath hasPrefix:basePath]) { + return nil; + } + return [[GCDWebServerRequest alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:urlPath query:urlQuery]; + } + processBlock:^GCDWebServerResponse*(GCDWebServerRequest* request) { + GCDWebServerResponse* response = nil; + NSString* filePath = [directoryPath stringByAppendingPathComponent:GCDWebServerNormalizePath([request.path substringFromIndex:basePath.length])]; + NSString* fileType = [[[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:NULL] fileType]; + if (fileType) { + if ([fileType isEqualToString:NSFileTypeDirectory]) { + if (indexFilename) { + NSString* indexPath = [filePath stringByAppendingPathComponent:indexFilename]; + NSString* indexType = [[[NSFileManager defaultManager] attributesOfItemAtPath:indexPath error:NULL] fileType]; + if ([indexType isEqualToString:NSFileTypeRegular]) { + return [GCDWebServerFileResponse responseWithFile:indexPath]; + } + } + response = [server _responseWithContentsOfDirectory:filePath]; + } else if ([fileType isEqualToString:NSFileTypeRegular]) { + if (allowRangeRequests) { + response = [GCDWebServerFileResponse responseWithFile:filePath byteRange:request.byteRange]; + [response setValue:@"bytes" forAdditionalHeader:@"Accept-Ranges"]; + } else { + response = [GCDWebServerFileResponse responseWithFile:filePath]; + } + } + } + if (response) { + response.cacheControlMaxAge = cacheAge; + } else { + response = [GCDWebServerResponse responseWithStatusCode:kGCDWebServerHTTPStatusCode_NotFound]; + } + return response; + }]; + } else { + GWS_DNOT_REACHED(); + } +} + +@end + +@implementation GCDWebServer (Logging) + ++ (void)setLogLevel:(int)level { +#if defined(__GCDWEBSERVER_LOGGING_FACILITY_XLFACILITY__) + [XLSharedFacility setMinLogLevel:level]; +#elif defined(__GCDWEBSERVER_LOGGING_FACILITY_BUILTIN__) + GCDWebServerLogLevel = level; +#endif +} + ++ (void)setBuiltInLogger:(GCDWebServerBuiltInLoggerBlock)block { +#if defined(__GCDWEBSERVER_LOGGING_FACILITY_BUILTIN__) + _builtInLoggerBlock = block; +#else + GWS_DNOT_REACHED(); // Built-in logger must be enabled in order to override +#endif +} + +- (void)logVerbose:(NSString*)format, ... { + va_list arguments; + va_start(arguments, format); + GWS_LOG_VERBOSE(@"%@", [[NSString alloc] initWithFormat:format arguments:arguments]); + va_end(arguments); +} + +- (void)logInfo:(NSString*)format, ... { + va_list arguments; + va_start(arguments, format); + GWS_LOG_INFO(@"%@", [[NSString alloc] initWithFormat:format arguments:arguments]); + va_end(arguments); +} + +- (void)logWarning:(NSString*)format, ... { + va_list arguments; + va_start(arguments, format); + GWS_LOG_WARNING(@"%@", [[NSString alloc] initWithFormat:format arguments:arguments]); + va_end(arguments); +} + +- (void)logError:(NSString*)format, ... { + va_list arguments; + va_start(arguments, format); + GWS_LOG_ERROR(@"%@", [[NSString alloc] initWithFormat:format arguments:arguments]); + va_end(arguments); +} + +@end + +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + +@implementation GCDWebServer (Testing) + +- (void)setRecordingEnabled:(BOOL)flag { + _recording = flag; +} + +- (BOOL)isRecordingEnabled { + return _recording; +} + +static CFHTTPMessageRef _CreateHTTPMessageFromData(NSData* data, BOOL isRequest) { + CFHTTPMessageRef message = CFHTTPMessageCreateEmpty(kCFAllocatorDefault, isRequest); + if (CFHTTPMessageAppendBytes(message, data.bytes, data.length)) { + return message; + } + CFRelease(message); + return NULL; +} + +static CFHTTPMessageRef _CreateHTTPMessageFromPerformingRequest(NSData* inData, NSUInteger port) { + CFHTTPMessageRef response = NULL; + int httpSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); + if (httpSocket > 0) { + struct sockaddr_in addr4; + bzero(&addr4, sizeof(addr4)); + addr4.sin_len = sizeof(addr4); + addr4.sin_family = AF_INET; + addr4.sin_port = htons(port); + addr4.sin_addr.s_addr = htonl(INADDR_ANY); + if (connect(httpSocket, (void*)&addr4, sizeof(addr4)) == 0) { + if (write(httpSocket, inData.bytes, inData.length) == (ssize_t)inData.length) { + NSMutableData* outData = [[NSMutableData alloc] initWithLength:(256 * 1024)]; + NSUInteger length = 0; + while (1) { + ssize_t result = read(httpSocket, (char*)outData.mutableBytes + length, outData.length - length); + if (result < 0) { + length = NSUIntegerMax; + break; + } else if (result == 0) { + break; + } + length += result; + if (length >= outData.length) { + outData.length = 2 * outData.length; + } + } + if (length != NSUIntegerMax) { + outData.length = length; + response = _CreateHTTPMessageFromData(outData, NO); + } else { + GWS_DNOT_REACHED(); + } + } + } + close(httpSocket); + } + return response; +} + +static void _LogResult(NSString* format, ...) { + va_list arguments; + va_start(arguments, format); + NSString* message = [[NSString alloc] initWithFormat:format arguments:arguments]; + va_end(arguments); + fprintf(stdout, "%s\n", [message UTF8String]); +} + +- (NSInteger)runTestsWithOptions:(NSDictionary*)options inDirectory:(NSString*)path { + GWS_DCHECK([NSThread isMainThread]); + NSArray* ignoredHeaders = @[ @"Date", @"Etag" ]; // Dates are always different by definition and ETags depend on file system node IDs + NSInteger result = -1; + if ([self startWithOptions:options error:NULL]) { + _ExecuteMainThreadRunLoopSources(); + + result = 0; + NSArray* files = [[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL] sortedArrayUsingSelector:@selector(localizedStandardCompare:)]; + for (NSString* requestFile in files) { + if (![requestFile hasSuffix:@".request"]) { + continue; + } + @autoreleasepool { + NSString* index = [[requestFile componentsSeparatedByString:@"-"] firstObject]; + BOOL success = NO; + NSData* requestData = [NSData dataWithContentsOfFile:[path stringByAppendingPathComponent:requestFile]]; + if (requestData) { + CFHTTPMessageRef request = _CreateHTTPMessageFromData(requestData, YES); + if (request) { + NSString* requestMethod = CFBridgingRelease(CFHTTPMessageCopyRequestMethod(request)); + NSURL* requestURL = CFBridgingRelease(CFHTTPMessageCopyRequestURL(request)); + _LogResult(@"[%i] %@ %@", (int)[index integerValue], requestMethod, requestURL.path); + NSString* prefix = [index stringByAppendingString:@"-"]; + for (NSString* responseFile in files) { + if ([responseFile hasPrefix:prefix] && [responseFile hasSuffix:@".response"]) { + NSData* responseData = [NSData dataWithContentsOfFile:[path stringByAppendingPathComponent:responseFile]]; + if (responseData) { + CFHTTPMessageRef expectedResponse = _CreateHTTPMessageFromData(responseData, NO); + if (expectedResponse) { + CFHTTPMessageRef actualResponse = _CreateHTTPMessageFromPerformingRequest(requestData, self.port); + if (actualResponse) { + success = YES; + + CFIndex expectedStatusCode = CFHTTPMessageGetResponseStatusCode(expectedResponse); + CFIndex actualStatusCode = CFHTTPMessageGetResponseStatusCode(actualResponse); + if (actualStatusCode != expectedStatusCode) { + _LogResult(@" Status code not matching:\n Expected: %i\n Actual: %i", (int)expectedStatusCode, (int)actualStatusCode); + success = NO; + } + + NSDictionary* expectedHeaders = CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(expectedResponse)); + NSDictionary* actualHeaders = CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(actualResponse)); + for (NSString* expectedHeader in expectedHeaders) { + if ([ignoredHeaders containsObject:expectedHeader]) { + continue; + } + NSString* expectedValue = [expectedHeaders objectForKey:expectedHeader]; + NSString* actualValue = [actualHeaders objectForKey:expectedHeader]; + if (![actualValue isEqualToString:expectedValue]) { + _LogResult(@" Header '%@' not matching:\n Expected: \"%@\"\n Actual: \"%@\"", expectedHeader, expectedValue, actualValue); + success = NO; + } + } + for (NSString* actualHeader in actualHeaders) { + if (![expectedHeaders objectForKey:actualHeader]) { + _LogResult(@" Header '%@' not matching:\n Expected: \"%@\"\n Actual: \"%@\"", actualHeader, nil, [actualHeaders objectForKey:actualHeader]); + success = NO; + } + } + + NSString* expectedContentLength = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(expectedResponse, CFSTR("Content-Length"))); + NSData* expectedBody = CFBridgingRelease(CFHTTPMessageCopyBody(expectedResponse)); + NSString* actualContentLength = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(actualResponse, CFSTR("Content-Length"))); + NSData* actualBody = CFBridgingRelease(CFHTTPMessageCopyBody(actualResponse)); + if ([actualContentLength isEqualToString:expectedContentLength] && (actualBody.length > expectedBody.length)) { // Handle web browser closing connection before retrieving entire body (e.g. when playing a video file) + actualBody = [actualBody subdataWithRange:NSMakeRange(0, expectedBody.length)]; + } + if ((actualBody && expectedBody && ![actualBody isEqualToData:expectedBody]) || (actualBody && !expectedBody) || (!actualBody && expectedBody)) { + _LogResult(@" Bodies not matching:\n Expected: %lu bytes\n Actual: %lu bytes", (unsigned long)expectedBody.length, (unsigned long)actualBody.length); + success = NO; +#if !TARGET_OS_IPHONE +#if DEBUG + if (GCDWebServerIsTextContentType((NSString*)[expectedHeaders objectForKey:@"Content-Type"])) { + NSString* expectedPath = [NSTemporaryDirectory() stringByAppendingPathComponent:(NSString*)[[[NSProcessInfo processInfo] globallyUniqueString] stringByAppendingPathExtension:@"txt"]]; + NSString* actualPath = [NSTemporaryDirectory() stringByAppendingPathComponent:(NSString*)[[[NSProcessInfo processInfo] globallyUniqueString] stringByAppendingPathExtension:@"txt"]]; + if ([expectedBody writeToFile:expectedPath atomically:YES] && [actualBody writeToFile:actualPath atomically:YES]) { + NSTask* task = [[NSTask alloc] init]; + [task setLaunchPath:@"/usr/bin/opendiff"]; + [task setArguments:@[ expectedPath, actualPath ]]; + [task launch]; + } + } +#endif +#endif + } + + CFRelease(actualResponse); + } + CFRelease(expectedResponse); + } + } else { + GWS_DNOT_REACHED(); + } + break; + } + } + CFRelease(request); + } + } else { + GWS_DNOT_REACHED(); + } + _LogResult(@""); + if (!success) { + ++result; + } + } + _ExecuteMainThreadRunLoopSources(); + } + + [self stop]; + + _ExecuteMainThreadRunLoopSources(); + } + return result; +} + +@end + +#endif diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.h new file mode 100644 index 00000000..4d59b9f1 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.h @@ -0,0 +1,183 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServer.h" + +NS_ASSUME_NONNULL_BEGIN + +@class GCDWebServerHandler; + +/** + * The GCDWebServerConnection class is instantiated by GCDWebServer to handle + * each new HTTP connection. Each instance stays alive until the connection is + * closed. + * + * You cannot use this class directly, but it is made public so you can + * subclass it to override some hooks. Use the GCDWebServerOption_ConnectionClass + * option for GCDWebServer to install your custom subclass. + * + * @warning The GCDWebServerConnection retains the GCDWebServer until the + * connection is closed. + */ +@interface GCDWebServerConnection : NSObject + +/** + * Returns the GCDWebServer that owns the connection. + */ +@property(nonatomic, readonly) GCDWebServer* server; + +/** + * Returns YES if the connection is using IPv6. + */ +@property(nonatomic, readonly, getter=isUsingIPv6) BOOL usingIPv6; + +/** + * Returns the address of the local peer (i.e. server) of the connection + * as a raw "struct sockaddr". + */ +@property(nonatomic, readonly) NSData* localAddressData; + +/** + * Returns the address of the local peer (i.e. server) of the connection + * as a string. + */ +@property(nonatomic, readonly) NSString* localAddressString; + +/** + * Returns the address of the remote peer (i.e. client) of the connection + * as a raw "struct sockaddr". + */ +@property(nonatomic, readonly) NSData* remoteAddressData; + +/** + * Returns the address of the remote peer (i.e. client) of the connection + * as a string. + */ +@property(nonatomic, readonly) NSString* remoteAddressString; + +/** + * Returns the total number of bytes received from the remote peer (i.e. client) + * so far. + */ +@property(nonatomic, readonly) NSUInteger totalBytesRead; + +/** + * Returns the total number of bytes sent to the remote peer (i.e. client) so far. + */ +@property(nonatomic, readonly) NSUInteger totalBytesWritten; + +@end + +/** + * Hooks to customize the behavior of GCDWebServer HTTP connections. + * + * @warning These methods can be called on any GCD thread. + * Be sure to also call "super" when overriding them. + */ +@interface GCDWebServerConnection (Subclassing) + +/** + * This method is called when the connection is opened. + * + * Return NO to reject the connection e.g. after validating the local + * or remote address. + */ +- (BOOL)open; + +/** + * This method is called whenever data has been received + * from the remote peer (i.e. client). + * + * @warning Do not attempt to modify this data. + */ +- (void)didReadBytes:(const void*)bytes length:(NSUInteger)length; + +/** + * This method is called whenever data has been sent + * to the remote peer (i.e. client). + * + * @warning Do not attempt to modify this data. + */ +- (void)didWriteBytes:(const void*)bytes length:(NSUInteger)length; + +/** + * This method is called after the HTTP headers have been received to + * allow replacing the request URL by another one. + * + * The default implementation returns the original URL. + */ +- (NSURL*)rewriteRequestURL:(NSURL*)url withMethod:(NSString*)method headers:(NSDictionary*)headers; + +/** + * Assuming a valid HTTP request was received, this method is called before + * the request is processed. + * + * Return a non-nil GCDWebServerResponse to bypass the request processing entirely. + * + * The default implementation checks for HTTP authentication if applicable + * and returns a barebone 401 status code response if authentication failed. + */ +- (nullable GCDWebServerResponse*)preflightRequest:(GCDWebServerRequest*)request; + +/** + * Assuming a valid HTTP request was received and -preflightRequest: returned nil, + * this method is called to process the request by executing the handler's + * process block. + */ +- (void)processRequest:(GCDWebServerRequest*)request completion:(GCDWebServerCompletionBlock)completion; + +/** + * Assuming a valid HTTP request was received and either -preflightRequest: + * or -processRequest:completion: returned a non-nil GCDWebServerResponse, + * this method is called to override the response. + * + * You can either modify the current response and return it, or return a + * completely new one. + * + * The default implementation replaces any response matching the "ETag" or + * "Last-Modified-Date" header of the request by a barebone "Not-Modified" (304) + * one. + */ +- (GCDWebServerResponse*)overrideResponse:(GCDWebServerResponse*)response forRequest:(GCDWebServerRequest*)request; + +/** + * This method is called if any error happens while validing or processing + * the request or if no GCDWebServerResponse was generated during processing. + * + * @warning If the request was invalid (e.g. the HTTP headers were malformed), + * the "request" argument will be nil. + */ +- (void)abortRequest:(nullable GCDWebServerRequest*)request withStatusCode:(NSInteger)statusCode; + +/** + * Called when the connection is closed. + */ +- (void)close; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.m b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.m new file mode 100644 index 00000000..b48edc61 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.m @@ -0,0 +1,843 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import +#import +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ +#import +#endif + +#import "GCDWebServerPrivate.h" + +#define kHeadersReadCapacity (1 * 1024) +#define kBodyReadCapacity (256 * 1024) + +typedef void (^ReadDataCompletionBlock)(BOOL success); +typedef void (^ReadHeadersCompletionBlock)(NSData* extraData); +typedef void (^ReadBodyCompletionBlock)(BOOL success); + +typedef void (^WriteDataCompletionBlock)(BOOL success); +typedef void (^WriteHeadersCompletionBlock)(BOOL success); +typedef void (^WriteBodyCompletionBlock)(BOOL success); + +static NSData* _CRLFData = nil; +static NSData* _CRLFCRLFData = nil; +static NSData* _continueData = nil; +static NSData* _lastChunkData = nil; +static NSString* _digestAuthenticationNonce = nil; +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ +static int32_t _connectionCounter = 0; +#endif + +NS_ASSUME_NONNULL_BEGIN + +@interface GCDWebServerConnection (Read) +- (void)readData:(NSMutableData*)data withLength:(NSUInteger)length completionBlock:(ReadDataCompletionBlock)block; +- (void)readHeaders:(NSMutableData*)headersData withCompletionBlock:(ReadHeadersCompletionBlock)block; +- (void)readBodyWithRemainingLength:(NSUInteger)length completionBlock:(ReadBodyCompletionBlock)block; +- (void)readNextBodyChunk:(NSMutableData*)chunkData completionBlock:(ReadBodyCompletionBlock)block; +@end + +@interface GCDWebServerConnection (Write) +- (void)writeData:(NSData*)data withCompletionBlock:(WriteDataCompletionBlock)block; +- (void)writeHeadersWithCompletionBlock:(WriteHeadersCompletionBlock)block; +- (void)writeBodyWithCompletionBlock:(WriteBodyCompletionBlock)block; +@end + +NS_ASSUME_NONNULL_END + +@implementation GCDWebServerConnection { + CFSocketNativeHandle _socket; + BOOL _virtualHEAD; + + CFHTTPMessageRef _requestMessage; + GCDWebServerRequest* _request; + GCDWebServerHandler* _handler; + CFHTTPMessageRef _responseMessage; + GCDWebServerResponse* _response; + NSInteger _statusCode; + + BOOL _opened; +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + NSUInteger _connectionIndex; + NSString* _requestPath; + int _requestFD; + NSString* _responsePath; + int _responseFD; +#endif +} + ++ (void)initialize { + if (_CRLFData == nil) { + _CRLFData = [[NSData alloc] initWithBytes:"\r\n" length:2]; + GWS_DCHECK(_CRLFData); + } + if (_CRLFCRLFData == nil) { + _CRLFCRLFData = [[NSData alloc] initWithBytes:"\r\n\r\n" length:4]; + GWS_DCHECK(_CRLFCRLFData); + } + if (_continueData == nil) { + CFHTTPMessageRef message = CFHTTPMessageCreateResponse(kCFAllocatorDefault, 100, NULL, kCFHTTPVersion1_1); + _continueData = CFBridgingRelease(CFHTTPMessageCopySerializedMessage(message)); + CFRelease(message); + GWS_DCHECK(_continueData); + } + if (_lastChunkData == nil) { + _lastChunkData = [[NSData alloc] initWithBytes:"0\r\n\r\n" length:5]; + } + if (_digestAuthenticationNonce == nil) { + CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault); + _digestAuthenticationNonce = GCDWebServerComputeMD5Digest(@"%@", CFBridgingRelease(CFUUIDCreateString(kCFAllocatorDefault, uuid))); + CFRelease(uuid); + } +} + +- (BOOL)isUsingIPv6 { + const struct sockaddr* localSockAddr = _localAddressData.bytes; + return (localSockAddr->sa_family == AF_INET6); +} + +- (void)_initializeResponseHeadersWithStatusCode:(NSInteger)statusCode { + _statusCode = statusCode; + _responseMessage = CFHTTPMessageCreateResponse(kCFAllocatorDefault, statusCode, NULL, kCFHTTPVersion1_1); + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Connection"), CFSTR("Close")); + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Server"), (__bridge CFStringRef)_server.serverName); + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Date"), (__bridge CFStringRef)GCDWebServerFormatRFC822([NSDate date])); +} + +- (void)_startProcessingRequest { + GWS_DCHECK(_responseMessage == NULL); + + GCDWebServerResponse* preflightResponse = [self preflightRequest:_request]; + if (preflightResponse) { + [self _finishProcessingRequest:preflightResponse]; + } else { + [self processRequest:_request + completion:^(GCDWebServerResponse* processResponse) { + [self _finishProcessingRequest:processResponse]; + }]; + } +} + +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html +- (void)_finishProcessingRequest:(GCDWebServerResponse*)response { + GWS_DCHECK(_responseMessage == NULL); + BOOL hasBody = NO; + + if (response) { + response = [self overrideResponse:response forRequest:_request]; + } + if (response) { + if ([response hasBody]) { + [response prepareForReading]; + hasBody = !_virtualHEAD; + } + NSError* error = nil; + if (hasBody && ![response performOpen:&error]) { + GWS_LOG_ERROR(@"Failed opening response body for socket %i: %@", _socket, error); + } else { + _response = response; + } + } + + if (_response) { + [self _initializeResponseHeadersWithStatusCode:_response.statusCode]; + if (_response.lastModifiedDate) { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Last-Modified"), (__bridge CFStringRef)GCDWebServerFormatRFC822((NSDate*)_response.lastModifiedDate)); + } + if (_response.eTag) { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("ETag"), (__bridge CFStringRef)_response.eTag); + } + if ((_response.statusCode >= 200) && (_response.statusCode < 300)) { + if (_response.cacheControlMaxAge > 0) { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Cache-Control"), (__bridge CFStringRef)[NSString stringWithFormat:@"max-age=%i, public", (int)_response.cacheControlMaxAge]); + } else { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Cache-Control"), CFSTR("no-cache")); + } + } + if (_response.contentType != nil) { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Content-Type"), (__bridge CFStringRef)GCDWebServerNormalizeHeaderValue(_response.contentType)); + } + if (_response.contentLength != NSUIntegerMax) { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Content-Length"), (__bridge CFStringRef)[NSString stringWithFormat:@"%lu", (unsigned long)_response.contentLength]); + } + if (_response.usesChunkedTransferEncoding) { + CFHTTPMessageSetHeaderFieldValue(_responseMessage, CFSTR("Transfer-Encoding"), CFSTR("chunked")); + } + [_response.additionalHeaders enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL* stop) { + CFHTTPMessageSetHeaderFieldValue(self->_responseMessage, (__bridge CFStringRef)key, (__bridge CFStringRef)obj); + }]; + [self writeHeadersWithCompletionBlock:^(BOOL success) { + if (success) { + if (hasBody) { + [self writeBodyWithCompletionBlock:^(BOOL successInner) { + [self->_response performClose]; // TODO: There's nothing we can do on failure as headers have already been sent + }]; + } + } else if (hasBody) { + [self->_response performClose]; + } + }]; + } else { + [self abortRequest:_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + } +} + +- (void)_readBodyWithLength:(NSUInteger)length initialData:(NSData*)initialData { + NSError* error = nil; + if (![_request performOpen:&error]) { + GWS_LOG_ERROR(@"Failed opening request body for socket %i: %@", _socket, error); + [self abortRequest:_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + return; + } + + if (initialData.length) { + if (![_request performWriteData:initialData error:&error]) { + GWS_LOG_ERROR(@"Failed writing request body on socket %i: %@", _socket, error); + if (![_request performClose:&error]) { + GWS_LOG_ERROR(@"Failed closing request body for socket %i: %@", _socket, error); + } + [self abortRequest:_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + return; + } + length -= initialData.length; + } + + if (length) { + [self readBodyWithRemainingLength:length + completionBlock:^(BOOL success) { + NSError* localError = nil; + if ([self->_request performClose:&localError]) { + [self _startProcessingRequest]; + } else { + GWS_LOG_ERROR(@"Failed closing request body for socket %i: %@", self->_socket, error); + [self abortRequest:self->_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + } + }]; + } else { + if ([_request performClose:&error]) { + [self _startProcessingRequest]; + } else { + GWS_LOG_ERROR(@"Failed closing request body for socket %i: %@", _socket, error); + [self abortRequest:_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + } + } +} + +- (void)_readChunkedBodyWithInitialData:(NSData*)initialData { + NSError* error = nil; + if (![_request performOpen:&error]) { + GWS_LOG_ERROR(@"Failed opening request body for socket %i: %@", _socket, error); + [self abortRequest:_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + return; + } + + NSMutableData* chunkData = [[NSMutableData alloc] initWithData:initialData]; + [self readNextBodyChunk:chunkData + completionBlock:^(BOOL success) { + NSError* localError = nil; + if ([self->_request performClose:&localError]) { + [self _startProcessingRequest]; + } else { + GWS_LOG_ERROR(@"Failed closing request body for socket %i: %@", self->_socket, error); + [self abortRequest:self->_request withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + } + }]; +} + +- (void)_readRequestHeaders { + _requestMessage = CFHTTPMessageCreateEmpty(kCFAllocatorDefault, true); + NSMutableData* headersData = [[NSMutableData alloc] initWithCapacity:kHeadersReadCapacity]; + [self readHeaders:headersData + withCompletionBlock:^(NSData* extraData) { + if (extraData) { + NSString* requestMethod = CFBridgingRelease(CFHTTPMessageCopyRequestMethod(self->_requestMessage)); // Method verbs are case-sensitive and uppercase + if (self->_server.shouldAutomaticallyMapHEADToGET && [requestMethod isEqualToString:@"HEAD"]) { + requestMethod = @"GET"; + self->_virtualHEAD = YES; + } + NSDictionary* requestHeaders = CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(self->_requestMessage)); // Header names are case-insensitive but CFHTTPMessageCopyAllHeaderFields() will standardize the common ones + NSURL* requestURL = CFBridgingRelease(CFHTTPMessageCopyRequestURL(self->_requestMessage)); + if (requestURL) { + requestURL = [self rewriteRequestURL:requestURL withMethod:requestMethod headers:requestHeaders]; + GWS_DCHECK(requestURL); + } + NSString* urlPath = requestURL ? CFBridgingRelease(CFURLCopyPath((CFURLRef)requestURL)) : nil; // Don't use -[NSURL path] which strips the ending slash + if (urlPath == nil) { + urlPath = @"/"; // CFURLCopyPath() returns NULL for a relative URL with path "//" contrary to -[NSURL path] which returns "/" + } + NSString* requestPath = urlPath ? GCDWebServerUnescapeURLString(urlPath) : nil; + NSString* queryString = requestURL ? CFBridgingRelease(CFURLCopyQueryString((CFURLRef)requestURL, NULL)) : nil; // Don't use -[NSURL query] to make sure query is not unescaped; + NSDictionary* requestQuery = queryString ? GCDWebServerParseURLEncodedForm(queryString) : @{}; + if (requestMethod && requestURL && requestHeaders && requestPath && requestQuery) { + for (self->_handler in self->_server.handlers) { + self->_request = self->_handler.matchBlock(requestMethod, requestURL, requestHeaders, requestPath, requestQuery); + if (self->_request) { + break; + } + } + if (self->_request) { + self->_request.localAddressData = self.localAddressData; + self->_request.remoteAddressData = self.remoteAddressData; + if ([self->_request hasBody]) { + [self->_request prepareForWriting]; + if (self->_request.usesChunkedTransferEncoding || (extraData.length <= self->_request.contentLength)) { + NSString* expectHeader = [requestHeaders objectForKey:@"Expect"]; + if (expectHeader) { + if ([expectHeader caseInsensitiveCompare:@"100-continue"] == NSOrderedSame) { // TODO: Actually validate request before continuing + [self writeData:_continueData + withCompletionBlock:^(BOOL success) { + if (success) { + if (self->_request.usesChunkedTransferEncoding) { + [self _readChunkedBodyWithInitialData:extraData]; + } else { + [self _readBodyWithLength:self->_request.contentLength initialData:extraData]; + } + } + }]; + } else { + GWS_LOG_ERROR(@"Unsupported 'Expect' / 'Content-Length' header combination on socket %i", self->_socket); + [self abortRequest:self->_request withStatusCode:kGCDWebServerHTTPStatusCode_ExpectationFailed]; + } + } else { + if (self->_request.usesChunkedTransferEncoding) { + [self _readChunkedBodyWithInitialData:extraData]; + } else { + [self _readBodyWithLength:self->_request.contentLength initialData:extraData]; + } + } + } else { + GWS_LOG_ERROR(@"Unexpected 'Content-Length' header value on socket %i", self->_socket); + [self abortRequest:self->_request withStatusCode:kGCDWebServerHTTPStatusCode_BadRequest]; + } + } else { + [self _startProcessingRequest]; + } + } else { + self->_request = [[GCDWebServerRequest alloc] initWithMethod:requestMethod url:requestURL headers:requestHeaders path:requestPath query:requestQuery]; + GWS_DCHECK(self->_request); + [self abortRequest:self->_request withStatusCode:kGCDWebServerHTTPStatusCode_NotImplemented]; + } + } else { + [self abortRequest:nil withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + GWS_DNOT_REACHED(); + } + } else { + [self abortRequest:nil withStatusCode:kGCDWebServerHTTPStatusCode_InternalServerError]; + } + }]; +} + +- (instancetype)initWithServer:(GCDWebServer*)server localAddress:(NSData*)localAddress remoteAddress:(NSData*)remoteAddress socket:(CFSocketNativeHandle)socket { + if ((self = [super init])) { + _server = server; + _localAddressData = localAddress; + _remoteAddressData = remoteAddress; + _socket = socket; + GWS_LOG_DEBUG(@"Did open connection on socket %i", _socket); + + [_server willStartConnection:self]; + + if (![self open]) { + close(_socket); + return nil; + } + _opened = YES; + + [self _readRequestHeaders]; + } + return self; +} + +- (NSString*)localAddressString { + return GCDWebServerStringFromSockAddr(_localAddressData.bytes, YES); +} + +- (NSString*)remoteAddressString { + return GCDWebServerStringFromSockAddr(_remoteAddressData.bytes, YES); +} + +- (void)dealloc { + int result = close(_socket); + if (result != 0) { + GWS_LOG_ERROR(@"Failed closing socket %i for connection: %s (%i)", _socket, strerror(errno), errno); + } else { + GWS_LOG_DEBUG(@"Did close connection on socket %i", _socket); + } + + if (_opened) { + [self close]; + } + + [_server didEndConnection:self]; + + if (_requestMessage) { + CFRelease(_requestMessage); + } + + if (_responseMessage) { + CFRelease(_responseMessage); + } +} + +@end + +@implementation GCDWebServerConnection (Read) + +- (void)readData:(NSMutableData*)data withLength:(NSUInteger)length completionBlock:(ReadDataCompletionBlock)block { + dispatch_read(_socket, length, dispatch_get_global_queue(_server.dispatchQueuePriority, 0), ^(dispatch_data_t buffer, int error) { + @autoreleasepool { + if (error == 0) { + size_t size = dispatch_data_get_size(buffer); + if (size > 0) { + NSUInteger originalLength = data.length; + dispatch_data_apply(buffer, ^bool(dispatch_data_t region, size_t chunkOffset, const void* chunkBytes, size_t chunkSize) { + [data appendBytes:chunkBytes length:chunkSize]; + return true; + }); + [self didReadBytes:((char*)data.bytes + originalLength) length:(data.length - originalLength)]; + block(YES); + } else { + if (self->_totalBytesRead > 0) { + GWS_LOG_ERROR(@"No more data available on socket %i", self->_socket); + } else { + GWS_LOG_WARNING(@"No data received from socket %i", self->_socket); + } + block(NO); + } + } else { + GWS_LOG_ERROR(@"Error while reading from socket %i: %s (%i)", self->_socket, strerror(error), error); + block(NO); + } + } + }); +} + +- (void)readHeaders:(NSMutableData*)headersData withCompletionBlock:(ReadHeadersCompletionBlock)block { + GWS_DCHECK(_requestMessage); + [self readData:headersData + withLength:NSUIntegerMax + completionBlock:^(BOOL success) { + if (success) { + NSRange range = [headersData rangeOfData:_CRLFCRLFData options:0 range:NSMakeRange(0, headersData.length)]; + if (range.location == NSNotFound) { + [self readHeaders:headersData withCompletionBlock:block]; + } else { + NSUInteger length = range.location + range.length; + if (CFHTTPMessageAppendBytes(self->_requestMessage, headersData.bytes, length)) { + if (CFHTTPMessageIsHeaderComplete(self->_requestMessage)) { + block([headersData subdataWithRange:NSMakeRange(length, headersData.length - length)]); + } else { + GWS_LOG_ERROR(@"Failed parsing request headers from socket %i", self->_socket); + block(nil); + } + } else { + GWS_LOG_ERROR(@"Failed appending request headers data from socket %i", self->_socket); + block(nil); + } + } + } else { + block(nil); + } + }]; +} + +- (void)readBodyWithRemainingLength:(NSUInteger)length completionBlock:(ReadBodyCompletionBlock)block { + GWS_DCHECK([_request hasBody] && ![_request usesChunkedTransferEncoding]); + NSMutableData* bodyData = [[NSMutableData alloc] initWithCapacity:kBodyReadCapacity]; + [self readData:bodyData + withLength:length + completionBlock:^(BOOL success) { + if (success) { + if (bodyData.length <= length) { + NSError* error = nil; + if ([self->_request performWriteData:bodyData error:&error]) { + NSUInteger remainingLength = length - bodyData.length; + if (remainingLength) { + [self readBodyWithRemainingLength:remainingLength completionBlock:block]; + } else { + block(YES); + } + } else { + GWS_LOG_ERROR(@"Failed writing request body on socket %i: %@", self->_socket, error); + block(NO); + } + } else { + GWS_LOG_ERROR(@"Unexpected extra content reading request body on socket %i", self->_socket); + block(NO); + GWS_DNOT_REACHED(); + } + } else { + block(NO); + } + }]; +} + +static inline NSUInteger _ScanHexNumber(const void* bytes, NSUInteger size) { + char buffer[size + 1]; + bcopy(bytes, buffer, size); + buffer[size] = 0; + char* end = NULL; + long result = strtol(buffer, &end, 16); + return ((end != NULL) && (*end == 0) && (result >= 0) ? result : NSNotFound); +} + +- (void)readNextBodyChunk:(NSMutableData*)chunkData completionBlock:(ReadBodyCompletionBlock)block { + GWS_DCHECK([_request hasBody] && [_request usesChunkedTransferEncoding]); + + while (1) { + NSRange range = [chunkData rangeOfData:_CRLFData options:0 range:NSMakeRange(0, chunkData.length)]; + if (range.location == NSNotFound) { + break; + } + NSRange extensionRange = [chunkData rangeOfData:[NSData dataWithBytes:";" length:1] options:0 range:NSMakeRange(0, range.location)]; // Ignore chunk extensions + NSUInteger length = _ScanHexNumber((char*)chunkData.bytes, extensionRange.location != NSNotFound ? extensionRange.location : range.location); + if (length != NSNotFound) { + if (length) { + if (chunkData.length < range.location + range.length + length + 2) { + break; + } + const char* ptr = (char*)chunkData.bytes + range.location + range.length + length; + if ((*ptr == '\r') && (*(ptr + 1) == '\n')) { + NSError* error = nil; + if ([_request performWriteData:[chunkData subdataWithRange:NSMakeRange(range.location + range.length, length)] error:&error]) { + [chunkData replaceBytesInRange:NSMakeRange(0, range.location + range.length + length + 2) withBytes:NULL length:0]; + } else { + GWS_LOG_ERROR(@"Failed writing request body on socket %i: %@", _socket, error); + block(NO); + return; + } + } else { + GWS_LOG_ERROR(@"Missing terminating CRLF sequence for chunk reading request body on socket %i", _socket); + block(NO); + return; + } + } else { + NSRange trailerRange = [chunkData rangeOfData:_CRLFCRLFData options:0 range:NSMakeRange(range.location, chunkData.length - range.location)]; // Ignore trailers + if (trailerRange.location != NSNotFound) { + block(YES); + return; + } + } + } else { + GWS_LOG_ERROR(@"Invalid chunk length reading request body on socket %i", _socket); + block(NO); + return; + } + } + + [self readData:chunkData + withLength:NSUIntegerMax + completionBlock:^(BOOL success) { + if (success) { + [self readNextBodyChunk:chunkData completionBlock:block]; + } else { + block(NO); + } + }]; +} + +@end + +@implementation GCDWebServerConnection (Write) + +- (void)writeData:(NSData*)data withCompletionBlock:(WriteDataCompletionBlock)block { + dispatch_data_t buffer = dispatch_data_create(data.bytes, data.length, dispatch_get_global_queue(_server.dispatchQueuePriority, 0), ^{ + [data self]; // Keeps ARC from releasing data too early + }); + dispatch_write(_socket, buffer, dispatch_get_global_queue(_server.dispatchQueuePriority, 0), ^(dispatch_data_t remainingData, int error) { + @autoreleasepool { + if (error == 0) { + GWS_DCHECK(remainingData == NULL); + [self didWriteBytes:data.bytes length:data.length]; + block(YES); + } else { + GWS_LOG_ERROR(@"Error while writing to socket %i: %s (%i)", self->_socket, strerror(error), error); + block(NO); + } + } + }); +#if !OS_OBJECT_USE_OBJC_RETAIN_RELEASE + dispatch_release(buffer); +#endif +} + +- (void)writeHeadersWithCompletionBlock:(WriteHeadersCompletionBlock)block { + GWS_DCHECK(_responseMessage); + CFDataRef data = CFHTTPMessageCopySerializedMessage(_responseMessage); + [self writeData:(__bridge NSData*)data withCompletionBlock:block]; + CFRelease(data); +} + +- (void)writeBodyWithCompletionBlock:(WriteBodyCompletionBlock)block { + GWS_DCHECK([_response hasBody]); + [_response performReadDataWithCompletion:^(NSData* data, NSError* error) { + if (data) { + if (data.length) { + if (self->_response.usesChunkedTransferEncoding) { + const char* hexString = [[NSString stringWithFormat:@"%lx", (unsigned long)data.length] UTF8String]; + size_t hexLength = strlen(hexString); + NSData* chunk = [NSMutableData dataWithLength:(hexLength + 2 + data.length + 2)]; + if (chunk == nil) { + GWS_LOG_ERROR(@"Failed allocating memory for response body chunk for socket %i: %@", self->_socket, error); + block(NO); + return; + } + char* ptr = (char*)[(NSMutableData*)chunk mutableBytes]; + bcopy(hexString, ptr, hexLength); + ptr += hexLength; + *ptr++ = '\r'; + *ptr++ = '\n'; + bcopy(data.bytes, ptr, data.length); + ptr += data.length; + *ptr++ = '\r'; + *ptr = '\n'; + data = chunk; + } + [self writeData:data + withCompletionBlock:^(BOOL success) { + if (success) { + [self writeBodyWithCompletionBlock:block]; + } else { + block(NO); + } + }]; + } else { + if (self->_response.usesChunkedTransferEncoding) { + [self writeData:_lastChunkData + withCompletionBlock:^(BOOL success) { + block(success); + }]; + } else { + block(YES); + } + } + } else { + GWS_LOG_ERROR(@"Failed reading response body for socket %i: %@", self->_socket, error); + block(NO); + } + }]; +} + +@end + +@implementation GCDWebServerConnection (Subclassing) + +- (BOOL)open { +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + if (_server.recordingEnabled) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + _connectionIndex = OSAtomicIncrement32(&_connectionCounter); +#pragma clang diagnostic pop + + _requestPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSProcessInfo processInfo] globallyUniqueString]]; + _requestFD = open([_requestPath fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + GWS_DCHECK(_requestFD > 0); + + _responsePath = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSProcessInfo processInfo] globallyUniqueString]]; + _responseFD = open([_responsePath fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + GWS_DCHECK(_responseFD > 0); + } +#endif + + return YES; +} + +- (void)didReadBytes:(const void*)bytes length:(NSUInteger)length { + GWS_LOG_DEBUG(@"Connection received %lu bytes on socket %i", (unsigned long)length, _socket); + _totalBytesRead += length; + +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + if ((_requestFD > 0) && (write(_requestFD, bytes, length) != (ssize_t)length)) { + GWS_LOG_ERROR(@"Failed recording request data: %s (%i)", strerror(errno), errno); + close(_requestFD); + _requestFD = 0; + } +#endif +} + +- (void)didWriteBytes:(const void*)bytes length:(NSUInteger)length { + GWS_LOG_DEBUG(@"Connection sent %lu bytes on socket %i", (unsigned long)length, _socket); + _totalBytesWritten += length; + +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + if ((_responseFD > 0) && (write(_responseFD, bytes, length) != (ssize_t)length)) { + GWS_LOG_ERROR(@"Failed recording response data: %s (%i)", strerror(errno), errno); + close(_responseFD); + _responseFD = 0; + } +#endif +} + +- (NSURL*)rewriteRequestURL:(NSURL*)url withMethod:(NSString*)method headers:(NSDictionary*)headers { + return url; +} + +// https://tools.ietf.org/html/rfc2617 +- (GCDWebServerResponse*)preflightRequest:(GCDWebServerRequest*)request { + GWS_LOG_DEBUG(@"Connection on socket %i preflighting request \"%@ %@\" with %lu bytes body", _socket, _virtualHEAD ? @"HEAD" : _request.method, _request.path, (unsigned long)_totalBytesRead); + GCDWebServerResponse* response = nil; + if (_server.authenticationBasicAccounts) { + __block BOOL authenticated = NO; + NSString* authorizationHeader = [request.headers objectForKey:@"Authorization"]; + if ([authorizationHeader hasPrefix:@"Basic "]) { + NSString* basicAccount = [authorizationHeader substringFromIndex:6]; + [_server.authenticationBasicAccounts enumerateKeysAndObjectsUsingBlock:^(NSString* username, NSString* digest, BOOL* stop) { + if ([basicAccount isEqualToString:digest]) { + authenticated = YES; + *stop = YES; + } + }]; + } + if (!authenticated) { + response = [GCDWebServerResponse responseWithStatusCode:kGCDWebServerHTTPStatusCode_Unauthorized]; + [response setValue:[NSString stringWithFormat:@"Basic realm=\"%@\"", _server.authenticationRealm] forAdditionalHeader:@"WWW-Authenticate"]; + } + } else if (_server.authenticationDigestAccounts) { + BOOL authenticated = NO; + BOOL isStaled = NO; + NSString* authorizationHeader = [request.headers objectForKey:@"Authorization"]; + if ([authorizationHeader hasPrefix:@"Digest "]) { + NSString* realm = GCDWebServerExtractHeaderValueParameter(authorizationHeader, @"realm"); + if (realm && [_server.authenticationRealm isEqualToString:realm]) { + NSString* nonce = GCDWebServerExtractHeaderValueParameter(authorizationHeader, @"nonce"); + if ([nonce isEqualToString:_digestAuthenticationNonce]) { + NSString* username = GCDWebServerExtractHeaderValueParameter(authorizationHeader, @"username"); + NSString* uri = GCDWebServerExtractHeaderValueParameter(authorizationHeader, @"uri"); + NSString* actualResponse = GCDWebServerExtractHeaderValueParameter(authorizationHeader, @"response"); + NSString* ha1 = [_server.authenticationDigestAccounts objectForKey:username]; + NSString* ha2 = GCDWebServerComputeMD5Digest(@"%@:%@", request.method, uri); // We cannot use "request.path" as the query string is required + NSString* expectedResponse = GCDWebServerComputeMD5Digest(@"%@:%@:%@", ha1, _digestAuthenticationNonce, ha2); + if ([actualResponse isEqualToString:expectedResponse]) { + authenticated = YES; + } + } else if (nonce.length) { + isStaled = YES; + } + } + } + if (!authenticated) { + response = [GCDWebServerResponse responseWithStatusCode:kGCDWebServerHTTPStatusCode_Unauthorized]; + [response setValue:[NSString stringWithFormat:@"Digest realm=\"%@\", nonce=\"%@\"%@", _server.authenticationRealm, _digestAuthenticationNonce, isStaled ? @", stale=TRUE" : @""] forAdditionalHeader:@"WWW-Authenticate"]; // TODO: Support Quality of Protection ("qop") + } + } + return response; +} + +- (void)processRequest:(GCDWebServerRequest*)request completion:(GCDWebServerCompletionBlock)completion { + GWS_LOG_DEBUG(@"Connection on socket %i processing request \"%@ %@\" with %lu bytes body", _socket, _virtualHEAD ? @"HEAD" : _request.method, _request.path, (unsigned long)_totalBytesRead); + _handler.asyncProcessBlock(request, [completion copy]); +} + +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25 +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.26 +static inline BOOL _CompareResources(NSString* responseETag, NSString* requestETag, NSDate* responseLastModified, NSDate* requestLastModified) { + if (requestLastModified && responseLastModified) { + if ([responseLastModified compare:requestLastModified] != NSOrderedDescending) { + return YES; + } + } + if (requestETag && responseETag) { // Per the specs "If-None-Match" must be checked after "If-Modified-Since" + if ([requestETag isEqualToString:@"*"]) { + return YES; + } + if ([responseETag isEqualToString:requestETag]) { + return YES; + } + } + return NO; +} + +- (GCDWebServerResponse*)overrideResponse:(GCDWebServerResponse*)response forRequest:(GCDWebServerRequest*)request { + if ((response.statusCode >= 200) && (response.statusCode < 300) && _CompareResources(response.eTag, request.ifNoneMatch, response.lastModifiedDate, request.ifModifiedSince)) { + NSInteger code = [request.method isEqualToString:@"HEAD"] || [request.method isEqualToString:@"GET"] ? kGCDWebServerHTTPStatusCode_NotModified : kGCDWebServerHTTPStatusCode_PreconditionFailed; + GCDWebServerResponse* newResponse = [GCDWebServerResponse responseWithStatusCode:code]; + newResponse.cacheControlMaxAge = response.cacheControlMaxAge; + newResponse.lastModifiedDate = response.lastModifiedDate; + newResponse.eTag = response.eTag; + GWS_DCHECK(newResponse); + return newResponse; + } + return response; +} + +- (void)abortRequest:(GCDWebServerRequest*)request withStatusCode:(NSInteger)statusCode { + GWS_DCHECK(_responseMessage == NULL); + GWS_DCHECK((statusCode >= 400) && (statusCode < 600)); + [self _initializeResponseHeadersWithStatusCode:statusCode]; + [self writeHeadersWithCompletionBlock:^(BOOL success) { + ; // Nothing more to do + }]; + GWS_LOG_DEBUG(@"Connection aborted with status code %i on socket %i", (int)statusCode, _socket); +} + +- (void)close { +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + if (_requestPath) { + BOOL success = NO; + NSError* error = nil; + if (_requestFD > 0) { + close(_requestFD); + NSString* name = [NSString stringWithFormat:@"%03lu-%@.request", (unsigned long)_connectionIndex, _virtualHEAD ? @"HEAD" : _request.method]; + success = [[NSFileManager defaultManager] moveItemAtPath:_requestPath toPath:[[[NSFileManager defaultManager] currentDirectoryPath] stringByAppendingPathComponent:name] error:&error]; + } + if (!success) { + GWS_LOG_ERROR(@"Failed saving recorded request: %@", error); + GWS_DNOT_REACHED(); + } + unlink([_requestPath fileSystemRepresentation]); + } + + if (_responsePath) { + BOOL success = NO; + NSError* error = nil; + if (_responseFD > 0) { + close(_responseFD); + NSString* name = [NSString stringWithFormat:@"%03lu-%i.response", (unsigned long)_connectionIndex, (int)_statusCode]; + success = [[NSFileManager defaultManager] moveItemAtPath:_responsePath toPath:[[[NSFileManager defaultManager] currentDirectoryPath] stringByAppendingPathComponent:name] error:&error]; + } + if (!success) { + GWS_LOG_ERROR(@"Failed saving recorded response: %@", error); + GWS_DNOT_REACHED(); + } + unlink([_responsePath fileSystemRepresentation]); + } +#endif + + if (_request) { + GWS_LOG_VERBOSE(@"[%@] %@ %i \"%@ %@\" (%lu | %lu)", self.localAddressString, self.remoteAddressString, (int)_statusCode, _virtualHEAD ? @"HEAD" : _request.method, _request.path, (unsigned long)_totalBytesRead, (unsigned long)_totalBytesWritten); + } else { + GWS_LOG_VERBOSE(@"[%@] %@ %i \"(invalid request)\" (%lu | %lu)", self.localAddressString, self.remoteAddressString, (int)_statusCode, (unsigned long)_totalBytesRead, (unsigned long)_totalBytesWritten); + } +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.h new file mode 100644 index 00000000..217fb143 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.h @@ -0,0 +1,114 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Converts a file extension to the corresponding MIME type. + * If there is no match, "application/octet-stream" is returned. + * + * Overrides allow to customize the built-in mapping from extensions to MIME + * types. Keys of the dictionary must be lowercased file extensions without + * the period, and the values must be the corresponding MIME types. + */ +NSString* GCDWebServerGetMimeTypeForExtension(NSString* extension, NSDictionary* _Nullable overrides); + +/** + * Add percent-escapes to a string so it can be used in a URL. + * The legal characters ":@/?&=+" are also escaped to ensure compatibility + * with URL encoded forms and URL queries. + */ +NSString* _Nullable GCDWebServerEscapeURLString(NSString* string); + +/** + * Unescapes a URL percent-encoded string. + */ +NSString* _Nullable GCDWebServerUnescapeURLString(NSString* string); + +/** + * Extracts the unescaped names and values from an + * "application/x-www-form-urlencoded" form. + * http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1 + */ +NSDictionary* GCDWebServerParseURLEncodedForm(NSString* form); + +/** + * On OS X, returns the IPv4 or IPv6 address as a string of the primary + * connected service or nil if not available. + * + * On iOS, returns the IPv4 or IPv6 address as a string of the WiFi + * interface if connected or nil otherwise. + */ +NSString* _Nullable GCDWebServerGetPrimaryIPAddress(BOOL useIPv6); + +/** + * Converts a date into a string using RFC822 formatting. + * https://tools.ietf.org/html/rfc822#section-5 + * https://tools.ietf.org/html/rfc1123#section-5.2.14 + */ +NSString* GCDWebServerFormatRFC822(NSDate* date); + +/** + * Converts a RFC822 formatted string into a date. + * https://tools.ietf.org/html/rfc822#section-5 + * https://tools.ietf.org/html/rfc1123#section-5.2.14 + * + * @warning Timezones other than GMT are not supported by this function. + */ +NSDate* _Nullable GCDWebServerParseRFC822(NSString* string); + +/** + * Converts a date into a string using IOS 8601 formatting. + * http://tools.ietf.org/html/rfc3339#section-5.6 + */ +NSString* GCDWebServerFormatISO8601(NSDate* date); + +/** + * Converts a ISO 8601 formatted string into a date. + * http://tools.ietf.org/html/rfc3339#section-5.6 + * + * @warning Only "calendar" variant is supported at this time and timezones + * other than GMT are not supported either. + */ +NSDate* _Nullable GCDWebServerParseISO8601(NSString* string); + +/** + * Removes "//", "/./" and "/../" components from path as well as any trailing slash. + */ +NSString* GCDWebServerNormalizePath(NSString* path); + +#ifdef __cplusplus +} +#endif + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.m b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.m new file mode 100644 index 00000000..7787884d --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.m @@ -0,0 +1,331 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import +#if TARGET_OS_IPHONE +#import +#else +#import +#endif +#import + +#import +#import +#import + +#import "GCDWebServerPrivate.h" + +static NSDateFormatter* _dateFormatterRFC822 = nil; +static NSDateFormatter* _dateFormatterISO8601 = nil; +static dispatch_queue_t _dateFormatterQueue = NULL; + +// TODO: Handle RFC 850 and ANSI C's asctime() format +void GCDWebServerInitializeFunctions() { + GWS_DCHECK([NSThread isMainThread]); // NSDateFormatter should be initialized on main thread + if (_dateFormatterRFC822 == nil) { + _dateFormatterRFC822 = [[NSDateFormatter alloc] init]; + _dateFormatterRFC822.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; + _dateFormatterRFC822.dateFormat = @"EEE',' dd MMM yyyy HH':'mm':'ss 'GMT'"; + _dateFormatterRFC822.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; + GWS_DCHECK(_dateFormatterRFC822); + } + if (_dateFormatterISO8601 == nil) { + _dateFormatterISO8601 = [[NSDateFormatter alloc] init]; + _dateFormatterISO8601.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; + _dateFormatterISO8601.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss'+00:00'"; + _dateFormatterISO8601.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; + GWS_DCHECK(_dateFormatterISO8601); + } + if (_dateFormatterQueue == NULL) { + _dateFormatterQueue = dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL); + GWS_DCHECK(_dateFormatterQueue); + } +} + +NSString* GCDWebServerNormalizeHeaderValue(NSString* value) { + if (value) { + NSRange range = [value rangeOfString:@";"]; // Assume part before ";" separator is case-insensitive + if (range.location != NSNotFound) { + value = [[[value substringToIndex:range.location] lowercaseString] stringByAppendingString:[value substringFromIndex:range.location]]; + } else { + value = [value lowercaseString]; + } + } + return value; +} + +NSString* GCDWebServerTruncateHeaderValue(NSString* value) { + if (value) { + NSRange range = [value rangeOfString:@";"]; + if (range.location != NSNotFound) { + return [value substringToIndex:range.location]; + } + } + return value; +} + +NSString* GCDWebServerExtractHeaderValueParameter(NSString* value, NSString* name) { + NSString* parameter = nil; + if (value) { + NSScanner* scanner = [[NSScanner alloc] initWithString:value]; + [scanner setCaseSensitive:NO]; // Assume parameter names are case-insensitive + NSString* string = [NSString stringWithFormat:@"%@=", name]; + if ([scanner scanUpToString:string intoString:NULL]) { + [scanner scanString:string intoString:NULL]; + if ([scanner scanString:@"\"" intoString:NULL]) { + [scanner scanUpToString:@"\"" intoString:¶meter]; + } else { + [scanner scanUpToCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString:¶meter]; + } + } + } + return parameter; +} + +// http://www.w3schools.com/tags/ref_charactersets.asp +NSStringEncoding GCDWebServerStringEncodingFromCharset(NSString* charset) { + NSStringEncoding encoding = kCFStringEncodingInvalidId; + if (charset) { + encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)charset)); + } + return (encoding != kCFStringEncodingInvalidId ? encoding : NSUTF8StringEncoding); +} + +NSString* GCDWebServerFormatRFC822(NSDate* date) { + __block NSString* string; + dispatch_sync(_dateFormatterQueue, ^{ + string = [_dateFormatterRFC822 stringFromDate:date]; + }); + return string; +} + +NSDate* GCDWebServerParseRFC822(NSString* string) { + __block NSDate* date; + dispatch_sync(_dateFormatterQueue, ^{ + date = [_dateFormatterRFC822 dateFromString:string]; + }); + return date; +} + +NSString* GCDWebServerFormatISO8601(NSDate* date) { + __block NSString* string; + dispatch_sync(_dateFormatterQueue, ^{ + string = [_dateFormatterISO8601 stringFromDate:date]; + }); + return string; +} + +NSDate* GCDWebServerParseISO8601(NSString* string) { + __block NSDate* date; + dispatch_sync(_dateFormatterQueue, ^{ + date = [_dateFormatterISO8601 dateFromString:string]; + }); + return date; +} + +BOOL GCDWebServerIsTextContentType(NSString* type) { + return ([type hasPrefix:@"text/"] || [type hasPrefix:@"application/json"] || [type hasPrefix:@"application/xml"]); +} + +NSString* GCDWebServerDescribeData(NSData* data, NSString* type) { + if (GCDWebServerIsTextContentType(type)) { + NSString* charset = GCDWebServerExtractHeaderValueParameter(type, @"charset"); + NSString* string = [[NSString alloc] initWithData:data encoding:GCDWebServerStringEncodingFromCharset(charset)]; + if (string) { + return string; + } + } + return [NSString stringWithFormat:@"<%lu bytes>", (unsigned long)data.length]; +} + +NSString* GCDWebServerGetMimeTypeForExtension(NSString* extension, NSDictionary* overrides) { + NSDictionary* builtInOverrides = @{@"css" : @"text/css"}; + NSString* mimeType = nil; + extension = [extension lowercaseString]; + if (extension.length) { + mimeType = [overrides objectForKey:extension]; + if (mimeType == nil) { + mimeType = [builtInOverrides objectForKey:extension]; + } + if (mimeType == nil) { + CFStringRef uti = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)extension, NULL); + if (uti) { + mimeType = CFBridgingRelease(UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType)); + CFRelease(uti); + } + } + } + return mimeType ? mimeType : kGCDWebServerDefaultMimeType; +} + +NSString* GCDWebServerEscapeURLString(NSString* string) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + return CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR(":@/?&=+"), kCFStringEncodingUTF8)); +#pragma clang diagnostic pop +} + +NSString* GCDWebServerUnescapeURLString(NSString* string) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + return CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)string, CFSTR(""), kCFStringEncodingUTF8)); +#pragma clang diagnostic pop +} + +NSDictionary* GCDWebServerParseURLEncodedForm(NSString* form) { + NSMutableDictionary* parameters = [NSMutableDictionary dictionary]; + NSScanner* scanner = [[NSScanner alloc] initWithString:form]; + [scanner setCharactersToBeSkipped:nil]; + while (1) { + NSString* key = nil; + if (![scanner scanUpToString:@"=" intoString:&key] || [scanner isAtEnd]) { + break; + } + [scanner setScanLocation:([scanner scanLocation] + 1)]; + + NSString* value = nil; + [scanner scanUpToString:@"&" intoString:&value]; + if (value == nil) { + value = @""; + } + + key = [key stringByReplacingOccurrencesOfString:@"+" withString:@" "]; + NSString* unescapedKey = key ? GCDWebServerUnescapeURLString(key) : nil; + value = [value stringByReplacingOccurrencesOfString:@"+" withString:@" "]; + NSString* unescapedValue = value ? GCDWebServerUnescapeURLString(value) : nil; + if (unescapedKey && unescapedValue) { + [parameters setObject:unescapedValue forKey:unescapedKey]; + } else { + GWS_LOG_WARNING(@"Failed parsing URL encoded form for key \"%@\" and value \"%@\"", key, value); + GWS_DNOT_REACHED(); + } + + if ([scanner isAtEnd]) { + break; + } + [scanner setScanLocation:([scanner scanLocation] + 1)]; + } + return parameters; +} + +NSString* GCDWebServerStringFromSockAddr(const struct sockaddr* addr, BOOL includeService) { + char hostBuffer[NI_MAXHOST]; + char serviceBuffer[NI_MAXSERV]; + if (getnameinfo(addr, addr->sa_len, hostBuffer, sizeof(hostBuffer), serviceBuffer, sizeof(serviceBuffer), NI_NUMERICHOST | NI_NUMERICSERV | NI_NOFQDN) != 0) { +#if DEBUG + GWS_DNOT_REACHED(); +#else + return @""; +#endif + } + return includeService ? [NSString stringWithFormat:@"%s:%s", hostBuffer, serviceBuffer] : (NSString*)[NSString stringWithUTF8String:hostBuffer]; +} + +NSString* GCDWebServerGetPrimaryIPAddress(BOOL useIPv6) { + NSString* address = nil; +#if TARGET_OS_IPHONE +#if !TARGET_IPHONE_SIMULATOR && !TARGET_OS_TV + const char* primaryInterface = "en0"; // WiFi interface on iOS +#endif +#else + const char* primaryInterface = NULL; + SCDynamicStoreRef store = SCDynamicStoreCreate(kCFAllocatorDefault, CFSTR("GCDWebServer"), NULL, NULL); + if (store) { + CFPropertyListRef info = SCDynamicStoreCopyValue(store, CFSTR("State:/Network/Global/IPv4")); // There is no equivalent for IPv6 but the primary interface should be the same + if (info) { + NSString* interface = [(__bridge NSDictionary*)info objectForKey:@"PrimaryInterface"]; + if (interface) { + primaryInterface = [[NSString stringWithString:interface] UTF8String]; // Copy string to auto-release pool + } + CFRelease(info); + } + CFRelease(store); + } + if (primaryInterface == NULL) { + primaryInterface = "lo0"; + } +#endif + struct ifaddrs* list; + if (getifaddrs(&list) >= 0) { + for (struct ifaddrs* ifap = list; ifap; ifap = ifap->ifa_next) { +#if TARGET_IPHONE_SIMULATOR || TARGET_OS_TV + // Assume en0 is Ethernet and en1 is WiFi since there is no way to use SystemConfiguration framework in iOS Simulator + // Assumption holds for Apple TV running tvOS + if (strcmp(ifap->ifa_name, "en0") && strcmp(ifap->ifa_name, "en1")) +#else + if (strcmp(ifap->ifa_name, primaryInterface)) +#endif + { + continue; + } + if ((ifap->ifa_flags & IFF_UP) && ((!useIPv6 && (ifap->ifa_addr->sa_family == AF_INET)) || (useIPv6 && (ifap->ifa_addr->sa_family == AF_INET6)))) { + address = GCDWebServerStringFromSockAddr(ifap->ifa_addr, NO); + break; + } + } + freeifaddrs(list); + } + return address; +} + +NSString* GCDWebServerComputeMD5Digest(NSString* format, ...) { + va_list arguments; + va_start(arguments, format); + const char* string = [[[NSString alloc] initWithFormat:format arguments:arguments] UTF8String]; + va_end(arguments); + unsigned char md5[CC_MD5_DIGEST_LENGTH]; + CC_MD5(string, (CC_LONG)strlen(string), md5); + char buffer[2 * CC_MD5_DIGEST_LENGTH + 1]; + for (int i = 0; i < CC_MD5_DIGEST_LENGTH; ++i) { + unsigned char byte = md5[i]; + unsigned char byteHi = (byte & 0xF0) >> 4; + buffer[2 * i + 0] = byteHi >= 10 ? 'a' + byteHi - 10 : '0' + byteHi; + unsigned char byteLo = byte & 0x0F; + buffer[2 * i + 1] = byteLo >= 10 ? 'a' + byteLo - 10 : '0' + byteLo; + } + buffer[2 * CC_MD5_DIGEST_LENGTH] = 0; + return (NSString*)[NSString stringWithUTF8String:buffer]; +} + +NSString* GCDWebServerNormalizePath(NSString* path) { + NSMutableArray* components = [[NSMutableArray alloc] init]; + for (NSString* component in [path componentsSeparatedByString:@"/"]) { + if ([component isEqualToString:@".."]) { + [components removeLastObject]; + } else if (component.length && ![component isEqualToString:@"."]) { + [components addObject:component]; + } + } + if (path.length && ([path characterAtIndex:0] == '/')) { + return [@"/" stringByAppendingString:[components componentsJoinedByString:@"/"]]; // Preserve initial slash + } + return [components componentsJoinedByString:@"/"]; +} diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h new file mode 100644 index 00000000..12b697e3 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h @@ -0,0 +1,116 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html +// http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml + +#import + +/** + * Convenience constants for "informational" HTTP status codes. + */ +typedef NS_ENUM(NSInteger, GCDWebServerInformationalHTTPStatusCode) { + kGCDWebServerHTTPStatusCode_Continue = 100, + kGCDWebServerHTTPStatusCode_SwitchingProtocols = 101, + kGCDWebServerHTTPStatusCode_Processing = 102 +}; + +/** + * Convenience constants for "successful" HTTP status codes. + */ +typedef NS_ENUM(NSInteger, GCDWebServerSuccessfulHTTPStatusCode) { + kGCDWebServerHTTPStatusCode_OK = 200, + kGCDWebServerHTTPStatusCode_Created = 201, + kGCDWebServerHTTPStatusCode_Accepted = 202, + kGCDWebServerHTTPStatusCode_NonAuthoritativeInformation = 203, + kGCDWebServerHTTPStatusCode_NoContent = 204, + kGCDWebServerHTTPStatusCode_ResetContent = 205, + kGCDWebServerHTTPStatusCode_PartialContent = 206, + kGCDWebServerHTTPStatusCode_MultiStatus = 207, + kGCDWebServerHTTPStatusCode_AlreadyReported = 208 +}; + +/** + * Convenience constants for "redirection" HTTP status codes. + */ +typedef NS_ENUM(NSInteger, GCDWebServerRedirectionHTTPStatusCode) { + kGCDWebServerHTTPStatusCode_MultipleChoices = 300, + kGCDWebServerHTTPStatusCode_MovedPermanently = 301, + kGCDWebServerHTTPStatusCode_Found = 302, + kGCDWebServerHTTPStatusCode_SeeOther = 303, + kGCDWebServerHTTPStatusCode_NotModified = 304, + kGCDWebServerHTTPStatusCode_UseProxy = 305, + kGCDWebServerHTTPStatusCode_TemporaryRedirect = 307, + kGCDWebServerHTTPStatusCode_PermanentRedirect = 308 +}; + +/** + * Convenience constants for "client error" HTTP status codes. + */ +typedef NS_ENUM(NSInteger, GCDWebServerClientErrorHTTPStatusCode) { + kGCDWebServerHTTPStatusCode_BadRequest = 400, + kGCDWebServerHTTPStatusCode_Unauthorized = 401, + kGCDWebServerHTTPStatusCode_PaymentRequired = 402, + kGCDWebServerHTTPStatusCode_Forbidden = 403, + kGCDWebServerHTTPStatusCode_NotFound = 404, + kGCDWebServerHTTPStatusCode_MethodNotAllowed = 405, + kGCDWebServerHTTPStatusCode_NotAcceptable = 406, + kGCDWebServerHTTPStatusCode_ProxyAuthenticationRequired = 407, + kGCDWebServerHTTPStatusCode_RequestTimeout = 408, + kGCDWebServerHTTPStatusCode_Conflict = 409, + kGCDWebServerHTTPStatusCode_Gone = 410, + kGCDWebServerHTTPStatusCode_LengthRequired = 411, + kGCDWebServerHTTPStatusCode_PreconditionFailed = 412, + kGCDWebServerHTTPStatusCode_RequestEntityTooLarge = 413, + kGCDWebServerHTTPStatusCode_RequestURITooLong = 414, + kGCDWebServerHTTPStatusCode_UnsupportedMediaType = 415, + kGCDWebServerHTTPStatusCode_RequestedRangeNotSatisfiable = 416, + kGCDWebServerHTTPStatusCode_ExpectationFailed = 417, + kGCDWebServerHTTPStatusCode_UnprocessableEntity = 422, + kGCDWebServerHTTPStatusCode_Locked = 423, + kGCDWebServerHTTPStatusCode_FailedDependency = 424, + kGCDWebServerHTTPStatusCode_UpgradeRequired = 426, + kGCDWebServerHTTPStatusCode_PreconditionRequired = 428, + kGCDWebServerHTTPStatusCode_TooManyRequests = 429, + kGCDWebServerHTTPStatusCode_RequestHeaderFieldsTooLarge = 431 +}; + +/** + * Convenience constants for "server error" HTTP status codes. + */ +typedef NS_ENUM(NSInteger, GCDWebServerServerErrorHTTPStatusCode) { + kGCDWebServerHTTPStatusCode_InternalServerError = 500, + kGCDWebServerHTTPStatusCode_NotImplemented = 501, + kGCDWebServerHTTPStatusCode_BadGateway = 502, + kGCDWebServerHTTPStatusCode_ServiceUnavailable = 503, + kGCDWebServerHTTPStatusCode_GatewayTimeout = 504, + kGCDWebServerHTTPStatusCode_HTTPVersionNotSupported = 505, + kGCDWebServerHTTPStatusCode_InsufficientStorage = 507, + kGCDWebServerHTTPStatusCode_LoopDetected = 508, + kGCDWebServerHTTPStatusCode_NotExtended = 510, + kGCDWebServerHTTPStatusCode_NetworkAuthenticationRequired = 511 +}; diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerPrivate.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerPrivate.h new file mode 100644 index 00000000..4668a978 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerPrivate.h @@ -0,0 +1,224 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import +#import + +/** + * All GCDWebServer headers. + */ + +#import "GCDWebServerHTTPStatusCodes.h" +#import "GCDWebServerFunctions.h" + +#import "GCDWebServer.h" +#import "GCDWebServerConnection.h" + +#import "GCDWebServerDataRequest.h" +#import "GCDWebServerFileRequest.h" +#import "GCDWebServerMultiPartFormRequest.h" +#import "GCDWebServerURLEncodedFormRequest.h" + +#import "GCDWebServerDataResponse.h" +#import "GCDWebServerErrorResponse.h" +#import "GCDWebServerFileResponse.h" +#import "GCDWebServerStreamedResponse.h" + +/** + * Check if a custom logging facility should be used instead. + */ + +#if defined(__GCDWEBSERVER_LOGGING_HEADER__) + +#define __GCDWEBSERVER_LOGGING_FACILITY_CUSTOM__ + +#import __GCDWEBSERVER_LOGGING_HEADER__ + +/** + * Automatically detect if XLFacility is available and if so use it as a + * logging facility. + */ + +#elif defined(__has_include) && __has_include("XLFacilityMacros.h") + +#define __GCDWEBSERVER_LOGGING_FACILITY_XLFACILITY__ + +#undef XLOG_TAG +#define XLOG_TAG @"gcdwebserver.internal" + +#import "XLFacilityMacros.h" + +#define GWS_LOG_DEBUG(...) XLOG_DEBUG(__VA_ARGS__) +#define GWS_LOG_VERBOSE(...) XLOG_VERBOSE(__VA_ARGS__) +#define GWS_LOG_INFO(...) XLOG_INFO(__VA_ARGS__) +#define GWS_LOG_WARNING(...) XLOG_WARNING(__VA_ARGS__) +#define GWS_LOG_ERROR(...) XLOG_ERROR(__VA_ARGS__) + +#define GWS_DCHECK(__CONDITION__) XLOG_DEBUG_CHECK(__CONDITION__) +#define GWS_DNOT_REACHED() XLOG_DEBUG_UNREACHABLE() + +/** + * If all of the above fail, then use GCDWebServer built-in + * logging facility. + */ + +#else + +#define __GCDWEBSERVER_LOGGING_FACILITY_BUILTIN__ + +typedef NS_ENUM(int, GCDWebServerLoggingLevel) { + kGCDWebServerLoggingLevel_Debug = 0, + kGCDWebServerLoggingLevel_Verbose, + kGCDWebServerLoggingLevel_Info, + kGCDWebServerLoggingLevel_Warning, + kGCDWebServerLoggingLevel_Error +}; + +extern GCDWebServerLoggingLevel GCDWebServerLogLevel; +extern void GCDWebServerLogMessage(GCDWebServerLoggingLevel level, NSString* _Nonnull format, ...) NS_FORMAT_FUNCTION(2, 3); + +#if DEBUG +#define GWS_LOG_DEBUG(...) \ + do { \ + if (GCDWebServerLogLevel <= kGCDWebServerLoggingLevel_Debug) GCDWebServerLogMessage(kGCDWebServerLoggingLevel_Debug, __VA_ARGS__); \ + } while (0) +#else +#define GWS_LOG_DEBUG(...) +#endif +#define GWS_LOG_VERBOSE(...) \ + do { \ + if (GCDWebServerLogLevel <= kGCDWebServerLoggingLevel_Verbose) GCDWebServerLogMessage(kGCDWebServerLoggingLevel_Verbose, __VA_ARGS__); \ + } while (0) +#define GWS_LOG_INFO(...) \ + do { \ + if (GCDWebServerLogLevel <= kGCDWebServerLoggingLevel_Info) GCDWebServerLogMessage(kGCDWebServerLoggingLevel_Info, __VA_ARGS__); \ + } while (0) +#define GWS_LOG_WARNING(...) \ + do { \ + if (GCDWebServerLogLevel <= kGCDWebServerLoggingLevel_Warning) GCDWebServerLogMessage(kGCDWebServerLoggingLevel_Warning, __VA_ARGS__); \ + } while (0) +#define GWS_LOG_ERROR(...) \ + do { \ + if (GCDWebServerLogLevel <= kGCDWebServerLoggingLevel_Error) GCDWebServerLogMessage(kGCDWebServerLoggingLevel_Error, __VA_ARGS__); \ + } while (0) + +#endif + +/** + * Consistency check macros used when building Debug only. + */ + +#if !defined(GWS_DCHECK) || !defined(GWS_DNOT_REACHED) + +#if DEBUG + +#define GWS_DCHECK(__CONDITION__) \ + do { \ + if (!(__CONDITION__)) { \ + abort(); \ + } \ + } while (0) +#define GWS_DNOT_REACHED() abort() + +#else + +#define GWS_DCHECK(__CONDITION__) +#define GWS_DNOT_REACHED() + +#endif + +#endif + +NS_ASSUME_NONNULL_BEGIN + +/** + * GCDWebServer internal constants and APIs. + */ + +#define kGCDWebServerDefaultMimeType @"application/octet-stream" +#define kGCDWebServerErrorDomain @"GCDWebServerErrorDomain" + +static inline BOOL GCDWebServerIsValidByteRange(NSRange range) { + return ((range.location != NSUIntegerMax) || (range.length > 0)); +} + +static inline NSError* GCDWebServerMakePosixError(int code) { + return [NSError errorWithDomain:NSPOSIXErrorDomain code:code userInfo:@{NSLocalizedDescriptionKey : (NSString*)[NSString stringWithUTF8String:strerror(code)]}]; +} + +extern void GCDWebServerInitializeFunctions(void); +extern NSString* _Nullable GCDWebServerNormalizeHeaderValue(NSString* _Nullable value); +extern NSString* _Nullable GCDWebServerTruncateHeaderValue(NSString* _Nullable value); +extern NSString* _Nullable GCDWebServerExtractHeaderValueParameter(NSString* _Nullable value, NSString* attribute); +extern NSStringEncoding GCDWebServerStringEncodingFromCharset(NSString* charset); +extern BOOL GCDWebServerIsTextContentType(NSString* type); +extern NSString* GCDWebServerDescribeData(NSData* data, NSString* contentType); +extern NSString* GCDWebServerComputeMD5Digest(NSString* format, ...) NS_FORMAT_FUNCTION(1, 2); +extern NSString* GCDWebServerStringFromSockAddr(const struct sockaddr* addr, BOOL includeService); + +@interface GCDWebServerConnection () +- (instancetype)initWithServer:(GCDWebServer*)server localAddress:(NSData*)localAddress remoteAddress:(NSData*)remoteAddress socket:(CFSocketNativeHandle)socket; +@end + +@interface GCDWebServer () +@property(nonatomic, readonly) NSMutableArray* handlers; +@property(nonatomic, readonly, nullable) NSString* serverName; +@property(nonatomic, readonly, nullable) NSString* authenticationRealm; +@property(nonatomic, readonly, nullable) NSMutableDictionary* authenticationBasicAccounts; +@property(nonatomic, readonly, nullable) NSMutableDictionary* authenticationDigestAccounts; +@property(nonatomic, readonly) BOOL shouldAutomaticallyMapHEADToGET; +@property(nonatomic, readonly) dispatch_queue_priority_t dispatchQueuePriority; +- (void)willStartConnection:(GCDWebServerConnection*)connection; +- (void)didEndConnection:(GCDWebServerConnection*)connection; +@end + +@interface GCDWebServerHandler : NSObject +@property(nonatomic, readonly) GCDWebServerMatchBlock matchBlock; +@property(nonatomic, readonly) GCDWebServerAsyncProcessBlock asyncProcessBlock; +@end + +@interface GCDWebServerRequest () +@property(nonatomic, readonly) BOOL usesChunkedTransferEncoding; +@property(nonatomic) NSData* localAddressData; +@property(nonatomic) NSData* remoteAddressData; +- (void)prepareForWriting; +- (BOOL)performOpen:(NSError**)error; +- (BOOL)performWriteData:(NSData*)data error:(NSError**)error; +- (BOOL)performClose:(NSError**)error; +- (void)setAttribute:(nullable id)attribute forKey:(NSString*)key; +@end + +@interface GCDWebServerResponse () +@property(nonatomic, readonly) NSDictionary* additionalHeaders; +@property(nonatomic, readonly) BOOL usesChunkedTransferEncoding; +- (void)prepareForReading; +- (BOOL)performOpen:(NSError**)error; +- (void)performReadDataWithCompletion:(GCDWebServerBodyReaderCompletionBlock)block; +- (void)performClose; +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.h new file mode 100644 index 00000000..79b446a5 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.h @@ -0,0 +1,210 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Attribute key to retrieve an NSArray containing NSStrings from a GCDWebServerRequest + * with the contents of any regular expression captures done on the request path. + * + * @warning This attribute will only be set on the request if adding a handler using + * -addHandlerForMethod:pathRegex:requestClass:processBlock:. + */ +extern NSString* const GCDWebServerRequestAttribute_RegexCaptures; + +/** + * This protocol is used by the GCDWebServerConnection to communicate with + * the GCDWebServerRequest and write the received HTTP body data. + * + * Note that multiple GCDWebServerBodyWriter objects can be chained together + * internally e.g. to automatically decode gzip encoded content before + * passing it on to the GCDWebServerRequest. + * + * @warning These methods can be called on any GCD thread. + */ +@protocol GCDWebServerBodyWriter + +/** + * This method is called before any body data is received. + * + * It should return YES on success or NO on failure and set the "error" argument + * which is guaranteed to be non-NULL. + */ +- (BOOL)open:(NSError**)error; + +/** + * This method is called whenever body data has been received. + * + * It should return YES on success or NO on failure and set the "error" argument + * which is guaranteed to be non-NULL. + */ +- (BOOL)writeData:(NSData*)data error:(NSError**)error; + +/** + * This method is called after all body data has been received. + * + * It should return YES on success or NO on failure and set the "error" argument + * which is guaranteed to be non-NULL. + */ +- (BOOL)close:(NSError**)error; + +@end + +/** + * The GCDWebServerRequest class is instantiated by the GCDWebServerConnection + * after the HTTP headers have been received. Each instance wraps a single HTTP + * request. If a body is present, the methods from the GCDWebServerBodyWriter + * protocol will be called by the GCDWebServerConnection to receive it. + * + * The default implementation of the GCDWebServerBodyWriter protocol on the class + * simply ignores the body data. + * + * @warning GCDWebServerRequest instances can be created and used on any GCD thread. + */ +@interface GCDWebServerRequest : NSObject + +/** + * Returns the HTTP method for the request. + */ +@property(nonatomic, readonly) NSString* method; + +/** + * Returns the URL for the request. + */ +@property(nonatomic, readonly) NSURL* URL; + +/** + * Returns the HTTP headers for the request. + */ +@property(nonatomic, readonly) NSDictionary* headers; + +/** + * Returns the path component of the URL for the request. + */ +@property(nonatomic, readonly) NSString* path; + +/** + * Returns the parsed and unescaped query component of the URL for the request. + * + * @warning This property will be nil if there is no query in the URL. + */ +@property(nonatomic, readonly, nullable) NSDictionary* query; + +/** + * Returns the content type for the body of the request parsed from the + * "Content-Type" header. + * + * This property will be nil if the request has no body or set to + * "application/octet-stream" if a body is present but there was no + * "Content-Type" header. + */ +@property(nonatomic, readonly, nullable) NSString* contentType; + +/** + * Returns the content length for the body of the request parsed from the + * "Content-Length" header. + * + * This property will be set to "NSUIntegerMax" if the request has no body or + * if there is a body but no "Content-Length" header, typically because + * chunked transfer encoding is used. + */ +@property(nonatomic, readonly) NSUInteger contentLength; + +/** + * Returns the parsed "If-Modified-Since" header or nil if absent or malformed. + */ +@property(nonatomic, readonly, nullable) NSDate* ifModifiedSince; + +/** + * Returns the parsed "If-None-Match" header or nil if absent or malformed. + */ +@property(nonatomic, readonly, nullable) NSString* ifNoneMatch; + +/** + * Returns the parsed "Range" header or (NSUIntegerMax, 0) if absent or malformed. + * The range will be set to (offset, length) if expressed from the beginning + * of the entity body, or (NSUIntegerMax, length) if expressed from its end. + */ +@property(nonatomic, readonly) NSRange byteRange; + +/** + * Returns YES if the client supports gzip content encoding according to the + * "Accept-Encoding" header. + */ +@property(nonatomic, readonly) BOOL acceptsGzipContentEncoding; + +/** + * Returns the address of the local peer (i.e. server) for the request + * as a raw "struct sockaddr". + */ +@property(nonatomic, readonly) NSData* localAddressData; + +/** + * Returns the address of the local peer (i.e. server) for the request + * as a string. + */ +@property(nonatomic, readonly) NSString* localAddressString; + +/** + * Returns the address of the remote peer (i.e. client) for the request + * as a raw "struct sockaddr". + */ +@property(nonatomic, readonly) NSData* remoteAddressData; + +/** + * Returns the address of the remote peer (i.e. client) for the request + * as a string. + */ +@property(nonatomic, readonly) NSString* remoteAddressString; + +/** + * This method is the designated initializer for the class. + */ +- (instancetype)initWithMethod:(NSString*)method url:(NSURL*)url headers:(NSDictionary*)headers path:(NSString*)path query:(nullable NSDictionary*)query; + +/** + * Convenience method that checks if the contentType property is defined. + */ +- (BOOL)hasBody; + +/** + * Convenience method that checks if the byteRange property is defined. + */ +- (BOOL)hasByteRange; + +/** + * Retrieves an attribute associated with this request using the given key. + * + * @return The attribute value for the key. + */ +- (nullable id)attributeForKey:(NSString*)key; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.m b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.m new file mode 100644 index 00000000..5648eff7 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.m @@ -0,0 +1,303 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import + +#import "GCDWebServerPrivate.h" + +NSString* const GCDWebServerRequestAttribute_RegexCaptures = @"GCDWebServerRequestAttribute_RegexCaptures"; + +#define kZlibErrorDomain @"ZlibErrorDomain" +#define kGZipInitialBufferSize (256 * 1024) + +@interface GCDWebServerBodyDecoder : NSObject +@end + +@interface GCDWebServerGZipDecoder : GCDWebServerBodyDecoder +@end + +@implementation GCDWebServerBodyDecoder { + GCDWebServerRequest* __unsafe_unretained _request; + id __unsafe_unretained _writer; +} + +- (instancetype)initWithRequest:(GCDWebServerRequest* _Nonnull)request writer:(id _Nonnull)writer { + if ((self = [super init])) { + _request = request; + _writer = writer; + } + return self; +} + +- (BOOL)open:(NSError**)error { + return [_writer open:error]; +} + +- (BOOL)writeData:(NSData*)data error:(NSError**)error { + return [_writer writeData:data error:error]; +} + +- (BOOL)close:(NSError**)error { + return [_writer close:error]; +} + +@end + +@implementation GCDWebServerGZipDecoder { + z_stream _stream; + BOOL _finished; +} + +- (BOOL)open:(NSError**)error { + int result = inflateInit2(&_stream, 15 + 16); + if (result != Z_OK) { + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } + return NO; + } + if (![super open:error]) { + inflateEnd(&_stream); + return NO; + } + return YES; +} + +- (BOOL)writeData:(NSData*)data error:(NSError**)error { + GWS_DCHECK(!_finished); + _stream.next_in = (Bytef*)data.bytes; + _stream.avail_in = (uInt)data.length; + NSMutableData* decodedData = [[NSMutableData alloc] initWithLength:kGZipInitialBufferSize]; + if (decodedData == nil) { + GWS_DNOT_REACHED(); + return NO; + } + NSUInteger length = 0; + while (1) { + NSUInteger maxLength = decodedData.length - length; + _stream.next_out = (Bytef*)((char*)decodedData.mutableBytes + length); + _stream.avail_out = (uInt)maxLength; + int result = inflate(&_stream, Z_NO_FLUSH); + if ((result != Z_OK) && (result != Z_STREAM_END)) { + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } + return NO; + } + length += maxLength - _stream.avail_out; + if (_stream.avail_out > 0) { + if (result == Z_STREAM_END) { + _finished = YES; + } + break; + } + decodedData.length = 2 * decodedData.length; // zlib has used all the output buffer so resize it and try again in case more data is available + } + decodedData.length = length; + BOOL success = length ? [super writeData:decodedData error:error] : YES; // No need to call writer if we have no data yet + return success; +} + +- (BOOL)close:(NSError**)error { + GWS_DCHECK(_finished); + inflateEnd(&_stream); + return [super close:error]; +} + +@end + +@implementation GCDWebServerRequest { + BOOL _opened; + NSMutableArray* _decoders; + id __unsafe_unretained _writer; + NSMutableDictionary* _attributes; +} + +- (instancetype)initWithMethod:(NSString*)method url:(NSURL*)url headers:(NSDictionary*)headers path:(NSString*)path query:(NSDictionary*)query { + if ((self = [super init])) { + _method = [method copy]; + _URL = url; + _headers = headers; + _path = [path copy]; + _query = query; + + _contentType = GCDWebServerNormalizeHeaderValue([_headers objectForKey:@"Content-Type"]); + _usesChunkedTransferEncoding = [GCDWebServerNormalizeHeaderValue([_headers objectForKey:@"Transfer-Encoding"]) isEqualToString:@"chunked"]; + NSString* lengthHeader = [_headers objectForKey:@"Content-Length"]; + if (lengthHeader) { + NSInteger length = [lengthHeader integerValue]; + if (_usesChunkedTransferEncoding || (length < 0)) { + GWS_LOG_WARNING(@"Invalid 'Content-Length' header '%@' for '%@' request on \"%@\"", lengthHeader, _method, _URL); + GWS_DNOT_REACHED(); + return nil; + } + _contentLength = length; + if (_contentType == nil) { + _contentType = kGCDWebServerDefaultMimeType; + } + } else if (_usesChunkedTransferEncoding) { + if (_contentType == nil) { + _contentType = kGCDWebServerDefaultMimeType; + } + _contentLength = NSUIntegerMax; + } else { + if (_contentType) { + GWS_LOG_WARNING(@"Ignoring 'Content-Type' header for '%@' request on \"%@\"", _method, _URL); + _contentType = nil; // Content-Type without Content-Length or chunked-encoding doesn't make sense + } + _contentLength = NSUIntegerMax; + } + + NSString* modifiedHeader = [_headers objectForKey:@"If-Modified-Since"]; + if (modifiedHeader) { + _ifModifiedSince = [GCDWebServerParseRFC822(modifiedHeader) copy]; + } + _ifNoneMatch = [_headers objectForKey:@"If-None-Match"]; + + _byteRange = NSMakeRange(NSUIntegerMax, 0); + NSString* rangeHeader = GCDWebServerNormalizeHeaderValue([_headers objectForKey:@"Range"]); + if (rangeHeader) { + if ([rangeHeader hasPrefix:@"bytes="]) { + NSArray* components = [[rangeHeader substringFromIndex:6] componentsSeparatedByString:@","]; + if (components.count == 1) { + components = [(NSString*)[components firstObject] componentsSeparatedByString:@"-"]; + if (components.count == 2) { + NSString* startString = [components objectAtIndex:0]; + NSInteger startValue = [startString integerValue]; + NSString* endString = [components objectAtIndex:1]; + NSInteger endValue = [endString integerValue]; + if (startString.length && (startValue >= 0) && endString.length && (endValue >= startValue)) { // The second 500 bytes: "500-999" + _byteRange.location = startValue; + _byteRange.length = endValue - startValue + 1; + } else if (startString.length && (startValue >= 0)) { // The bytes after 9500 bytes: "9500-" + _byteRange.location = startValue; + _byteRange.length = NSUIntegerMax; + } else if (endString.length && (endValue > 0)) { // The final 500 bytes: "-500" + _byteRange.location = NSUIntegerMax; + _byteRange.length = endValue; + } + } + } + } + if ((_byteRange.location == NSUIntegerMax) && (_byteRange.length == 0)) { // Ignore "Range" header if syntactically invalid + GWS_LOG_WARNING(@"Failed to parse 'Range' header \"%@\" for url: %@", rangeHeader, url); + } + } + + if ([[_headers objectForKey:@"Accept-Encoding"] rangeOfString:@"gzip"].location != NSNotFound) { + _acceptsGzipContentEncoding = YES; + } + + _decoders = [[NSMutableArray alloc] init]; + _attributes = [[NSMutableDictionary alloc] init]; + } + return self; +} + +- (BOOL)hasBody { + return _contentType ? YES : NO; +} + +- (BOOL)hasByteRange { + return GCDWebServerIsValidByteRange(_byteRange); +} + +- (id)attributeForKey:(NSString*)key { + return [_attributes objectForKey:key]; +} + +- (BOOL)open:(NSError**)error { + return YES; +} + +- (BOOL)writeData:(NSData*)data error:(NSError**)error { + return YES; +} + +- (BOOL)close:(NSError**)error { + return YES; +} + +- (void)prepareForWriting { + _writer = self; + if ([GCDWebServerNormalizeHeaderValue([self.headers objectForKey:@"Content-Encoding"]) isEqualToString:@"gzip"]) { + GCDWebServerGZipDecoder* decoder = [[GCDWebServerGZipDecoder alloc] initWithRequest:self writer:_writer]; + [_decoders addObject:decoder]; + _writer = decoder; + } +} + +- (BOOL)performOpen:(NSError**)error { + GWS_DCHECK(_contentType); + GWS_DCHECK(_writer); + if (_opened) { + GWS_DNOT_REACHED(); + return NO; + } + _opened = YES; + return [_writer open:error]; +} + +- (BOOL)performWriteData:(NSData*)data error:(NSError**)error { + GWS_DCHECK(_opened); + return [_writer writeData:data error:error]; +} + +- (BOOL)performClose:(NSError**)error { + GWS_DCHECK(_opened); + return [_writer close:error]; +} + +- (void)setAttribute:(id)attribute forKey:(NSString*)key { + [_attributes setValue:attribute forKey:key]; +} + +- (NSString*)localAddressString { + return GCDWebServerStringFromSockAddr(_localAddressData.bytes, YES); +} + +- (NSString*)remoteAddressString { + return GCDWebServerStringFromSockAddr(_remoteAddressData.bytes, YES); +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithFormat:@"%@ %@", _method, _path]; + for (NSString* argument in [[_query allKeys] sortedArrayUsingSelector:@selector(compare:)]) { + [description appendFormat:@"\n %@ = %@", argument, [_query objectForKey:argument]]; + } + [description appendString:@"\n"]; + for (NSString* header in [[_headers allKeys] sortedArrayUsingSelector:@selector(compare:)]) { + [description appendFormat:@"\n%@: %@", header, [_headers objectForKey:header]]; + } + return description; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.h b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.h new file mode 100644 index 00000000..2e1365bf --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.h @@ -0,0 +1,212 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerBodyReaderCompletionBlock is passed by GCDWebServer to the + * GCDWebServerBodyReader object when reading data from it asynchronously. + */ +typedef void (^GCDWebServerBodyReaderCompletionBlock)(NSData* _Nullable data, NSError* _Nullable error); + +/** + * This protocol is used by the GCDWebServerConnection to communicate with + * the GCDWebServerResponse and read the HTTP body data to send. + * + * Note that multiple GCDWebServerBodyReader objects can be chained together + * internally e.g. to automatically apply gzip encoding to the content before + * passing it on to the GCDWebServerResponse. + * + * @warning These methods can be called on any GCD thread. + */ +@protocol GCDWebServerBodyReader + +@required + +/** + * This method is called before any body data is sent. + * + * It should return YES on success or NO on failure and set the "error" argument + * which is guaranteed to be non-NULL. + */ +- (BOOL)open:(NSError**)error; + +/** + * This method is called whenever body data is sent. + * + * It should return a non-empty NSData if there is body data available, + * or an empty NSData there is no more body data, or nil on error and set + * the "error" argument which is guaranteed to be non-NULL. + */ +- (nullable NSData*)readData:(NSError**)error; + +/** + * This method is called after all body data has been sent. + */ +- (void)close; + +@optional + +/** + * If this method is implemented, it will be preferred over -readData:. + * + * It must call the passed block when data is available, passing a non-empty + * NSData if there is body data available, or an empty NSData there is no more + * body data, or nil on error and pass an NSError along. + */ +- (void)asyncReadDataWithCompletion:(GCDWebServerBodyReaderCompletionBlock)block; + +@end + +/** + * The GCDWebServerResponse class is used to wrap a single HTTP response. + * It is instantiated by the handler of the GCDWebServer that handled the request. + * If a body is present, the methods from the GCDWebServerBodyReader protocol + * will be called by the GCDWebServerConnection to send it. + * + * The default implementation of the GCDWebServerBodyReader protocol + * on the class simply returns an empty body. + * + * @warning GCDWebServerResponse instances can be created and used on any GCD thread. + */ +@interface GCDWebServerResponse : NSObject + +/** + * Sets the content type for the body of the response. + * + * The default value is nil i.e. the response has no body. + * + * @warning This property must be set if a body is present. + */ +@property(nonatomic, copy, nullable) NSString* contentType; + +/** + * Sets the content length for the body of the response. If a body is present + * but this property is set to "NSUIntegerMax", this means the length of the body + * cannot be known ahead of time. Chunked transfer encoding will be + * automatically enabled by the GCDWebServerConnection to comply with HTTP/1.1 + * specifications. + * + * The default value is "NSUIntegerMax" i.e. the response has no body or its length + * is undefined. + */ +@property(nonatomic) NSUInteger contentLength; + +/** + * Sets the HTTP status code for the response. + * + * The default value is 200 i.e. "OK". + */ +@property(nonatomic) NSInteger statusCode; + +/** + * Sets the caching hint for the response using the "Cache-Control" header. + * This value is expressed in seconds. + * + * The default value is 0 i.e. "no-cache". + */ +@property(nonatomic) NSUInteger cacheControlMaxAge; + +/** + * Sets the last modified date for the response using the "Last-Modified" header. + * + * The default value is nil. + */ +@property(nonatomic, nullable) NSDate* lastModifiedDate; + +/** + * Sets the ETag for the response using the "ETag" header. + * + * The default value is nil. + */ +@property(nonatomic, copy, nullable) NSString* eTag; + +/** + * Enables gzip encoding for the response body. + * + * The default value is NO. + * + * @warning Enabling gzip encoding will remove any "Content-Length" header + * since the length of the body is not known anymore. The client will still + * be able to determine the body length when connection is closed per + * HTTP/1.1 specifications. + */ +@property(nonatomic, getter=isGZipContentEncodingEnabled) BOOL gzipContentEncodingEnabled; + +/** + * Creates an empty response. + */ ++ (instancetype)response; + +/** + * This method is the designated initializer for the class. + */ +- (instancetype)init; + +/** + * Sets an additional HTTP header on the response. + * Pass a nil value to remove an additional header. + * + * @warning Do not attempt to override the primary headers used + * by GCDWebServerResponse like "Content-Type", "ETag", etc... + */ +- (void)setValue:(nullable NSString*)value forAdditionalHeader:(NSString*)header; + +/** + * Convenience method that checks if the contentType property is defined. + */ +- (BOOL)hasBody; + +@end + +@interface GCDWebServerResponse (Extensions) + +/** + * Creates a empty response with a specific HTTP status code. + */ ++ (instancetype)responseWithStatusCode:(NSInteger)statusCode; + +/** + * Creates an HTTP redirect response to a new URL. + */ ++ (instancetype)responseWithRedirect:(NSURL*)location permanent:(BOOL)permanent; + +/** + * Initializes an empty response with a specific HTTP status code. + */ +- (instancetype)initWithStatusCode:(NSInteger)statusCode; + +/** + * Initializes an HTTP redirect response to a new URL. + */ +- (instancetype)initWithRedirect:(NSURL*)location permanent:(BOOL)permanent; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.m b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.m new file mode 100644 index 00000000..46042b21 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.m @@ -0,0 +1,284 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import + +#import "GCDWebServerPrivate.h" + +#define kZlibErrorDomain @"ZlibErrorDomain" +#define kGZipInitialBufferSize (256 * 1024) + +@interface GCDWebServerBodyEncoder : NSObject +@end + +@interface GCDWebServerGZipEncoder : GCDWebServerBodyEncoder +@end + +@implementation GCDWebServerBodyEncoder { + GCDWebServerResponse* __unsafe_unretained _response; + id __unsafe_unretained _reader; +} + +- (instancetype)initWithResponse:(GCDWebServerResponse* _Nonnull)response reader:(id _Nonnull)reader { + if ((self = [super init])) { + _response = response; + _reader = reader; + } + return self; +} + +- (BOOL)open:(NSError**)error { + return [_reader open:error]; +} + +- (NSData*)readData:(NSError**)error { + return [_reader readData:error]; +} + +- (void)close { + [_reader close]; +} + +@end + +@implementation GCDWebServerGZipEncoder { + z_stream _stream; + BOOL _finished; +} + +- (instancetype)initWithResponse:(GCDWebServerResponse* _Nonnull)response reader:(id _Nonnull)reader { + if ((self = [super initWithResponse:response reader:reader])) { + response.contentLength = NSUIntegerMax; // Make sure "Content-Length" header is not set since we don't know it + [response setValue:@"gzip" forAdditionalHeader:@"Content-Encoding"]; + } + return self; +} + +- (BOOL)open:(NSError**)error { + int result = deflateInit2(&_stream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 15 + 16, 8, Z_DEFAULT_STRATEGY); + if (result != Z_OK) { + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } + return NO; + } + if (![super open:error]) { + deflateEnd(&_stream); + return NO; + } + return YES; +} + +- (NSData*)readData:(NSError**)error { + NSMutableData* encodedData; + if (_finished) { + encodedData = [[NSMutableData alloc] init]; + } else { + encodedData = [[NSMutableData alloc] initWithLength:kGZipInitialBufferSize]; + if (encodedData == nil) { + GWS_DNOT_REACHED(); + return nil; + } + NSUInteger length = 0; + do { + NSData* data = [super readData:error]; + if (data == nil) { + return nil; + } + _stream.next_in = (Bytef*)data.bytes; + _stream.avail_in = (uInt)data.length; + while (1) { + NSUInteger maxLength = encodedData.length - length; + _stream.next_out = (Bytef*)((char*)encodedData.mutableBytes + length); + _stream.avail_out = (uInt)maxLength; + int result = deflate(&_stream, data.length ? Z_NO_FLUSH : Z_FINISH); + if (result == Z_STREAM_END) { + _finished = YES; + } else if (result != Z_OK) { + if (error) { + *error = [NSError errorWithDomain:kZlibErrorDomain code:result userInfo:nil]; + } + return nil; + } + length += maxLength - _stream.avail_out; + if (_stream.avail_out > 0) { + break; + } + encodedData.length = 2 * encodedData.length; // zlib has used all the output buffer so resize it and try again in case more data is available + } + GWS_DCHECK(_stream.avail_in == 0); + } while (length == 0); // Make sure we don't return an empty NSData if not in finished state + encodedData.length = length; + } + return encodedData; +} + +- (void)close { + deflateEnd(&_stream); + [super close]; +} + +@end + +@implementation GCDWebServerResponse { + BOOL _opened; + NSMutableArray* _encoders; + id __unsafe_unretained _reader; +} + ++ (instancetype)response { + return [(GCDWebServerResponse*)[[self class] alloc] init]; +} + +- (instancetype)init { + if ((self = [super init])) { + _contentType = nil; + _contentLength = NSUIntegerMax; + _statusCode = kGCDWebServerHTTPStatusCode_OK; + _cacheControlMaxAge = 0; + _additionalHeaders = [[NSMutableDictionary alloc] init]; + _encoders = [[NSMutableArray alloc] init]; + } + return self; +} + +- (void)setValue:(NSString*)value forAdditionalHeader:(NSString*)header { + [_additionalHeaders setValue:value forKey:header]; +} + +- (BOOL)hasBody { + return _contentType ? YES : NO; +} + +- (BOOL)usesChunkedTransferEncoding { + return (_contentType != nil) && (_contentLength == NSUIntegerMax); +} + +- (BOOL)open:(NSError**)error { + return YES; +} + +- (NSData*)readData:(NSError**)error { + return [NSData data]; +} + +- (void)close { + ; +} + +- (void)prepareForReading { + _reader = self; + if (_gzipContentEncodingEnabled) { + GCDWebServerGZipEncoder* encoder = [[GCDWebServerGZipEncoder alloc] initWithResponse:self reader:_reader]; + [_encoders addObject:encoder]; + _reader = encoder; + } +} + +- (BOOL)performOpen:(NSError**)error { + GWS_DCHECK(_contentType); + GWS_DCHECK(_reader); + if (_opened) { + GWS_DNOT_REACHED(); + return NO; + } + _opened = YES; + return [_reader open:error]; +} + +- (void)performReadDataWithCompletion:(GCDWebServerBodyReaderCompletionBlock)block { + GWS_DCHECK(_opened); + if ([_reader respondsToSelector:@selector(asyncReadDataWithCompletion:)]) { + [_reader asyncReadDataWithCompletion:[block copy]]; + } else { + NSError* error = nil; + NSData* data = [_reader readData:&error]; + block(data, error); + } +} + +- (void)performClose { + GWS_DCHECK(_opened); + [_reader close]; +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithFormat:@"Status Code = %i", (int)_statusCode]; + if (_contentType) { + [description appendFormat:@"\nContent Type = %@", _contentType]; + } + if (_contentLength != NSUIntegerMax) { + [description appendFormat:@"\nContent Length = %lu", (unsigned long)_contentLength]; + } + [description appendFormat:@"\nCache Control Max Age = %lu", (unsigned long)_cacheControlMaxAge]; + if (_lastModifiedDate) { + [description appendFormat:@"\nLast Modified Date = %@", _lastModifiedDate]; + } + if (_eTag) { + [description appendFormat:@"\nETag = %@", _eTag]; + } + if (_additionalHeaders.count) { + [description appendString:@"\n"]; + for (NSString* header in [[_additionalHeaders allKeys] sortedArrayUsingSelector:@selector(compare:)]) { + [description appendFormat:@"\n%@: %@", header, [_additionalHeaders objectForKey:header]]; + } + } + return description; +} + +@end + +@implementation GCDWebServerResponse (Extensions) + ++ (instancetype)responseWithStatusCode:(NSInteger)statusCode { + return [(GCDWebServerResponse*)[self alloc] initWithStatusCode:statusCode]; +} + ++ (instancetype)responseWithRedirect:(NSURL*)location permanent:(BOOL)permanent { + return [(GCDWebServerResponse*)[self alloc] initWithRedirect:location permanent:permanent]; +} + +- (instancetype)initWithStatusCode:(NSInteger)statusCode { + if ((self = [self init])) { + self.statusCode = statusCode; + } + return self; +} + +- (instancetype)initWithRedirect:(NSURL*)location permanent:(BOOL)permanent { + if ((self = [self init])) { + self.statusCode = permanent ? kGCDWebServerHTTPStatusCode_MovedPermanently : kGCDWebServerHTTPStatusCode_TemporaryRedirect; + [self setValue:[location absoluteString] forAdditionalHeader:@"Location"]; + } + return self; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.h b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.h new file mode 100644 index 00000000..b105ce76 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.h @@ -0,0 +1,64 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerDataRequest subclass of GCDWebServerRequest stores the body + * of the HTTP request in memory. + */ +@interface GCDWebServerDataRequest : GCDWebServerRequest + +/** + * Returns the data for the request body. + */ +@property(nonatomic, readonly) NSData* data; + +@end + +@interface GCDWebServerDataRequest (Extensions) + +/** + * Returns the data for the request body interpreted as text. If the content + * type of the body is not a text one, or if an error occurs, nil is returned. + * + * The text encoding used to interpret the data is extracted from the + * "Content-Type" header or defaults to UTF-8. + */ +@property(nonatomic, readonly, nullable) NSString* text; + +/** + * Returns the data for the request body interpreted as a JSON object. If the + * content type of the body is not JSON, or if an error occurs, nil is returned. + */ +@property(nonatomic, readonly, nullable) id jsonObject; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.m b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.m new file mode 100644 index 00000000..fcb29321 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.m @@ -0,0 +1,104 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +@interface GCDWebServerDataRequest () +@property(nonatomic) NSMutableData* data; +@end + +@implementation GCDWebServerDataRequest { + NSString* _text; + id _jsonObject; +} + +- (BOOL)open:(NSError**)error { + if (self.contentLength != NSUIntegerMax) { + _data = [[NSMutableData alloc] initWithCapacity:self.contentLength]; + } else { + _data = [[NSMutableData alloc] init]; + } + if (_data == nil) { + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey : @"Failed allocating memory"}]; + } + return NO; + } + return YES; +} + +- (BOOL)writeData:(NSData*)data error:(NSError**)error { + [_data appendData:data]; + return YES; +} + +- (BOOL)close:(NSError**)error { + return YES; +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + if (_data) { + [description appendString:@"\n\n"]; + [description appendString:GCDWebServerDescribeData(_data, (NSString*)self.contentType)]; + } + return description; +} + +@end + +@implementation GCDWebServerDataRequest (Extensions) + +- (NSString*)text { + if (_text == nil) { + if ([self.contentType hasPrefix:@"text/"]) { + NSString* charset = GCDWebServerExtractHeaderValueParameter(self.contentType, @"charset"); + _text = [[NSString alloc] initWithData:self.data encoding:GCDWebServerStringEncodingFromCharset(charset)]; + } else { + GWS_DNOT_REACHED(); + } + } + return _text; +} + +- (id)jsonObject { + if (_jsonObject == nil) { + NSString* mimeType = GCDWebServerTruncateHeaderValue(self.contentType); + if ([mimeType isEqualToString:@"application/json"] || [mimeType isEqualToString:@"text/json"] || [mimeType isEqualToString:@"text/javascript"]) { + _jsonObject = [NSJSONSerialization JSONObjectWithData:_data options:0 error:NULL]; + } else { + GWS_DNOT_REACHED(); + } + } + return _jsonObject; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.h b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.h new file mode 100644 index 00000000..3c6a6d24 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.h @@ -0,0 +1,49 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerFileRequest subclass of GCDWebServerRequest stores the body + * of the HTTP request to a file on disk. + */ +@interface GCDWebServerFileRequest : GCDWebServerRequest + +/** + * Returns the path to the temporary file containing the request body. + * + * @warning This temporary file will be automatically deleted when the + * GCDWebServerFileRequest is deallocated. If you want to preserve this file, + * you must move it to a different location beforehand. + */ +@property(nonatomic, readonly) NSString* temporaryPath; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.m b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.m new file mode 100644 index 00000000..0845d5e9 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.m @@ -0,0 +1,102 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +@implementation GCDWebServerFileRequest { + int _file; +} + +- (instancetype)initWithMethod:(NSString*)method url:(NSURL*)url headers:(NSDictionary*)headers path:(NSString*)path query:(NSDictionary*)query { + if ((self = [super initWithMethod:method url:url headers:headers path:path query:query])) { + _temporaryPath = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSProcessInfo processInfo] globallyUniqueString]]; + } + return self; +} + +- (void)dealloc { + unlink([_temporaryPath fileSystemRepresentation]); +} + +- (BOOL)open:(NSError**)error { + _file = open([_temporaryPath fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + if (_file <= 0) { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + return NO; + } + return YES; +} + +- (BOOL)writeData:(NSData*)data error:(NSError**)error { + if (write(_file, data.bytes, data.length) != (ssize_t)data.length) { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + return NO; + } + return YES; +} + +- (BOOL)close:(NSError**)error { + if (close(_file) < 0) { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + return NO; + } +#ifdef __GCDWEBSERVER_ENABLE_TESTING__ + NSString* creationDateHeader = [self.headers objectForKey:@"X-GCDWebServer-CreationDate"]; + if (creationDateHeader) { + NSDate* date = GCDWebServerParseISO8601(creationDateHeader); + if (!date || ![[NSFileManager defaultManager] setAttributes:@{NSFileCreationDate : date} ofItemAtPath:_temporaryPath error:error]) { + return NO; + } + } + NSString* modifiedDateHeader = [self.headers objectForKey:@"X-GCDWebServer-ModifiedDate"]; + if (modifiedDateHeader) { + NSDate* date = GCDWebServerParseRFC822(modifiedDateHeader); + if (!date || ![[NSFileManager defaultManager] setAttributes:@{NSFileModificationDate : date} ofItemAtPath:_temporaryPath error:error]) { + return NO; + } + } +#endif + return YES; +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + [description appendFormat:@"\n\n{%@}", _temporaryPath]; + return description; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h new file mode 100644 index 00000000..cbe838ea --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h @@ -0,0 +1,136 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerMultiPart class is an abstract class that wraps the content + * of a part. + */ +@interface GCDWebServerMultiPart : NSObject + +/** + * Returns the control name retrieved from the part headers. + */ +@property(nonatomic, readonly) NSString* controlName; + +/** + * Returns the content type retrieved from the part headers or "text/plain" + * if not available (per HTTP specifications). + */ +@property(nonatomic, readonly) NSString* contentType; + +/** + * Returns the MIME type component of the content type for the part. + */ +@property(nonatomic, readonly) NSString* mimeType; + +@end + +/** + * The GCDWebServerMultiPartArgument subclass of GCDWebServerMultiPart wraps + * the content of a part as data in memory. + */ +@interface GCDWebServerMultiPartArgument : GCDWebServerMultiPart + +/** + * Returns the data for the part. + */ +@property(nonatomic, readonly) NSData* data; + +/** + * Returns the data for the part interpreted as text. If the content + * type of the part is not a text one, or if an error occurs, nil is returned. + * + * The text encoding used to interpret the data is extracted from the + * "Content-Type" header or defaults to UTF-8. + */ +@property(nonatomic, readonly, nullable) NSString* string; + +@end + +/** + * The GCDWebServerMultiPartFile subclass of GCDWebServerMultiPart wraps + * the content of a part as a file on disk. + */ +@interface GCDWebServerMultiPartFile : GCDWebServerMultiPart + +/** + * Returns the file name retrieved from the part headers. + */ +@property(nonatomic, readonly) NSString* fileName; + +/** + * Returns the path to the temporary file containing the part data. + * + * @warning This temporary file will be automatically deleted when the + * GCDWebServerMultiPartFile is deallocated. If you want to preserve this file, + * you must move it to a different location beforehand. + */ +@property(nonatomic, readonly) NSString* temporaryPath; + +@end + +/** + * The GCDWebServerMultiPartFormRequest subclass of GCDWebServerRequest + * parses the body of the HTTP request as a multipart encoded form. + */ +@interface GCDWebServerMultiPartFormRequest : GCDWebServerRequest + +/** + * Returns the argument parts from the multipart encoded form as + * name / GCDWebServerMultiPartArgument pairs. + */ +@property(nonatomic, readonly) NSArray* arguments; + +/** + * Returns the files parts from the multipart encoded form as + * name / GCDWebServerMultiPartFile pairs. + */ +@property(nonatomic, readonly) NSArray* files; + +/** + * Returns the MIME type for multipart encoded forms + * i.e. "multipart/form-data". + */ ++ (NSString*)mimeType; + +/** + * Returns the first argument for a given control name or nil if not found. + */ +- (nullable GCDWebServerMultiPartArgument*)firstArgumentForControlName:(NSString*)name; + +/** + * Returns the first file for a given control name or nil if not found. + */ +- (nullable GCDWebServerMultiPartFile*)firstFileForControlName:(NSString*)name; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m new file mode 100644 index 00000000..7550a021 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m @@ -0,0 +1,405 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +#define kMultiPartBufferSize (256 * 1024) + +typedef enum { + kParserState_Undefined = 0, + kParserState_Start, + kParserState_Headers, + kParserState_Content, + kParserState_End +} ParserState; + +@interface GCDWebServerMIMEStreamParser : NSObject +@end + +static NSData* _newlineData = nil; +static NSData* _newlinesData = nil; +static NSData* _dashNewlineData = nil; + +@implementation GCDWebServerMultiPart + +- (instancetype)initWithControlName:(NSString* _Nonnull)name contentType:(NSString* _Nonnull)type { + if ((self = [super init])) { + _controlName = [name copy]; + _contentType = [type copy]; + _mimeType = (NSString*)GCDWebServerTruncateHeaderValue(_contentType); + } + return self; +} + +@end + +@implementation GCDWebServerMultiPartArgument + +- (instancetype)initWithControlName:(NSString* _Nonnull)name contentType:(NSString* _Nonnull)type data:(NSData* _Nonnull)data { + if ((self = [super initWithControlName:name contentType:type])) { + _data = data; + + if ([self.contentType hasPrefix:@"text/"]) { + NSString* charset = GCDWebServerExtractHeaderValueParameter(self.contentType, @"charset"); + _string = [[NSString alloc] initWithData:_data encoding:GCDWebServerStringEncodingFromCharset(charset)]; + } + } + return self; +} + +- (NSString*)description { + return [NSString stringWithFormat:@"<%@ | '%@' | %lu bytes>", [self class], self.mimeType, (unsigned long)_data.length]; +} + +@end + +@implementation GCDWebServerMultiPartFile + +- (instancetype)initWithControlName:(NSString* _Nonnull)name contentType:(NSString* _Nonnull)type fileName:(NSString* _Nonnull)fileName temporaryPath:(NSString* _Nonnull)temporaryPath { + if ((self = [super initWithControlName:name contentType:type])) { + _fileName = [fileName copy]; + _temporaryPath = [temporaryPath copy]; + } + return self; +} + +- (void)dealloc { + unlink([_temporaryPath fileSystemRepresentation]); +} + +- (NSString*)description { + return [NSString stringWithFormat:@"<%@ | '%@' | '%@>'", [self class], self.mimeType, _fileName]; +} + +@end + +@implementation GCDWebServerMIMEStreamParser { + NSData* _boundary; + NSString* _defaultcontrolName; + ParserState _state; + NSMutableData* _data; + NSMutableArray* _arguments; + NSMutableArray* _files; + + NSString* _controlName; + NSString* _fileName; + NSString* _contentType; + NSString* _tmpPath; + int _tmpFile; + GCDWebServerMIMEStreamParser* _subParser; +} + ++ (void)initialize { + if (_newlineData == nil) { + _newlineData = [[NSData alloc] initWithBytes:"\r\n" length:2]; + GWS_DCHECK(_newlineData); + } + if (_newlinesData == nil) { + _newlinesData = [[NSData alloc] initWithBytes:"\r\n\r\n" length:4]; + GWS_DCHECK(_newlinesData); + } + if (_dashNewlineData == nil) { + _dashNewlineData = [[NSData alloc] initWithBytes:"--\r\n" length:4]; + GWS_DCHECK(_dashNewlineData); + } +} + +- (instancetype)initWithBoundary:(NSString* _Nonnull)boundary defaultControlName:(NSString* _Nullable)name arguments:(NSMutableArray* _Nonnull)arguments files:(NSMutableArray* _Nonnull)files { + NSData* data = boundary.length ? [[NSString stringWithFormat:@"--%@", boundary] dataUsingEncoding:NSASCIIStringEncoding] : nil; + if (data == nil) { + GWS_DNOT_REACHED(); + return nil; + } + if ((self = [super init])) { + _boundary = data; + _defaultcontrolName = name; + _arguments = arguments; + _files = files; + _data = [[NSMutableData alloc] initWithCapacity:kMultiPartBufferSize]; + _state = kParserState_Start; + } + return self; +} + +- (void)dealloc { + if (_tmpFile > 0) { + close(_tmpFile); + unlink([_tmpPath fileSystemRepresentation]); + } +} + +// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2 +- (BOOL)_parseData { + BOOL success = YES; + + if (_state == kParserState_Headers) { + NSRange range = [_data rangeOfData:_newlinesData options:0 range:NSMakeRange(0, _data.length)]; + if (range.location != NSNotFound) { + _controlName = nil; + _fileName = nil; + _contentType = nil; + _tmpPath = nil; + _subParser = nil; + NSString* headers = [[NSString alloc] initWithData:[_data subdataWithRange:NSMakeRange(0, range.location)] encoding:NSUTF8StringEncoding]; + if (headers) { + for (NSString* header in [headers componentsSeparatedByString:@"\r\n"]) { + NSRange subRange = [header rangeOfString:@":"]; + if (subRange.location != NSNotFound) { + NSString* name = [header substringToIndex:subRange.location]; + NSString* value = [[header substringFromIndex:(subRange.location + subRange.length)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + if ([name caseInsensitiveCompare:@"Content-Type"] == NSOrderedSame) { + _contentType = GCDWebServerNormalizeHeaderValue(value); + } else if ([name caseInsensitiveCompare:@"Content-Disposition"] == NSOrderedSame) { + NSString* contentDisposition = GCDWebServerNormalizeHeaderValue(value); + if ([GCDWebServerTruncateHeaderValue(contentDisposition) isEqualToString:@"form-data"]) { + _controlName = GCDWebServerExtractHeaderValueParameter(contentDisposition, @"name"); + _fileName = GCDWebServerExtractHeaderValueParameter(contentDisposition, @"filename"); + } else if ([GCDWebServerTruncateHeaderValue(contentDisposition) isEqualToString:@"file"]) { + _controlName = _defaultcontrolName; + _fileName = GCDWebServerExtractHeaderValueParameter(contentDisposition, @"filename"); + } + } + } else { + GWS_DNOT_REACHED(); + } + } + if (_contentType == nil) { + _contentType = @"text/plain"; + } + } else { + GWS_LOG_ERROR(@"Failed decoding headers in part of 'multipart/form-data'"); + GWS_DNOT_REACHED(); + } + if (_controlName) { + if ([GCDWebServerTruncateHeaderValue(_contentType) isEqualToString:@"multipart/mixed"]) { + NSString* boundary = GCDWebServerExtractHeaderValueParameter(_contentType, @"boundary"); + _subParser = [[GCDWebServerMIMEStreamParser alloc] initWithBoundary:boundary defaultControlName:_controlName arguments:_arguments files:_files]; + if (_subParser == nil) { + GWS_DNOT_REACHED(); + success = NO; + } + } else if (_fileName) { + NSString* path = [NSTemporaryDirectory() stringByAppendingPathComponent:[[NSProcessInfo processInfo] globallyUniqueString]]; + _tmpFile = open([path fileSystemRepresentation], O_CREAT | O_TRUNC | O_WRONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + if (_tmpFile > 0) { + _tmpPath = [path copy]; + } else { + GWS_DNOT_REACHED(); + success = NO; + } + } + } else { + GWS_DNOT_REACHED(); + success = NO; + } + + [_data replaceBytesInRange:NSMakeRange(0, range.location + range.length) withBytes:NULL length:0]; + _state = kParserState_Content; + } + } + + if ((_state == kParserState_Start) || (_state == kParserState_Content)) { + NSRange range = [_data rangeOfData:_boundary options:0 range:NSMakeRange(0, _data.length)]; + if (range.location != NSNotFound) { + NSRange subRange = NSMakeRange(range.location + range.length, _data.length - range.location - range.length); + NSRange subRange1 = [_data rangeOfData:_newlineData options:NSDataSearchAnchored range:subRange]; + NSRange subRange2 = [_data rangeOfData:_dashNewlineData options:NSDataSearchAnchored range:subRange]; + if ((subRange1.location != NSNotFound) || (subRange2.location != NSNotFound)) { + if (_state == kParserState_Content) { + const void* dataBytes = _data.bytes; + NSUInteger dataLength = range.location - 2; + if (_subParser) { + if (![_subParser appendBytes:dataBytes length:(dataLength + 2)] || ![_subParser isAtEnd]) { + GWS_DNOT_REACHED(); + success = NO; + } + _subParser = nil; + } else if (_tmpPath) { + ssize_t result = write(_tmpFile, dataBytes, dataLength); + if (result == (ssize_t)dataLength) { + if (close(_tmpFile) == 0) { + _tmpFile = 0; + GCDWebServerMultiPartFile* file = [[GCDWebServerMultiPartFile alloc] initWithControlName:_controlName contentType:_contentType fileName:_fileName temporaryPath:_tmpPath]; + [_files addObject:file]; + } else { + GWS_DNOT_REACHED(); + success = NO; + } + } else { + GWS_DNOT_REACHED(); + success = NO; + } + _tmpPath = nil; + } else { + NSData* data = [[NSData alloc] initWithBytes:(void*)dataBytes length:dataLength]; + GCDWebServerMultiPartArgument* argument = [[GCDWebServerMultiPartArgument alloc] initWithControlName:_controlName contentType:_contentType data:data]; + [_arguments addObject:argument]; + } + } + + if (subRange1.location != NSNotFound) { + [_data replaceBytesInRange:NSMakeRange(0, subRange1.location + subRange1.length) withBytes:NULL length:0]; + _state = kParserState_Headers; + success = [self _parseData]; + } else { + _state = kParserState_End; + } + } + } else { + NSUInteger margin = 2 * _boundary.length; + if (_data.length > margin) { + NSUInteger length = _data.length - margin; + if (_subParser) { + if ([_subParser appendBytes:_data.bytes length:length]) { + [_data replaceBytesInRange:NSMakeRange(0, length) withBytes:NULL length:0]; + } else { + GWS_DNOT_REACHED(); + success = NO; + } + } else if (_tmpPath) { + ssize_t result = write(_tmpFile, _data.bytes, length); + if (result == (ssize_t)length) { + [_data replaceBytesInRange:NSMakeRange(0, length) withBytes:NULL length:0]; + } else { + GWS_DNOT_REACHED(); + success = NO; + } + } + } + } + } + + return success; +} + +- (BOOL)appendBytes:(const void*)bytes length:(NSUInteger)length { + [_data appendBytes:bytes length:length]; + return [self _parseData]; +} + +- (BOOL)isAtEnd { + return (_state == kParserState_End); +} + +@end + +@interface GCDWebServerMultiPartFormRequest () +@property(nonatomic) NSMutableArray* arguments; +@property(nonatomic) NSMutableArray* files; +@end + +@implementation GCDWebServerMultiPartFormRequest { + GCDWebServerMIMEStreamParser* _parser; +} + ++ (NSString*)mimeType { + return @"multipart/form-data"; +} + +- (instancetype)initWithMethod:(NSString*)method url:(NSURL*)url headers:(NSDictionary*)headers path:(NSString*)path query:(NSDictionary*)query { + if ((self = [super initWithMethod:method url:url headers:headers path:path query:query])) { + _arguments = [[NSMutableArray alloc] init]; + _files = [[NSMutableArray alloc] init]; + } + return self; +} + +- (BOOL)open:(NSError**)error { + NSString* boundary = GCDWebServerExtractHeaderValueParameter(self.contentType, @"boundary"); + _parser = [[GCDWebServerMIMEStreamParser alloc] initWithBoundary:boundary defaultControlName:nil arguments:_arguments files:_files]; + if (_parser == nil) { + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey : @"Failed starting to parse multipart form data"}]; + } + return NO; + } + return YES; +} + +- (BOOL)writeData:(NSData*)data error:(NSError**)error { + if (![_parser appendBytes:data.bytes length:data.length]) { + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey : @"Failed continuing to parse multipart form data"}]; + } + return NO; + } + return YES; +} + +- (BOOL)close:(NSError**)error { + BOOL atEnd = [_parser isAtEnd]; + _parser = nil; + if (!atEnd) { + if (error) { + *error = [NSError errorWithDomain:kGCDWebServerErrorDomain code:-1 userInfo:@{NSLocalizedDescriptionKey : @"Failed finishing to parse multipart form data"}]; + } + return NO; + } + return YES; +} + +- (GCDWebServerMultiPartArgument*)firstArgumentForControlName:(NSString*)name { + for (GCDWebServerMultiPartArgument* argument in _arguments) { + if ([argument.controlName isEqualToString:name]) { + return argument; + } + } + return nil; +} + +- (GCDWebServerMultiPartFile*)firstFileForControlName:(NSString*)name { + for (GCDWebServerMultiPartFile* file in _files) { + if ([file.controlName isEqualToString:name]) { + return file; + } + } + return nil; +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + if (_arguments.count) { + [description appendString:@"\n"]; + for (GCDWebServerMultiPartArgument* argument in _arguments) { + [description appendFormat:@"\n%@ (%@)\n", argument.controlName, argument.contentType]; + [description appendString:GCDWebServerDescribeData(argument.data, argument.contentType)]; + } + } + if (_files.count) { + [description appendString:@"\n"]; + for (GCDWebServerMultiPartFile* file in _files) { + [description appendFormat:@"\n%@ (%@): %@\n{%@}", file.controlName, file.contentType, file.fileName, file.temporaryPath]; + } + } + return description; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h new file mode 100644 index 00000000..c0168b76 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h @@ -0,0 +1,55 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerDataRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerURLEncodedFormRequest subclass of GCDWebServerRequest + * parses the body of the HTTP request as a URL encoded form using + * GCDWebServerParseURLEncodedForm(). + */ +@interface GCDWebServerURLEncodedFormRequest : GCDWebServerDataRequest + +/** + * Returns the unescaped control names and values for the URL encoded form. + * + * The text encoding used to interpret the data is extracted from the + * "Content-Type" header or defaults to UTF-8. + */ +@property(nonatomic, readonly) NSDictionary* arguments; + +/** + * Returns the MIME type for URL encoded forms + * i.e. "application/x-www-form-urlencoded". + */ ++ (NSString*)mimeType; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m new file mode 100644 index 00000000..d4d89e43 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m @@ -0,0 +1,60 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +@implementation GCDWebServerURLEncodedFormRequest + ++ (NSString*)mimeType { + return @"application/x-www-form-urlencoded"; +} + +- (BOOL)close:(NSError**)error { + if (![super close:error]) { + return NO; + } + + NSString* charset = GCDWebServerExtractHeaderValueParameter(self.contentType, @"charset"); + NSString* string = [[NSString alloc] initWithData:self.data encoding:GCDWebServerStringEncodingFromCharset(charset)]; + _arguments = GCDWebServerParseURLEncodedForm(string); + return YES; +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + [description appendString:@"\n"]; + for (NSString* argument in [[_arguments allKeys] sortedArrayUsingSelector:@selector(compare:)]) { + [description appendFormat:@"\n%@ = %@", argument, [_arguments objectForKey:argument]]; + } + return description; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.h b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.h new file mode 100644 index 00000000..e5121c33 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.h @@ -0,0 +1,113 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerResponse.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerDataResponse subclass of GCDWebServerResponse reads the body + * of the HTTP response from memory. + */ +@interface GCDWebServerDataResponse : GCDWebServerResponse +@property(nonatomic, copy) NSString* contentType; // Redeclare as non-null + +/** + * Creates a response with data in memory and a given content type. + */ ++ (instancetype)responseWithData:(NSData*)data contentType:(NSString*)type; + +/** + * This method is the designated initializer for the class. + */ +- (instancetype)initWithData:(NSData*)data contentType:(NSString*)type; + +@end + +@interface GCDWebServerDataResponse (Extensions) + +/** + * Creates a data response from text encoded using UTF-8. + */ ++ (nullable instancetype)responseWithText:(NSString*)text; + +/** + * Creates a data response from HTML encoded using UTF-8. + */ ++ (nullable instancetype)responseWithHTML:(NSString*)html; + +/** + * Creates a data response from an HTML template encoded using UTF-8. + * See -initWithHTMLTemplate:variables: for details. + */ ++ (nullable instancetype)responseWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables; + +/** + * Creates a data response from a serialized JSON object and the default + * "application/json" content type. + */ ++ (nullable instancetype)responseWithJSONObject:(id)object; + +/** + * Creates a data response from a serialized JSON object and a custom + * content type. + */ ++ (nullable instancetype)responseWithJSONObject:(id)object contentType:(NSString*)type; + +/** + * Initializes a data response from text encoded using UTF-8. + */ +- (nullable instancetype)initWithText:(NSString*)text; + +/** + * Initializes a data response from HTML encoded using UTF-8. + */ +- (nullable instancetype)initWithHTML:(NSString*)html; + +/** + * Initializes a data response from an HTML template encoded using UTF-8. + * + * All occurences of "%variable%" within the HTML template are replaced with + * their corresponding values. + */ +- (nullable instancetype)initWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables; + +/** + * Initializes a data response from a serialized JSON object and the default + * "application/json" content type. + */ +- (nullable instancetype)initWithJSONObject:(id)object; + +/** + * Initializes a data response from a serialized JSON object and a custom + * content type. + */ +- (nullable instancetype)initWithJSONObject:(id)object contentType:(NSString*)type; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.m b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.m new file mode 100644 index 00000000..2ea2ce90 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.m @@ -0,0 +1,136 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +@implementation GCDWebServerDataResponse { + NSData* _data; + BOOL _done; +} + +@dynamic contentType; + ++ (instancetype)responseWithData:(NSData*)data contentType:(NSString*)type { + return [(GCDWebServerDataResponse*)[[self class] alloc] initWithData:data contentType:type]; +} + +- (instancetype)initWithData:(NSData*)data contentType:(NSString*)type { + if ((self = [super init])) { + _data = data; + + self.contentType = type; + self.contentLength = data.length; + } + return self; +} + +- (NSData*)readData:(NSError**)error { + NSData* data; + if (_done) { + data = [NSData data]; + } else { + data = _data; + _done = YES; + } + return data; +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + [description appendString:@"\n\n"]; + [description appendString:GCDWebServerDescribeData(_data, self.contentType)]; + return description; +} + +@end + +@implementation GCDWebServerDataResponse (Extensions) + ++ (instancetype)responseWithText:(NSString*)text { + return [(GCDWebServerDataResponse*)[self alloc] initWithText:text]; +} + ++ (instancetype)responseWithHTML:(NSString*)html { + return [(GCDWebServerDataResponse*)[self alloc] initWithHTML:html]; +} + ++ (instancetype)responseWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables { + return [(GCDWebServerDataResponse*)[self alloc] initWithHTMLTemplate:path variables:variables]; +} + ++ (instancetype)responseWithJSONObject:(id)object { + return [(GCDWebServerDataResponse*)[self alloc] initWithJSONObject:object]; +} + ++ (instancetype)responseWithJSONObject:(id)object contentType:(NSString*)type { + return [(GCDWebServerDataResponse*)[self alloc] initWithJSONObject:object contentType:type]; +} + +- (instancetype)initWithText:(NSString*)text { + NSData* data = [text dataUsingEncoding:NSUTF8StringEncoding]; + if (data == nil) { + GWS_DNOT_REACHED(); + return nil; + } + return [self initWithData:data contentType:@"text/plain; charset=utf-8"]; +} + +- (instancetype)initWithHTML:(NSString*)html { + NSData* data = [html dataUsingEncoding:NSUTF8StringEncoding]; + if (data == nil) { + GWS_DNOT_REACHED(); + return nil; + } + return [self initWithData:data contentType:@"text/html; charset=utf-8"]; +} + +- (instancetype)initWithHTMLTemplate:(NSString*)path variables:(NSDictionary*)variables { + NSMutableString* html = [[NSMutableString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL]; + [variables enumerateKeysAndObjectsUsingBlock:^(NSString* key, NSString* value, BOOL* stop) { + [html replaceOccurrencesOfString:[NSString stringWithFormat:@"%%%@%%", key] withString:value options:0 range:NSMakeRange(0, html.length)]; + }]; + return [self initWithHTML:html]; +} + +- (instancetype)initWithJSONObject:(id)object { + return [self initWithJSONObject:object contentType:@"application/json"]; +} + +- (instancetype)initWithJSONObject:(id)object contentType:(NSString*)type { + NSData* data = [NSJSONSerialization dataWithJSONObject:object options:0 error:NULL]; + if (data == nil) { + GWS_DNOT_REACHED(); + return nil; + } + return [self initWithData:data contentType:type]; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.h b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.h new file mode 100644 index 00000000..7e10d5bf --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.h @@ -0,0 +1,85 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerDataResponse.h" +#import "GCDWebServerHTTPStatusCodes.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerDataResponse subclass of GCDWebServerDataResponse generates + * an HTML body from an HTTP status code and an error message. + */ +@interface GCDWebServerErrorResponse : GCDWebServerDataResponse + +/** + * Creates a client error response with the corresponding HTTP status code. + */ ++ (instancetype)responseWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode message:(NSString*)format, ... NS_FORMAT_FUNCTION(2, 3); + +/** + * Creates a server error response with the corresponding HTTP status code. + */ ++ (instancetype)responseWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode message:(NSString*)format, ... NS_FORMAT_FUNCTION(2, 3); + +/** + * Creates a client error response with the corresponding HTTP status code + * and an underlying NSError. + */ ++ (instancetype)responseWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode underlyingError:(nullable NSError*)underlyingError message:(NSString*)format, ... NS_FORMAT_FUNCTION(3, 4); + +/** + * Creates a server error response with the corresponding HTTP status code + * and an underlying NSError. + */ ++ (instancetype)responseWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode underlyingError:(nullable NSError*)underlyingError message:(NSString*)format, ... NS_FORMAT_FUNCTION(3, 4); + +/** + * Initializes a client error response with the corresponding HTTP status code. + */ +- (instancetype)initWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode message:(NSString*)format, ... NS_FORMAT_FUNCTION(2, 3); + +/** + * Initializes a server error response with the corresponding HTTP status code. + */ +- (instancetype)initWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode message:(NSString*)format, ... NS_FORMAT_FUNCTION(2, 3); + +/** + * Initializes a client error response with the corresponding HTTP status code + * and an underlying NSError. + */ +- (instancetype)initWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode underlyingError:(nullable NSError*)underlyingError message:(NSString*)format, ... NS_FORMAT_FUNCTION(3, 4); + +/** + * Initializes a server error response with the corresponding HTTP status code + * and an underlying NSError. + */ +- (instancetype)initWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode underlyingError:(nullable NSError*)underlyingError message:(NSString*)format, ... NS_FORMAT_FUNCTION(3, 4); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.m b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.m new file mode 100644 index 00000000..ab3788f6 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.m @@ -0,0 +1,124 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +@implementation GCDWebServerErrorResponse + ++ (instancetype)responseWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 400) && ((NSInteger)errorCode < 500)); + va_list arguments; + va_start(arguments, format); + GCDWebServerErrorResponse* response = [(GCDWebServerErrorResponse*)[self alloc] initWithStatusCode:errorCode underlyingError:nil messageFormat:format arguments:arguments]; + va_end(arguments); + return response; +} + ++ (instancetype)responseWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 500) && ((NSInteger)errorCode < 600)); + va_list arguments; + va_start(arguments, format); + GCDWebServerErrorResponse* response = [(GCDWebServerErrorResponse*)[self alloc] initWithStatusCode:errorCode underlyingError:nil messageFormat:format arguments:arguments]; + va_end(arguments); + return response; +} + ++ (instancetype)responseWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode underlyingError:(NSError*)underlyingError message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 400) && ((NSInteger)errorCode < 500)); + va_list arguments; + va_start(arguments, format); + GCDWebServerErrorResponse* response = [(GCDWebServerErrorResponse*)[self alloc] initWithStatusCode:errorCode underlyingError:underlyingError messageFormat:format arguments:arguments]; + va_end(arguments); + return response; +} + ++ (instancetype)responseWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode underlyingError:(NSError*)underlyingError message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 500) && ((NSInteger)errorCode < 600)); + va_list arguments; + va_start(arguments, format); + GCDWebServerErrorResponse* response = [(GCDWebServerErrorResponse*)[self alloc] initWithStatusCode:errorCode underlyingError:underlyingError messageFormat:format arguments:arguments]; + va_end(arguments); + return response; +} + +static inline NSString* _EscapeHTMLString(NSString* string) { + return [string stringByReplacingOccurrencesOfString:@"\"" withString:@"""]; +} + +- (instancetype)initWithStatusCode:(NSInteger)statusCode underlyingError:(NSError*)underlyingError messageFormat:(NSString*)format arguments:(va_list)arguments { + NSString* message = [[NSString alloc] initWithFormat:format arguments:arguments]; + NSString* title = [NSString stringWithFormat:@"HTTP Error %i", (int)statusCode]; + NSString* error = underlyingError ? [NSString stringWithFormat:@"[%@] %@ (%li)", underlyingError.domain, _EscapeHTMLString(underlyingError.localizedDescription), (long)underlyingError.code] : @""; + NSString* html = [NSString stringWithFormat:@"%@

%@: %@

%@

", + title, title, _EscapeHTMLString(message), error]; + if ((self = [self initWithHTML:html])) { + self.statusCode = statusCode; + } + return self; +} + +- (instancetype)initWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 400) && ((NSInteger)errorCode < 500)); + va_list arguments; + va_start(arguments, format); + self = [self initWithStatusCode:errorCode underlyingError:nil messageFormat:format arguments:arguments]; + va_end(arguments); + return self; +} + +- (instancetype)initWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 500) && ((NSInteger)errorCode < 600)); + va_list arguments; + va_start(arguments, format); + self = [self initWithStatusCode:errorCode underlyingError:nil messageFormat:format arguments:arguments]; + va_end(arguments); + return self; +} + +- (instancetype)initWithClientError:(GCDWebServerClientErrorHTTPStatusCode)errorCode underlyingError:(NSError*)underlyingError message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 400) && ((NSInteger)errorCode < 500)); + va_list arguments; + va_start(arguments, format); + self = [self initWithStatusCode:errorCode underlyingError:underlyingError messageFormat:format arguments:arguments]; + va_end(arguments); + return self; +} + +- (instancetype)initWithServerError:(GCDWebServerServerErrorHTTPStatusCode)errorCode underlyingError:(NSError*)underlyingError message:(NSString*)format, ... { + GWS_DCHECK(((NSInteger)errorCode >= 500) && ((NSInteger)errorCode < 600)); + va_list arguments; + va_start(arguments, format); + self = [self initWithStatusCode:errorCode underlyingError:underlyingError messageFormat:format arguments:arguments]; + va_end(arguments); + return self; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.h b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.h new file mode 100644 index 00000000..78931bc6 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.h @@ -0,0 +1,108 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerResponse.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerFileResponse subclass of GCDWebServerResponse reads the body + * of the HTTP response from a file on disk. + * + * It will automatically set the contentType, lastModifiedDate and eTag + * properties of the GCDWebServerResponse according to the file extension and + * metadata. + */ +@interface GCDWebServerFileResponse : GCDWebServerResponse +@property(nonatomic, copy) NSString* contentType; // Redeclare as non-null +@property(nonatomic) NSDate* lastModifiedDate; // Redeclare as non-null +@property(nonatomic, copy) NSString* eTag; // Redeclare as non-null + +/** + * Creates a response with the contents of a file. + */ ++ (nullable instancetype)responseWithFile:(NSString*)path; + +/** + * Creates a response like +responseWithFile: and sets the "Content-Disposition" + * HTTP header for a download if the "attachment" argument is YES. + */ ++ (nullable instancetype)responseWithFile:(NSString*)path isAttachment:(BOOL)attachment; + +/** + * Creates a response like +responseWithFile: but restricts the file contents + * to a specific byte range. + * + * See -initWithFile:byteRange: for details. + */ ++ (nullable instancetype)responseWithFile:(NSString*)path byteRange:(NSRange)range; + +/** + * Creates a response like +responseWithFile:byteRange: and sets the + * "Content-Disposition" HTTP header for a download if the "attachment" + * argument is YES. + */ ++ (nullable instancetype)responseWithFile:(NSString*)path byteRange:(NSRange)range isAttachment:(BOOL)attachment; + +/** + * Initializes a response with the contents of a file. + */ +- (nullable instancetype)initWithFile:(NSString*)path; + +/** + * Initializes a response like +responseWithFile: and sets the + * "Content-Disposition" HTTP header for a download if the "attachment" + * argument is YES. + */ +- (nullable instancetype)initWithFile:(NSString*)path isAttachment:(BOOL)attachment; + +/** + * Initializes a response like -initWithFile: but restricts the file contents + * to a specific byte range. This range should be set to (NSUIntegerMax, 0) for + * the full file, (offset, length) if expressed from the beginning of the file, + * or (NSUIntegerMax, length) if expressed from the end of the file. The "offset" + * and "length" values will be automatically adjusted to be compatible with the + * actual size of the file. + * + * This argument would typically be set to the value of the byteRange property + * of the current GCDWebServerRequest. + */ +- (nullable instancetype)initWithFile:(NSString*)path byteRange:(NSRange)range; + +/** + * This method is the designated initializer for the class. + * + * If MIME type overrides are specified, they allow to customize the built-in + * mapping from extensions to MIME types. Keys of the dictionary must be lowercased + * file extensions without the period, and the values must be the corresponding + * MIME types. + */ +- (nullable instancetype)initWithFile:(NSString*)path byteRange:(NSRange)range isAttachment:(BOOL)attachment mimeTypeOverrides:(nullable NSDictionary*)overrides; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.m b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.m new file mode 100644 index 00000000..78233063 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.m @@ -0,0 +1,185 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import + +#import "GCDWebServerPrivate.h" + +#define kFileReadBufferSize (32 * 1024) + +@implementation GCDWebServerFileResponse { + NSString* _path; + NSUInteger _offset; + NSUInteger _size; + int _file; +} + +@dynamic contentType, lastModifiedDate, eTag; + ++ (instancetype)responseWithFile:(NSString*)path { + return [(GCDWebServerFileResponse*)[[self class] alloc] initWithFile:path]; +} + ++ (instancetype)responseWithFile:(NSString*)path isAttachment:(BOOL)attachment { + return [(GCDWebServerFileResponse*)[[self class] alloc] initWithFile:path isAttachment:attachment]; +} + ++ (instancetype)responseWithFile:(NSString*)path byteRange:(NSRange)range { + return [(GCDWebServerFileResponse*)[[self class] alloc] initWithFile:path byteRange:range]; +} + ++ (instancetype)responseWithFile:(NSString*)path byteRange:(NSRange)range isAttachment:(BOOL)attachment { + return [(GCDWebServerFileResponse*)[[self class] alloc] initWithFile:path byteRange:range isAttachment:attachment mimeTypeOverrides:nil]; +} + +- (instancetype)initWithFile:(NSString*)path { + return [self initWithFile:path byteRange:NSMakeRange(NSUIntegerMax, 0) isAttachment:NO mimeTypeOverrides:nil]; +} + +- (instancetype)initWithFile:(NSString*)path isAttachment:(BOOL)attachment { + return [self initWithFile:path byteRange:NSMakeRange(NSUIntegerMax, 0) isAttachment:attachment mimeTypeOverrides:nil]; +} + +- (instancetype)initWithFile:(NSString*)path byteRange:(NSRange)range { + return [self initWithFile:path byteRange:range isAttachment:NO mimeTypeOverrides:nil]; +} + +static inline NSDate* _NSDateFromTimeSpec(const struct timespec* t) { + return [NSDate dateWithTimeIntervalSince1970:((NSTimeInterval)t->tv_sec + (NSTimeInterval)t->tv_nsec / 1000000000.0)]; +} + +- (instancetype)initWithFile:(NSString*)path byteRange:(NSRange)range isAttachment:(BOOL)attachment mimeTypeOverrides:(NSDictionary*)overrides { + struct stat info; + if (lstat([path fileSystemRepresentation], &info) || !(info.st_mode & S_IFREG)) { + GWS_DNOT_REACHED(); + return nil; + } +#ifndef __LP64__ + if (info.st_size >= (off_t)4294967295) { // In 32 bit mode, we can't handle files greater than 4 GiBs (don't use "NSUIntegerMax" here to avoid potential unsigned to signed conversion issues) + GWS_DNOT_REACHED(); + return nil; + } +#endif + NSUInteger fileSize = (NSUInteger)info.st_size; + + BOOL hasByteRange = GCDWebServerIsValidByteRange(range); + if (hasByteRange) { + if (range.location != NSUIntegerMax) { + range.location = MIN(range.location, fileSize); + range.length = MIN(range.length, fileSize - range.location); + } else { + range.length = MIN(range.length, fileSize); + range.location = fileSize - range.length; + } + if (range.length == 0) { + return nil; // TODO: Return 416 status code and "Content-Range: bytes */{file length}" header + } + } else { + range.location = 0; + range.length = fileSize; + } + + if ((self = [super init])) { + _path = [path copy]; + _offset = range.location; + _size = range.length; + if (hasByteRange) { + [self setStatusCode:kGCDWebServerHTTPStatusCode_PartialContent]; + [self setValue:[NSString stringWithFormat:@"bytes %lu-%lu/%lu", (unsigned long)_offset, (unsigned long)(_offset + _size - 1), (unsigned long)fileSize] forAdditionalHeader:@"Content-Range"]; + GWS_LOG_DEBUG(@"Using content bytes range [%lu-%lu] for file \"%@\"", (unsigned long)_offset, (unsigned long)(_offset + _size - 1), path); + } + + if (attachment) { + NSString* fileName = [path lastPathComponent]; + NSData* data = [[fileName stringByReplacingOccurrencesOfString:@"\"" withString:@""] dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:YES]; + NSString* lossyFileName = data ? [[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding] : nil; + if (lossyFileName) { + NSString* value = [NSString stringWithFormat:@"attachment; filename=\"%@\"; filename*=UTF-8''%@", lossyFileName, GCDWebServerEscapeURLString(fileName)]; + [self setValue:value forAdditionalHeader:@"Content-Disposition"]; + } else { + GWS_DNOT_REACHED(); + } + } + + self.contentType = GCDWebServerGetMimeTypeForExtension([_path pathExtension], overrides); + self.contentLength = _size; + self.lastModifiedDate = _NSDateFromTimeSpec(&info.st_mtimespec); + self.eTag = [NSString stringWithFormat:@"%llu/%li/%li", info.st_ino, info.st_mtimespec.tv_sec, info.st_mtimespec.tv_nsec]; + } + return self; +} + +- (BOOL)open:(NSError**)error { + _file = open([_path fileSystemRepresentation], O_NOFOLLOW | O_RDONLY); + if (_file <= 0) { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + return NO; + } + if (lseek(_file, _offset, SEEK_SET) != (off_t)_offset) { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + close(_file); + return NO; + } + return YES; +} + +- (NSData*)readData:(NSError**)error { + size_t length = MIN((NSUInteger)kFileReadBufferSize, _size); + NSMutableData* data = [[NSMutableData alloc] initWithLength:length]; + ssize_t result = read(_file, data.mutableBytes, length); + if (result < 0) { + if (error) { + *error = GCDWebServerMakePosixError(errno); + } + return nil; + } + if (result > 0) { + [data setLength:result]; + _size -= result; + } + return data; +} + +- (void)close { + close(_file); +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + [description appendFormat:@"\n\n{%@}", _path]; + return description; +} + +@end diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.h b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.h new file mode 100644 index 00000000..211f6303 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.h @@ -0,0 +1,80 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#import "GCDWebServerResponse.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * The GCDWebServerStreamBlock is called to stream the data for the HTTP body. + * The block must return either a chunk of data, an empty NSData when done, or + * nil on error and set the "error" argument which is guaranteed to be non-NULL. + */ +typedef NSData* _Nullable (^GCDWebServerStreamBlock)(NSError** error); + +/** + * The GCDWebServerAsyncStreamBlock works like the GCDWebServerStreamBlock + * except the streamed data can be returned at a later time allowing for + * truly asynchronous generation of the data. + * + * The block must call "completionBlock" passing the new chunk of data when ready, + * an empty NSData when done, or nil on error and pass a NSError. + * + * The block cannot call "completionBlock" more than once per invocation. + */ +typedef void (^GCDWebServerAsyncStreamBlock)(GCDWebServerBodyReaderCompletionBlock completionBlock); + +/** + * The GCDWebServerStreamedResponse subclass of GCDWebServerResponse streams + * the body of the HTTP response using a GCD block. + */ +@interface GCDWebServerStreamedResponse : GCDWebServerResponse +@property(nonatomic, copy) NSString* contentType; // Redeclare as non-null + +/** + * Creates a response with streamed data and a given content type. + */ ++ (instancetype)responseWithContentType:(NSString*)type streamBlock:(GCDWebServerStreamBlock)block; + +/** + * Creates a response with async streamed data and a given content type. + */ ++ (instancetype)responseWithContentType:(NSString*)type asyncStreamBlock:(GCDWebServerAsyncStreamBlock)block; + +/** + * Initializes a response with streamed data and a given content type. + */ +- (instancetype)initWithContentType:(NSString*)type streamBlock:(GCDWebServerStreamBlock)block; + +/** + * This method is the designated initializer for the class. + */ +- (instancetype)initWithContentType:(NSString*)type asyncStreamBlock:(GCDWebServerAsyncStreamBlock)block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.m b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.m new file mode 100644 index 00000000..c05e91b4 --- /dev/null +++ b/Example/Pods/GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.m @@ -0,0 +1,76 @@ +/* + Copyright (c) 2012-2019, Pierre-Olivier Latour + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !__has_feature(objc_arc) +#error GCDWebServer requires ARC +#endif + +#import "GCDWebServerPrivate.h" + +@implementation GCDWebServerStreamedResponse { + GCDWebServerAsyncStreamBlock _block; +} + +@dynamic contentType; + ++ (instancetype)responseWithContentType:(NSString*)type streamBlock:(GCDWebServerStreamBlock)block { + return [(GCDWebServerStreamedResponse*)[[self class] alloc] initWithContentType:type streamBlock:block]; +} + ++ (instancetype)responseWithContentType:(NSString*)type asyncStreamBlock:(GCDWebServerAsyncStreamBlock)block { + return [(GCDWebServerStreamedResponse*)[[self class] alloc] initWithContentType:type asyncStreamBlock:block]; +} + +- (instancetype)initWithContentType:(NSString*)type streamBlock:(GCDWebServerStreamBlock)block { + return [self initWithContentType:type + asyncStreamBlock:^(GCDWebServerBodyReaderCompletionBlock completionBlock) { + NSError* error = nil; + NSData* data = block(&error); + completionBlock(data, error); + }]; +} + +- (instancetype)initWithContentType:(NSString*)type asyncStreamBlock:(GCDWebServerAsyncStreamBlock)block { + if ((self = [super init])) { + _block = [block copy]; + + self.contentType = type; + } + return self; +} + +- (void)asyncReadDataWithCompletion:(GCDWebServerBodyReaderCompletionBlock)block { + _block(block); +} + +- (NSString*)description { + NSMutableString* description = [NSMutableString stringWithString:[super description]]; + [description appendString:@"\n\n"]; + return description; +} + +@end diff --git a/Example/Pods/GCDWebServer/LICENSE b/Example/Pods/GCDWebServer/LICENSE new file mode 100644 index 00000000..12335de4 --- /dev/null +++ b/Example/Pods/GCDWebServer/LICENSE @@ -0,0 +1,24 @@ +Copyright (c) 2012-2014, Pierre-Olivier Latour +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Example/Pods/GCDWebServer/README.md b/Example/Pods/GCDWebServer/README.md new file mode 100644 index 00000000..4cbaccf6 --- /dev/null +++ b/Example/Pods/GCDWebServer/README.md @@ -0,0 +1,469 @@ +Overview +======== + +[![Build Status](https://travis-ci.org/swisspol/GCDWebServer.svg?branch=master)](https://travis-ci.org/swisspol/GCDWebServer) +[![Version](http://cocoapod-badges.herokuapp.com/v/GCDWebServer/badge.png)](http://cocoadocs.org/docsets/GCDWebServer) +[![Platform](http://cocoapod-badges.herokuapp.com/p/GCDWebServer/badge.png)](https://github.com/swisspol/GCDWebServer) +[![License](http://img.shields.io/cocoapods/l/GCDWebServer.svg)](LICENSE) + +GCDWebServer is a modern and lightweight GCD based HTTP 1.1 server designed to be embedded in iOS, macOS & tvOS apps. It was written from scratch with the following goals in mind: +* Elegant and easy to use architecture with only 4 core classes: server, connection, request and response (see "Understanding GCDWebServer's Architecture" below) +* Well designed API with fully documented headers for easy integration and customization +* Entirely built with an event-driven design using [Grand Central Dispatch](http://en.wikipedia.org/wiki/Grand_Central_Dispatch) for best performance and concurrency +* No dependencies on third-party source code +* Available under a friendly [New BSD License](LICENSE) + +Extra built-in features: +* Allow implementation of fully asynchronous handlers of incoming HTTP requests +* Minimize memory usage with disk streaming of large HTTP request or response bodies +* Parser for [web forms](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4) submitted using "application/x-www-form-urlencoded" or "multipart/form-data" encodings (including file uploads) +* [JSON](http://www.json.org/) parsing and serialization for request and response HTTP bodies +* [Chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding) for request and response HTTP bodies +* [HTTP compression](https://en.wikipedia.org/wiki/HTTP_compression) with gzip for request and response HTTP bodies +* [HTTP range](https://en.wikipedia.org/wiki/Byte_serving) support for requests of local files +* [Basic](https://en.wikipedia.org/wiki/Basic_access_authentication) and [Digest Access](https://en.wikipedia.org/wiki/Digest_access_authentication) authentications for password protection +* Automatically handle transitions between foreground, background and suspended modes in iOS apps +* Full support for both IPv4 and IPv6 +* NAT port mapping (IPv4 only) + +Included extensions: +* [GCDWebUploader](GCDWebUploader/GCDWebUploader.h): subclass of ```GCDWebServer``` that implements an interface for uploading and downloading files using a web browser +* [GCDWebDAVServer](GCDWebDAVServer/GCDWebDAVServer.h): subclass of ```GCDWebServer``` that implements a class 1 [WebDAV](https://en.wikipedia.org/wiki/WebDAV) server (with partial class 2 support for macOS Finder) + +What's not supported (but not really required from an embedded HTTP server): +* Keep-alive connections +* HTTPS + +Requirements: +* macOS 10.7 or later (x86_64) +* iOS 8.0 or later (armv7, armv7s or arm64) +* tvOS 9.0 or later (arm64) +* ARC memory management only (if you need MRC support use GCDWebServer 3.1 or earlier) + +Getting Started +=============== + +Download or check out the [latest release](https://github.com/swisspol/GCDWebServer/releases) of GCDWebServer then add the entire "GCDWebServer" subfolder to your Xcode project. If you intend to use one of the extensions like GCDWebDAVServer or GCDWebUploader, add these subfolders as well. Finally link to `libz` (via Target > Build Phases > Link Binary With Libraries) and add `$(SDKROOT)/usr/include/libxml2` to your header search paths (via Target > Build Settings > HEADER_SEARCH_PATHS). + +Alternatively, you can install GCDWebServer using [CocoaPods](http://cocoapods.org/) by simply adding this line to your Podfile: +``` +pod "GCDWebServer", "~> 3.0" +``` +If you want to use GCDWebUploader, use this line instead: +``` +pod "GCDWebServer/WebUploader", "~> 3.0" +``` +Or this line for GCDWebDAVServer: +``` +pod "GCDWebServer/WebDAV", "~> 3.0" +``` + +And finally run `$ pod install`. + +You can also use [Carthage](https://github.com/Carthage/Carthage) by adding this line to your Cartfile (3.2.5 is the first release with Carthage support): +``` +github "swisspol/GCDWebServer" ~> 3.2.5 +``` + +Then run `$ carthage update` and add the generated frameworks to your Xcode projects (see [Carthage instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application)). + +Help & Support +============== + +For help with using GCDWebServer, it's best to ask your question on Stack Overflow with the [`gcdwebserver`](http://stackoverflow.com/questions/tagged/gcdwebserver) tag. For bug reports and enhancement requests you can use [issues](https://github.com/swisspol/GCDWebServer/issues) in this project. + +Be sure to read this entire README first though! + +Hello World +=========== + +These code snippets show how to implement a custom HTTP server that runs on port 8080 and returns a "Hello World" HTML page to any request. Since GCDWebServer uses GCD blocks to handle requests, no subclassing or delegates are needed, which results in very clean code. + +**IMPORTANT:** If not using CocoaPods, be sure to add the `libz` shared system library to the Xcode target for your app. + +**macOS version (command line tool):** +```objectivec +#import "GCDWebServer.h" +#import "GCDWebServerDataResponse.h" + +int main(int argc, const char* argv[]) { + @autoreleasepool { + + // Create server + GCDWebServer* webServer = [[GCDWebServer alloc] init]; + + // Add a handler to respond to GET requests on any URL + [webServer addDefaultHandlerForMethod:@"GET" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + return [GCDWebServerDataResponse responseWithHTML:@"

Hello World

"]; + + }]; + + // Use convenience method that runs server on port 8080 + // until SIGINT (Ctrl-C in Terminal) or SIGTERM is received + [webServer runWithPort:8080 bonjourName:nil]; + NSLog(@"Visit %@ in your web browser", webServer.serverURL); + + } + return 0; +} +``` + +**iOS version:** +```objectivec +#import "GCDWebServer.h" +#import "GCDWebServerDataResponse.h" + +@interface AppDelegate : NSObject { + GCDWebServer* _webServer; +} +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { + + // Create server + _webServer = [[GCDWebServer alloc] init]; + + // Add a handler to respond to GET requests on any URL + [_webServer addDefaultHandlerForMethod:@"GET" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + return [GCDWebServerDataResponse responseWithHTML:@"

Hello World

"]; + + }]; + + // Start server on port 8080 + [_webServer startWithPort:8080 bonjourName:nil]; + NSLog(@"Visit %@ in your web browser", _webServer.serverURL); + + return YES; +} + +@end +``` + +**macOS Swift version (command line tool):** + +***webServer.swift*** +```swift +import Foundation +import GCDWebServer + +func initWebServer() { + + let webServer = GCDWebServer() + + webServer.addDefaultHandler(forMethod: "GET", request: GCDWebServerRequest.self, processBlock: {request in + return GCDWebServerDataResponse(html:"

Hello World

") + + }) + + webServer.start(withPort: 8080, bonjourName: "GCD Web Server") + + print("Visit \(webServer.serverURL) in your web browser") +} +``` + +***WebServer-Bridging-Header.h*** +```objectivec +#import +#import +``` + +Web Based Uploads in iOS Apps +============================= + +GCDWebUploader is a subclass of ```GCDWebServer``` that provides a ready-to-use HTML 5 file uploader & downloader. This lets users upload, download, delete files and create directories from a directory inside your iOS app's sandbox using a clean user interface in their web browser. + +Simply instantiate and run a ```GCDWebUploader``` instance then visit ```http://{YOUR-IOS-DEVICE-IP-ADDRESS}/``` from your web browser: + +```objectivec +#import "GCDWebUploader.h" + +@interface AppDelegate : NSObject { + GCDWebUploader* _webUploader; +} +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { + NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; + _webUploader = [[GCDWebUploader alloc] initWithUploadDirectory:documentsPath]; + [_webUploader start]; + NSLog(@"Visit %@ in your web browser", _webUploader.serverURL); + return YES; +} + +@end +``` + +WebDAV Server in iOS Apps +========================= + +GCDWebDAVServer is a subclass of ```GCDWebServer``` that provides a class 1 compliant [WebDAV](https://en.wikipedia.org/wiki/WebDAV) server. This lets users upload, download, delete files and create directories from a directory inside your iOS app's sandbox using any WebDAV client like [Transmit](https://panic.com/transmit/) (Mac), [ForkLift](http://binarynights.com/forklift/) (Mac) or [CyberDuck](http://cyberduck.io/) (Mac / Windows). + +GCDWebDAVServer should also work with the [macOS Finder](http://support.apple.com/kb/PH13859) as it is partially class 2 compliant (but only when the client is the macOS WebDAV implementation). + +Simply instantiate and run a ```GCDWebDAVServer``` instance then connect to ```http://{YOUR-IOS-DEVICE-IP-ADDRESS}/``` using a WebDAV client: + +```objectivec +#import "GCDWebDAVServer.h" + +@interface AppDelegate : NSObject { + GCDWebDAVServer* _davServer; +} +@end + +@implementation AppDelegate + +- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { + NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; + _davServer = [[GCDWebDAVServer alloc] initWithUploadDirectory:documentsPath]; + [_davServer start]; + NSLog(@"Visit %@ in your WebDAV client", _davServer.serverURL); + return YES; +} + +@end +``` + +Serving a Static Website +======================== + +GCDWebServer includes a built-in handler that can recursively serve a directory (it also lets you control how the ["Cache-Control"](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) header should be set): + +**macOS version (command line tool):** +```objectivec +#import "GCDWebServer.h" + +int main(int argc, const char* argv[]) { + @autoreleasepool { + + GCDWebServer* webServer = [[GCDWebServer alloc] init]; + [webServer addGETHandlerForBasePath:@"/" directoryPath:NSHomeDirectory() indexFilename:nil cacheAge:3600 allowRangeRequests:YES]; + [webServer runWithPort:8080]; + + } + return 0; +} +``` + +Using GCDWebServer +================== + +You start by creating an instance of the ```GCDWebServer``` class. Note that you can have multiple web servers running in the same app as long as they listen on different ports. + +Then you add one or more "handlers" to the server: each handler gets a chance to handle an incoming web request and provide a response. Handlers are called in a LIFO queue, so the latest added handler overrides any previously added ones. + +Finally you start the server on a given port. + +Understanding GCDWebServer's Architecture +========================================= + +GCDWebServer's architecture consists of only 4 core classes: +* [GCDWebServer](GCDWebServer/Core/GCDWebServer.h) manages the socket that listens for new HTTP connections and the list of handlers used by the server. +* [GCDWebServerConnection](GCDWebServer/Core/GCDWebServerConnection.h) is instantiated by ```GCDWebServer``` to handle each new HTTP connection. Each instance stays alive until the connection is closed. You cannot use this class directly, but it is exposed so you can subclass it to override some hooks. +* [GCDWebServerRequest](GCDWebServer/Core/GCDWebServerRequest.h) is created by the ```GCDWebServerConnection``` instance after HTTP headers have been received. It wraps the request and handles the HTTP body if any. GCDWebServer comes with [several subclasses](GCDWebServer/Requests) of ```GCDWebServerRequest``` to handle common cases like storing the body in memory or stream it to a file on disk. +* [GCDWebServerResponse](GCDWebServer/Core/GCDWebServerResponse.h) is created by the request handler and wraps the response HTTP headers and optional body. GCDWebServer comes with [several subclasses](GCDWebServer/Responses) of ```GCDWebServerResponse``` to handle common cases like HTML text in memory or streaming a file from disk. + +Implementing Handlers +===================== + +GCDWebServer relies on "handlers" to process incoming web requests and generating responses. Handlers are implemented with GCD blocks which makes it very easy to provide your own. However, they are executed on arbitrary threads within GCD so __special attention must be paid to thread-safety and re-entrancy__. + +Handlers require 2 GCD blocks: +* The ```GCDWebServerMatchBlock``` is called on every handler added to the ```GCDWebServer``` instance whenever a web request has started (i.e. HTTP headers have been received). It is passed the basic info for the web request (HTTP method, URL, headers...) and must decide if it wants to handle it or not. If yes, it must return a new ```GCDWebServerRequest``` instance (see above) created with this info. Otherwise, it simply returns nil. +* The ```GCDWebServerProcessBlock``` or ```GCDWebServerAsyncProcessBlock``` is called after the web request has been fully received and is passed the ```GCDWebServerRequest``` instance created at the previous step. It must return synchronously (if using ```GCDWebServerProcessBlock```) or asynchronously (if using ```GCDWebServerAsyncProcessBlock```) a ```GCDWebServerResponse``` instance (see above) or nil on error, which will result in a 500 HTTP status code returned to the client. It's however recommended to return an instance of [GCDWebServerErrorResponse](GCDWebServer/Responses/GCDWebServerErrorResponse.h) on error so more useful information can be returned to the client. + +Note that most methods on ```GCDWebServer``` to add handlers only require the ```GCDWebServerProcessBlock``` or ```GCDWebServerAsyncProcessBlock``` as they already provide a built-in ```GCDWebServerMatchBlock``` e.g. to match a URL path with a Regex. + +Asynchronous HTTP Responses +=========================== + +New in GCDWebServer 3.0 is the ability to process HTTP requests asynchronously i.e. add handlers to the server which generate their ```GCDWebServerResponse``` asynchronously. This is achieved by adding handlers that use a ```GCDWebServerAsyncProcessBlock``` instead of a ```GCDWebServerProcessBlock```. Here's an example: + +**(Synchronous version)** The handler blocks while generating the HTTP response: +```objectivec +[webServer addDefaultHandlerForMethod:@"GET" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + GCDWebServerDataResponse* response = [GCDWebServerDataResponse responseWithHTML:@"

Hello World

"]; + return response; + +}]; +``` + +**(Asynchronous version)** The handler returns immediately and calls back GCDWebServer later with the generated HTTP response: +```objectivec +[webServer addDefaultHandlerForMethod:@"GET" + requestClass:[GCDWebServerRequest class] + asyncProcessBlock:^(GCDWebServerRequest* request, GCDWebServerCompletionBlock completionBlock) { + + // Do some async operation like network access or file I/O (simulated here using dispatch_after()) + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + GCDWebServerDataResponse* response = [GCDWebServerDataResponse responseWithHTML:@"

Hello World

"]; + completionBlock(response); + }); + +}]; +``` + +**(Advanced asynchronous version)** The handler returns immediately a streamed HTTP response which itself generates its contents asynchronously: +```objectivec +[webServer addDefaultHandlerForMethod:@"GET" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + NSMutableArray* contents = [NSMutableArray arrayWithObjects:@"

\n", @"Hello World!\n", @"

\n", nil]; // Fake data source we are reading from + GCDWebServerStreamedResponse* response = [GCDWebServerStreamedResponse responseWithContentType:@"text/html" asyncStreamBlock:^(GCDWebServerBodyReaderCompletionBlock completionBlock) { + + // Simulate a delay reading from the fake data source + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + NSString* string = contents.firstObject; + if (string) { + [contents removeObjectAtIndex:0]; + completionBlock([string dataUsingEncoding:NSUTF8StringEncoding], nil); // Generate the 2nd part of the stream data + } else { + completionBlock([NSData data], nil); // Must pass an empty NSData to signal the end of the stream + } + }); + + }]; + return response; + +}]; +``` + +*Note that you can even combine both the asynchronous and advanced asynchronous versions to return asynchronously an asynchronous HTTP response!* + +GCDWebServer & Background Mode for iOS Apps +=========================================== + +When doing networking operations in iOS apps, you must handle carefully [what happens when iOS puts the app in the background](https://developer.apple.com/library/ios/technotes/tn2277/_index.html). Typically you must stop any network servers while the app is in the background and restart them when the app comes back to the foreground. This can become quite complex considering servers might have ongoing connections when they need to be stopped. + +Fortunately, GCDWebServer does all of this automatically for you: +- GCDWebServer begins a [background task](https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html) whenever the first HTTP connection is opened and ends it only when the last one is closed. This prevents iOS from suspending the app after it goes in the background, which would immediately kill HTTP connections to the client. + - While the app is in the background, as long as new HTTP connections keep being initiated, the background task will continue to exist and iOS will not suspend the app **for up to 10 minutes** (unless under sudden and unexpected memory pressure). + - If the app is still in the background when the last HTTP connection is closed, GCDWebServer will suspend itself and stop accepting new connections as if you had called ```-stop``` (this behavior can be disabled with the ```GCDWebServerOption_AutomaticallySuspendInBackground``` option). +- If the app goes in the background while no HTTP connections are opened, GCDWebServer will immediately suspend itself and stop accepting new connections as if you had called ```-stop``` (this behavior can be disabled with the ```GCDWebServerOption_AutomaticallySuspendInBackground``` option). +- If the app comes back to the foreground and GCDWebServer had been suspended, it will automatically resume itself and start accepting again new HTTP connections as if you had called ```-start```. + +HTTP connections are often initiated in batches (or bursts), for instance when loading a web page with multiple resources. This makes it difficult to accurately detect when the *very last* HTTP connection has been closed: it's possible 2 consecutive HTTP connections part of the same batch would be separated by a small delay instead of overlapping. It would be bad for the client if GCDWebServer suspended itself right in between. The ```GCDWebServerOption_ConnectedStateCoalescingInterval``` option solves this problem elegantly by forcing GCDWebServer to wait some extra delay before performing any action after the last HTTP connection has been closed, just in case a new HTTP connection is initiated within this delay. + +Logging in GCDWebServer +======================= + +Both for debugging and informational purpose, GCDWebServer logs messages extensively whenever something happens. Furthermore, when building GCDWebServer in "Debug" mode versus "Release" mode, it logs even more information but also performs a number of internal consistency checks. To enable this behavior, define the preprocessor constant ```DEBUG=1``` when compiling GCDWebServer. In Xcode target settings, this can be done by adding ```DEBUG=1``` to the build setting ```GCC_PREPROCESSOR_DEFINITIONS``` when building in "Debug" configuration. Finally, you can also control the logging verbosity at run time by calling ```+[GCDWebServer setLogLevel:]```. + +By default, all messages logged by GCDWebServer are sent to its built-in logging facility, which simply outputs to ```stderr``` (assuming a terminal type device is connected). In order to better integrate with the rest of your app or because of the amount of information logged, you might want to use another logging facility. + +GCDWebServer has automatic support for [XLFacility](https://github.com/swisspol/XLFacility) (by the same author as GCDWebServer and also open-source): if it is in the same Xcode project, GCDWebServer should use it automatically instead of the built-in logging facility (see [GCDWebServerPrivate.h](GCDWebServer/Core/GCDWebServerPrivate.h) for the implementation details). + +It's also possible to use a custom logging facility - see [GCDWebServer.h](GCDWebServer/Core/GCDWebServer.h) for more information. + +Advanced Example 1: Implementing HTTP Redirects +=============================================== + +Here's an example handler that redirects "/" to "/index.html" using the convenience method on ```GCDWebServerResponse``` (it sets the HTTP status code and "Location" header automatically): + +```objectivec +[self addHandlerForMethod:@"GET" + path:@"/" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + return [GCDWebServerResponse responseWithRedirect:[NSURL URLWithString:@"index.html" relativeToURL:request.URL] + permanent:NO]; + +}]; +``` + +Advanced Example 2: Implementing Forms +====================================== + +To implement an HTTP form, you need a pair of handlers: +* The GET handler does not expect any body in the HTTP request and therefore uses the ```GCDWebServerRequest``` class. The handler generates a response containing a simple HTML form. +* The POST handler expects the form values to be in the body of the HTTP request and percent-encoded. Fortunately, GCDWebServer provides the request class ```GCDWebServerURLEncodedFormRequest``` which can automatically parse such bodies. The handler simply echoes back the value from the user submitted form. + +```objectivec +[webServer addHandlerForMethod:@"GET" + path:@"/" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + NSString* html = @" \ + \ +
\ + Value: \ + \ +
\ + \ + "; + return [GCDWebServerDataResponse responseWithHTML:html]; + +}]; + +[webServer addHandlerForMethod:@"POST" + path:@"/" + requestClass:[GCDWebServerURLEncodedFormRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + NSString* value = [[(GCDWebServerURLEncodedFormRequest*)request arguments] objectForKey:@"value"]; + NSString* html = [NSString stringWithFormat:@"

%@

", value]; + return [GCDWebServerDataResponse responseWithHTML:html]; + +}]; +``` + +Advanced Example 3: Serving a Dynamic Website +============================================= + +GCDWebServer provides an extension to the ```GCDWebServerDataResponse``` class that can return HTML content generated from a template and a set of variables (using the format ```%variable%```). It is a very basic template system and is really intended as a starting point to building more advanced template systems by subclassing ```GCDWebServerResponse```. + +Assuming you have a website directory in your app containing HTML template files along with the corresponding CSS, scripts and images, it's pretty easy to turn it into a dynamic website: + +```objectivec +// Get the path to the website directory +NSString* websitePath = [[NSBundle mainBundle] pathForResource:@"Website" ofType:nil]; + +// Add a default handler to serve static files (i.e. anything other than HTML files) +[self addGETHandlerForBasePath:@"/" directoryPath:websitePath indexFilename:nil cacheAge:3600 allowRangeRequests:YES]; + +// Add an override handler for all requests to "*.html" URLs to do the special HTML templatization +[self addHandlerForMethod:@"GET" + pathRegex:@"/.*\.html" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + NSDictionary* variables = [NSDictionary dictionaryWithObjectsAndKeys:@"value", @"variable", nil]; + return [GCDWebServerDataResponse responseWithHTMLTemplate:[websitePath stringByAppendingPathComponent:request.path] + variables:variables]; + +}]; + +// Add an override handler to redirect "/" URL to "/index.html" +[self addHandlerForMethod:@"GET" + path:@"/" + requestClass:[GCDWebServerRequest class] + processBlock:^GCDWebServerResponse *(GCDWebServerRequest* request) { + + return [GCDWebServerResponse responseWithRedirect:[NSURL URLWithString:@"index.html" relativeToURL:request.URL] + permanent:NO]; + +]; + +``` + +Final Example: File Downloads and Uploads From iOS App +====================================================== + +GCDWebServer was originally written for the [ComicFlow](http://itunes.apple.com/us/app/comicflow/id409290355?mt=8) comic reader app for iPad. It allow users to connect to their iPad with their web browser over WiFi and then upload, download and organize comic files inside the app. + +ComicFlow is [entirely open-source](https://github.com/swisspol/ComicFlow) and you can see how it uses GCDWebServer in the [WebServer.h](https://github.com/swisspol/ComicFlow/blob/master/Classes/WebServer.h) and [WebServer.m](https://github.com/swisspol/ComicFlow/blob/master/Classes/WebServer.m) files. diff --git a/Example/Pods/Headers/Private/Doric/Doric.h b/Example/Pods/Headers/Private/Doric/Doric.h new file mode 120000 index 00000000..bb37c112 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/Doric.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Doric.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricAnimatePlugin.h b/Example/Pods/Headers/Private/Doric/DoricAnimatePlugin.h new file mode 120000 index 00000000..a12124e4 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricAnimatePlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricAnimatePlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricAsyncResult.h b/Example/Pods/Headers/Private/Doric/DoricAsyncResult.h new file mode 120000 index 00000000..dc8ffde2 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricAsyncResult.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricAsyncResult.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricBridgeExtension.h b/Example/Pods/Headers/Private/Doric/DoricBridgeExtension.h new file mode 120000 index 00000000..c958222e --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricBridgeExtension.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Extension/DoricBridgeExtension.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricConstant.h b/Example/Pods/Headers/Private/Doric/DoricConstant.h new file mode 120000 index 00000000..6680f76a --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricConstant.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricConstant.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricContext.h b/Example/Pods/Headers/Private/Doric/DoricContext.h new file mode 120000 index 00000000..d2e13664 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricContext.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricContext.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricContextHolder.h b/Example/Pods/Headers/Private/Doric/DoricContextHolder.h new file mode 120000 index 00000000..2ad994ce --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricContextHolder.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricContextHolder.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricContextManager.h b/Example/Pods/Headers/Private/Doric/DoricContextManager.h new file mode 120000 index 00000000..09beaea0 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricContextManager.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricContextManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricDriver.h b/Example/Pods/Headers/Private/Doric/DoricDriver.h new file mode 120000 index 00000000..a9c106e1 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricDriver.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricDriver.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricExtensions.h b/Example/Pods/Headers/Private/Doric/DoricExtensions.h new file mode 120000 index 00000000..350d3f83 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricExtensions.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricExtensions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricFlowLayoutItemNode.h b/Example/Pods/Headers/Private/Doric/DoricFlowLayoutItemNode.h new file mode 120000 index 00000000..dc8a572d --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricFlowLayoutItemNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricFlowLayoutItemNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricFlowLayoutNode.h b/Example/Pods/Headers/Private/Doric/DoricFlowLayoutNode.h new file mode 120000 index 00000000..036911b9 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricFlowLayoutNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricFlowLayoutNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricGroupNode.h b/Example/Pods/Headers/Private/Doric/DoricGroupNode.h new file mode 120000 index 00000000..684ecdfe --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricGroupNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricGroupNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricHLayoutNode.h b/Example/Pods/Headers/Private/Doric/DoricHLayoutNode.h new file mode 120000 index 00000000..69ec5090 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricHLayoutNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricHLayoutNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricHttpJSLoader.h b/Example/Pods/Headers/Private/Doric/DoricHttpJSLoader.h new file mode 120000 index 00000000..58e4f31d --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricHttpJSLoader.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricHttpJSLoader.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricImageNode.h b/Example/Pods/Headers/Private/Doric/DoricImageNode.h new file mode 120000 index 00000000..3ca6b0d5 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricImageNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricImageNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricJSCoreExecutor.h b/Example/Pods/Headers/Private/Doric/DoricJSCoreExecutor.h new file mode 120000 index 00000000..92c65095 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricJSCoreExecutor.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSCoreExecutor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricJSEngine.h b/Example/Pods/Headers/Private/Doric/DoricJSEngine.h new file mode 120000 index 00000000..b97a9e2d --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricJSEngine.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSEngine.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricJSExecutorProtocol.h b/Example/Pods/Headers/Private/Doric/DoricJSExecutorProtocol.h new file mode 120000 index 00000000..ba38bc3a --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricJSExecutorProtocol.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSExecutorProtocol.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricJSLoaderManager.h b/Example/Pods/Headers/Private/Doric/DoricJSLoaderManager.h new file mode 120000 index 00000000..5d937ca7 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricJSLoaderManager.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricJSLoaderManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricJSRemoteArgType.h b/Example/Pods/Headers/Private/Doric/DoricJSRemoteArgType.h new file mode 120000 index 00000000..36bb22aa --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricJSRemoteArgType.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricJSRemoteArgType.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricJSRemoteExecutor.h b/Example/Pods/Headers/Private/Doric/DoricJSRemoteExecutor.h new file mode 120000 index 00000000..767bfc63 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricJSRemoteExecutor.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSRemoteExecutor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricLayouts.h b/Example/Pods/Headers/Private/Doric/DoricLayouts.h new file mode 120000 index 00000000..99bc6e6e --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricLayouts.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricLayouts.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricListItemNode.h b/Example/Pods/Headers/Private/Doric/DoricListItemNode.h new file mode 120000 index 00000000..6dc52176 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricListItemNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricListItemNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricListNode.h b/Example/Pods/Headers/Private/Doric/DoricListNode.h new file mode 120000 index 00000000..07dcf57c --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricListNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricListNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricLoaderProtocol.h b/Example/Pods/Headers/Private/Doric/DoricLoaderProtocol.h new file mode 120000 index 00000000..56932a3e --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricLoaderProtocol.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricLoaderProtocol.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricLocalServer.h b/Example/Pods/Headers/Private/Doric/DoricLocalServer.h new file mode 120000 index 00000000..b1d57955 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricLocalServer.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Dev/DoricLocalServer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricMainBundleJSLoader.h b/Example/Pods/Headers/Private/Doric/DoricMainBundleJSLoader.h new file mode 120000 index 00000000..0ae3636f --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricMainBundleJSLoader.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricMainBundleJSLoader.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricModalPlugin.h b/Example/Pods/Headers/Private/Doric/DoricModalPlugin.h new file mode 120000 index 00000000..d147e1e2 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricModalPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricModalPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricNativePlugin.h b/Example/Pods/Headers/Private/Doric/DoricNativePlugin.h new file mode 120000 index 00000000..a1cc9008 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricNativePlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNativePlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricNavBarDelegate.h b/Example/Pods/Headers/Private/Doric/DoricNavBarDelegate.h new file mode 120000 index 00000000..0bdf4473 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricNavBarDelegate.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/NavBar/DoricNavBarDelegate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricNavBarPlugin.h b/Example/Pods/Headers/Private/Doric/DoricNavBarPlugin.h new file mode 120000 index 00000000..c105c807 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricNavBarPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNavBarPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricNavigatorDelegate.h b/Example/Pods/Headers/Private/Doric/DoricNavigatorDelegate.h new file mode 120000 index 00000000..1b17899a --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricNavigatorDelegate.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Navigator/DoricNavigatorDelegate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricNavigatorPlugin.h b/Example/Pods/Headers/Private/Doric/DoricNavigatorPlugin.h new file mode 120000 index 00000000..ddc14c51 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricNavigatorPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNavigatorPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricNetworkPlugin.h b/Example/Pods/Headers/Private/Doric/DoricNetworkPlugin.h new file mode 120000 index 00000000..6db4a0df --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricNetworkPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNetworkPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricPanel.h b/Example/Pods/Headers/Private/Doric/DoricPanel.h new file mode 120000 index 00000000..029dd567 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricPanel.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricPanel.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricPopoverPlugin.h b/Example/Pods/Headers/Private/Doric/DoricPopoverPlugin.h new file mode 120000 index 00000000..1df8f593 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricPopoverPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricPopoverPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricPromise.h b/Example/Pods/Headers/Private/Doric/DoricPromise.h new file mode 120000 index 00000000..cf1e8a71 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricPromise.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricPromise.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricRefreshableNode.h b/Example/Pods/Headers/Private/Doric/DoricRefreshableNode.h new file mode 120000 index 00000000..3b184c56 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricRefreshableNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Refresh/DoricRefreshableNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricRegistry.h b/Example/Pods/Headers/Private/Doric/DoricRegistry.h new file mode 120000 index 00000000..3bc74247 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricRegistry.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricRegistry.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricRootNode.h b/Example/Pods/Headers/Private/Doric/DoricRootNode.h new file mode 120000 index 00000000..9c34b186 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricRootNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricRootNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricScrollerNode.h b/Example/Pods/Headers/Private/Doric/DoricScrollerNode.h new file mode 120000 index 00000000..fc0bfaa0 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricScrollerNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricScrollerNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricShaderPlugin.h b/Example/Pods/Headers/Private/Doric/DoricShaderPlugin.h new file mode 120000 index 00000000..ef0174f1 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricShaderPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricShaderPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricSlideItemNode.h b/Example/Pods/Headers/Private/Doric/DoricSlideItemNode.h new file mode 120000 index 00000000..42373673 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricSlideItemNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricSlideItemNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricSliderNode.h b/Example/Pods/Headers/Private/Doric/DoricSliderNode.h new file mode 120000 index 00000000..f2a66df1 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricSliderNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricSliderNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricStackNode.h b/Example/Pods/Headers/Private/Doric/DoricStackNode.h new file mode 120000 index 00000000..717b56d6 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricStackNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricStackNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricStoragePlugin.h b/Example/Pods/Headers/Private/Doric/DoricStoragePlugin.h new file mode 120000 index 00000000..dbefc329 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricStoragePlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricStoragePlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricSuperNode.h b/Example/Pods/Headers/Private/Doric/DoricSuperNode.h new file mode 120000 index 00000000..71a2c250 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricSuperNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricSuperNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricSwipeRefreshLayout.h b/Example/Pods/Headers/Private/Doric/DoricSwipeRefreshLayout.h new file mode 120000 index 00000000..6a0f956b --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricSwipeRefreshLayout.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Refresh/DoricSwipeRefreshLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricTextNode.h b/Example/Pods/Headers/Private/Doric/DoricTextNode.h new file mode 120000 index 00000000..077ae1e2 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricTextNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricTextNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricUtil.h b/Example/Pods/Headers/Private/Doric/DoricUtil.h new file mode 120000 index 00000000..e9b242c5 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricUtil.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricUtil.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricVLayoutNode.h b/Example/Pods/Headers/Private/Doric/DoricVLayoutNode.h new file mode 120000 index 00000000..761dcd57 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricVLayoutNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricVLayoutNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricViewController.h b/Example/Pods/Headers/Private/Doric/DoricViewController.h new file mode 120000 index 00000000..5148b1ae --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricViewController.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricViewController.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricViewNode.h b/Example/Pods/Headers/Private/Doric/DoricViewNode.h new file mode 120000 index 00000000..bdb19d2b --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricViewNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricViewNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/DoricWSClient.h b/Example/Pods/Headers/Private/Doric/DoricWSClient.h new file mode 120000 index 00000000..3546c797 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/DoricWSClient.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Dev/DoricWSClient.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/NSString+JsonString.h b/Example/Pods/Headers/Private/Doric/NSString+JsonString.h new file mode 120000 index 00000000..bf91f3f4 --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/NSString+JsonString.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/Category/NSString+JsonString.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/Doric/UIView+Doric.h b/Example/Pods/Headers/Private/Doric/UIView+Doric.h new file mode 120000 index 00000000..ad01609c --- /dev/null +++ b/Example/Pods/Headers/Private/Doric/UIView+Doric.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/UIView+Doric.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServer.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServer.h new file mode 120000 index 00000000..484d2854 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServer.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerConnection.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerConnection.h new file mode 120000 index 00000000..255f110d --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerConnection.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataRequest.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataRequest.h new file mode 120000 index 00000000..83753e86 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataResponse.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataResponse.h new file mode 120000 index 00000000..f31d3c83 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerDataResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerErrorResponse.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerErrorResponse.h new file mode 120000 index 00000000..2c1259dc --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerErrorResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileRequest.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileRequest.h new file mode 120000 index 00000000..99a73289 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileResponse.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileResponse.h new file mode 120000 index 00000000..ff33e300 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFileResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFunctions.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFunctions.h new file mode 120000 index 00000000..cd98671b --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerFunctions.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerHTTPStatusCodes.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerHTTPStatusCodes.h new file mode 120000 index 00000000..393ae7a6 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerHTTPStatusCodes.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerMultiPartFormRequest.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerMultiPartFormRequest.h new file mode 120000 index 00000000..593694c2 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerMultiPartFormRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerPrivate.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerPrivate.h new file mode 120000 index 00000000..20e5daf1 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerPrivate.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerPrivate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerRequest.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerRequest.h new file mode 120000 index 00000000..d1b92e5d --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerResponse.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerResponse.h new file mode 120000 index 00000000..26c37123 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerStreamedResponse.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerStreamedResponse.h new file mode 120000 index 00000000..484c4b1e --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerStreamedResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerURLEncodedFormRequest.h b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerURLEncodedFormRequest.h new file mode 120000 index 00000000..f13ce540 --- /dev/null +++ b/Example/Pods/Headers/Private/GCDWebServer/GCDWebServerURLEncodedFormRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/SocketRocket/SRWebSocket.h b/Example/Pods/Headers/Private/SocketRocket/SRWebSocket.h new file mode 120000 index 00000000..b41c8671 --- /dev/null +++ b/Example/Pods/Headers/Private/SocketRocket/SRWebSocket.h @@ -0,0 +1 @@ +../../../SocketRocket/SocketRocket/SRWebSocket.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/SocketRocket/SocketRocket.h b/Example/Pods/Headers/Private/SocketRocket/SocketRocket.h new file mode 120000 index 00000000..fffaf68d --- /dev/null +++ b/Example/Pods/Headers/Private/SocketRocket/SocketRocket.h @@ -0,0 +1 @@ +../../../SocketRocket/SocketRocket/SocketRocket.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYCache/YYCache.h b/Example/Pods/Headers/Private/YYCache/YYCache.h new file mode 120000 index 00000000..2ba9cf81 --- /dev/null +++ b/Example/Pods/Headers/Private/YYCache/YYCache.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYCache/YYDiskCache.h b/Example/Pods/Headers/Private/YYCache/YYDiskCache.h new file mode 120000 index 00000000..9627fddb --- /dev/null +++ b/Example/Pods/Headers/Private/YYCache/YYDiskCache.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYDiskCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYCache/YYKVStorage.h b/Example/Pods/Headers/Private/YYCache/YYKVStorage.h new file mode 120000 index 00000000..ac9f3181 --- /dev/null +++ b/Example/Pods/Headers/Private/YYCache/YYKVStorage.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYKVStorage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYCache/YYMemoryCache.h b/Example/Pods/Headers/Private/YYCache/YYMemoryCache.h new file mode 120000 index 00000000..e33b84c7 --- /dev/null +++ b/Example/Pods/Headers/Private/YYCache/YYMemoryCache.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYMemoryCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYImage/YYAnimatedImageView.h b/Example/Pods/Headers/Private/YYImage/YYAnimatedImageView.h new file mode 120000 index 00000000..d90694fd --- /dev/null +++ b/Example/Pods/Headers/Private/YYImage/YYAnimatedImageView.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYAnimatedImageView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYImage/YYFrameImage.h b/Example/Pods/Headers/Private/YYImage/YYFrameImage.h new file mode 120000 index 00000000..173675cd --- /dev/null +++ b/Example/Pods/Headers/Private/YYImage/YYFrameImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYFrameImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYImage/YYImage.h b/Example/Pods/Headers/Private/YYImage/YYImage.h new file mode 120000 index 00000000..4abef6cd --- /dev/null +++ b/Example/Pods/Headers/Private/YYImage/YYImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYImage/YYImageCoder.h b/Example/Pods/Headers/Private/YYImage/YYImageCoder.h new file mode 120000 index 00000000..dc4425f3 --- /dev/null +++ b/Example/Pods/Headers/Private/YYImage/YYImageCoder.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImageCoder.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h b/Example/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h new file mode 120000 index 00000000..ee6cef7d --- /dev/null +++ b/Example/Pods/Headers/Private/YYImage/YYSpriteSheetImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYSpriteSheetImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/CALayer+YYWebImage.h b/Example/Pods/Headers/Private/YYWebImage/CALayer+YYWebImage.h new file mode 120000 index 00000000..c4ed8bda --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/CALayer+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/CALayer+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/MKAnnotationView+YYWebImage.h b/Example/Pods/Headers/Private/YYWebImage/MKAnnotationView+YYWebImage.h new file mode 120000 index 00000000..1d567032 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/MKAnnotationView+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/MKAnnotationView+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/UIButton+YYWebImage.h b/Example/Pods/Headers/Private/YYWebImage/UIButton+YYWebImage.h new file mode 120000 index 00000000..e3e36a69 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/UIButton+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/UIButton+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/UIImage+YYWebImage.h b/Example/Pods/Headers/Private/YYWebImage/UIImage+YYWebImage.h new file mode 120000 index 00000000..04998ea5 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/UIImage+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/UIImage+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/UIImageView+YYWebImage.h b/Example/Pods/Headers/Private/YYWebImage/UIImageView+YYWebImage.h new file mode 120000 index 00000000..556bf052 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/UIImageView+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/UIImageView+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/YYImageCache.h b/Example/Pods/Headers/Private/YYWebImage/YYImageCache.h new file mode 120000 index 00000000..890cb197 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/YYImageCache.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYImageCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/YYWebImage.h b/Example/Pods/Headers/Private/YYWebImage/YYWebImage.h new file mode 120000 index 00000000..b8d60246 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/YYWebImageManager.h b/Example/Pods/Headers/Private/YYWebImage/YYWebImageManager.h new file mode 120000 index 00000000..b34e2d7b --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/YYWebImageManager.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYWebImageManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/YYWebImageOperation.h b/Example/Pods/Headers/Private/YYWebImage/YYWebImageOperation.h new file mode 120000 index 00000000..41dff6a2 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/YYWebImageOperation.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYWebImageOperation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/YYWebImage/_YYWebImageSetter.h b/Example/Pods/Headers/Private/YYWebImage/_YYWebImageSetter.h new file mode 120000 index 00000000..9386cd95 --- /dev/null +++ b/Example/Pods/Headers/Private/YYWebImage/_YYWebImageSetter.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/_YYWebImageSetter.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/Doric.h b/Example/Pods/Headers/Public/Doric/Doric.h new file mode 120000 index 00000000..bb37c112 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/Doric.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Doric.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricAnimatePlugin.h b/Example/Pods/Headers/Public/Doric/DoricAnimatePlugin.h new file mode 120000 index 00000000..a12124e4 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricAnimatePlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricAnimatePlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricAsyncResult.h b/Example/Pods/Headers/Public/Doric/DoricAsyncResult.h new file mode 120000 index 00000000..dc8ffde2 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricAsyncResult.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricAsyncResult.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricBridgeExtension.h b/Example/Pods/Headers/Public/Doric/DoricBridgeExtension.h new file mode 120000 index 00000000..c958222e --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricBridgeExtension.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Extension/DoricBridgeExtension.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricConstant.h b/Example/Pods/Headers/Public/Doric/DoricConstant.h new file mode 120000 index 00000000..6680f76a --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricConstant.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricConstant.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricContext.h b/Example/Pods/Headers/Public/Doric/DoricContext.h new file mode 120000 index 00000000..d2e13664 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricContext.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricContext.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricContextHolder.h b/Example/Pods/Headers/Public/Doric/DoricContextHolder.h new file mode 120000 index 00000000..2ad994ce --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricContextHolder.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricContextHolder.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricContextManager.h b/Example/Pods/Headers/Public/Doric/DoricContextManager.h new file mode 120000 index 00000000..09beaea0 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricContextManager.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricContextManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricDriver.h b/Example/Pods/Headers/Public/Doric/DoricDriver.h new file mode 120000 index 00000000..a9c106e1 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricDriver.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricDriver.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricExtensions.h b/Example/Pods/Headers/Public/Doric/DoricExtensions.h new file mode 120000 index 00000000..350d3f83 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricExtensions.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricExtensions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricFlowLayoutItemNode.h b/Example/Pods/Headers/Public/Doric/DoricFlowLayoutItemNode.h new file mode 120000 index 00000000..dc8a572d --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricFlowLayoutItemNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricFlowLayoutItemNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricFlowLayoutNode.h b/Example/Pods/Headers/Public/Doric/DoricFlowLayoutNode.h new file mode 120000 index 00000000..036911b9 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricFlowLayoutNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricFlowLayoutNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricGroupNode.h b/Example/Pods/Headers/Public/Doric/DoricGroupNode.h new file mode 120000 index 00000000..684ecdfe --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricGroupNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricGroupNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricHLayoutNode.h b/Example/Pods/Headers/Public/Doric/DoricHLayoutNode.h new file mode 120000 index 00000000..69ec5090 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricHLayoutNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricHLayoutNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricHttpJSLoader.h b/Example/Pods/Headers/Public/Doric/DoricHttpJSLoader.h new file mode 120000 index 00000000..58e4f31d --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricHttpJSLoader.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricHttpJSLoader.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricImageNode.h b/Example/Pods/Headers/Public/Doric/DoricImageNode.h new file mode 120000 index 00000000..3ca6b0d5 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricImageNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricImageNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricJSCoreExecutor.h b/Example/Pods/Headers/Public/Doric/DoricJSCoreExecutor.h new file mode 120000 index 00000000..92c65095 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricJSCoreExecutor.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSCoreExecutor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricJSEngine.h b/Example/Pods/Headers/Public/Doric/DoricJSEngine.h new file mode 120000 index 00000000..b97a9e2d --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricJSEngine.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSEngine.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricJSExecutorProtocol.h b/Example/Pods/Headers/Public/Doric/DoricJSExecutorProtocol.h new file mode 120000 index 00000000..ba38bc3a --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricJSExecutorProtocol.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSExecutorProtocol.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricJSLoaderManager.h b/Example/Pods/Headers/Public/Doric/DoricJSLoaderManager.h new file mode 120000 index 00000000..5d937ca7 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricJSLoaderManager.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricJSLoaderManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricJSRemoteArgType.h b/Example/Pods/Headers/Public/Doric/DoricJSRemoteArgType.h new file mode 120000 index 00000000..36bb22aa --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricJSRemoteArgType.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricJSRemoteArgType.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricJSRemoteExecutor.h b/Example/Pods/Headers/Public/Doric/DoricJSRemoteExecutor.h new file mode 120000 index 00000000..767bfc63 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricJSRemoteExecutor.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Engine/DoricJSRemoteExecutor.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricLayouts.h b/Example/Pods/Headers/Public/Doric/DoricLayouts.h new file mode 120000 index 00000000..99bc6e6e --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricLayouts.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricLayouts.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricListItemNode.h b/Example/Pods/Headers/Public/Doric/DoricListItemNode.h new file mode 120000 index 00000000..6dc52176 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricListItemNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricListItemNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricListNode.h b/Example/Pods/Headers/Public/Doric/DoricListNode.h new file mode 120000 index 00000000..07dcf57c --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricListNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricListNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricLoaderProtocol.h b/Example/Pods/Headers/Public/Doric/DoricLoaderProtocol.h new file mode 120000 index 00000000..56932a3e --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricLoaderProtocol.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricLoaderProtocol.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricLocalServer.h b/Example/Pods/Headers/Public/Doric/DoricLocalServer.h new file mode 120000 index 00000000..b1d57955 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricLocalServer.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Dev/DoricLocalServer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricMainBundleJSLoader.h b/Example/Pods/Headers/Public/Doric/DoricMainBundleJSLoader.h new file mode 120000 index 00000000..0ae3636f --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricMainBundleJSLoader.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Loader/DoricMainBundleJSLoader.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricModalPlugin.h b/Example/Pods/Headers/Public/Doric/DoricModalPlugin.h new file mode 120000 index 00000000..d147e1e2 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricModalPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricModalPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricNativePlugin.h b/Example/Pods/Headers/Public/Doric/DoricNativePlugin.h new file mode 120000 index 00000000..a1cc9008 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricNativePlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNativePlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricNavBarDelegate.h b/Example/Pods/Headers/Public/Doric/DoricNavBarDelegate.h new file mode 120000 index 00000000..0bdf4473 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricNavBarDelegate.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/NavBar/DoricNavBarDelegate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricNavBarPlugin.h b/Example/Pods/Headers/Public/Doric/DoricNavBarPlugin.h new file mode 120000 index 00000000..c105c807 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricNavBarPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNavBarPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricNavigatorDelegate.h b/Example/Pods/Headers/Public/Doric/DoricNavigatorDelegate.h new file mode 120000 index 00000000..1b17899a --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricNavigatorDelegate.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Navigator/DoricNavigatorDelegate.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricNavigatorPlugin.h b/Example/Pods/Headers/Public/Doric/DoricNavigatorPlugin.h new file mode 120000 index 00000000..ddc14c51 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricNavigatorPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNavigatorPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricNetworkPlugin.h b/Example/Pods/Headers/Public/Doric/DoricNetworkPlugin.h new file mode 120000 index 00000000..6db4a0df --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricNetworkPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricNetworkPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricPanel.h b/Example/Pods/Headers/Public/Doric/DoricPanel.h new file mode 120000 index 00000000..029dd567 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricPanel.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricPanel.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricPopoverPlugin.h b/Example/Pods/Headers/Public/Doric/DoricPopoverPlugin.h new file mode 120000 index 00000000..1df8f593 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricPopoverPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricPopoverPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricPromise.h b/Example/Pods/Headers/Public/Doric/DoricPromise.h new file mode 120000 index 00000000..cf1e8a71 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricPromise.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricPromise.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricRefreshableNode.h b/Example/Pods/Headers/Public/Doric/DoricRefreshableNode.h new file mode 120000 index 00000000..3b184c56 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricRefreshableNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Refresh/DoricRefreshableNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricRegistry.h b/Example/Pods/Headers/Public/Doric/DoricRegistry.h new file mode 120000 index 00000000..3bc74247 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricRegistry.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricRegistry.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricRootNode.h b/Example/Pods/Headers/Public/Doric/DoricRootNode.h new file mode 120000 index 00000000..9c34b186 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricRootNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricRootNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricScrollerNode.h b/Example/Pods/Headers/Public/Doric/DoricScrollerNode.h new file mode 120000 index 00000000..fc0bfaa0 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricScrollerNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricScrollerNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricShaderPlugin.h b/Example/Pods/Headers/Public/Doric/DoricShaderPlugin.h new file mode 120000 index 00000000..ef0174f1 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricShaderPlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricShaderPlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricSlideItemNode.h b/Example/Pods/Headers/Public/Doric/DoricSlideItemNode.h new file mode 120000 index 00000000..42373673 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricSlideItemNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricSlideItemNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricSliderNode.h b/Example/Pods/Headers/Public/Doric/DoricSliderNode.h new file mode 120000 index 00000000..f2a66df1 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricSliderNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricSliderNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricStackNode.h b/Example/Pods/Headers/Public/Doric/DoricStackNode.h new file mode 120000 index 00000000..717b56d6 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricStackNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricStackNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricStoragePlugin.h b/Example/Pods/Headers/Public/Doric/DoricStoragePlugin.h new file mode 120000 index 00000000..dbefc329 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricStoragePlugin.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Plugin/DoricStoragePlugin.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricSuperNode.h b/Example/Pods/Headers/Public/Doric/DoricSuperNode.h new file mode 120000 index 00000000..71a2c250 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricSuperNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricSuperNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricSwipeRefreshLayout.h b/Example/Pods/Headers/Public/Doric/DoricSwipeRefreshLayout.h new file mode 120000 index 00000000..6a0f956b --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricSwipeRefreshLayout.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Refresh/DoricSwipeRefreshLayout.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricTextNode.h b/Example/Pods/Headers/Public/Doric/DoricTextNode.h new file mode 120000 index 00000000..077ae1e2 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricTextNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricTextNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricUtil.h b/Example/Pods/Headers/Public/Doric/DoricUtil.h new file mode 120000 index 00000000..e9b242c5 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricUtil.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/DoricUtil.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricVLayoutNode.h b/Example/Pods/Headers/Public/Doric/DoricVLayoutNode.h new file mode 120000 index 00000000..761dcd57 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricVLayoutNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricVLayoutNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricViewController.h b/Example/Pods/Headers/Public/Doric/DoricViewController.h new file mode 120000 index 00000000..5148b1ae --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricViewController.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/DoricViewController.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricViewNode.h b/Example/Pods/Headers/Public/Doric/DoricViewNode.h new file mode 120000 index 00000000..bdb19d2b --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricViewNode.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/DoricViewNode.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/DoricWSClient.h b/Example/Pods/Headers/Public/Doric/DoricWSClient.h new file mode 120000 index 00000000..3546c797 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/DoricWSClient.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Dev/DoricWSClient.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/NSString+JsonString.h b/Example/Pods/Headers/Public/Doric/NSString+JsonString.h new file mode 120000 index 00000000..bf91f3f4 --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/NSString+JsonString.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Util/Category/NSString+JsonString.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/Doric/UIView+Doric.h b/Example/Pods/Headers/Public/Doric/UIView+Doric.h new file mode 120000 index 00000000..ad01609c --- /dev/null +++ b/Example/Pods/Headers/Public/Doric/UIView+Doric.h @@ -0,0 +1 @@ +../../../../../Pod/Classes/Shader/UIView+Doric.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServer.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServer.h new file mode 120000 index 00000000..484d2854 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServer.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServer.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerConnection.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerConnection.h new file mode 120000 index 00000000..255f110d --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerConnection.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerConnection.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataRequest.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataRequest.h new file mode 120000 index 00000000..83753e86 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerDataRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataResponse.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataResponse.h new file mode 120000 index 00000000..f31d3c83 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerDataResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerDataResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerErrorResponse.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerErrorResponse.h new file mode 120000 index 00000000..2c1259dc --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerErrorResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerErrorResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileRequest.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileRequest.h new file mode 120000 index 00000000..99a73289 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerFileRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileResponse.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileResponse.h new file mode 120000 index 00000000..ff33e300 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFileResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerFileResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFunctions.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFunctions.h new file mode 120000 index 00000000..cd98671b --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerFunctions.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerFunctions.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerHTTPStatusCodes.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerHTTPStatusCodes.h new file mode 120000 index 00000000..393ae7a6 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerHTTPStatusCodes.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerMultiPartFormRequest.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerMultiPartFormRequest.h new file mode 120000 index 00000000..593694c2 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerMultiPartFormRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerRequest.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerRequest.h new file mode 120000 index 00000000..d1b92e5d --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerResponse.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerResponse.h new file mode 120000 index 00000000..26c37123 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Core/GCDWebServerResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerStreamedResponse.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerStreamedResponse.h new file mode 120000 index 00000000..484c4b1e --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerStreamedResponse.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Responses/GCDWebServerStreamedResponse.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerURLEncodedFormRequest.h b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerURLEncodedFormRequest.h new file mode 120000 index 00000000..f13ce540 --- /dev/null +++ b/Example/Pods/Headers/Public/GCDWebServer/GCDWebServerURLEncodedFormRequest.h @@ -0,0 +1 @@ +../../../GCDWebServer/GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/SocketRocket/SRWebSocket.h b/Example/Pods/Headers/Public/SocketRocket/SRWebSocket.h new file mode 120000 index 00000000..b41c8671 --- /dev/null +++ b/Example/Pods/Headers/Public/SocketRocket/SRWebSocket.h @@ -0,0 +1 @@ +../../../SocketRocket/SocketRocket/SRWebSocket.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/SocketRocket/SocketRocket.h b/Example/Pods/Headers/Public/SocketRocket/SocketRocket.h new file mode 120000 index 00000000..fffaf68d --- /dev/null +++ b/Example/Pods/Headers/Public/SocketRocket/SocketRocket.h @@ -0,0 +1 @@ +../../../SocketRocket/SocketRocket/SocketRocket.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYCache/YYCache.h b/Example/Pods/Headers/Public/YYCache/YYCache.h new file mode 120000 index 00000000..2ba9cf81 --- /dev/null +++ b/Example/Pods/Headers/Public/YYCache/YYCache.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYCache/YYDiskCache.h b/Example/Pods/Headers/Public/YYCache/YYDiskCache.h new file mode 120000 index 00000000..9627fddb --- /dev/null +++ b/Example/Pods/Headers/Public/YYCache/YYDiskCache.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYDiskCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYCache/YYKVStorage.h b/Example/Pods/Headers/Public/YYCache/YYKVStorage.h new file mode 120000 index 00000000..ac9f3181 --- /dev/null +++ b/Example/Pods/Headers/Public/YYCache/YYKVStorage.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYKVStorage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYCache/YYMemoryCache.h b/Example/Pods/Headers/Public/YYCache/YYMemoryCache.h new file mode 120000 index 00000000..e33b84c7 --- /dev/null +++ b/Example/Pods/Headers/Public/YYCache/YYMemoryCache.h @@ -0,0 +1 @@ +../../../YYCache/YYCache/YYMemoryCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYImage/YYAnimatedImageView.h b/Example/Pods/Headers/Public/YYImage/YYAnimatedImageView.h new file mode 120000 index 00000000..d90694fd --- /dev/null +++ b/Example/Pods/Headers/Public/YYImage/YYAnimatedImageView.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYAnimatedImageView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYImage/YYFrameImage.h b/Example/Pods/Headers/Public/YYImage/YYFrameImage.h new file mode 120000 index 00000000..173675cd --- /dev/null +++ b/Example/Pods/Headers/Public/YYImage/YYFrameImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYFrameImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYImage/YYImage.h b/Example/Pods/Headers/Public/YYImage/YYImage.h new file mode 120000 index 00000000..4abef6cd --- /dev/null +++ b/Example/Pods/Headers/Public/YYImage/YYImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYImage/YYImageCoder.h b/Example/Pods/Headers/Public/YYImage/YYImageCoder.h new file mode 120000 index 00000000..dc4425f3 --- /dev/null +++ b/Example/Pods/Headers/Public/YYImage/YYImageCoder.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYImageCoder.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h b/Example/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h new file mode 120000 index 00000000..ee6cef7d --- /dev/null +++ b/Example/Pods/Headers/Public/YYImage/YYSpriteSheetImage.h @@ -0,0 +1 @@ +../../../YYImage/YYImage/YYSpriteSheetImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/CALayer+YYWebImage.h b/Example/Pods/Headers/Public/YYWebImage/CALayer+YYWebImage.h new file mode 120000 index 00000000..c4ed8bda --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/CALayer+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/CALayer+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/MKAnnotationView+YYWebImage.h b/Example/Pods/Headers/Public/YYWebImage/MKAnnotationView+YYWebImage.h new file mode 120000 index 00000000..1d567032 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/MKAnnotationView+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/MKAnnotationView+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/UIButton+YYWebImage.h b/Example/Pods/Headers/Public/YYWebImage/UIButton+YYWebImage.h new file mode 120000 index 00000000..e3e36a69 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/UIButton+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/UIButton+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/UIImage+YYWebImage.h b/Example/Pods/Headers/Public/YYWebImage/UIImage+YYWebImage.h new file mode 120000 index 00000000..04998ea5 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/UIImage+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/UIImage+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/UIImageView+YYWebImage.h b/Example/Pods/Headers/Public/YYWebImage/UIImageView+YYWebImage.h new file mode 120000 index 00000000..556bf052 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/UIImageView+YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/Categories/UIImageView+YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/YYImageCache.h b/Example/Pods/Headers/Public/YYWebImage/YYImageCache.h new file mode 120000 index 00000000..890cb197 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/YYImageCache.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYImageCache.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/YYWebImage.h b/Example/Pods/Headers/Public/YYWebImage/YYWebImage.h new file mode 120000 index 00000000..b8d60246 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/YYWebImage.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYWebImage.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/YYWebImageManager.h b/Example/Pods/Headers/Public/YYWebImage/YYWebImageManager.h new file mode 120000 index 00000000..b34e2d7b --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/YYWebImageManager.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYWebImageManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/YYWebImage/YYWebImageOperation.h b/Example/Pods/Headers/Public/YYWebImage/YYWebImageOperation.h new file mode 120000 index 00000000..41dff6a2 --- /dev/null +++ b/Example/Pods/Headers/Public/YYWebImage/YYWebImageOperation.h @@ -0,0 +1 @@ +../../../YYWebImage/YYWebImage/YYWebImageOperation.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/Doric.podspec.json b/Example/Pods/Local Podspecs/Doric.podspec.json new file mode 100644 index 00000000..0c56c46e --- /dev/null +++ b/Example/Pods/Local Podspecs/Doric.podspec.json @@ -0,0 +1,46 @@ +{ + "name": "Doric", + "version": "0.1.0", + "summary": "A short description of Doric.", + "description": "TODO: Add long description of the pod here.", + "homepage": "https://github.com/doric-pub/doric", + "license": { + "type": "Apache-2.0", + "file": "LICENSE" + }, + "authors": { + "pengfei.zhou": "pengfeizhou@foxmail.com" + }, + "source": { + "git": "git@github.com:penfeizhou/doric.git", + "tag": "0.1.0" + }, + "platforms": { + "ios": "8.0" + }, + "source_files": "Pod/Classes/**/*", + "resources": "Pod/Assets/*.js", + "resource_bundles": { + "Doric": [ + "Pod/Assets/**/*" + ] + }, + "public_header_files": "Pod/Classes/**/*.h", + "dependencies": { + "YYWebImage": [ + "~>1.0.5" + ], + "YYImage/WebP": [ + + ], + "SocketRocket": [ + "~> 0.5.1" + ], + "GCDWebServer": [ + "~> 3.0" + ], + "YYCache": [ + "~> 1.0.4" + ] + } +} diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock new file mode 100644 index 00000000..93a0efb8 --- /dev/null +++ b/Example/Pods/Manifest.lock @@ -0,0 +1,47 @@ +PODS: + - Doric (0.1.0): + - GCDWebServer (~> 3.0) + - SocketRocket (~> 0.5.1) + - YYCache (~> 1.0.4) + - YYImage/WebP + - YYWebImage (~> 1.0.5) + - GCDWebServer (3.5.3): + - GCDWebServer/Core (= 3.5.3) + - GCDWebServer/Core (3.5.3) + - SocketRocket (0.5.1) + - YYCache (1.0.4) + - YYImage (1.0.4): + - YYImage/Core (= 1.0.4) + - YYImage/Core (1.0.4) + - YYImage/WebP (1.0.4): + - YYImage/Core + - YYWebImage (1.0.5): + - YYCache + - YYImage + +DEPENDENCIES: + - Doric (from `../`) + +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - GCDWebServer + - SocketRocket + - YYCache + - YYImage + - YYWebImage + +EXTERNAL SOURCES: + Doric: + :path: "../" + +SPEC CHECKSUMS: + Doric: 38ac111ee84ca27c3838f65f286daf11b537801c + GCDWebServer: c0ab22c73e1b84f358d1e2f74bf6afd1c60829f2 + SocketRocket: d57c7159b83c3c6655745cd15302aa24b6bae531 + YYCache: 8105b6638f5e849296c71f331ff83891a4942952 + YYImage: 1e1b62a9997399593e4b9c4ecfbbabbf1d3f3b54 + YYWebImage: 5f7f36aee2ae293f016d418c7d6ba05c4863e928 + +PODFILE CHECKSUM: 012563d71439e7e33e976dca3b59664ed56cee39 + +COCOAPODS: 1.7.5 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 00000000..162cf271 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,2497 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 51; + objects = { + +/* Begin PBXBuildFile section */ + 00612BA0FDFFF760AA31897B256552D3 /* DoricSwipeRefreshLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A08665774EAAEF8A1660FA1D111197E /* DoricSwipeRefreshLayout.m */; }; + 01225045F0F04131A2DCCB419C5A43AF /* MKAnnotationView+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 42D503ACEA2717C15EB4DF8CF7A201FE /* MKAnnotationView+YYWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 02F04EB7E8D481AF83AF79996BD87792 /* GCDWebServer-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E45811603BF8F9506F73F073CF69DED /* GCDWebServer-dummy.m */; }; + 03082882CBBA1667A93B7D61BC55B4B4 /* DoricBridgeExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 393ABDC63D186E9C4B3FE6BF2702A7F0 /* DoricBridgeExtension.m */; }; + 046D4C719884BEE359F3E4056B3ADC91 /* YYWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = F4CDB6C6F9D82E80CAAB690123B906B1 /* YYWebImageOperation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 071B7DACEB0E33381A899175AD7719CA /* UIButton+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D1FEE803DDD7EDF75D50BC2463E64D7 /* UIButton+YYWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07EB9BB703FC850650DC41BEA946EA62 /* NSString+JsonString.m in Sources */ = {isa = PBXBuildFile; fileRef = 926E73E6AFC56158E380B54AB31357C8 /* NSString+JsonString.m */; }; + 08AF19B42AB684E88852CD6CB8A3AA75 /* DoricNativePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = D9F3BD70EDB58FADFA2469045295B9F0 /* DoricNativePlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08C8A6242B5F8A6D3A5817FF9416A518 /* YYFrameImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F0D56623E9801EA024276066A9F82DF /* YYFrameImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08EF09EB19754EE509818C5790D31DA9 /* DoricFlowLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 5160B449E0CB6266AA04E0124E1C9177 /* DoricFlowLayoutNode.m */; }; + 0B59A1F5BD1F123DB97060971DCF1D99 /* CALayer+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BD06F78C15864BFD45D5B8A25C3998C /* CALayer+YYWebImage.m */; }; + 0CC1B3B497098C4159B8A348C85EC4B3 /* YYDiskCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 297A5C040632A2268999EFE516D8BDA8 /* YYDiskCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0D2A7AA3E2BA05FEB6CC5463F9BEFF15 /* DoricSlideItemNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A0D31EB38392CD7A552D20173BFE8F8 /* DoricSlideItemNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 11B5C2686382CB0A191CBB1065B398B1 /* YYFrameImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 23D1B9EB936178579F8FE3397E1E520B /* YYFrameImage.m */; }; + 11C9CB703C2C92A588EA39CCFE5BCBC2 /* DoricRootNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CB646B53BBE623587150E6AC6766F116 /* DoricRootNode.m */; }; + 1253265B1B37678C169BF6A10A260F9E /* DoricModalPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 4299E4F7E5CCB5540DF92919DFFEDF04 /* DoricModalPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 144143A659E0FEC033EB44B5C1707BCA /* DoricUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 74F34A3EFBF17EEBFC54EF2F762160E9 /* DoricUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 148E041F6FE689C65ECC968D22391F6B /* DoricExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = BE821F4AD3FE9FD0AE2CDE4A0CB0046C /* DoricExtensions.m */; }; + 15A100A4553D6DAA81BBF7C892BADCA4 /* Doric-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E8B1A44958B7CD262D3DBC144361926 /* Doric-dummy.m */; }; + 191E9735AC97FC3CEE416088EC325F62 /* DoricConstant.h in Headers */ = {isa = PBXBuildFile; fileRef = 194FF25327094949F8678C52FEF82DB0 /* DoricConstant.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1BA55E660DBDCCE258A0E2136464ABD7 /* YYCache-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BE10DD8B0A5B83FCC0B288E5B0A18E3 /* YYCache-dummy.m */; }; + 1D68CC8FCA5AD66ACB98AC5A90B8D6BC /* DoricRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B9E73D207FF6B336BA1D24BB2F45D7A /* DoricRegistry.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D72D6B46AD74A46178DB3DA00B792E3 /* DoricViewNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 010065ADFC9A1AAAE9671B3153E1721C /* DoricViewNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DA05AE266C79E2CC17F3F527E34F7CC /* DoricShaderPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D189235FEF49CB09F61BBF1E61F027C /* DoricShaderPlugin.m */; }; + 1DC222879921DD8E01BDCA6348F0FAEF /* UIImage+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 897E4027B05E43D194A2F5003AD48C9F /* UIImage+YYWebImage.m */; }; + 2285FC52EAE17821471935D517C7DACB /* DoricViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D6D5146022097BDD38DF3E944B756D91 /* DoricViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22B9F8152B9E980E1FEB00B0CA6B27BB /* YYImageCoder.h in Headers */ = {isa = PBXBuildFile; fileRef = F15350531BD5482A0A2999F0125F07C0 /* YYImageCoder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 235867C4157F363474F02CFECB820F45 /* DoricScrollerNode.m in Sources */ = {isa = PBXBuildFile; fileRef = CC27308520C53C314813857696C87F5A /* DoricScrollerNode.m */; }; + 246C99114EE2CC85724B2F425B51D787 /* DoricShaderPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 52E7BB0575F9CA51BC44B597B2E61004 /* DoricShaderPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 27CAB568DB504CAB9E87A5949ACBF92A /* UIButton+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EA8656B3E5CB824E7FFE065291CE2A2 /* UIButton+YYWebImage.m */; }; + 289FEAACBCE2F0DF88ABB6978CFA4AC9 /* YYCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E91879C3619D14D5D1DDA6497E1BA4D /* YYCache.m */; }; + 29F425B1A1A60C85C87E2EA6A84CCBF1 /* DoricTextNode.h in Headers */ = {isa = PBXBuildFile; fileRef = CE2C4FAB25A4BE2CDB1080B7F5E022BA /* DoricTextNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2ADB39CC8762C3F34068C0AE84DDCFF4 /* YYSpriteSheetImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 59C5E7984250BADCE0464A5A7AE3A4AC /* YYSpriteSheetImage.m */; }; + 2BF2F43EB0EDA27FBF764B004723F8F9 /* DoricStoragePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 71EE75F7A7546F0B0B4CAAABC3A1A221 /* DoricStoragePlugin.m */; }; + 2D97BA46A9241177D41D943032EB6386 /* GCDWebServerDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ED20AF454A53D1112EA705702F141B8 /* GCDWebServerDataResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2F5FF6C6FBEE2F4E3BF522CBA1D5ABDC /* YYMemoryCache.m in Sources */ = {isa = PBXBuildFile; fileRef = ACBEDCADBB031E9C2FD75BB370970B85 /* YYMemoryCache.m */; }; + 325A01C30B880AEE4052C5FFABC08513 /* DoricHLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7CDE30A80DC94398F86F48D99C4F77B0 /* DoricHLayoutNode.m */; }; + 33FA845C063B814C8EEEF56B48CD41F8 /* DoricLayouts.h in Headers */ = {isa = PBXBuildFile; fileRef = 91DA09580FAA07E0536E1A1A2629D357 /* DoricLayouts.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 34ADBE5772A6192B7B304B0004D12A75 /* DoricLayouts.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E3E64E2684AC22559A4B60F71F9D093 /* DoricLayouts.m */; }; + 35AA6FEA17185BA5249C86BF97CBBAB5 /* GCDWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 7112332F6BD7610F1B869696C2154AC5 /* GCDWebServer.m */; }; + 35E55CC007A4866A1F5E3ADE81679130 /* CALayer+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = B99A3A34AEE3672CEEDE0A236C330C5B /* CALayer+YYWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3683FDAA91B21FEF6656962C0B18E61B /* YYImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 184188E0BB292926A6800D9F590C1F9E /* YYImage-dummy.m */; }; + 3721F80C3FDE8A2B101A119D78201031 /* YYSpriteSheetImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B7668033E6256C31E99870A20817F18 /* YYSpriteSheetImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38B0845A4B83CE0959531E40A36AADC4 /* YYWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D9C1B314EECDF555386CE99356E5E8CA /* YYWebImageManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3925A9BD5798E09BE65375ED85D5A080 /* DoricGroupNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ADD883025D3EFB87B7F07F9193AD2C5 /* DoricGroupNode.m */; }; + 39B36A38566CBE323E76AE77CF7F14C8 /* GCDWebServerStreamedResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = E22AAD1FD657A163541F19331362EB37 /* GCDWebServerStreamedResponse.m */; }; + 3F95372A5D8DB12F879C15F58389A702 /* DoricAsyncResult.m in Sources */ = {isa = PBXBuildFile; fileRef = A335B4D91BE640B6C3D4AD680B89F387 /* DoricAsyncResult.m */; }; + 3F9991E0D126667F253AFD5ADE153D75 /* GCDWebServerResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = FAA54994F6C4CB7A1FB7BE3D563728F1 /* GCDWebServerResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 414869E5655141E747BB94588B59075B /* DoricMainBundleJSLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BA6819C98E9CC361D6FA297291BA04C /* DoricMainBundleJSLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 415078A044EA3AF3C8099845471A1FC9 /* DoricLoaderProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = B732C93FEF68A791A00E07F7A99C1918 /* DoricLoaderProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4152104C6EDDADD63E2A0FD4346C704A /* DoricMainBundleJSLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E9713FBFF7F5E5044E6D47719303B01 /* DoricMainBundleJSLoader.m */; }; + 41E53FC8F7F5F7443EA81735B185621F /* GCDWebServerDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F8C78BC8A578353725FDC61B593A1215 /* GCDWebServerDataResponse.m */; }; + 431B1130829E710EA3C4334BB232430A /* DoricJSCoreExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = E86208B42727852B3E99D5974D3C200D /* DoricJSCoreExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 43E035EA4D7778C3A5750C4AA067D517 /* DoricFlowLayoutItemNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2090560BF70593C57CA6023743148E11 /* DoricFlowLayoutItemNode.m */; }; + 450A3D0C5E5889C279AC63532D0409AD /* DoricImageNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 74873EAB3FB9D4C0483B89BAF77BA343 /* DoricImageNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 454BDBC91B37775CE9FEAED5EB98A318 /* DoricContextHolder.m in Sources */ = {isa = PBXBuildFile; fileRef = 60848AB93046FA9180CA87F3E762625D /* DoricContextHolder.m */; }; + 456B4EDB3C253A44406F77BC05A674DF /* GCDWebServerRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 957FAE9188CA957E24FA4ED47EA9622F /* GCDWebServerRequest.m */; }; + 45B6A13373ABB67043AC103DC249C1B3 /* DoricContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2F0A74FC8C6533C7F11B5FB037D850 /* DoricContext.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46869F78B152AA301623F3FE82F6C0E3 /* DoricAsyncResult.h in Headers */ = {isa = PBXBuildFile; fileRef = DF75BDF041CCE69AB4472C081D5BB413 /* DoricAsyncResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 469A1604CBB39942455BBDCC31C15BA3 /* bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0C6AA7C8B725DA881A77BA01E3C34442 /* bundle */; }; + 46C1F76C0AD5370A5F5C10425F0F2BAE /* DoricStoragePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BBDF9C8B9FB6CF5A8749EB21092432B /* DoricStoragePlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46C7437D30623CA97CA6E34487731AB9 /* DoricRefreshableNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 26D78EFF40478832FD5657A597DE1AF7 /* DoricRefreshableNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 49CFE195ADFA55E91789E15D0C87C01D /* Pods-ExampleTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A44D4CFEB27EB7F87F52864C6B32A80 /* Pods-ExampleTests-dummy.m */; }; + 4D1906A236B1E3163D1F273CA7504B1B /* DoricImageNode.m in Sources */ = {isa = PBXBuildFile; fileRef = DE98B1DF2576CD010FCE9BEDE09839B3 /* DoricImageNode.m */; }; + 4D1F2333AFCA191C99238E2F7555D6C0 /* DoricRootNode.h in Headers */ = {isa = PBXBuildFile; fileRef = D67FDB6FFB2698EC2F221337BFD02417 /* DoricRootNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4E6CF5CCD8D1EC5E9A646749383DEC66 /* DoricNavigatorPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = E81407FCC09BBCDBEE1EC5A7CEC70FB8 /* DoricNavigatorPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4EA7628A9D84272317EB18D602CB6101 /* DoricJSRemoteExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 62B1BB46C6104B4699E35A59FBDCE1B3 /* DoricJSRemoteExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5117ED4BE4507C48781C5C3DDF810D31 /* DoricNavBarPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AAD7381E4B6574C4526FBC79BA20CDE /* DoricNavBarPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 517E021259A0510131206568BD7128CC /* DoricScrollerNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C30CC1ECCC7B3952D3947A068E1C965 /* DoricScrollerNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 525B0D4969B3DC70F910745701B6FFDE /* YYKVStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 27C5EC2FB50F0055581B04397C8FCE53 /* YYKVStorage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 528525C1C62D4C0D269D0ADEC868C28F /* DoricFlowLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C15572E97B2FF255C7711CA6F2CAF5D /* DoricFlowLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5374F9AB9AA0600E3CCA16E92C8896DF /* GCDWebServerMultiPartFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 74D5C5C6BF3910CB033C8FF9A117A6BF /* GCDWebServerMultiPartFormRequest.m */; }; + 53D32F9170417C4D434CE02C29D28D6D /* DoricJSRemoteExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = D69ACC0B5B7679176EAE83C369DE3C68 /* DoricJSRemoteExecutor.m */; }; + 54EF62B95670DDDF59F337561BA72092 /* GCDWebServerURLEncodedFormRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F249CF0C4C6FE10EDDE26089800C1DA /* GCDWebServerURLEncodedFormRequest.m */; }; + 56E0DDB21CAA1DB9B2209F2F10C5CDFC /* DoricPopoverPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5F2AD14C3EB39CB7A069965B83AF84 /* DoricPopoverPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 58EAEE34AF06823DB5089E796271876E /* DoricJSLoaderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A7F3FF1FB691A3120E58F78CD10E6144 /* DoricJSLoaderManager.m */; }; + 59186150B3A10FED46BB81E923BC3803 /* GCDWebServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 06403BCF3EAD8E815A6E853490C3AD68 /* GCDWebServerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5A6F8B4FA356338E0C4F7E7BF66DF665 /* DoricJSRemoteArgType.m in Sources */ = {isa = PBXBuildFile; fileRef = 796A5DCDCA570E615FD646C000E98BB7 /* DoricJSRemoteArgType.m */; }; + 5BECF1ACCAAAEBA8D91A27C0A8202E95 /* Pods-ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */; }; + 5C6582CABB0B8973C08D1654AA69B835 /* YYImage.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE4F0A156BA817D331B8F2B08D52C94 /* YYImage.m */; }; + 5CD6C1E489C8975D293C7C8EBE642359 /* SocketRocket.h in Headers */ = {isa = PBXBuildFile; fileRef = A2A8B0BD64E3EE6FD74E776143CEABBD /* SocketRocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5DDE21F723A5F11642AE78829F3E48E2 /* DoricJSEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 47A38F2A154C0A098F399ACF6A6BEB0A /* DoricJSEngine.m */; }; + 5EB1DD47EC3AC8BA4BF3D04B510FCDC5 /* DoricNavigatorDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 728D29C57333CFD144D9FEBA48C43D24 /* DoricNavigatorDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 601AA4A9A51A6295EA0C587E314B4878 /* DoricContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F3007DD50A74B00DA2B7C46EC8884AE /* DoricContext.m */; }; + 628C00DE711BDAF2D01F87D4E3F507C9 /* DoricDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 37FC112ED3BAB91DC102CE3A608F44D8 /* DoricDriver.m */; }; + 642A88A3A60378104204D90AF865DCE7 /* Pods-Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */; }; + 64A7E44B95ADC998CAC69B4173F28F5D /* DoricPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 30D26C72C541C3C71C71985CFFAA9FBB /* DoricPanel.m */; }; + 660C17830ED9DAF3CD14FEFEC16572D1 /* GCDWebServerHTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D2AD00F375FC11C8A1A006F89F22DA9 /* GCDWebServerHTTPStatusCodes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 690D114CE33D424D91E65BCC5AEB0666 /* DoricJSLoaderManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E954660781F9D33A67ED91C8301AEF7D /* DoricJSLoaderManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 695907AB3DC305929A1E5CB534DD6788 /* DoricListItemNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D3C44C69746FC60AE1C36AAC8CA1214 /* DoricListItemNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6C945AC43FC9252239BD4EFA591834C4 /* GCDWebServerFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 99A078A2150409AF2197032DC49D9154 /* GCDWebServerFunctions.m */; }; + 6CB9C3842889740D1A1FED2D7A4E839D /* DoricListNode.h in Headers */ = {isa = PBXBuildFile; fileRef = A0267CAB68267A442DFACDDC267F8889 /* DoricListNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6DEB097B36E0E54C1AB014D6F03C022D /* GCDWebServerDataRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = E5BAB81F1BAD8C5801EF364BA119C61E /* GCDWebServerDataRequest.m */; }; + 6E3B68A0E99E0B47F320EF2331E19B7A /* GCDWebServerConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E538FAF2C02B15BB10C7FD3F0F7A1E7 /* GCDWebServerConnection.m */; }; + 6E5E67F3816F41DDADE88F7461B1DC68 /* DoricGroupNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF7D823AD5D2ECD06C2F348E4C6A5EA /* DoricGroupNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7134381ADFB49E13A492C8842DD9136E /* YYWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6358ABB187AFEBA11B8651FCEAA62B65 /* YYWebImage-dummy.m */; }; + 715F955E5C63DB36EB84F6A043C89F51 /* GCDWebServerFileResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F0CB0F446B24D888852B2364F36277F /* GCDWebServerFileResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 742D298906BD7E18FDE81D0690CE6707 /* SRWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 4180A5D36AD0F103338812693D8B57A6 /* SRWebSocket.m */; }; + 74DD6E1DC8F5E8EAD77AB903DB2CF145 /* DoricSwipeRefreshLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 43EDD5936F96DC2FA156A398FD5B439A /* DoricSwipeRefreshLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 785D30ACE0CA96360935E2B84255B603 /* SocketRocket-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FDCFEBA818269E535D32E1DD7BB8346B /* SocketRocket-dummy.m */; }; + 7913064CD98682308E4DB915BF9035C2 /* DoricPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 0743ED4C66205A494631BAF9B34017CB /* DoricPromise.m */; }; + 7A24C07A15E0F108E4737F07A7027B15 /* DoricPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = DB1B8FA21DCFCF77D0E911125BB4D6C4 /* DoricPanel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C89E8BE51394D7BAEA8EC62422F805D /* DoricContextManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 345221108007185F555BBEFC3B40A397 /* DoricContextManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7DAB96BECDDC0A6A989C3B33D4F0E08F /* DoricExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 831A1D9F56EC0EBE6FF18C4182F5A398 /* DoricExtensions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8189756A6783D7BE61E08FE409BFD871 /* GCDWebServerDataRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B3784257BDE2761D43DC51427849586 /* GCDWebServerDataRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8203F1FE8748893B7FB0F9330E74E40E /* GCDWebServerRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 156A26BD50C08C5F6154CCD8E2EF92BC /* GCDWebServerRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8304203ACC6B6C1F74F891D156D76CFC /* NSString+JsonString.h in Headers */ = {isa = PBXBuildFile; fileRef = 4048EC8080915DFB5BB7BDBA40D63859 /* NSString+JsonString.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 83FE02E47F9826D81EA6A3848189C301 /* DoricSuperNode.h in Headers */ = {isa = PBXBuildFile; fileRef = E06ED02D51FF564980F5EE60C2D0BF3C /* DoricSuperNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 85FCA81F31A3D7F20A3B8573E4EC0CCD /* DoricNativePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 16C752E94DC71B16E717B961DFA88C27 /* DoricNativePlugin.m */; }; + 8890A8A88FA2ED811319B234B388321C /* GCDWebServerErrorResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 02EAAD3467FB5D76D3EBDC713104BA9C /* GCDWebServerErrorResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 89F0597FC8000460FB5CC2E7FC6319F9 /* DoricViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8471854325653CC0587DFBA14F0E5881 /* DoricViewController.m */; }; + 8BF99A86864A6A5A96D92FDB6E0D4FDB /* GCDWebServerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = D10710C759F21524183FD049995772B9 /* GCDWebServerConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8D1B144A742F49683BE2828D810E4F3E /* DoricJSCoreExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA54A1EB9EB8E6A1B4706A0833E6005 /* DoricJSCoreExecutor.m */; }; + 90CA1D7B5E55DD73D1E54DF69ABAF037 /* YYKVStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = EB0D8BB22CA3C0215357241370EAEAC6 /* YYKVStorage.m */; }; + 9456535481F6736CF42CC6C0CA0F05CC /* DoricConstant.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DCCA68E1E5ABBC70D3D07B2CC8F256F /* DoricConstant.m */; }; + 96A0EDF8241D65DBEB01DDEA2551B6AB /* YYAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 50ED2806A9B5F444A52A22655766AF40 /* YYAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9BB07ECB1EFF8E745E9185C4E2C27366 /* DoricNavBarDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = EA15D96F597B03524D56ACE6456BA273 /* DoricNavBarDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9BDB5E4397AAD710F4446BA3952A2060 /* Doric.h in Headers */ = {isa = PBXBuildFile; fileRef = CF0E2A75C9ED58C64D9679A0FD5B5736 /* Doric.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E438C93DCD92B560E17734920ECA41E /* DoricNavigatorPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = B07CF2A8DE9FFCA72BFC4892C4B07622 /* DoricNavigatorPlugin.m */; }; + A44016F8566693840BB920EA21DB7500 /* DoricWSClient.m in Sources */ = {isa = PBXBuildFile; fileRef = F510C5557CFB6D0554B63EC63DD93696 /* DoricWSClient.m */; }; + A57D92BA915B59A21168F7BBF9D965A6 /* UIImage+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 242BBB3556D614E9BAC17FD3A6A6165B /* UIImage+YYWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A595FE2D135AA39316E3E3BC29297BA1 /* DoricListNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DF3AB02E400F4E40C79084448D1A559 /* DoricListNode.m */; }; + A5F7BC027290310D20EDBA4AA2217461 /* YYImageCoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B11F16372DCBEBC7EB6991994CAD36D /* YYImageCoder.m */; }; + A603D2CA37138F4E0D2DB37C781A06BF /* DoricRefreshableNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 001CAE6E5551B7443D52904059305768 /* DoricRefreshableNode.m */; }; + A8FC102FD1822315CE435B5E7E0E9D14 /* DoricHttpJSLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EE15792329EC630A175A3896C245D90 /* DoricHttpJSLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AAA8E5B65C1E2F2FF885712766554A58 /* DoricHLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0933426FA6EC94016EDA5FED7229FA53 /* DoricHLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AB84AE28B27CF582EF19D36BDC43F98B /* GCDWebServerErrorResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 19A3AC359451033E9EE30FF4A5524918 /* GCDWebServerErrorResponse.m */; }; + AC49DC5F6394CD3B4222E74C0FCC6A27 /* DoricSliderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B8591B854D2597F78D60308854D9926 /* DoricSliderNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AE50A6FC10341E2B72B7DAF028954805 /* YYAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = A03175B6FDC3D438CB6057D11FC1174B /* YYAnimatedImageView.m */; }; + B303B392A2EB6D99E98BE556D969CE6C /* GCDWebServerMultiPartFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 188F9C29A193D759B8D1D8F7329F12D3 /* GCDWebServerMultiPartFormRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B325F28821AA9ED7BB4684C3E6952965 /* UIImageView+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E8A03456D6FC2891C95938036545262 /* UIImageView+YYWebImage.m */; }; + B6B56C166B186B33A5A87C791A284F36 /* DoricVLayoutNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 00BABCE2F6DD5317484E2B251ABB7D47 /* DoricVLayoutNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B6DBD08C47B1B79A1BFB12885900AD59 /* DoricAnimatePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = F1833FF9D06D7E34248B2169098D6C2B /* DoricAnimatePlugin.m */; }; + B73DE88797B200F90C3123B9582631EB /* GCDWebServerStreamedResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 12BD78ED93E0CF7366A357A05AE3631F /* GCDWebServerStreamedResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B87B726F4418B01AF502A9E9C6119098 /* _YYWebImageSetter.m in Sources */ = {isa = PBXBuildFile; fileRef = FCAB9544BCE7D9EA4E5C5DAF6765F84A /* _YYWebImageSetter.m */; }; + B99C4ED46C0396496F882C7254E186C5 /* YYWebImageOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 37E4D0D28BB5E740A02CFA1CC47F2944 /* YYWebImageOperation.m */; }; + BB23FABE2628260AFFF63CD70FBFD25F /* UIImageView+YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = D1D1F23C13AA8F4A60395689C2A2972F /* UIImageView+YYWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BC8DFE1DD3D2B39277EEFA6D70CCF302 /* DoricFlowLayoutItemNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F7AD6923D5CCBFE31219597055CDCD1 /* DoricFlowLayoutItemNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BCCA8B4ECCE73780AF092C376700FFAA /* DoricNetworkPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 744CAADE898A5F9DBB0C6C22012B3D6D /* DoricNetworkPlugin.m */; }; + BE2A19E5C02AD94897CCDA7324827BCA /* DoricBridgeExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EE7CA83B5FDFD3AB422E44AC3D0BA54 /* DoricBridgeExtension.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE80E6672A724B9C99DFDB16291E7920 /* YYWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C13120C8E5BD1D524867899DCDD16443 /* YYWebImageManager.m */; }; + BEFD64DBD549FDA265DA763D50F83662 /* YYWebImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 97A29E9FC4A082D04395F34455FE48DC /* YYWebImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BFF89C93F769127B541C6B48460ED91D /* DoricPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D58E98F171A9E38028D0DF093EB0330 /* DoricPromise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C02DE514B2104B7F5BF56CA865D60E1D /* DoricModalPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = FC17BE12FE8C2FFCCB253BF7E707FA2B /* DoricModalPlugin.m */; }; + C11CBD0FC0CBA29F1F2DAC1AC37AF364 /* _YYWebImageSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 80C87054F1E43F5CF294CF98FD364DCB /* _YYWebImageSetter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C3BC5A74FD1503DFA41D5A4E5EC3B672 /* DoricViewNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2C739B7C9969E47087480B3F81EA1E14 /* DoricViewNode.m */; }; + C830AF2D550187C31E5AC8A46AA4E76F /* UIView+Doric.h in Headers */ = {isa = PBXBuildFile; fileRef = D61A91E711568804C04D530ECA84B347 /* UIView+Doric.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C83B012BD9B3B5F541AB506122EF966C /* SRWebSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FA454CFC822DF97658EA00D249150DB /* SRWebSocket.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C907F8799CB0E289D53A5D7BE38EE6FF /* MKAnnotationView+YYWebImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A7242990DCCE6D3F50B2C608F8C7DAA /* MKAnnotationView+YYWebImage.m */; }; + CA21DC6FA6E5CB45B41924611ADC6C9A /* DoricNetworkPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = DF8E338C24524A360CD70AE8C5C4BD9B /* DoricNetworkPlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC7DF4168FA66F94C7FAC4722D625DE7 /* YYDiskCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F0A42D3B9F17159C2E8EF209BF368966 /* YYDiskCache.m */; }; + CCB8E3339DFB68E7605BE381F977AEF9 /* GCDWebServerURLEncodedFormRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AE526EFF2B40DF374482ED45DBF4112 /* GCDWebServerURLEncodedFormRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE2B11F33301B8F7CEAB17059F0DF2EA /* DoricContextHolder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2545576A3AA348E9CF7FC785DF90BCDE /* DoricContextHolder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CEBDF3FD9ABF5D2B3C326B21F58D4640 /* DoricJSExecutorProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = CC658E0105F8AB9C2152B76052BC481C /* DoricJSExecutorProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D1014DBF2654D76D637022D52CC87885 /* GCDWebServerFileRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AC63A48456BCE52364F8F75F11114A6 /* GCDWebServerFileRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D23D009449BDA013320B83E96FD34F0C /* DoricListItemNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 9727EA66A9F093D8FA1308F11FDB18A9 /* DoricListItemNode.m */; }; + D4A9AB151E41873EBA01F779AC2DADF4 /* DoricAnimatePlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = F431AB7C271DD9A3026FB8E02A680F7F /* DoricAnimatePlugin.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D67AD5E402E954CDE1C16B744E39BDB1 /* DoricJSEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = B9F783173337956660EADDB6852F3988 /* DoricJSEngine.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D69495C5934065FB2F245BA3A332DE86 /* DoricSliderNode.m in Sources */ = {isa = PBXBuildFile; fileRef = EB2E14EF40F3D133983D89FB98A23289 /* DoricSliderNode.m */; }; + D840F5A06B9893F618D61BB4983DF373 /* YYCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0EBC58D82F141C654BB539D797418A5B /* YYCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D8F9C2440532E05025C22711C00FEDF4 /* GCDWebServerResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 250467AAE5F772A373866D1B28EC4209 /* GCDWebServerResponse.m */; }; + D9B4599A181CC306A7435AD154685666 /* GCDWebServerFileRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = CA9CDEF595948D04DA1741FF71C81D9D /* GCDWebServerFileRequest.m */; }; + DA5C200F877DDC6B376E80FC59DB5810 /* DoricPopoverPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = A6E6D86C860C651FF21E3259F3848538 /* DoricPopoverPlugin.m */; }; + DD862728E67ABA06851177E86348C67D /* DoricStackNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C7DFC32B543A9AC293FA82E57A2EEF45 /* DoricStackNode.m */; }; + DDD55545A6FA8C0944DA1A34B564F876 /* DoricWSClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 74700F4F68E283F40E2DE79D53B9523A /* DoricWSClient.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE1EEF389F8CB34534EAF7F8E4E6A7B7 /* GCDWebServerFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 75453DA51095496D971EC3387AAA68AB /* GCDWebServerFileResponse.m */; }; + DECC4D2D1BE5BC5F10509E4C42C1A898 /* DoricHttpJSLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = F1CDF99B5A1018AEF83D898999D07779 /* DoricHttpJSLoader.m */; }; + E5C994E9D29FEFF8CFA6A824D99EAB05 /* YYImage.h in Headers */ = {isa = PBXBuildFile; fileRef = B02FB78D23DCB6E556DB28E6788FBC32 /* YYImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E661D35C67269E4A6F71760F5E2A2432 /* DoricSlideItemNode.m in Sources */ = {isa = PBXBuildFile; fileRef = FE05C6D16D438BF63DA4C5FBD51D65BD /* DoricSlideItemNode.m */; }; + E6F8BC0728AC2154EF471B332F30ECB2 /* YYImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 24541E60AC8A9C984313EC52106ADB35 /* YYImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E95755F0A09A57B158365C41F25AE7A7 /* YYMemoryCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A3E3FB0D781D456B0A7EAA3E2F963F5 /* YYMemoryCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EAC6F94876E051A213D3D556453486CC /* DoricVLayoutNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B103E58B040A9B8A692C37CDA18D30DB /* DoricVLayoutNode.m */; }; + ECE9EB5004C807E82D576D1E4AFA13D2 /* DoricRegistry.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C5F8B8A7C7449D22667D8BE1ECCF225 /* DoricRegistry.m */; }; + ECF57F8EB1CD164D28E1FA2D172F2A1A /* DoricJSRemoteArgType.h in Headers */ = {isa = PBXBuildFile; fileRef = 23763066D1E210BB7DA34D895A030912 /* DoricJSRemoteArgType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED616E6493400CB7638DE29CCCD7ABF6 /* DoricDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = E633C6EE0A00DFDEC7C940219332CB2B /* DoricDriver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F0DD942BF93F6B6E560D77691E37FD4B /* GCDWebServer.h in Headers */ = {isa = PBXBuildFile; fileRef = EC1EF6312171A3F3BBC065A16A025DCD /* GCDWebServer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F29D4EC239C9F0D6705C9E1CC22576F9 /* DoricTextNode.m in Sources */ = {isa = PBXBuildFile; fileRef = EBD7F2437166A99BA4B48F7B4A0D0A3D /* DoricTextNode.m */; }; + F966178401EEC590EF0A26C79481E4D1 /* DoricSuperNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AFA360A449171381B173D42448150B3 /* DoricSuperNode.m */; }; + FA22D26FA65988469855488530673176 /* DoricContextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B222B94B13B3C219D4E51EDF297508AE /* DoricContextManager.m */; }; + FABB9B51C2FFDED22D686E59516612D0 /* DoricUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = EFC7A426556D925CB8F88FFEF8A86603 /* DoricUtil.m */; }; + FBBC942DFE11B502C5C608D9BABBE130 /* UIView+Doric.m in Sources */ = {isa = PBXBuildFile; fileRef = 480534A816C4B0024FA369A3C407F59A /* UIView+Doric.m */; }; + FD1DCE441D6702175FC35DE58D019CAA /* DoricStackNode.h in Headers */ = {isa = PBXBuildFile; fileRef = DA02943572CEA445F2F8653C90453DB7 /* DoricStackNode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD404E60462D931E6041A96D39DC024A /* GCDWebServerFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D40E088948B09DDDA870482BF145738 /* GCDWebServerFunctions.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE345403F7CCECEE9CBF80C4C2969636 /* YYImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = BCF14F6215D2D31E2C3EE1590B48EA6B /* YYImageCache.m */; }; + FF61AAFF955979FB5139A45AAA356476 /* DoricNavBarPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 49A782176196E9E7E6302765A505C4DF /* DoricNavBarPlugin.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 2313449E8824345CBDB9ED4D3E3BCF32 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1948D0B63D2CF6A48E18B0B292BC6091; + remoteInfo = SocketRocket; + }; + 253670C8605F5FFDE1D6606BA634381B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0AEE99A309977BD12A049FF48AF9BA4B; + remoteInfo = "Pods-Example"; + }; + 5D80C63145B83493E429D6C7B05394BB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 488E8C830C5A5694EE916251B9ADAADA; + remoteInfo = YYWebImage; + }; + 5EF22E1C74B909EA29E090C50719BBD9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 488E8C830C5A5694EE916251B9ADAADA; + remoteInfo = YYWebImage; + }; + 5F800553AF429EC9C1F3C6E5C826D04E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1948D0B63D2CF6A48E18B0B292BC6091; + remoteInfo = SocketRocket; + }; + 751D1FF2822550D322644F951A7BDA9F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0AEE99A309977BD12A049FF48AF9BA4B; + remoteInfo = "Pods-Example"; + }; + 77CF2158783C6995303A85B86AFD0AB9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CFDAE6EB02F58B9A37CADCF439AE6082; + remoteInfo = YYCache; + }; + 8479FE8F8C2EC600F1603EF1BFD6CC05 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 822E44240F2922DAB12018A6B649BD19; + remoteInfo = YYImage; + }; + 856CD558A6A4C84FD434D6D2A50A352C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CFDAE6EB02F58B9A37CADCF439AE6082; + remoteInfo = YYCache; + }; + 8BCCEE3CE39180DCABAD08A2A88ABED2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5305059FAA2A7B3246F1874D047D8000; + remoteInfo = "Doric-Doric"; + }; + A79DF282FD90B4C36A64A1AF9B145EDB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD904F32069787EFB2DFFE05EB82F5BD; + remoteInfo = GCDWebServer; + }; + BE67A29C8EE3211F6E4264C92C4C5784 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 822E44240F2922DAB12018A6B649BD19; + remoteInfo = YYImage; + }; + CBBE8CF6CC81DB32DA2DDF836FC41947 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = AD904F32069787EFB2DFFE05EB82F5BD; + remoteInfo = GCDWebServer; + }; + D478AD36DA51D0362FE11615C051F15B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3467588C9AC1920A96217C14EB70DA40; + remoteInfo = Doric; + }; + DD8E4C66891B230FFF1D4817E48DAB1A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 822E44240F2922DAB12018A6B649BD19; + remoteInfo = YYImage; + }; + F5D4CA413DB8AE6664EA56196D8C0C4A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = CFDAE6EB02F58B9A37CADCF439AE6082; + remoteInfo = YYCache; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 001CAE6E5551B7443D52904059305768 /* DoricRefreshableNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricRefreshableNode.m; sourceTree = ""; }; + 00BABCE2F6DD5317484E2B251ABB7D47 /* DoricVLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricVLayoutNode.h; sourceTree = ""; }; + 010065ADFC9A1AAAE9671B3153E1721C /* DoricViewNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricViewNode.h; sourceTree = ""; }; + 02EAAD3467FB5D76D3EBDC713104BA9C /* GCDWebServerErrorResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerErrorResponse.h; path = GCDWebServer/Responses/GCDWebServerErrorResponse.h; sourceTree = ""; }; + 06403BCF3EAD8E815A6E853490C3AD68 /* GCDWebServerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerPrivate.h; path = GCDWebServer/Core/GCDWebServerPrivate.h; sourceTree = ""; }; + 0743ED4C66205A494631BAF9B34017CB /* DoricPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricPromise.m; sourceTree = ""; }; + 0933426FA6EC94016EDA5FED7229FA53 /* DoricHLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricHLayoutNode.h; sourceTree = ""; }; + 0A0D31EB38392CD7A552D20173BFE8F8 /* DoricSlideItemNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricSlideItemNode.h; sourceTree = ""; }; + 0AC63A48456BCE52364F8F75F11114A6 /* GCDWebServerFileRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileRequest.h; path = GCDWebServer/Requests/GCDWebServerFileRequest.h; sourceTree = ""; }; + 0C6AA7C8B725DA881A77BA01E3C34442 /* bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder; name = bundle; path = "../js-framework/bundle"; sourceTree = ""; }; + 0C6F4829D47D1826F47CDC4264F9F6A8 /* libYYImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libYYImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 0D1FEE803DDD7EDF75D50BC2463E64D7 /* UIButton+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+YYWebImage.h"; path = "YYWebImage/Categories/UIButton+YYWebImage.h"; sourceTree = ""; }; + 0EBC58D82F141C654BB539D797418A5B /* YYCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYCache.h; path = YYCache/YYCache.h; sourceTree = ""; }; + 0F249CF0C4C6FE10EDDE26089800C1DA /* GCDWebServerURLEncodedFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerURLEncodedFormRequest.m; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.m; sourceTree = ""; }; + 0FA454CFC822DF97658EA00D249150DB /* SRWebSocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SRWebSocket.h; path = SocketRocket/SRWebSocket.h; sourceTree = ""; }; + 12BD78ED93E0CF7366A357A05AE3631F /* GCDWebServerStreamedResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerStreamedResponse.h; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.h; sourceTree = ""; }; + 156A26BD50C08C5F6154CCD8E2EF92BC /* GCDWebServerRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerRequest.h; path = GCDWebServer/Core/GCDWebServerRequest.h; sourceTree = ""; }; + 16C752E94DC71B16E717B961DFA88C27 /* DoricNativePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNativePlugin.m; sourceTree = ""; }; + 184188E0BB292926A6800D9F590C1F9E /* YYImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYImage-dummy.m"; sourceTree = ""; }; + 188F9C29A193D759B8D1D8F7329F12D3 /* GCDWebServerMultiPartFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerMultiPartFormRequest.h; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.h; sourceTree = ""; }; + 194FF25327094949F8678C52FEF82DB0 /* DoricConstant.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricConstant.h; sourceTree = ""; }; + 19A3AC359451033E9EE30FF4A5524918 /* GCDWebServerErrorResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerErrorResponse.m; path = GCDWebServer/Responses/GCDWebServerErrorResponse.m; sourceTree = ""; }; + 1ADD883025D3EFB87B7F07F9193AD2C5 /* DoricGroupNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricGroupNode.m; sourceTree = ""; }; + 1C5F8B8A7C7449D22667D8BE1ECCF225 /* DoricRegistry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricRegistry.m; path = Pod/Classes/DoricRegistry.m; sourceTree = ""; }; + 1D40E088948B09DDDA870482BF145738 /* GCDWebServerFunctions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFunctions.h; path = GCDWebServer/Core/GCDWebServerFunctions.h; sourceTree = ""; }; + 1DC97F881F42239F4D5EE57FE5266B1F /* Pods-ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; + 1E19479558E0A9431B2B5F5A39136939 /* Doric.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Doric.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 1E2F0A74FC8C6533C7F11B5FB037D850 /* DoricContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContext.h; path = Pod/Classes/DoricContext.h; sourceTree = ""; }; + 1E538FAF2C02B15BB10C7FD3F0F7A1E7 /* GCDWebServerConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerConnection.m; path = GCDWebServer/Core/GCDWebServerConnection.m; sourceTree = ""; }; + 1ED20AF454A53D1112EA705702F141B8 /* GCDWebServerDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataResponse.h; path = GCDWebServer/Responses/GCDWebServerDataResponse.h; sourceTree = ""; }; + 1F667CC0E19EAF34E5A4119E2121F585 /* libPods-Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2090560BF70593C57CA6023743148E11 /* DoricFlowLayoutItemNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricFlowLayoutItemNode.m; sourceTree = ""; }; + 23426BADD33356B8F68F1DA4CA9D59F2 /* ResourceBundle-Doric-Doric-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-Doric-Doric-Info.plist"; sourceTree = ""; }; + 23763066D1E210BB7DA34D895A030912 /* DoricJSRemoteArgType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSRemoteArgType.h; sourceTree = ""; }; + 23D1B9EB936178579F8FE3397E1E520B /* YYFrameImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYFrameImage.m; path = YYImage/YYFrameImage.m; sourceTree = ""; }; + 242BBB3556D614E9BAC17FD3A6A6165B /* UIImage+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+YYWebImage.h"; path = "YYWebImage/Categories/UIImage+YYWebImage.h"; sourceTree = ""; }; + 24541E60AC8A9C984313EC52106ADB35 /* YYImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCache.h; path = YYWebImage/YYImageCache.h; sourceTree = ""; }; + 250467AAE5F772A373866D1B28EC4209 /* GCDWebServerResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerResponse.m; path = GCDWebServer/Core/GCDWebServerResponse.m; sourceTree = ""; }; + 2545576A3AA348E9CF7FC785DF90BCDE /* DoricContextHolder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextHolder.h; path = Pod/Classes/DoricContextHolder.h; sourceTree = ""; }; + 26D78EFF40478832FD5657A597DE1AF7 /* DoricRefreshableNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricRefreshableNode.h; sourceTree = ""; }; + 27C5EC2FB50F0055581B04397C8FCE53 /* YYKVStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYKVStorage.h; path = YYCache/YYKVStorage.h; sourceTree = ""; }; + 297A5C040632A2268999EFE516D8BDA8 /* YYDiskCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYDiskCache.h; path = YYCache/YYDiskCache.h; sourceTree = ""; }; + 2AFA360A449171381B173D42448150B3 /* DoricSuperNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricSuperNode.m; sourceTree = ""; }; + 2BD06F78C15864BFD45D5B8A25C3998C /* CALayer+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CALayer+YYWebImage.m"; path = "YYWebImage/Categories/CALayer+YYWebImage.m"; sourceTree = ""; }; + 2C739B7C9969E47087480B3F81EA1E14 /* DoricViewNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricViewNode.m; sourceTree = ""; }; + 2DF3AB02E400F4E40C79084448D1A559 /* DoricListNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricListNode.m; sourceTree = ""; }; + 2E45811603BF8F9506F73F073CF69DED /* GCDWebServer-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GCDWebServer-dummy.m"; sourceTree = ""; }; + 2EE15792329EC630A175A3896C245D90 /* DoricHttpJSLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricHttpJSLoader.h; sourceTree = ""; }; + 2EE7CA83B5FDFD3AB422E44AC3D0BA54 /* DoricBridgeExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricBridgeExtension.h; sourceTree = ""; }; + 30D26C72C541C3C71C71985CFFAA9FBB /* DoricPanel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricPanel.m; path = Pod/Classes/DoricPanel.m; sourceTree = ""; }; + 345221108007185F555BBEFC3B40A397 /* DoricContextManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricContextManager.h; path = Pod/Classes/DoricContextManager.h; sourceTree = ""; }; + 35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.debug.xcconfig"; sourceTree = ""; }; + 37E4D0D28BB5E740A02CFA1CC47F2944 /* YYWebImageOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYWebImageOperation.m; path = YYWebImage/YYWebImageOperation.m; sourceTree = ""; }; + 37FC112ED3BAB91DC102CE3A608F44D8 /* DoricDriver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricDriver.m; path = Pod/Classes/DoricDriver.m; sourceTree = ""; }; + 393ABDC63D186E9C4B3FE6BF2702A7F0 /* DoricBridgeExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricBridgeExtension.m; sourceTree = ""; }; + 3B11F16372DCBEBC7EB6991994CAD36D /* YYImageCoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCoder.m; path = YYImage/YYImageCoder.m; sourceTree = ""; }; + 3B7668033E6256C31E99870A20817F18 /* YYSpriteSheetImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYSpriteSheetImage.h; path = YYImage/YYSpriteSheetImage.h; sourceTree = ""; }; + 3D189235FEF49CB09F61BBF1E61F027C /* DoricShaderPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricShaderPlugin.m; sourceTree = ""; }; + 3E3E64E2684AC22559A4B60F71F9D093 /* DoricLayouts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricLayouts.m; sourceTree = ""; }; + 3F3007DD50A74B00DA2B7C46EC8884AE /* DoricContext.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContext.m; path = Pod/Classes/DoricContext.m; sourceTree = ""; }; + 4048EC8080915DFB5BB7BDBA40D63859 /* NSString+JsonString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+JsonString.h"; sourceTree = ""; }; + 4180A5D36AD0F103338812693D8B57A6 /* SRWebSocket.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SRWebSocket.m; path = SocketRocket/SRWebSocket.m; sourceTree = ""; }; + 4299E4F7E5CCB5540DF92919DFFEDF04 /* DoricModalPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricModalPlugin.h; sourceTree = ""; }; + 42D503ACEA2717C15EB4DF8CF7A201FE /* MKAnnotationView+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MKAnnotationView+YYWebImage.h"; path = "YYWebImage/Categories/MKAnnotationView+YYWebImage.h"; sourceTree = ""; }; + 43EDD5936F96DC2FA156A398FD5B439A /* DoricSwipeRefreshLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricSwipeRefreshLayout.h; sourceTree = ""; }; + 4426D67B66065EF97BCB0FBC9E35BEE6 /* Pods-Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Example-acknowledgements.markdown"; sourceTree = ""; }; + 47A38F2A154C0A098F399ACF6A6BEB0A /* DoricJSEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSEngine.m; sourceTree = ""; }; + 480534A816C4B0024FA369A3C407F59A /* UIView+Doric.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIView+Doric.m"; sourceTree = ""; }; + 48ACF38225AF5129416A1F090F6D3286 /* libYYCache.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libYYCache.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 49A782176196E9E7E6302765A505C4DF /* DoricNavBarPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNavBarPlugin.m; sourceTree = ""; }; + 4A6BBD5D599973673610A24AF01EF5D7 /* YYWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYWebImage.xcconfig; sourceTree = ""; }; + 4B8591B854D2597F78D60308854D9926 /* DoricSliderNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricSliderNode.h; sourceTree = ""; }; + 4C15572E97B2FF255C7711CA6F2CAF5D /* DoricFlowLayoutNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricFlowLayoutNode.h; sourceTree = ""; }; + 4D2AD00F375FC11C8A1A006F89F22DA9 /* GCDWebServerHTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerHTTPStatusCodes.h; path = GCDWebServer/Core/GCDWebServerHTTPStatusCodes.h; sourceTree = ""; }; + 4E8A03456D6FC2891C95938036545262 /* UIImageView+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+YYWebImage.m"; path = "YYWebImage/Categories/UIImageView+YYWebImage.m"; sourceTree = ""; }; + 4FC1978206616CE319648B302B05AA8A /* libYYWebImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libYYWebImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.release.xcconfig"; sourceTree = ""; }; + 50ED2806A9B5F444A52A22655766AF40 /* YYAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYAnimatedImageView.h; path = YYImage/YYAnimatedImageView.h; sourceTree = ""; }; + 5160B449E0CB6266AA04E0124E1C9177 /* DoricFlowLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricFlowLayoutNode.m; sourceTree = ""; }; + 52E7BB0575F9CA51BC44B597B2E61004 /* DoricShaderPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricShaderPlugin.h; sourceTree = ""; }; + 57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.release.xcconfig"; sourceTree = ""; }; + 59C5E7984250BADCE0464A5A7AE3A4AC /* YYSpriteSheetImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYSpriteSheetImage.m; path = YYImage/YYSpriteSheetImage.m; sourceTree = ""; }; + 5AAD7381E4B6574C4526FBC79BA20CDE /* DoricNavBarPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNavBarPlugin.h; sourceTree = ""; }; + 5BA6819C98E9CC361D6FA297291BA04C /* DoricMainBundleJSLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricMainBundleJSLoader.h; sourceTree = ""; }; + 5BD2FB5A84E2481DF889A8718306023F /* YYImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYImage.xcconfig; sourceTree = ""; }; + 5C30CC1ECCC7B3952D3947A068E1C965 /* DoricScrollerNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricScrollerNode.h; sourceTree = ""; }; + 60848AB93046FA9180CA87F3E762625D /* DoricContextHolder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextHolder.m; path = Pod/Classes/DoricContextHolder.m; sourceTree = ""; }; + 62B1BB46C6104B4699E35A59FBDCE1B3 /* DoricJSRemoteExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSRemoteExecutor.h; sourceTree = ""; }; + 630CABE8F692FCDBFD1B122A2D0CE388 /* libPods-ExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6358ABB187AFEBA11B8651FCEAA62B65 /* YYWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYWebImage-dummy.m"; sourceTree = ""; }; + 674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Example-dummy.m"; sourceTree = ""; }; + 677BC4F0CCD6EB2C9FBCB3B375E7349F /* Doric.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Doric.xcconfig; sourceTree = ""; }; + 67CCE9A47A1F1E452AF6E94DFA6F93F7 /* YYWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYWebImage-prefix.pch"; sourceTree = ""; }; + 6B3784257BDE2761D43DC51427849586 /* GCDWebServerDataRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerDataRequest.h; path = GCDWebServer/Requests/GCDWebServerDataRequest.h; sourceTree = ""; }; + 6B5F2AD14C3EB39CB7A069965B83AF84 /* DoricPopoverPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricPopoverPlugin.h; sourceTree = ""; }; + 6B9E73D207FF6B336BA1D24BB2F45D7A /* DoricRegistry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricRegistry.h; path = Pod/Classes/DoricRegistry.h; sourceTree = ""; }; + 6DCCA68E1E5ABBC70D3D07B2CC8F256F /* DoricConstant.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricConstant.m; sourceTree = ""; }; + 6E2E83CCA4E2E6955BC3C11025F963AA /* WebP.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebP.framework; path = Vendor/WebP.framework; sourceTree = ""; }; + 6EF7D823AD5D2ECD06C2F348E4C6A5EA /* DoricGroupNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricGroupNode.h; sourceTree = ""; }; + 6F0D56623E9801EA024276066A9F82DF /* YYFrameImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYFrameImage.h; path = YYImage/YYFrameImage.h; sourceTree = ""; }; + 7112332F6BD7610F1B869696C2154AC5 /* GCDWebServer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServer.m; path = GCDWebServer/Core/GCDWebServer.m; sourceTree = ""; }; + 71EE75F7A7546F0B0B4CAAABC3A1A221 /* DoricStoragePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricStoragePlugin.m; sourceTree = ""; }; + 728D29C57333CFD144D9FEBA48C43D24 /* DoricNavigatorDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNavigatorDelegate.h; sourceTree = ""; }; + 744CAADE898A5F9DBB0C6C22012B3D6D /* DoricNetworkPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNetworkPlugin.m; sourceTree = ""; }; + 74700F4F68E283F40E2DE79D53B9523A /* DoricWSClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricWSClient.h; sourceTree = ""; }; + 74873EAB3FB9D4C0483B89BAF77BA343 /* DoricImageNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricImageNode.h; sourceTree = ""; }; + 74D5C5C6BF3910CB033C8FF9A117A6BF /* GCDWebServerMultiPartFormRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerMultiPartFormRequest.m; path = GCDWebServer/Requests/GCDWebServerMultiPartFormRequest.m; sourceTree = ""; }; + 74F34A3EFBF17EEBFC54EF2F762160E9 /* DoricUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricUtil.h; sourceTree = ""; }; + 75453DA51095496D971EC3387AAA68AB /* GCDWebServerFileResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileResponse.m; path = GCDWebServer/Responses/GCDWebServerFileResponse.m; sourceTree = ""; }; + 786AB58F4C2451575BBF7722ACDE9BEB /* Pods-ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleUITests.debug.xcconfig"; sourceTree = ""; }; + 796A5DCDCA570E615FD646C000E98BB7 /* DoricJSRemoteArgType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSRemoteArgType.m; sourceTree = ""; }; + 7A3E3FB0D781D456B0A7EAA3E2F963F5 /* YYMemoryCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYMemoryCache.h; path = YYCache/YYMemoryCache.h; sourceTree = ""; }; + 7BE10DD8B0A5B83FCC0B288E5B0A18E3 /* YYCache-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "YYCache-dummy.m"; sourceTree = ""; }; + 7CDE30A80DC94398F86F48D99C4F77B0 /* DoricHLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricHLayoutNode.m; sourceTree = ""; }; + 7EA8656B3E5CB824E7FFE065291CE2A2 /* UIButton+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+YYWebImage.m"; path = "YYWebImage/Categories/UIButton+YYWebImage.m"; sourceTree = ""; }; + 7F0CB0F446B24D888852B2364F36277F /* GCDWebServerFileResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerFileResponse.h; path = GCDWebServer/Responses/GCDWebServerFileResponse.h; sourceTree = ""; }; + 8052FAE778A6A09F2260E4E85B371F57 /* Pods-ExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ExampleTests.release.xcconfig"; sourceTree = ""; }; + 80C87054F1E43F5CF294CF98FD364DCB /* _YYWebImageSetter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _YYWebImageSetter.h; path = YYWebImage/Categories/_YYWebImageSetter.h; sourceTree = ""; }; + 831A1D9F56EC0EBE6FF18C4182F5A398 /* DoricExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricExtensions.h; sourceTree = ""; }; + 8471854325653CC0587DFBA14F0E5881 /* DoricViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricViewController.m; path = Pod/Classes/DoricViewController.m; sourceTree = ""; }; + 85A01882ED06DFEA2E0CE78BCDB204A7 /* libSocketRocket.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSocketRocket.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 87E7F5288DD80B4FDE8896A6D2782093 /* Pods-Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Example-resources.sh"; sourceTree = ""; }; + 897E4027B05E43D194A2F5003AD48C9F /* UIImage+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+YYWebImage.m"; path = "YYWebImage/Categories/UIImage+YYWebImage.m"; sourceTree = ""; }; + 8A44D4CFEB27EB7F87F52864C6B32A80 /* Pods-ExampleTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleTests-dummy.m"; sourceTree = ""; }; + 8A7242990DCCE6D3F50B2C608F8C7DAA /* MKAnnotationView+YYWebImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MKAnnotationView+YYWebImage.m"; path = "YYWebImage/Categories/MKAnnotationView+YYWebImage.m"; sourceTree = ""; }; + 8AE526EFF2B40DF374482ED45DBF4112 /* GCDWebServerURLEncodedFormRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerURLEncodedFormRequest.h; path = GCDWebServer/Requests/GCDWebServerURLEncodedFormRequest.h; sourceTree = ""; }; + 8BBDF9C8B9FB6CF5A8749EB21092432B /* DoricStoragePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricStoragePlugin.h; sourceTree = ""; }; + 8CA54A1EB9EB8E6A1B4706A0833E6005 /* DoricJSCoreExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSCoreExecutor.m; sourceTree = ""; }; + 8D3C44C69746FC60AE1C36AAC8CA1214 /* DoricListItemNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricListItemNode.h; sourceTree = ""; }; + 8DBE82481F986094549AFA32F59088B6 /* YYCache-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYCache-prefix.pch"; sourceTree = ""; }; + 8F4D6D38881BB9FAF4450841BD1BF9CD /* Pods-ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; + 91DA09580FAA07E0536E1A1A2629D357 /* DoricLayouts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricLayouts.h; sourceTree = ""; }; + 926E73E6AFC56158E380B54AB31357C8 /* NSString+JsonString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+JsonString.m"; sourceTree = ""; }; + 957FAE9188CA957E24FA4ED47EA9622F /* GCDWebServerRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerRequest.m; path = GCDWebServer/Core/GCDWebServerRequest.m; sourceTree = ""; }; + 9727EA66A9F093D8FA1308F11FDB18A9 /* DoricListItemNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricListItemNode.m; sourceTree = ""; }; + 97A29E9FC4A082D04395F34455FE48DC /* YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYWebImage.h; path = YYWebImage/YYWebImage.h; sourceTree = ""; }; + 98512CF1DCD76DF334D0FDB005736214 /* GCDWebServer.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GCDWebServer.xcconfig; sourceTree = ""; }; + 99A078A2150409AF2197032DC49D9154 /* GCDWebServerFunctions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFunctions.m; path = GCDWebServer/Core/GCDWebServerFunctions.m; sourceTree = ""; }; + 9A08665774EAAEF8A1660FA1D111197E /* DoricSwipeRefreshLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricSwipeRefreshLayout.m; sourceTree = ""; }; + 9CF6301AAD07F98FE89F30E7B5A07161 /* Pods-ExampleTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ExampleTests-acknowledgements.plist"; sourceTree = ""; }; + 9D58E98F171A9E38028D0DF093EB0330 /* DoricPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricPromise.h; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9E8B1A44958B7CD262D3DBC144361926 /* Doric-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Doric-dummy.m"; sourceTree = ""; }; + 9E91879C3619D14D5D1DDA6497E1BA4D /* YYCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYCache.m; path = YYCache/YYCache.m; sourceTree = ""; }; + 9E9713FBFF7F5E5044E6D47719303B01 /* DoricMainBundleJSLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricMainBundleJSLoader.m; sourceTree = ""; }; + 9F7AD6923D5CCBFE31219597055CDCD1 /* DoricFlowLayoutItemNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricFlowLayoutItemNode.h; sourceTree = ""; }; + A0267CAB68267A442DFACDDC267F8889 /* DoricListNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricListNode.h; sourceTree = ""; }; + A03175B6FDC3D438CB6057D11FC1174B /* YYAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYAnimatedImageView.m; path = YYImage/YYAnimatedImageView.m; sourceTree = ""; }; + A12EA2D6D6F629978F16C0E458152B6E /* Pods-ExampleTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ExampleTests-acknowledgements.markdown"; sourceTree = ""; }; + A2A8B0BD64E3EE6FD74E776143CEABBD /* SocketRocket.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SocketRocket.h; path = SocketRocket/SocketRocket.h; sourceTree = ""; }; + A335B4D91BE640B6C3D4AD680B89F387 /* DoricAsyncResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricAsyncResult.m; sourceTree = ""; }; + A461D3539C89936737BC3759F6AA0407 /* YYCache.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = YYCache.xcconfig; sourceTree = ""; }; + A6E6D86C860C651FF21E3259F3848538 /* DoricPopoverPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricPopoverPlugin.m; sourceTree = ""; }; + A7F3FF1FB691A3120E58F78CD10E6144 /* DoricJSLoaderManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSLoaderManager.m; sourceTree = ""; }; + ACBEDCADBB031E9C2FD75BB370970B85 /* YYMemoryCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYMemoryCache.m; path = YYCache/YYMemoryCache.m; sourceTree = ""; }; + B02FB78D23DCB6E556DB28E6788FBC32 /* YYImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImage.h; path = YYImage/YYImage.h; sourceTree = ""; }; + B07CF2A8DE9FFCA72BFC4892C4B07622 /* DoricNavigatorPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricNavigatorPlugin.m; sourceTree = ""; }; + B103E58B040A9B8A692C37CDA18D30DB /* DoricVLayoutNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricVLayoutNode.m; sourceTree = ""; }; + B222B94B13B3C219D4E51EDF297508AE /* DoricContextManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DoricContextManager.m; path = Pod/Classes/DoricContextManager.m; sourceTree = ""; }; + B379C9E71A25B03E5E18907D983826E8 /* GCDWebServer-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GCDWebServer-prefix.pch"; sourceTree = ""; }; + B54C4523BBF2D713FE5A0DC2448FFFB1 /* SocketRocket.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SocketRocket.xcconfig; sourceTree = ""; }; + B68C1052A3B51DBCF7D960F898AAFA95 /* libGCDWebServer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libGCDWebServer.a; sourceTree = BUILT_PRODUCTS_DIR; }; + B732C93FEF68A791A00E07F7A99C1918 /* DoricLoaderProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricLoaderProtocol.h; sourceTree = ""; }; + B99A3A34AEE3672CEEDE0A236C330C5B /* CALayer+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CALayer+YYWebImage.h"; path = "YYWebImage/Categories/CALayer+YYWebImage.h"; sourceTree = ""; }; + B9F783173337956660EADDB6852F3988 /* DoricJSEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSEngine.h; sourceTree = ""; }; + BCF14F6215D2D31E2C3EE1590B48EA6B /* YYImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImageCache.m; path = YYWebImage/YYImageCache.m; sourceTree = ""; }; + BE821F4AD3FE9FD0AE2CDE4A0CB0046C /* DoricExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricExtensions.m; sourceTree = ""; }; + C13120C8E5BD1D524867899DCDD16443 /* YYWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYWebImageManager.m; path = YYWebImage/YYWebImageManager.m; sourceTree = ""; }; + C232398D4E3A40F2337F8A40D7F8D751 /* libPods-ExampleUITests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ExampleUITests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C2EA63FA904BF51E753C7AF5830F1939 /* Doric.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = Doric.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + C7DFC32B543A9AC293FA82E57A2EEF45 /* DoricStackNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricStackNode.m; sourceTree = ""; }; + C942D362AA56A8F277A85F2072CBF7CC /* SocketRocket-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SocketRocket-prefix.pch"; sourceTree = ""; }; + CA9CDEF595948D04DA1741FF71C81D9D /* GCDWebServerFileRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerFileRequest.m; path = GCDWebServer/Requests/GCDWebServerFileRequest.m; sourceTree = ""; }; + CB646B53BBE623587150E6AC6766F116 /* DoricRootNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricRootNode.m; sourceTree = ""; }; + CB6504BD07E3990E6F058E4073421ADA /* libDoric.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDoric.a; sourceTree = BUILT_PRODUCTS_DIR; }; + CC27308520C53C314813857696C87F5A /* DoricScrollerNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricScrollerNode.m; sourceTree = ""; }; + CC658E0105F8AB9C2152B76052BC481C /* DoricJSExecutorProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSExecutorProtocol.h; sourceTree = ""; }; + CE2C4FAB25A4BE2CDB1080B7F5E022BA /* DoricTextNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricTextNode.h; sourceTree = ""; }; + CF0E2A75C9ED58C64D9679A0FD5B5736 /* Doric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Doric.h; path = Pod/Classes/Doric.h; sourceTree = ""; }; + D10710C759F21524183FD049995772B9 /* GCDWebServerConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerConnection.h; path = GCDWebServer/Core/GCDWebServerConnection.h; sourceTree = ""; }; + D1D1F23C13AA8F4A60395689C2A2972F /* UIImageView+YYWebImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+YYWebImage.h"; path = "YYWebImage/Categories/UIImageView+YYWebImage.h"; sourceTree = ""; }; + D61A91E711568804C04D530ECA84B347 /* UIView+Doric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIView+Doric.h"; sourceTree = ""; }; + D67FDB6FFB2698EC2F221337BFD02417 /* DoricRootNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricRootNode.h; sourceTree = ""; }; + D69ACC0B5B7679176EAE83C369DE3C68 /* DoricJSRemoteExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricJSRemoteExecutor.m; sourceTree = ""; }; + D6D5146022097BDD38DF3E944B756D91 /* DoricViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricViewController.h; path = Pod/Classes/DoricViewController.h; sourceTree = ""; }; + D6FB06D861EC9C7B3A5806FD0936D4EE /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + D9C1B314EECDF555386CE99356E5E8CA /* YYWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYWebImageManager.h; path = YYWebImage/YYWebImageManager.h; sourceTree = ""; }; + D9F3BD70EDB58FADFA2469045295B9F0 /* DoricNativePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNativePlugin.h; sourceTree = ""; }; + DA02943572CEA445F2F8653C90453DB7 /* DoricStackNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricStackNode.h; sourceTree = ""; }; + DB1B8FA21DCFCF77D0E911125BB4D6C4 /* DoricPanel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricPanel.h; path = Pod/Classes/DoricPanel.h; sourceTree = ""; }; + DE98B1DF2576CD010FCE9BEDE09839B3 /* DoricImageNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricImageNode.m; sourceTree = ""; }; + DF75BDF041CCE69AB4472C081D5BB413 /* DoricAsyncResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricAsyncResult.h; sourceTree = ""; }; + DF8E338C24524A360CD70AE8C5C4BD9B /* DoricNetworkPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNetworkPlugin.h; sourceTree = ""; }; + DFFAD17E7567EE856A59F246D50A9B0B /* Pods-Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Example-acknowledgements.plist"; sourceTree = ""; }; + E06ED02D51FF564980F5EE60C2D0BF3C /* DoricSuperNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricSuperNode.h; sourceTree = ""; }; + E210810B4D8E485B38EED5F4E4F37D5D /* YYImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "YYImage-prefix.pch"; sourceTree = ""; }; + E22AAD1FD657A163541F19331362EB37 /* GCDWebServerStreamedResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerStreamedResponse.m; path = GCDWebServer/Responses/GCDWebServerStreamedResponse.m; sourceTree = ""; }; + E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Example.debug.xcconfig"; sourceTree = ""; }; + E5B68A2C8EC1D3C756ACAC5C6885BFB7 /* Doric-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Doric-prefix.pch"; sourceTree = ""; }; + E5BAB81F1BAD8C5801EF364BA119C61E /* GCDWebServerDataRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataRequest.m; path = GCDWebServer/Requests/GCDWebServerDataRequest.m; sourceTree = ""; }; + E633C6EE0A00DFDEC7C940219332CB2B /* DoricDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DoricDriver.h; path = Pod/Classes/DoricDriver.h; sourceTree = ""; }; + E81407FCC09BBCDBEE1EC5A7CEC70FB8 /* DoricNavigatorPlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNavigatorPlugin.h; sourceTree = ""; }; + E86208B42727852B3E99D5974D3C200D /* DoricJSCoreExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSCoreExecutor.h; sourceTree = ""; }; + E954660781F9D33A67ED91C8301AEF7D /* DoricJSLoaderManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricJSLoaderManager.h; sourceTree = ""; }; + EA15D96F597B03524D56ACE6456BA273 /* DoricNavBarDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricNavBarDelegate.h; sourceTree = ""; }; + EB0D8BB22CA3C0215357241370EAEAC6 /* YYKVStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYKVStorage.m; path = YYCache/YYKVStorage.m; sourceTree = ""; }; + EB2E14EF40F3D133983D89FB98A23289 /* DoricSliderNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricSliderNode.m; sourceTree = ""; }; + EBD7F2437166A99BA4B48F7B4A0D0A3D /* DoricTextNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricTextNode.m; sourceTree = ""; }; + EC1EF6312171A3F3BBC065A16A025DCD /* GCDWebServer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServer.h; path = GCDWebServer/Core/GCDWebServer.h; sourceTree = ""; }; + EEE4F0A156BA817D331B8F2B08D52C94 /* YYImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYImage.m; path = YYImage/YYImage.m; sourceTree = ""; }; + EFC7A426556D925CB8F88FFEF8A86603 /* DoricUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricUtil.m; sourceTree = ""; }; + F0A42D3B9F17159C2E8EF209BF368966 /* YYDiskCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = YYDiskCache.m; path = YYCache/YYDiskCache.m; sourceTree = ""; }; + F15350531BD5482A0A2999F0125F07C0 /* YYImageCoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYImageCoder.h; path = YYImage/YYImageCoder.h; sourceTree = ""; }; + F1833FF9D06D7E34248B2169098D6C2B /* DoricAnimatePlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricAnimatePlugin.m; sourceTree = ""; }; + F1CDF99B5A1018AEF83D898999D07779 /* DoricHttpJSLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricHttpJSLoader.m; sourceTree = ""; }; + F431AB7C271DD9A3026FB8E02A680F7F /* DoricAnimatePlugin.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DoricAnimatePlugin.h; sourceTree = ""; }; + F4CDB6C6F9D82E80CAAB690123B906B1 /* YYWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = YYWebImageOperation.h; path = YYWebImage/YYWebImageOperation.h; sourceTree = ""; }; + F510C5557CFB6D0554B63EC63DD93696 /* DoricWSClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricWSClient.m; sourceTree = ""; }; + F8C78BC8A578353725FDC61B593A1215 /* GCDWebServerDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GCDWebServerDataResponse.m; path = GCDWebServer/Responses/GCDWebServerDataResponse.m; sourceTree = ""; }; + FAA54994F6C4CB7A1FB7BE3D563728F1 /* GCDWebServerResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GCDWebServerResponse.h; path = GCDWebServer/Core/GCDWebServerResponse.h; sourceTree = ""; }; + FC17BE12FE8C2FFCCB253BF7E707FA2B /* DoricModalPlugin.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricModalPlugin.m; sourceTree = ""; }; + FCAB9544BCE7D9EA4E5C5DAF6765F84A /* _YYWebImageSetter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _YYWebImageSetter.m; path = YYWebImage/Categories/_YYWebImageSetter.m; sourceTree = ""; }; + FDCFEBA818269E535D32E1DD7BB8346B /* SocketRocket-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SocketRocket-dummy.m"; sourceTree = ""; }; + FE05C6D16D438BF63DA4C5FBD51D65BD /* DoricSlideItemNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DoricSlideItemNode.m; sourceTree = ""; }; + FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ExampleUITests-dummy.m"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0A7300EEDB760E5BBD8CDCDA0E756D9F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 0BAD36B7F232A56FB4EDD23DD8325A04 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5D0C362902E19DD7E17835D63591AF07 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6921CB3F3F90A4D3854D879F38B0D619 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 7C1CF9A03EB6116AF3ED3831DDA4F75E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9FD779CC3664055065BDD25DBF915088 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C5F5F9AE8591441292295FD9101B9D1C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D2ACF8B68A7F91BDA7A718418ABC1827 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EAFB18F53A88C2BC75B17D6832DE0248 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F60109FF999AE00268C7F05690539DAC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0386913182A397CC85877DE4A1878241 /* Support Files */ = { + isa = PBXGroup; + children = ( + 5BD2FB5A84E2481DF889A8718306023F /* YYImage.xcconfig */, + 184188E0BB292926A6800D9F590C1F9E /* YYImage-dummy.m */, + E210810B4D8E485B38EED5F4E4F37D5D /* YYImage-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/YYImage"; + sourceTree = ""; + }; + 09F33CEB8B7A742B7A434F08266D84ED /* Development Pods */ = { + isa = PBXGroup; + children = ( + 226218E9A30501452870107458681AC4 /* Doric */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 0A14775E9B55EA90BE6735786B7FFAF2 /* Dev */ = { + isa = PBXGroup; + children = ( + 74700F4F68E283F40E2DE79D53B9523A /* DoricWSClient.h */, + F510C5557CFB6D0554B63EC63DD93696 /* DoricWSClient.m */, + ); + name = Dev; + path = Pod/Classes/Dev; + sourceTree = ""; + }; + 0B488D7903D5D1E34D3CE3728AF78695 /* Core */ = { + isa = PBXGroup; + children = ( + 50ED2806A9B5F444A52A22655766AF40 /* YYAnimatedImageView.h */, + A03175B6FDC3D438CB6057D11FC1174B /* YYAnimatedImageView.m */, + 6F0D56623E9801EA024276066A9F82DF /* YYFrameImage.h */, + 23D1B9EB936178579F8FE3397E1E520B /* YYFrameImage.m */, + B02FB78D23DCB6E556DB28E6788FBC32 /* YYImage.h */, + EEE4F0A156BA817D331B8F2B08D52C94 /* YYImage.m */, + F15350531BD5482A0A2999F0125F07C0 /* YYImageCoder.h */, + 3B11F16372DCBEBC7EB6991994CAD36D /* YYImageCoder.m */, + 3B7668033E6256C31E99870A20817F18 /* YYSpriteSheetImage.h */, + 59C5E7984250BADCE0464A5A7AE3A4AC /* YYSpriteSheetImage.m */, + ); + name = Core; + sourceTree = ""; + }; + 1C55F02B8E232DDC975A0E3CD7268CE8 /* Extension */ = { + isa = PBXGroup; + children = ( + 2EE7CA83B5FDFD3AB422E44AC3D0BA54 /* DoricBridgeExtension.h */, + 393ABDC63D186E9C4B3FE6BF2702A7F0 /* DoricBridgeExtension.m */, + ); + name = Extension; + path = Pod/Classes/Extension; + sourceTree = ""; + }; + 226218E9A30501452870107458681AC4 /* Doric */ = { + isa = PBXGroup; + children = ( + CF0E2A75C9ED58C64D9679A0FD5B5736 /* Doric.h */, + 1E2F0A74FC8C6533C7F11B5FB037D850 /* DoricContext.h */, + 3F3007DD50A74B00DA2B7C46EC8884AE /* DoricContext.m */, + 2545576A3AA348E9CF7FC785DF90BCDE /* DoricContextHolder.h */, + 60848AB93046FA9180CA87F3E762625D /* DoricContextHolder.m */, + 345221108007185F555BBEFC3B40A397 /* DoricContextManager.h */, + B222B94B13B3C219D4E51EDF297508AE /* DoricContextManager.m */, + E633C6EE0A00DFDEC7C940219332CB2B /* DoricDriver.h */, + 37FC112ED3BAB91DC102CE3A608F44D8 /* DoricDriver.m */, + DB1B8FA21DCFCF77D0E911125BB4D6C4 /* DoricPanel.h */, + 30D26C72C541C3C71C71985CFFAA9FBB /* DoricPanel.m */, + 6B9E73D207FF6B336BA1D24BB2F45D7A /* DoricRegistry.h */, + 1C5F8B8A7C7449D22667D8BE1ECCF225 /* DoricRegistry.m */, + D6D5146022097BDD38DF3E944B756D91 /* DoricViewController.h */, + 8471854325653CC0587DFBA14F0E5881 /* DoricViewController.m */, + 0A14775E9B55EA90BE6735786B7FFAF2 /* Dev */, + CEB63A3DB606D32E81FE0BF32E22B691 /* Engine */, + 1C55F02B8E232DDC975A0E3CD7268CE8 /* Extension */, + FBBA8662101AD2449CFD6D1B2909D93B /* Loader */, + 6DAA03EB441845E7844C7ED3562638E7 /* NavBar */, + A174DEC53558BFC58735FBEA8B1E67D9 /* Navigator */, + AE8C97521FE70C203BFC519DADBCE470 /* Plugin */, + 3A4239C711A8862FB15F804092CAEAFA /* Pod */, + 88E32938FD9A92756470F86FC898A97D /* Refresh */, + 54FFF520BCDD899850E6914B4EA794AE /* Resources */, + 651D7D9E623C960D185643DB16D68855 /* Shader */, + EE3A181D5BC943077162DE2E2CE96413 /* Support Files */, + 4D0DEF2EB17B2D289E09324CAF48C685 /* Util */, + ); + name = Doric; + path = ../..; + sourceTree = ""; + }; + 30A8DE6E1E0EBAA1604E04E7381435B0 /* GCDWebServer */ = { + isa = PBXGroup; + children = ( + A4640F0A0B089BFA16FDDE1F844F91B5 /* Core */, + 5BFDA60E04E3DC81BF2B82A41345F11E /* Support Files */, + ); + path = GCDWebServer; + sourceTree = ""; + }; + 3A4239C711A8862FB15F804092CAEAFA /* Pod */ = { + isa = PBXGroup; + children = ( + C2EA63FA904BF51E753C7AF5830F1939 /* Doric.podspec */, + D6FB06D861EC9C7B3A5806FD0936D4EE /* LICENSE */, + ); + name = Pod; + sourceTree = ""; + }; + 4D0DEF2EB17B2D289E09324CAF48C685 /* Util */ = { + isa = PBXGroup; + children = ( + DF75BDF041CCE69AB4472C081D5BB413 /* DoricAsyncResult.h */, + A335B4D91BE640B6C3D4AD680B89F387 /* DoricAsyncResult.m */, + 194FF25327094949F8678C52FEF82DB0 /* DoricConstant.h */, + 6DCCA68E1E5ABBC70D3D07B2CC8F256F /* DoricConstant.m */, + 831A1D9F56EC0EBE6FF18C4182F5A398 /* DoricExtensions.h */, + BE821F4AD3FE9FD0AE2CDE4A0CB0046C /* DoricExtensions.m */, + 23763066D1E210BB7DA34D895A030912 /* DoricJSRemoteArgType.h */, + 796A5DCDCA570E615FD646C000E98BB7 /* DoricJSRemoteArgType.m */, + 74F34A3EFBF17EEBFC54EF2F762160E9 /* DoricUtil.h */, + EFC7A426556D925CB8F88FFEF8A86603 /* DoricUtil.m */, + C2A35DA02CDF3FAC82D9C0EF02892D33 /* Category */, + ); + name = Util; + path = Pod/Classes/Util; + sourceTree = ""; + }; + 54FFF520BCDD899850E6914B4EA794AE /* Resources */ = { + isa = PBXGroup; + children = ( + 0C6AA7C8B725DA881A77BA01E3C34442 /* bundle */, + ); + name = Resources; + sourceTree = ""; + }; + 5B0041E43FEDB21EA4FBC49D23C4CC27 /* WebP */ = { + isa = PBXGroup; + children = ( + 9CC9E6178AAA9C3954F30FD6C2E4B391 /* Frameworks */, + ); + name = WebP; + sourceTree = ""; + }; + 5BFDA60E04E3DC81BF2B82A41345F11E /* Support Files */ = { + isa = PBXGroup; + children = ( + 98512CF1DCD76DF334D0FDB005736214 /* GCDWebServer.xcconfig */, + 2E45811603BF8F9506F73F073CF69DED /* GCDWebServer-dummy.m */, + B379C9E71A25B03E5E18907D983826E8 /* GCDWebServer-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/GCDWebServer"; + sourceTree = ""; + }; + 6379C9731FB12BD21F5DBD5FAFB59689 /* YYCache */ = { + isa = PBXGroup; + children = ( + 0EBC58D82F141C654BB539D797418A5B /* YYCache.h */, + 9E91879C3619D14D5D1DDA6497E1BA4D /* YYCache.m */, + 297A5C040632A2268999EFE516D8BDA8 /* YYDiskCache.h */, + F0A42D3B9F17159C2E8EF209BF368966 /* YYDiskCache.m */, + 27C5EC2FB50F0055581B04397C8FCE53 /* YYKVStorage.h */, + EB0D8BB22CA3C0215357241370EAEAC6 /* YYKVStorage.m */, + 7A3E3FB0D781D456B0A7EAA3E2F963F5 /* YYMemoryCache.h */, + ACBEDCADBB031E9C2FD75BB370970B85 /* YYMemoryCache.m */, + 8E519A0CE076D0FEC65EACEDE46DA682 /* Support Files */, + ); + path = YYCache; + sourceTree = ""; + }; + 651D7D9E623C960D185643DB16D68855 /* Shader */ = { + isa = PBXGroup; + children = ( + 9F7AD6923D5CCBFE31219597055CDCD1 /* DoricFlowLayoutItemNode.h */, + 2090560BF70593C57CA6023743148E11 /* DoricFlowLayoutItemNode.m */, + 4C15572E97B2FF255C7711CA6F2CAF5D /* DoricFlowLayoutNode.h */, + 5160B449E0CB6266AA04E0124E1C9177 /* DoricFlowLayoutNode.m */, + 6EF7D823AD5D2ECD06C2F348E4C6A5EA /* DoricGroupNode.h */, + 1ADD883025D3EFB87B7F07F9193AD2C5 /* DoricGroupNode.m */, + 0933426FA6EC94016EDA5FED7229FA53 /* DoricHLayoutNode.h */, + 7CDE30A80DC94398F86F48D99C4F77B0 /* DoricHLayoutNode.m */, + 74873EAB3FB9D4C0483B89BAF77BA343 /* DoricImageNode.h */, + DE98B1DF2576CD010FCE9BEDE09839B3 /* DoricImageNode.m */, + 91DA09580FAA07E0536E1A1A2629D357 /* DoricLayouts.h */, + 3E3E64E2684AC22559A4B60F71F9D093 /* DoricLayouts.m */, + 8D3C44C69746FC60AE1C36AAC8CA1214 /* DoricListItemNode.h */, + 9727EA66A9F093D8FA1308F11FDB18A9 /* DoricListItemNode.m */, + A0267CAB68267A442DFACDDC267F8889 /* DoricListNode.h */, + 2DF3AB02E400F4E40C79084448D1A559 /* DoricListNode.m */, + D67FDB6FFB2698EC2F221337BFD02417 /* DoricRootNode.h */, + CB646B53BBE623587150E6AC6766F116 /* DoricRootNode.m */, + 5C30CC1ECCC7B3952D3947A068E1C965 /* DoricScrollerNode.h */, + CC27308520C53C314813857696C87F5A /* DoricScrollerNode.m */, + 0A0D31EB38392CD7A552D20173BFE8F8 /* DoricSlideItemNode.h */, + FE05C6D16D438BF63DA4C5FBD51D65BD /* DoricSlideItemNode.m */, + 4B8591B854D2597F78D60308854D9926 /* DoricSliderNode.h */, + EB2E14EF40F3D133983D89FB98A23289 /* DoricSliderNode.m */, + DA02943572CEA445F2F8653C90453DB7 /* DoricStackNode.h */, + C7DFC32B543A9AC293FA82E57A2EEF45 /* DoricStackNode.m */, + E06ED02D51FF564980F5EE60C2D0BF3C /* DoricSuperNode.h */, + 2AFA360A449171381B173D42448150B3 /* DoricSuperNode.m */, + CE2C4FAB25A4BE2CDB1080B7F5E022BA /* DoricTextNode.h */, + EBD7F2437166A99BA4B48F7B4A0D0A3D /* DoricTextNode.m */, + 010065ADFC9A1AAAE9671B3153E1721C /* DoricViewNode.h */, + 2C739B7C9969E47087480B3F81EA1E14 /* DoricViewNode.m */, + 00BABCE2F6DD5317484E2B251ABB7D47 /* DoricVLayoutNode.h */, + B103E58B040A9B8A692C37CDA18D30DB /* DoricVLayoutNode.m */, + D61A91E711568804C04D530ECA84B347 /* UIView+Doric.h */, + 480534A816C4B0024FA369A3C407F59A /* UIView+Doric.m */, + ); + name = Shader; + path = Pod/Classes/Shader; + sourceTree = ""; + }; + 6DAA03EB441845E7844C7ED3562638E7 /* NavBar */ = { + isa = PBXGroup; + children = ( + EA15D96F597B03524D56ACE6456BA273 /* DoricNavBarDelegate.h */, + ); + name = NavBar; + path = Pod/Classes/NavBar; + sourceTree = ""; + }; + 71AEF72537B62D028A21E00FBEC2111B /* Pods-Example */ = { + isa = PBXGroup; + children = ( + 4426D67B66065EF97BCB0FBC9E35BEE6 /* Pods-Example-acknowledgements.markdown */, + DFFAD17E7567EE856A59F246D50A9B0B /* Pods-Example-acknowledgements.plist */, + 674AA61D65F8AA0A85296F972EB84840 /* Pods-Example-dummy.m */, + 87E7F5288DD80B4FDE8896A6D2782093 /* Pods-Example-resources.sh */, + E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */, + 57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */, + ); + name = "Pods-Example"; + path = "Target Support Files/Pods-Example"; + sourceTree = ""; + }; + 71D7AAC4D13F3A060E368F44B7510778 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 71AEF72537B62D028A21E00FBEC2111B /* Pods-Example */, + F4EB4F3E7D139A61CACFFAFCA3EF3B30 /* Pods-ExampleTests */, + 87BF90E86730F73BF5CB57472930C8FD /* Pods-ExampleUITests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + 832BEB4FEBC3730E23FC8795E1CA6AA6 /* YYImage */ = { + isa = PBXGroup; + children = ( + 0B488D7903D5D1E34D3CE3728AF78695 /* Core */, + 0386913182A397CC85877DE4A1878241 /* Support Files */, + 5B0041E43FEDB21EA4FBC49D23C4CC27 /* WebP */, + ); + path = YYImage; + sourceTree = ""; + }; + 87BF90E86730F73BF5CB57472930C8FD /* Pods-ExampleUITests */ = { + isa = PBXGroup; + children = ( + 8F4D6D38881BB9FAF4450841BD1BF9CD /* Pods-ExampleUITests-acknowledgements.markdown */, + 1DC97F881F42239F4D5EE57FE5266B1F /* Pods-ExampleUITests-acknowledgements.plist */, + FE99AB24E829DD35491764E2DED6ED75 /* Pods-ExampleUITests-dummy.m */, + 786AB58F4C2451575BBF7722ACDE9BEB /* Pods-ExampleUITests.debug.xcconfig */, + 50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */, + ); + name = "Pods-ExampleUITests"; + path = "Target Support Files/Pods-ExampleUITests"; + sourceTree = ""; + }; + 88E32938FD9A92756470F86FC898A97D /* Refresh */ = { + isa = PBXGroup; + children = ( + 26D78EFF40478832FD5657A597DE1AF7 /* DoricRefreshableNode.h */, + 001CAE6E5551B7443D52904059305768 /* DoricRefreshableNode.m */, + 43EDD5936F96DC2FA156A398FD5B439A /* DoricSwipeRefreshLayout.h */, + 9A08665774EAAEF8A1660FA1D111197E /* DoricSwipeRefreshLayout.m */, + ); + name = Refresh; + path = Pod/Classes/Refresh; + sourceTree = ""; + }; + 8E519A0CE076D0FEC65EACEDE46DA682 /* Support Files */ = { + isa = PBXGroup; + children = ( + A461D3539C89936737BC3759F6AA0407 /* YYCache.xcconfig */, + 7BE10DD8B0A5B83FCC0B288E5B0A18E3 /* YYCache-dummy.m */, + 8DBE82481F986094549AFA32F59088B6 /* YYCache-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/YYCache"; + sourceTree = ""; + }; + 90C0B47BBD1F2F5B6A4EA44F309FD09B /* Support Files */ = { + isa = PBXGroup; + children = ( + 4A6BBD5D599973673610A24AF01EF5D7 /* YYWebImage.xcconfig */, + 6358ABB187AFEBA11B8651FCEAA62B65 /* YYWebImage-dummy.m */, + 67CCE9A47A1F1E452AF6E94DFA6F93F7 /* YYWebImage-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/YYWebImage"; + sourceTree = ""; + }; + 9CC9E6178AAA9C3954F30FD6C2E4B391 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6E2E83CCA4E2E6955BC3C11025F963AA /* WebP.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 9ED971B78F2FD589A1C4064717FB44A4 /* Support Files */ = { + isa = PBXGroup; + children = ( + B54C4523BBF2D713FE5A0DC2448FFFB1 /* SocketRocket.xcconfig */, + FDCFEBA818269E535D32E1DD7BB8346B /* SocketRocket-dummy.m */, + C942D362AA56A8F277A85F2072CBF7CC /* SocketRocket-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/SocketRocket"; + sourceTree = ""; + }; + A174DEC53558BFC58735FBEA8B1E67D9 /* Navigator */ = { + isa = PBXGroup; + children = ( + 728D29C57333CFD144D9FEBA48C43D24 /* DoricNavigatorDelegate.h */, + ); + name = Navigator; + path = Pod/Classes/Navigator; + sourceTree = ""; + }; + A4640F0A0B089BFA16FDDE1F844F91B5 /* Core */ = { + isa = PBXGroup; + children = ( + EC1EF6312171A3F3BBC065A16A025DCD /* GCDWebServer.h */, + 7112332F6BD7610F1B869696C2154AC5 /* GCDWebServer.m */, + D10710C759F21524183FD049995772B9 /* GCDWebServerConnection.h */, + 1E538FAF2C02B15BB10C7FD3F0F7A1E7 /* GCDWebServerConnection.m */, + 6B3784257BDE2761D43DC51427849586 /* GCDWebServerDataRequest.h */, + E5BAB81F1BAD8C5801EF364BA119C61E /* GCDWebServerDataRequest.m */, + 1ED20AF454A53D1112EA705702F141B8 /* GCDWebServerDataResponse.h */, + F8C78BC8A578353725FDC61B593A1215 /* GCDWebServerDataResponse.m */, + 02EAAD3467FB5D76D3EBDC713104BA9C /* GCDWebServerErrorResponse.h */, + 19A3AC359451033E9EE30FF4A5524918 /* GCDWebServerErrorResponse.m */, + 0AC63A48456BCE52364F8F75F11114A6 /* GCDWebServerFileRequest.h */, + CA9CDEF595948D04DA1741FF71C81D9D /* GCDWebServerFileRequest.m */, + 7F0CB0F446B24D888852B2364F36277F /* GCDWebServerFileResponse.h */, + 75453DA51095496D971EC3387AAA68AB /* GCDWebServerFileResponse.m */, + 1D40E088948B09DDDA870482BF145738 /* GCDWebServerFunctions.h */, + 99A078A2150409AF2197032DC49D9154 /* GCDWebServerFunctions.m */, + 4D2AD00F375FC11C8A1A006F89F22DA9 /* GCDWebServerHTTPStatusCodes.h */, + 188F9C29A193D759B8D1D8F7329F12D3 /* GCDWebServerMultiPartFormRequest.h */, + 74D5C5C6BF3910CB033C8FF9A117A6BF /* GCDWebServerMultiPartFormRequest.m */, + 06403BCF3EAD8E815A6E853490C3AD68 /* GCDWebServerPrivate.h */, + 156A26BD50C08C5F6154CCD8E2EF92BC /* GCDWebServerRequest.h */, + 957FAE9188CA957E24FA4ED47EA9622F /* GCDWebServerRequest.m */, + FAA54994F6C4CB7A1FB7BE3D563728F1 /* GCDWebServerResponse.h */, + 250467AAE5F772A373866D1B28EC4209 /* GCDWebServerResponse.m */, + 12BD78ED93E0CF7366A357A05AE3631F /* GCDWebServerStreamedResponse.h */, + E22AAD1FD657A163541F19331362EB37 /* GCDWebServerStreamedResponse.m */, + 8AE526EFF2B40DF374482ED45DBF4112 /* GCDWebServerURLEncodedFormRequest.h */, + 0F249CF0C4C6FE10EDDE26089800C1DA /* GCDWebServerURLEncodedFormRequest.m */, + ); + name = Core; + sourceTree = ""; + }; + AE8C97521FE70C203BFC519DADBCE470 /* Plugin */ = { + isa = PBXGroup; + children = ( + F431AB7C271DD9A3026FB8E02A680F7F /* DoricAnimatePlugin.h */, + F1833FF9D06D7E34248B2169098D6C2B /* DoricAnimatePlugin.m */, + 4299E4F7E5CCB5540DF92919DFFEDF04 /* DoricModalPlugin.h */, + FC17BE12FE8C2FFCCB253BF7E707FA2B /* DoricModalPlugin.m */, + D9F3BD70EDB58FADFA2469045295B9F0 /* DoricNativePlugin.h */, + 16C752E94DC71B16E717B961DFA88C27 /* DoricNativePlugin.m */, + 5AAD7381E4B6574C4526FBC79BA20CDE /* DoricNavBarPlugin.h */, + 49A782176196E9E7E6302765A505C4DF /* DoricNavBarPlugin.m */, + E81407FCC09BBCDBEE1EC5A7CEC70FB8 /* DoricNavigatorPlugin.h */, + B07CF2A8DE9FFCA72BFC4892C4B07622 /* DoricNavigatorPlugin.m */, + DF8E338C24524A360CD70AE8C5C4BD9B /* DoricNetworkPlugin.h */, + 744CAADE898A5F9DBB0C6C22012B3D6D /* DoricNetworkPlugin.m */, + 6B5F2AD14C3EB39CB7A069965B83AF84 /* DoricPopoverPlugin.h */, + A6E6D86C860C651FF21E3259F3848538 /* DoricPopoverPlugin.m */, + 9D58E98F171A9E38028D0DF093EB0330 /* DoricPromise.h */, + 0743ED4C66205A494631BAF9B34017CB /* DoricPromise.m */, + 52E7BB0575F9CA51BC44B597B2E61004 /* DoricShaderPlugin.h */, + 3D189235FEF49CB09F61BBF1E61F027C /* DoricShaderPlugin.m */, + 8BBDF9C8B9FB6CF5A8749EB21092432B /* DoricStoragePlugin.h */, + 71EE75F7A7546F0B0B4CAAABC3A1A221 /* DoricStoragePlugin.m */, + ); + name = Plugin; + path = Pod/Classes/Plugin; + sourceTree = ""; + }; + C2A35DA02CDF3FAC82D9C0EF02892D33 /* Category */ = { + isa = PBXGroup; + children = ( + 4048EC8080915DFB5BB7BDBA40D63859 /* NSString+JsonString.h */, + 926E73E6AFC56158E380B54AB31357C8 /* NSString+JsonString.m */, + ); + path = Category; + sourceTree = ""; + }; + C5DD576F1F37833FBDF2EBC49CA8A2FA /* Pods */ = { + isa = PBXGroup; + children = ( + 30A8DE6E1E0EBAA1604E04E7381435B0 /* GCDWebServer */, + FCB7AC0056F85EBE133A94D945422814 /* SocketRocket */, + 6379C9731FB12BD21F5DBD5FAFB59689 /* YYCache */, + 832BEB4FEBC3730E23FC8795E1CA6AA6 /* YYImage */, + E2482C626B72B053A909FF1D41D9B49C /* YYWebImage */, + ); + name = Pods; + sourceTree = ""; + }; + CEB63A3DB606D32E81FE0BF32E22B691 /* Engine */ = { + isa = PBXGroup; + children = ( + E86208B42727852B3E99D5974D3C200D /* DoricJSCoreExecutor.h */, + 8CA54A1EB9EB8E6A1B4706A0833E6005 /* DoricJSCoreExecutor.m */, + B9F783173337956660EADDB6852F3988 /* DoricJSEngine.h */, + 47A38F2A154C0A098F399ACF6A6BEB0A /* DoricJSEngine.m */, + CC658E0105F8AB9C2152B76052BC481C /* DoricJSExecutorProtocol.h */, + 62B1BB46C6104B4699E35A59FBDCE1B3 /* DoricJSRemoteExecutor.h */, + D69ACC0B5B7679176EAE83C369DE3C68 /* DoricJSRemoteExecutor.m */, + ); + name = Engine; + path = Pod/Classes/Engine; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 09F33CEB8B7A742B7A434F08266D84ED /* Development Pods */, + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, + C5DD576F1F37833FBDF2EBC49CA8A2FA /* Pods */, + F84D7922A6B05CDCB57606E11D08173B /* Products */, + 71D7AAC4D13F3A060E368F44B7510778 /* Targets Support Files */, + ); + sourceTree = ""; + }; + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; + E2482C626B72B053A909FF1D41D9B49C /* YYWebImage */ = { + isa = PBXGroup; + children = ( + 80C87054F1E43F5CF294CF98FD364DCB /* _YYWebImageSetter.h */, + FCAB9544BCE7D9EA4E5C5DAF6765F84A /* _YYWebImageSetter.m */, + B99A3A34AEE3672CEEDE0A236C330C5B /* CALayer+YYWebImage.h */, + 2BD06F78C15864BFD45D5B8A25C3998C /* CALayer+YYWebImage.m */, + 42D503ACEA2717C15EB4DF8CF7A201FE /* MKAnnotationView+YYWebImage.h */, + 8A7242990DCCE6D3F50B2C608F8C7DAA /* MKAnnotationView+YYWebImage.m */, + 0D1FEE803DDD7EDF75D50BC2463E64D7 /* UIButton+YYWebImage.h */, + 7EA8656B3E5CB824E7FFE065291CE2A2 /* UIButton+YYWebImage.m */, + 242BBB3556D614E9BAC17FD3A6A6165B /* UIImage+YYWebImage.h */, + 897E4027B05E43D194A2F5003AD48C9F /* UIImage+YYWebImage.m */, + D1D1F23C13AA8F4A60395689C2A2972F /* UIImageView+YYWebImage.h */, + 4E8A03456D6FC2891C95938036545262 /* UIImageView+YYWebImage.m */, + 24541E60AC8A9C984313EC52106ADB35 /* YYImageCache.h */, + BCF14F6215D2D31E2C3EE1590B48EA6B /* YYImageCache.m */, + 97A29E9FC4A082D04395F34455FE48DC /* YYWebImage.h */, + D9C1B314EECDF555386CE99356E5E8CA /* YYWebImageManager.h */, + C13120C8E5BD1D524867899DCDD16443 /* YYWebImageManager.m */, + F4CDB6C6F9D82E80CAAB690123B906B1 /* YYWebImageOperation.h */, + 37E4D0D28BB5E740A02CFA1CC47F2944 /* YYWebImageOperation.m */, + 90C0B47BBD1F2F5B6A4EA44F309FD09B /* Support Files */, + ); + path = YYWebImage; + sourceTree = ""; + }; + EE3A181D5BC943077162DE2E2CE96413 /* Support Files */ = { + isa = PBXGroup; + children = ( + 677BC4F0CCD6EB2C9FBCB3B375E7349F /* Doric.xcconfig */, + 9E8B1A44958B7CD262D3DBC144361926 /* Doric-dummy.m */, + E5B68A2C8EC1D3C756ACAC5C6885BFB7 /* Doric-prefix.pch */, + 23426BADD33356B8F68F1DA4CA9D59F2 /* ResourceBundle-Doric-Doric-Info.plist */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/Doric"; + sourceTree = ""; + }; + F4EB4F3E7D139A61CACFFAFCA3EF3B30 /* Pods-ExampleTests */ = { + isa = PBXGroup; + children = ( + A12EA2D6D6F629978F16C0E458152B6E /* Pods-ExampleTests-acknowledgements.markdown */, + 9CF6301AAD07F98FE89F30E7B5A07161 /* Pods-ExampleTests-acknowledgements.plist */, + 8A44D4CFEB27EB7F87F52864C6B32A80 /* Pods-ExampleTests-dummy.m */, + 35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */, + 8052FAE778A6A09F2260E4E85B371F57 /* Pods-ExampleTests.release.xcconfig */, + ); + name = "Pods-ExampleTests"; + path = "Target Support Files/Pods-ExampleTests"; + sourceTree = ""; + }; + F84D7922A6B05CDCB57606E11D08173B /* Products */ = { + isa = PBXGroup; + children = ( + 1E19479558E0A9431B2B5F5A39136939 /* Doric.bundle */, + CB6504BD07E3990E6F058E4073421ADA /* libDoric.a */, + B68C1052A3B51DBCF7D960F898AAFA95 /* libGCDWebServer.a */, + 1F667CC0E19EAF34E5A4119E2121F585 /* libPods-Example.a */, + 630CABE8F692FCDBFD1B122A2D0CE388 /* libPods-ExampleTests.a */, + C232398D4E3A40F2337F8A40D7F8D751 /* libPods-ExampleUITests.a */, + 85A01882ED06DFEA2E0CE78BCDB204A7 /* libSocketRocket.a */, + 48ACF38225AF5129416A1F090F6D3286 /* libYYCache.a */, + 0C6F4829D47D1826F47CDC4264F9F6A8 /* libYYImage.a */, + 4FC1978206616CE319648B302B05AA8A /* libYYWebImage.a */, + ); + name = Products; + sourceTree = ""; + }; + FBBA8662101AD2449CFD6D1B2909D93B /* Loader */ = { + isa = PBXGroup; + children = ( + 2EE15792329EC630A175A3896C245D90 /* DoricHttpJSLoader.h */, + F1CDF99B5A1018AEF83D898999D07779 /* DoricHttpJSLoader.m */, + E954660781F9D33A67ED91C8301AEF7D /* DoricJSLoaderManager.h */, + A7F3FF1FB691A3120E58F78CD10E6144 /* DoricJSLoaderManager.m */, + B732C93FEF68A791A00E07F7A99C1918 /* DoricLoaderProtocol.h */, + 5BA6819C98E9CC361D6FA297291BA04C /* DoricMainBundleJSLoader.h */, + 9E9713FBFF7F5E5044E6D47719303B01 /* DoricMainBundleJSLoader.m */, + ); + name = Loader; + path = Pod/Classes/Loader; + sourceTree = ""; + }; + FCB7AC0056F85EBE133A94D945422814 /* SocketRocket */ = { + isa = PBXGroup; + children = ( + A2A8B0BD64E3EE6FD74E776143CEABBD /* SocketRocket.h */, + 0FA454CFC822DF97658EA00D249150DB /* SRWebSocket.h */, + 4180A5D36AD0F103338812693D8B57A6 /* SRWebSocket.m */, + 9ED971B78F2FD589A1C4064717FB44A4 /* Support Files */, + ); + path = SocketRocket; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 19324E32064972C0D8A1FA2DD7D41A2A /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D840F5A06B9893F618D61BB4983DF373 /* YYCache.h in Headers */, + 0CC1B3B497098C4159B8A348C85EC4B3 /* YYDiskCache.h in Headers */, + 525B0D4969B3DC70F910745701B6FFDE /* YYKVStorage.h in Headers */, + E95755F0A09A57B158365C41F25AE7A7 /* YYMemoryCache.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1F9F42084FA5328A65D06A10A3195627 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 25862B2DD200FF89C0B7099FBBFF9647 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 290062944EC0FB69A647836CB1FDE3A0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + C11CBD0FC0CBA29F1F2DAC1AC37AF364 /* _YYWebImageSetter.h in Headers */, + 35E55CC007A4866A1F5E3ADE81679130 /* CALayer+YYWebImage.h in Headers */, + 01225045F0F04131A2DCCB419C5A43AF /* MKAnnotationView+YYWebImage.h in Headers */, + 071B7DACEB0E33381A899175AD7719CA /* UIButton+YYWebImage.h in Headers */, + A57D92BA915B59A21168F7BBF9D965A6 /* UIImage+YYWebImage.h in Headers */, + BB23FABE2628260AFFF63CD70FBFD25F /* UIImageView+YYWebImage.h in Headers */, + E6F8BC0728AC2154EF471B332F30ECB2 /* YYImageCache.h in Headers */, + BEFD64DBD549FDA265DA763D50F83662 /* YYWebImage.h in Headers */, + 38B0845A4B83CE0959531E40A36AADC4 /* YYWebImageManager.h in Headers */, + 046D4C719884BEE359F3E4056B3ADC91 /* YYWebImageOperation.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 847F9972480A4EB0E406EB0318D243C5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 9BDB5E4397AAD710F4446BA3952A2060 /* Doric.h in Headers */, + D4A9AB151E41873EBA01F779AC2DADF4 /* DoricAnimatePlugin.h in Headers */, + 46869F78B152AA301623F3FE82F6C0E3 /* DoricAsyncResult.h in Headers */, + BE2A19E5C02AD94897CCDA7324827BCA /* DoricBridgeExtension.h in Headers */, + 191E9735AC97FC3CEE416088EC325F62 /* DoricConstant.h in Headers */, + 45B6A13373ABB67043AC103DC249C1B3 /* DoricContext.h in Headers */, + CE2B11F33301B8F7CEAB17059F0DF2EA /* DoricContextHolder.h in Headers */, + 7C89E8BE51394D7BAEA8EC62422F805D /* DoricContextManager.h in Headers */, + ED616E6493400CB7638DE29CCCD7ABF6 /* DoricDriver.h in Headers */, + 7DAB96BECDDC0A6A989C3B33D4F0E08F /* DoricExtensions.h in Headers */, + BC8DFE1DD3D2B39277EEFA6D70CCF302 /* DoricFlowLayoutItemNode.h in Headers */, + 528525C1C62D4C0D269D0ADEC868C28F /* DoricFlowLayoutNode.h in Headers */, + 6E5E67F3816F41DDADE88F7461B1DC68 /* DoricGroupNode.h in Headers */, + AAA8E5B65C1E2F2FF885712766554A58 /* DoricHLayoutNode.h in Headers */, + A8FC102FD1822315CE435B5E7E0E9D14 /* DoricHttpJSLoader.h in Headers */, + 450A3D0C5E5889C279AC63532D0409AD /* DoricImageNode.h in Headers */, + 431B1130829E710EA3C4334BB232430A /* DoricJSCoreExecutor.h in Headers */, + D67AD5E402E954CDE1C16B744E39BDB1 /* DoricJSEngine.h in Headers */, + CEBDF3FD9ABF5D2B3C326B21F58D4640 /* DoricJSExecutorProtocol.h in Headers */, + 690D114CE33D424D91E65BCC5AEB0666 /* DoricJSLoaderManager.h in Headers */, + ECF57F8EB1CD164D28E1FA2D172F2A1A /* DoricJSRemoteArgType.h in Headers */, + 4EA7628A9D84272317EB18D602CB6101 /* DoricJSRemoteExecutor.h in Headers */, + 33FA845C063B814C8EEEF56B48CD41F8 /* DoricLayouts.h in Headers */, + 695907AB3DC305929A1E5CB534DD6788 /* DoricListItemNode.h in Headers */, + 6CB9C3842889740D1A1FED2D7A4E839D /* DoricListNode.h in Headers */, + 415078A044EA3AF3C8099845471A1FC9 /* DoricLoaderProtocol.h in Headers */, + 414869E5655141E747BB94588B59075B /* DoricMainBundleJSLoader.h in Headers */, + 1253265B1B37678C169BF6A10A260F9E /* DoricModalPlugin.h in Headers */, + 08AF19B42AB684E88852CD6CB8A3AA75 /* DoricNativePlugin.h in Headers */, + 9BB07ECB1EFF8E745E9185C4E2C27366 /* DoricNavBarDelegate.h in Headers */, + 5117ED4BE4507C48781C5C3DDF810D31 /* DoricNavBarPlugin.h in Headers */, + 5EB1DD47EC3AC8BA4BF3D04B510FCDC5 /* DoricNavigatorDelegate.h in Headers */, + 4E6CF5CCD8D1EC5E9A646749383DEC66 /* DoricNavigatorPlugin.h in Headers */, + CA21DC6FA6E5CB45B41924611ADC6C9A /* DoricNetworkPlugin.h in Headers */, + 7A24C07A15E0F108E4737F07A7027B15 /* DoricPanel.h in Headers */, + 56E0DDB21CAA1DB9B2209F2F10C5CDFC /* DoricPopoverPlugin.h in Headers */, + BFF89C93F769127B541C6B48460ED91D /* DoricPromise.h in Headers */, + 46C7437D30623CA97CA6E34487731AB9 /* DoricRefreshableNode.h in Headers */, + 1D68CC8FCA5AD66ACB98AC5A90B8D6BC /* DoricRegistry.h in Headers */, + 4D1F2333AFCA191C99238E2F7555D6C0 /* DoricRootNode.h in Headers */, + 517E021259A0510131206568BD7128CC /* DoricScrollerNode.h in Headers */, + 246C99114EE2CC85724B2F425B51D787 /* DoricShaderPlugin.h in Headers */, + 0D2A7AA3E2BA05FEB6CC5463F9BEFF15 /* DoricSlideItemNode.h in Headers */, + AC49DC5F6394CD3B4222E74C0FCC6A27 /* DoricSliderNode.h in Headers */, + FD1DCE441D6702175FC35DE58D019CAA /* DoricStackNode.h in Headers */, + 46C1F76C0AD5370A5F5C10425F0F2BAE /* DoricStoragePlugin.h in Headers */, + 83FE02E47F9826D81EA6A3848189C301 /* DoricSuperNode.h in Headers */, + 74DD6E1DC8F5E8EAD77AB903DB2CF145 /* DoricSwipeRefreshLayout.h in Headers */, + 29F425B1A1A60C85C87E2EA6A84CCBF1 /* DoricTextNode.h in Headers */, + 144143A659E0FEC033EB44B5C1707BCA /* DoricUtil.h in Headers */, + 2285FC52EAE17821471935D517C7DACB /* DoricViewController.h in Headers */, + 1D72D6B46AD74A46178DB3DA00B792E3 /* DoricViewNode.h in Headers */, + B6B56C166B186B33A5A87C791A284F36 /* DoricVLayoutNode.h in Headers */, + DDD55545A6FA8C0944DA1A34B564F876 /* DoricWSClient.h in Headers */, + 8304203ACC6B6C1F74F891D156D76CFC /* NSString+JsonString.h in Headers */, + C830AF2D550187C31E5AC8A46AA4E76F /* UIView+Doric.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 88C7134D809509122DF5C2AF0D66DED5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 96A0EDF8241D65DBEB01DDEA2551B6AB /* YYAnimatedImageView.h in Headers */, + 08C8A6242B5F8A6D3A5817FF9416A518 /* YYFrameImage.h in Headers */, + E5C994E9D29FEFF8CFA6A824D99EAB05 /* YYImage.h in Headers */, + 22B9F8152B9E980E1FEB00B0CA6B27BB /* YYImageCoder.h in Headers */, + 3721F80C3FDE8A2B101A119D78201031 /* YYSpriteSheetImage.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 93E92C78C7F3DDC0BA185907CCD45FD0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 5CD6C1E489C8975D293C7C8EBE642359 /* SocketRocket.h in Headers */, + C83B012BD9B3B5F541AB506122EF966C /* SRWebSocket.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E516289B0110056A2A7A1CE2E2F230C0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + F0DD942BF93F6B6E560D77691E37FD4B /* GCDWebServer.h in Headers */, + 8BF99A86864A6A5A96D92FDB6E0D4FDB /* GCDWebServerConnection.h in Headers */, + 8189756A6783D7BE61E08FE409BFD871 /* GCDWebServerDataRequest.h in Headers */, + 2D97BA46A9241177D41D943032EB6386 /* GCDWebServerDataResponse.h in Headers */, + 8890A8A88FA2ED811319B234B388321C /* GCDWebServerErrorResponse.h in Headers */, + D1014DBF2654D76D637022D52CC87885 /* GCDWebServerFileRequest.h in Headers */, + 715F955E5C63DB36EB84F6A043C89F51 /* GCDWebServerFileResponse.h in Headers */, + FD404E60462D931E6041A96D39DC024A /* GCDWebServerFunctions.h in Headers */, + 660C17830ED9DAF3CD14FEFEC16572D1 /* GCDWebServerHTTPStatusCodes.h in Headers */, + B303B392A2EB6D99E98BE556D969CE6C /* GCDWebServerMultiPartFormRequest.h in Headers */, + 59186150B3A10FED46BB81E923BC3803 /* GCDWebServerPrivate.h in Headers */, + 8203F1FE8748893B7FB0F9330E74E40E /* GCDWebServerRequest.h in Headers */, + 3F9991E0D126667F253AFD5ADE153D75 /* GCDWebServerResponse.h in Headers */, + B73DE88797B200F90C3123B9582631EB /* GCDWebServerStreamedResponse.h in Headers */, + CCB8E3339DFB68E7605BE381F977AEF9 /* GCDWebServerURLEncodedFormRequest.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FC44F694DF43568E1C9D46D4F8AA2AC7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 254DEE34BA0C554E2254F342226EF50C /* Build configuration list for PBXNativeTarget "Pods-Example" */; + buildPhases = ( + 25862B2DD200FF89C0B7099FBBFF9647 /* Headers */, + EAB8A5B3F6754F82F8E07B6AD8B240CA /* Sources */, + D2ACF8B68A7F91BDA7A718418ABC1827 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + DE060ACD35D08B8BCE8C6907E1C205D2 /* PBXTargetDependency */, + 4D79DA13C03170CE9C21D80EF46AF849 /* PBXTargetDependency */, + DF228FFC5206B8E9FD01E9397FEE2A49 /* PBXTargetDependency */, + 35A5957DD49EAD482E1E36143F1DCDFE /* PBXTargetDependency */, + 36F2559A041FD20B19A9EEDDB7D016A3 /* PBXTargetDependency */, + 9D85CAFF928F7B198848A244D5964248 /* PBXTargetDependency */, + ); + name = "Pods-Example"; + productName = "Pods-Example"; + productReference = 1F667CC0E19EAF34E5A4119E2121F585 /* libPods-Example.a */; + productType = "com.apple.product-type.library.static"; + }; + 1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */ = { + isa = PBXNativeTarget; + buildConfigurationList = 019A61CAE0868AC0BE60D448F7684ECF /* Build configuration list for PBXNativeTarget "SocketRocket" */; + buildPhases = ( + 93E92C78C7F3DDC0BA185907CCD45FD0 /* Headers */, + 0B989C5F5B94740CEDB10A7E2E4F8728 /* Sources */, + 9FD779CC3664055065BDD25DBF915088 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SocketRocket; + productName = SocketRocket; + productReference = 85A01882ED06DFEA2E0CE78BCDB204A7 /* libSocketRocket.a */; + productType = "com.apple.product-type.library.static"; + }; + 3467588C9AC1920A96217C14EB70DA40 /* Doric */ = { + isa = PBXNativeTarget; + buildConfigurationList = 491A184E17170C12C18549F5C1D24A74 /* Build configuration list for PBXNativeTarget "Doric" */; + buildPhases = ( + 847F9972480A4EB0E406EB0318D243C5 /* Headers */, + FFC3F703D00FC68E571251C277A9D946 /* Sources */, + F60109FF999AE00268C7F05690539DAC /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 125839921EFB069382195EB61B591B65 /* PBXTargetDependency */, + 9BB0DA7DF4375D94FAF7099B4E18F8F6 /* PBXTargetDependency */, + A3D49195A496AA0826AB0216CB28D68E /* PBXTargetDependency */, + A73ADCD9DC1236D61BA4D6F0EB9068EC /* PBXTargetDependency */, + 10B5260627C632981E228E766CDB9218 /* PBXTargetDependency */, + 45A4C317249E4EFC8B146BAC54205744 /* PBXTargetDependency */, + ); + name = Doric; + productName = Doric; + productReference = CB6504BD07E3990E6F058E4073421ADA /* libDoric.a */; + productType = "com.apple.product-type.library.static"; + }; + 4432A314DF5F14FFF8809E319054F4AF /* Pods-ExampleTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = B2548596E2544D6246F7A1567F0FED35 /* Build configuration list for PBXNativeTarget "Pods-ExampleTests" */; + buildPhases = ( + FC44F694DF43568E1C9D46D4F8AA2AC7 /* Headers */, + 0A6945A94C114AD03543703E96A0F3E1 /* Sources */, + 0BAD36B7F232A56FB4EDD23DD8325A04 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 7C13BF224FA9F8FB97D246BD39E099C3 /* PBXTargetDependency */, + ); + name = "Pods-ExampleTests"; + productName = "Pods-ExampleTests"; + productReference = 630CABE8F692FCDBFD1B122A2D0CE388 /* libPods-ExampleTests.a */; + productType = "com.apple.product-type.library.static"; + }; + 488E8C830C5A5694EE916251B9ADAADA /* YYWebImage */ = { + isa = PBXNativeTarget; + buildConfigurationList = FA9151EF6282C13D4B730B3273163572 /* Build configuration list for PBXNativeTarget "YYWebImage" */; + buildPhases = ( + 290062944EC0FB69A647836CB1FDE3A0 /* Headers */, + 4ABD9C04B104B92E7521A6BE88BF41B3 /* Sources */, + 5D0C362902E19DD7E17835D63591AF07 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 7CD09EAB9716E55B66A35A67313C16CE /* PBXTargetDependency */, + 0065ADB05F8959B485170F431CAD76AF /* PBXTargetDependency */, + ); + name = YYWebImage; + productName = YYWebImage; + productReference = 4FC1978206616CE319648B302B05AA8A /* libYYWebImage.a */; + productType = "com.apple.product-type.library.static"; + }; + 5305059FAA2A7B3246F1874D047D8000 /* Doric-Doric */ = { + isa = PBXNativeTarget; + buildConfigurationList = CF28C89A17B973DCEF0CC17EC429C924 /* Build configuration list for PBXNativeTarget "Doric-Doric" */; + buildPhases = ( + 9B8AF771B107648B420DF8828CCAD48D /* Sources */, + EAFB18F53A88C2BC75B17D6832DE0248 /* Frameworks */, + 2BFAA43ADD2BB8B0D98C009C813767F0 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Doric-Doric"; + productName = "Doric-Doric"; + productReference = 1E19479558E0A9431B2B5F5A39136939 /* Doric.bundle */; + productType = "com.apple.product-type.bundle"; + }; + 822E44240F2922DAB12018A6B649BD19 /* YYImage */ = { + isa = PBXNativeTarget; + buildConfigurationList = F0862E6186C771182316C9FF20CC569A /* Build configuration list for PBXNativeTarget "YYImage" */; + buildPhases = ( + 88C7134D809509122DF5C2AF0D66DED5 /* Headers */, + 40AD5C10BEA0D14F1E71A34E9E6A8C45 /* Sources */, + 0A7300EEDB760E5BBD8CDCDA0E756D9F /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = YYImage; + productName = YYImage; + productReference = 0C6F4829D47D1826F47CDC4264F9F6A8 /* libYYImage.a */; + productType = "com.apple.product-type.library.static"; + }; + 8844A49AE64365ECBB6F0B228922E3D4 /* Pods-ExampleUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = FF1E8FCEC0A05CD6042539B49FE84977 /* Build configuration list for PBXNativeTarget "Pods-ExampleUITests" */; + buildPhases = ( + 1F9F42084FA5328A65D06A10A3195627 /* Headers */, + 9A3583B42723658D87E4868694121B3A /* Sources */, + C5F5F9AE8591441292295FD9101B9D1C /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 747006C456DDDC210FA7F2BA6E3DA5A7 /* PBXTargetDependency */, + ); + name = "Pods-ExampleUITests"; + productName = "Pods-ExampleUITests"; + productReference = C232398D4E3A40F2337F8A40D7F8D751 /* libPods-ExampleUITests.a */; + productType = "com.apple.product-type.library.static"; + }; + AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */ = { + isa = PBXNativeTarget; + buildConfigurationList = D55AAFCDDBA2946ECB4E7DBA650E8B60 /* Build configuration list for PBXNativeTarget "GCDWebServer" */; + buildPhases = ( + E516289B0110056A2A7A1CE2E2F230C0 /* Headers */, + 0EE7488E17DB09046CB68A662F259E9A /* Sources */, + 7C1CF9A03EB6116AF3ED3831DDA4F75E /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = GCDWebServer; + productName = GCDWebServer; + productReference = B68C1052A3B51DBCF7D960F898AAFA95 /* libGCDWebServer.a */; + productType = "com.apple.product-type.library.static"; + }; + CFDAE6EB02F58B9A37CADCF439AE6082 /* YYCache */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9D52FD8B42EC011F0CE3772AA41A7531 /* Build configuration list for PBXNativeTarget "YYCache" */; + buildPhases = ( + 19324E32064972C0D8A1FA2DD7D41A2A /* Headers */, + 5B0FD70E7DCF189E26B11864D6AB44FB /* Sources */, + 6921CB3F3F90A4D3854D879F38B0D619 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = YYCache; + productName = YYCache; + productReference = 48ACF38225AF5129416A1F090F6D3286 /* libYYCache.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 10.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = F84D7922A6B05CDCB57606E11D08173B /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3467588C9AC1920A96217C14EB70DA40 /* Doric */, + 5305059FAA2A7B3246F1874D047D8000 /* Doric-Doric */, + AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */, + 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */, + 4432A314DF5F14FFF8809E319054F4AF /* Pods-ExampleTests */, + 8844A49AE64365ECBB6F0B228922E3D4 /* Pods-ExampleUITests */, + 1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */, + CFDAE6EB02F58B9A37CADCF439AE6082 /* YYCache */, + 822E44240F2922DAB12018A6B649BD19 /* YYImage */, + 488E8C830C5A5694EE916251B9ADAADA /* YYWebImage */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 2BFAA43ADD2BB8B0D98C009C813767F0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 469A1604CBB39942455BBDCC31C15BA3 /* bundle in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 0A6945A94C114AD03543703E96A0F3E1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 49CFE195ADFA55E91789E15D0C87C01D /* Pods-ExampleTests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 0B989C5F5B94740CEDB10A7E2E4F8728 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 785D30ACE0CA96360935E2B84255B603 /* SocketRocket-dummy.m in Sources */, + 742D298906BD7E18FDE81D0690CE6707 /* SRWebSocket.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 0EE7488E17DB09046CB68A662F259E9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 02F04EB7E8D481AF83AF79996BD87792 /* GCDWebServer-dummy.m in Sources */, + 35AA6FEA17185BA5249C86BF97CBBAB5 /* GCDWebServer.m in Sources */, + 6E3B68A0E99E0B47F320EF2331E19B7A /* GCDWebServerConnection.m in Sources */, + 6DEB097B36E0E54C1AB014D6F03C022D /* GCDWebServerDataRequest.m in Sources */, + 41E53FC8F7F5F7443EA81735B185621F /* GCDWebServerDataResponse.m in Sources */, + AB84AE28B27CF582EF19D36BDC43F98B /* GCDWebServerErrorResponse.m in Sources */, + D9B4599A181CC306A7435AD154685666 /* GCDWebServerFileRequest.m in Sources */, + DE1EEF389F8CB34534EAF7F8E4E6A7B7 /* GCDWebServerFileResponse.m in Sources */, + 6C945AC43FC9252239BD4EFA591834C4 /* GCDWebServerFunctions.m in Sources */, + 5374F9AB9AA0600E3CCA16E92C8896DF /* GCDWebServerMultiPartFormRequest.m in Sources */, + 456B4EDB3C253A44406F77BC05A674DF /* GCDWebServerRequest.m in Sources */, + D8F9C2440532E05025C22711C00FEDF4 /* GCDWebServerResponse.m in Sources */, + 39B36A38566CBE323E76AE77CF7F14C8 /* GCDWebServerStreamedResponse.m in Sources */, + 54EF62B95670DDDF59F337561BA72092 /* GCDWebServerURLEncodedFormRequest.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 40AD5C10BEA0D14F1E71A34E9E6A8C45 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AE50A6FC10341E2B72B7DAF028954805 /* YYAnimatedImageView.m in Sources */, + 11B5C2686382CB0A191CBB1065B398B1 /* YYFrameImage.m in Sources */, + 3683FDAA91B21FEF6656962C0B18E61B /* YYImage-dummy.m in Sources */, + 5C6582CABB0B8973C08D1654AA69B835 /* YYImage.m in Sources */, + A5F7BC027290310D20EDBA4AA2217461 /* YYImageCoder.m in Sources */, + 2ADB39CC8762C3F34068C0AE84DDCFF4 /* YYSpriteSheetImage.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4ABD9C04B104B92E7521A6BE88BF41B3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B87B726F4418B01AF502A9E9C6119098 /* _YYWebImageSetter.m in Sources */, + 0B59A1F5BD1F123DB97060971DCF1D99 /* CALayer+YYWebImage.m in Sources */, + C907F8799CB0E289D53A5D7BE38EE6FF /* MKAnnotationView+YYWebImage.m in Sources */, + 27CAB568DB504CAB9E87A5949ACBF92A /* UIButton+YYWebImage.m in Sources */, + 1DC222879921DD8E01BDCA6348F0FAEF /* UIImage+YYWebImage.m in Sources */, + B325F28821AA9ED7BB4684C3E6952965 /* UIImageView+YYWebImage.m in Sources */, + FE345403F7CCECEE9CBF80C4C2969636 /* YYImageCache.m in Sources */, + 7134381ADFB49E13A492C8842DD9136E /* YYWebImage-dummy.m in Sources */, + BE80E6672A724B9C99DFDB16291E7920 /* YYWebImageManager.m in Sources */, + B99C4ED46C0396496F882C7254E186C5 /* YYWebImageOperation.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5B0FD70E7DCF189E26B11864D6AB44FB /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1BA55E660DBDCCE258A0E2136464ABD7 /* YYCache-dummy.m in Sources */, + 289FEAACBCE2F0DF88ABB6978CFA4AC9 /* YYCache.m in Sources */, + CC7DF4168FA66F94C7FAC4722D625DE7 /* YYDiskCache.m in Sources */, + 90CA1D7B5E55DD73D1E54DF69ABAF037 /* YYKVStorage.m in Sources */, + 2F5FF6C6FBEE2F4E3BF522CBA1D5ABDC /* YYMemoryCache.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9A3583B42723658D87E4868694121B3A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5BECF1ACCAAAEBA8D91A27C0A8202E95 /* Pods-ExampleUITests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9B8AF771B107648B420DF8828CCAD48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EAB8A5B3F6754F82F8E07B6AD8B240CA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 642A88A3A60378104204D90AF865DCE7 /* Pods-Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FFC3F703D00FC68E571251C277A9D946 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 15A100A4553D6DAA81BBF7C892BADCA4 /* Doric-dummy.m in Sources */, + B6DBD08C47B1B79A1BFB12885900AD59 /* DoricAnimatePlugin.m in Sources */, + 3F95372A5D8DB12F879C15F58389A702 /* DoricAsyncResult.m in Sources */, + 03082882CBBA1667A93B7D61BC55B4B4 /* DoricBridgeExtension.m in Sources */, + 9456535481F6736CF42CC6C0CA0F05CC /* DoricConstant.m in Sources */, + 601AA4A9A51A6295EA0C587E314B4878 /* DoricContext.m in Sources */, + 454BDBC91B37775CE9FEAED5EB98A318 /* DoricContextHolder.m in Sources */, + FA22D26FA65988469855488530673176 /* DoricContextManager.m in Sources */, + 628C00DE711BDAF2D01F87D4E3F507C9 /* DoricDriver.m in Sources */, + 148E041F6FE689C65ECC968D22391F6B /* DoricExtensions.m in Sources */, + 43E035EA4D7778C3A5750C4AA067D517 /* DoricFlowLayoutItemNode.m in Sources */, + 08EF09EB19754EE509818C5790D31DA9 /* DoricFlowLayoutNode.m in Sources */, + 3925A9BD5798E09BE65375ED85D5A080 /* DoricGroupNode.m in Sources */, + 325A01C30B880AEE4052C5FFABC08513 /* DoricHLayoutNode.m in Sources */, + DECC4D2D1BE5BC5F10509E4C42C1A898 /* DoricHttpJSLoader.m in Sources */, + 4D1906A236B1E3163D1F273CA7504B1B /* DoricImageNode.m in Sources */, + 8D1B144A742F49683BE2828D810E4F3E /* DoricJSCoreExecutor.m in Sources */, + 5DDE21F723A5F11642AE78829F3E48E2 /* DoricJSEngine.m in Sources */, + 58EAEE34AF06823DB5089E796271876E /* DoricJSLoaderManager.m in Sources */, + 5A6F8B4FA356338E0C4F7E7BF66DF665 /* DoricJSRemoteArgType.m in Sources */, + 53D32F9170417C4D434CE02C29D28D6D /* DoricJSRemoteExecutor.m in Sources */, + 34ADBE5772A6192B7B304B0004D12A75 /* DoricLayouts.m in Sources */, + D23D009449BDA013320B83E96FD34F0C /* DoricListItemNode.m in Sources */, + A595FE2D135AA39316E3E3BC29297BA1 /* DoricListNode.m in Sources */, + 4152104C6EDDADD63E2A0FD4346C704A /* DoricMainBundleJSLoader.m in Sources */, + C02DE514B2104B7F5BF56CA865D60E1D /* DoricModalPlugin.m in Sources */, + 85FCA81F31A3D7F20A3B8573E4EC0CCD /* DoricNativePlugin.m in Sources */, + FF61AAFF955979FB5139A45AAA356476 /* DoricNavBarPlugin.m in Sources */, + 9E438C93DCD92B560E17734920ECA41E /* DoricNavigatorPlugin.m in Sources */, + BCCA8B4ECCE73780AF092C376700FFAA /* DoricNetworkPlugin.m in Sources */, + 64A7E44B95ADC998CAC69B4173F28F5D /* DoricPanel.m in Sources */, + DA5C200F877DDC6B376E80FC59DB5810 /* DoricPopoverPlugin.m in Sources */, + 7913064CD98682308E4DB915BF9035C2 /* DoricPromise.m in Sources */, + A603D2CA37138F4E0D2DB37C781A06BF /* DoricRefreshableNode.m in Sources */, + ECE9EB5004C807E82D576D1E4AFA13D2 /* DoricRegistry.m in Sources */, + 11C9CB703C2C92A588EA39CCFE5BCBC2 /* DoricRootNode.m in Sources */, + 235867C4157F363474F02CFECB820F45 /* DoricScrollerNode.m in Sources */, + 1DA05AE266C79E2CC17F3F527E34F7CC /* DoricShaderPlugin.m in Sources */, + E661D35C67269E4A6F71760F5E2A2432 /* DoricSlideItemNode.m in Sources */, + D69495C5934065FB2F245BA3A332DE86 /* DoricSliderNode.m in Sources */, + DD862728E67ABA06851177E86348C67D /* DoricStackNode.m in Sources */, + 2BF2F43EB0EDA27FBF764B004723F8F9 /* DoricStoragePlugin.m in Sources */, + F966178401EEC590EF0A26C79481E4D1 /* DoricSuperNode.m in Sources */, + 00612BA0FDFFF760AA31897B256552D3 /* DoricSwipeRefreshLayout.m in Sources */, + F29D4EC239C9F0D6705C9E1CC22576F9 /* DoricTextNode.m in Sources */, + FABB9B51C2FFDED22D686E59516612D0 /* DoricUtil.m in Sources */, + 89F0597FC8000460FB5CC2E7FC6319F9 /* DoricViewController.m in Sources */, + C3BC5A74FD1503DFA41D5A4E5EC3B672 /* DoricViewNode.m in Sources */, + EAC6F94876E051A213D3D556453486CC /* DoricVLayoutNode.m in Sources */, + A44016F8566693840BB920EA21DB7500 /* DoricWSClient.m in Sources */, + 07EB9BB703FC850650DC41BEA946EA62 /* NSString+JsonString.m in Sources */, + FBBC942DFE11B502C5C608D9BABBE130 /* UIView+Doric.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 0065ADB05F8959B485170F431CAD76AF /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYImage; + target = 822E44240F2922DAB12018A6B649BD19 /* YYImage */; + targetProxy = DD8E4C66891B230FFF1D4817E48DAB1A /* PBXContainerItemProxy */; + }; + 10B5260627C632981E228E766CDB9218 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYImage; + target = 822E44240F2922DAB12018A6B649BD19 /* YYImage */; + targetProxy = BE67A29C8EE3211F6E4264C92C4C5784 /* PBXContainerItemProxy */; + }; + 125839921EFB069382195EB61B591B65 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Doric-Doric"; + target = 5305059FAA2A7B3246F1874D047D8000 /* Doric-Doric */; + targetProxy = 8BCCEE3CE39180DCABAD08A2A88ABED2 /* PBXContainerItemProxy */; + }; + 35A5957DD49EAD482E1E36143F1DCDFE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYCache; + target = CFDAE6EB02F58B9A37CADCF439AE6082 /* YYCache */; + targetProxy = 77CF2158783C6995303A85B86AFD0AB9 /* PBXContainerItemProxy */; + }; + 36F2559A041FD20B19A9EEDDB7D016A3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYImage; + target = 822E44240F2922DAB12018A6B649BD19 /* YYImage */; + targetProxy = 8479FE8F8C2EC600F1603EF1BFD6CC05 /* PBXContainerItemProxy */; + }; + 45A4C317249E4EFC8B146BAC54205744 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYWebImage; + target = 488E8C830C5A5694EE916251B9ADAADA /* YYWebImage */; + targetProxy = 5EF22E1C74B909EA29E090C50719BBD9 /* PBXContainerItemProxy */; + }; + 4D79DA13C03170CE9C21D80EF46AF849 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = GCDWebServer; + target = AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */; + targetProxy = A79DF282FD90B4C36A64A1AF9B145EDB /* PBXContainerItemProxy */; + }; + 747006C456DDDC210FA7F2BA6E3DA5A7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-Example"; + target = 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */; + targetProxy = 253670C8605F5FFDE1D6606BA634381B /* PBXContainerItemProxy */; + }; + 7C13BF224FA9F8FB97D246BD39E099C3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-Example"; + target = 0AEE99A309977BD12A049FF48AF9BA4B /* Pods-Example */; + targetProxy = 751D1FF2822550D322644F951A7BDA9F /* PBXContainerItemProxy */; + }; + 7CD09EAB9716E55B66A35A67313C16CE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYCache; + target = CFDAE6EB02F58B9A37CADCF439AE6082 /* YYCache */; + targetProxy = 856CD558A6A4C84FD434D6D2A50A352C /* PBXContainerItemProxy */; + }; + 9BB0DA7DF4375D94FAF7099B4E18F8F6 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = GCDWebServer; + target = AD904F32069787EFB2DFFE05EB82F5BD /* GCDWebServer */; + targetProxy = CBBE8CF6CC81DB32DA2DDF836FC41947 /* PBXContainerItemProxy */; + }; + 9D85CAFF928F7B198848A244D5964248 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYWebImage; + target = 488E8C830C5A5694EE916251B9ADAADA /* YYWebImage */; + targetProxy = 5D80C63145B83493E429D6C7B05394BB /* PBXContainerItemProxy */; + }; + A3D49195A496AA0826AB0216CB28D68E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SocketRocket; + target = 1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */; + targetProxy = 5F800553AF429EC9C1F3C6E5C826D04E /* PBXContainerItemProxy */; + }; + A73ADCD9DC1236D61BA4D6F0EB9068EC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = YYCache; + target = CFDAE6EB02F58B9A37CADCF439AE6082 /* YYCache */; + targetProxy = F5D4CA413DB8AE6664EA56196D8C0C4A /* PBXContainerItemProxy */; + }; + DE060ACD35D08B8BCE8C6907E1C205D2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Doric; + target = 3467588C9AC1920A96217C14EB70DA40 /* Doric */; + targetProxy = D478AD36DA51D0362FE11615C051F15B /* PBXContainerItemProxy */; + }; + DF228FFC5206B8E9FD01E9397FEE2A49 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SocketRocket; + target = 1948D0B63D2CF6A48E18B0B292BC6091 /* SocketRocket */; + targetProxy = 2313449E8824345CBDB9ED4D3E3BCF32 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 00994F306AF3B768484D4D5A96FF3E9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 35D3ADD1FF0C9A33D86DB110C181048B /* Pods-ExampleTests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1867EE0ECC0D95F72F3C21F56270C932 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 98512CF1DCD76DF334D0FDB005736214 /* GCDWebServer.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1BEEA832EFCEC6C7D6306AE959E5F736 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5BD2FB5A84E2481DF889A8718306023F /* YYImage.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1F74D9D2F08B3F941DB2B37B659E834B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 677BC4F0CCD6EB2C9FBCB3B375E7349F /* Doric.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Doric"; + INFOPLIST_FILE = "Target Support Files/Doric/ResourceBundle-Doric-Doric-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + PRODUCT_NAME = Doric; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 2DF4EFAC0C2BD7ECA51C3801727A9E30 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 677BC4F0CCD6EB2C9FBCB3B375E7349F /* Doric.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Doric/Doric-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Doric; + PRODUCT_NAME = Doric; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 4F49B03DE53237020A9A6B697CBB8CCB /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 57728CFE03A4D88821681C3D55A1FA85 /* Pods-Example.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 6643C31EFA970B7EAFC68BCADA3E7242 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4A6BBD5D599973673610A24AF01EF5D7 /* YYWebImage.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/YYWebImage/YYWebImage-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYWebImage; + PRODUCT_NAME = YYWebImage; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 747661AF61F4387FF6885B69B54F271E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8052FAE778A6A09F2260E4E85B371F57 /* Pods-ExampleTests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 76441C7336CE1037FF46D29DF3FC2228 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A461D3539C89936737BC3759F6AA0407 /* YYCache.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/YYCache/YYCache-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYCache; + PRODUCT_NAME = YYCache; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 770D93103C8F5744BE0B815D6D8A9F6F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4A6BBD5D599973673610A24AF01EF5D7 /* YYWebImage.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/YYWebImage/YYWebImage-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYWebImage; + PRODUCT_NAME = YYWebImage; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 9AD4A9FAB7BCA211A8C0FC98A7683348 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E340F908A05867E06E975FDCDD32315C /* Pods-Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + A27713CB74E99AF202AADC23200A32F4 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + A4DB471E05BD01419CF7CE60F6404243 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A461D3539C89936737BC3759F6AA0407 /* YYCache.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/YYCache/YYCache-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYCache; + PRODUCT_NAME = YYCache; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + A7D7E74228D53C61289938CCEC18058C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B54C4523BBF2D713FE5A0DC2448FFFB1 /* SocketRocket.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SocketRocket/SocketRocket-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SocketRocket; + PRODUCT_NAME = SocketRocket; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B2E6C9F349C68F27DFF73ACF12F14761 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 677BC4F0CCD6EB2C9FBCB3B375E7349F /* Doric.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/Doric"; + INFOPLIST_FILE = "Target Support Files/Doric/ResourceBundle-Doric-Doric-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + PRODUCT_NAME = Doric; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + BAA29EEE9BBE1E8D82BFADC3AD1BBEF9 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 786AB58F4C2451575BBF7722ACDE9BEB /* Pods-ExampleUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + C7051B457F5811ED7939D90711AB1C77 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 677BC4F0CCD6EB2C9FBCB3B375E7349F /* Doric.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Doric/Doric-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Doric; + PRODUCT_NAME = Doric; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D5CF2A2E3D8139B7310231DB736E4364 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 50CE420621B9D9ED01E06A8EDBD3E990 /* Pods-ExampleUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + E07894811891A3E671C1D3F25C73EA31 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 98512CF1DCD76DF334D0FDB005736214 /* GCDWebServer.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/GCDWebServer/GCDWebServer-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = GCDWebServer; + PRODUCT_NAME = GCDWebServer; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + E55F3035644B5631EE29D961E11FC0AC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5BD2FB5A84E2481DF889A8718306023F /* YYImage.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/YYImage/YYImage-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = YYImage; + PRODUCT_NAME = YYImage; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + F005A2CA09B6A27BEC0220D81C4724F7 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B54C4523BBF2D713FE5A0DC2448FFFB1 /* SocketRocket.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/SocketRocket/SocketRocket-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = SocketRocket; + PRODUCT_NAME = SocketRocket; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 019A61CAE0868AC0BE60D448F7684ECF /* Build configuration list for PBXNativeTarget "SocketRocket" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A7D7E74228D53C61289938CCEC18058C /* Debug */, + F005A2CA09B6A27BEC0220D81C4724F7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 254DEE34BA0C554E2254F342226EF50C /* Build configuration list for PBXNativeTarget "Pods-Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9AD4A9FAB7BCA211A8C0FC98A7683348 /* Debug */, + 4F49B03DE53237020A9A6B697CBB8CCB /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */, + A27713CB74E99AF202AADC23200A32F4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 491A184E17170C12C18549F5C1D24A74 /* Build configuration list for PBXNativeTarget "Doric" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C7051B457F5811ED7939D90711AB1C77 /* Debug */, + 2DF4EFAC0C2BD7ECA51C3801727A9E30 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9D52FD8B42EC011F0CE3772AA41A7531 /* Build configuration list for PBXNativeTarget "YYCache" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A4DB471E05BD01419CF7CE60F6404243 /* Debug */, + 76441C7336CE1037FF46D29DF3FC2228 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B2548596E2544D6246F7A1567F0FED35 /* Build configuration list for PBXNativeTarget "Pods-ExampleTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 00994F306AF3B768484D4D5A96FF3E9A /* Debug */, + 747661AF61F4387FF6885B69B54F271E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CF28C89A17B973DCEF0CC17EC429C924 /* Build configuration list for PBXNativeTarget "Doric-Doric" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B2E6C9F349C68F27DFF73ACF12F14761 /* Debug */, + 1F74D9D2F08B3F941DB2B37B659E834B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D55AAFCDDBA2946ECB4E7DBA650E8B60 /* Build configuration list for PBXNativeTarget "GCDWebServer" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1867EE0ECC0D95F72F3C21F56270C932 /* Debug */, + E07894811891A3E671C1D3F25C73EA31 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F0862E6186C771182316C9FF20CC569A /* Build configuration list for PBXNativeTarget "YYImage" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1BEEA832EFCEC6C7D6306AE959E5F736 /* Debug */, + E55F3035644B5631EE29D961E11FC0AC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FA9151EF6282C13D4B730B3273163572 /* Build configuration list for PBXNativeTarget "YYWebImage" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 770D93103C8F5744BE0B815D6D8A9F6F /* Debug */, + 6643C31EFA970B7EAFC68BCADA3E7242 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FF1E8FCEC0A05CD6042539B49FE84977 /* Build configuration list for PBXNativeTarget "Pods-ExampleUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BAA29EEE9BBE1E8D82BFADC3AD1BBEF9 /* Debug */, + D5CF2A2E3D8139B7310231DB736E4364 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric-Doric.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric-Doric.xcscheme new file mode 100644 index 00000000..9445d3e9 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric-Doric.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric.xcscheme new file mode 100644 index 00000000..62701502 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Doric.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/GCDWebServer.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/GCDWebServer.xcscheme new file mode 100644 index 00000000..65cdf11a --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/GCDWebServer.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-Example.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-Example.xcscheme new file mode 100644 index 00000000..583ee4b5 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-Example.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleTests.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleTests.xcscheme new file mode 100644 index 00000000..e3b35c09 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleTests.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleUITests.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleUITests.xcscheme new file mode 100644 index 00000000..4a616e3a --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/Pods-ExampleUITests.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/SocketRocket.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/SocketRocket.xcscheme new file mode 100644 index 00000000..771b095d --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/SocketRocket.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYCache.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYCache.xcscheme new file mode 100644 index 00000000..e4162776 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYCache.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYImage.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYImage.xcscheme new file mode 100644 index 00000000..320a58cf --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYImage.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYWebImage.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYWebImage.xcscheme new file mode 100644 index 00000000..a5ae6514 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/YYWebImage.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..b31ba0e7 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/pengfei.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,81 @@ + + + + + SchemeUserState + + Doric-Doric.xcscheme + + isShown + + orderHint + 0 + + Doric.xcscheme + + isShown + + orderHint + 1 + + GCDWebServer.xcscheme + + isShown + + orderHint + 2 + + Pods-Example.xcscheme + + isShown + + orderHint + 3 + + Pods-ExampleTests.xcscheme + + isShown + + orderHint + 4 + + Pods-ExampleUITests.xcscheme + + isShown + + orderHint + 5 + + SocketRocket.xcscheme + + isShown + + orderHint + 6 + + YYCache.xcscheme + + isShown + + orderHint + 7 + + YYImage.xcscheme + + isShown + + orderHint + 8 + + YYWebImage.xcscheme + + isShown + + orderHint + 9 + + + SuppressBuildableAutocreation + + + diff --git a/Example/Pods/SocketRocket/LICENSE b/Example/Pods/SocketRocket/LICENSE new file mode 100644 index 00000000..c01a79c3 --- /dev/null +++ b/Example/Pods/SocketRocket/LICENSE @@ -0,0 +1,15 @@ + + Copyright 2012 Square Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/Example/Pods/SocketRocket/README.rst b/Example/Pods/SocketRocket/README.rst new file mode 100644 index 00000000..033c9dd0 --- /dev/null +++ b/Example/Pods/SocketRocket/README.rst @@ -0,0 +1,246 @@ +SocketRocket Objective-C WebSocket Client (beta) +================================================ +A conforming WebSocket (`RFC 6455 `_) +client library. + +`Test results for SocketRocket here `_. +You can compare to what `modern browsers look like here +`_. + +SocketRocket currently conforms to all ~300 of `Autobahn +`_'s fuzzing tests (aside from +two UTF-8 ones where it is merely *non-strict*. tests 6.4.2 and 6.4.4) + +Features/Design +--------------- +- TLS (wss) support. It uses CFStream so we get this for *free* +- Uses NSStream/CFNetworking. Earlier implementations used ``dispatch_io``, + however, this proved to be make TLS nearly impossible. Also I wanted this to + work in iOS 4.x. (SocketRocket only supports 5.0 and above now) +- Uses ARC. It uses the 4.0 compatible subset (no weak refs). +- Seems to perform quite well +- Parallel architecture. Most of the work is done in background worker queues. +- Delegate-based. Had older versions that could use blocks too, but I felt it + didn't blend well with retain cycles and just objective C in general. + +Changes +------- + +v0.3.1-beta2 - 2013-01-12 +````````````````````````` + +- Stability fix for ``closeWithCode:reason:`` (Thanks @michaelpetrov!) +- Actually clean up the NSStreams and remove them from their runloops +- ``_SRRunLoopThread``'s ``main`` wasn't correctly wrapped with + ``@autoreleasepool`` + +v0.3.1-beta1 - 2013-01-12 +````````````````````````` + +- Cleaned up GCD so OS_OBJECT_USE_OBJC_RETAIN_RELEASE is optional +- Removed deprecated ``dispatch_get_current_queue`` in favor of ``dispatch_queue_set_specific`` and ``dispatch_get_specific`` +- Dropping support for iOS 4.0 (it may still work) + + +Installing (iOS) +---------------- +There's a few options. Choose one, or just figure it out + +- You can copy all the files in the SocketRocket group into your app. +- Include SocketRocket as a subproject and use libSocketRocket + + If you do this, you must add -ObjC to your "other linker flags" option + +- For OS X you will have to repackage make a .framework target. I will take + contributions. Message me if you are interested. + + +Depending on how you configure your project you may need to ``#import`` either +```` or ``"SRWebSocket.h"`` + +Framework Dependencies +`````````````````````` +Your .app must be linked against the following frameworks/dylibs + +- libicucore.dylib +- CFNetwork.framework +- Security.framework +- Foundation.framework + +Installing (OS X) +----------------- +SocketRocket now has (64-bit only) OS X support. ``SocketRocket.framework`` +inside Xcode project is for OS X only. It should be identical in function aside +from the unicode validation. ICU isn't shipped with OS X which is what the +original implementation used for unicode validation. The workaround is much +more rudimentary and less robust. + +1. Add SocketRocket.xcodeproj as either a subproject of your app or in your workspace. +2. Add ``SocketRocket.framework`` to the link libraries +3. If you don't have a "copy files" step for ``Framework``, create one +4. Add ``SocketRocket.framework`` to the "copy files" step. + +API +--- +The classes + +``SRWebSocket`` +``````````````` +The Web Socket. + +.. note:: ``SRWebSocket`` will retain itself between ``-(void)open`` and when it + closes, errors, or fails. This is similar to how ``NSURLConnection`` behaves. + (unlike ``NSURLConnection``, ``SRWebSocket`` won't retain the delegate) + +What you need to know + +.. code-block:: objective-c + + @interface SRWebSocket : NSObject + + // Make it with this + - (id)initWithURLRequest:(NSURLRequest *)request; + + // Set this before opening + @property (nonatomic, assign) id delegate; + + - (void)open; + + // Close it with this + - (void)close; + + // Send a UTF8 String or Data + - (void)send:(id)data; + + @end + +``SRWebSocketDelegate`` +``````````````````````` +You implement this + +.. code-block:: objective-c + + @protocol SRWebSocketDelegate + + - (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message; + + @optional + + - (void)webSocketDidOpen:(SRWebSocket *)webSocket; + - (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error; + - (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean; + + @end + +Known Issues/Server Todo's +-------------------------- +- Needs auth delegates (like in NSURLConnection) +- Move the streams off the main runloop (most of the work is backgrounded uses + GCD, but I just haven't gotten around to moving it off the main loop since I + converted it from dispatch_io) +- Re-implement server. I removed an existing implementation as well because it + wasn't being used and I wasn't super happy with the interface. Will revisit + this. +- Separate framer and client logic. This will make it nicer when having a + server. + +Testing +------- +Included are setup scripts for the python testing environment. It comes +packaged with vitualenv so all the dependencies are installed in userland. + +To run the short test from the command line, run:: + + make test + +To run all the tests, run:: + + make test_all + +The short tests don't include the performance tests. (the test harness is +actually the bottleneck, not SocketRocket). + +The first time this is run, it may take a while to install the dependencies. It +will be smooth sailing after that. After the test runs the makefile will open +the results page in your browser. If nothing comes up, you failed. Working on +making this interface a bit nicer. + +To run from the app, choose the ``SocketRocket`` target and run the test action +(``cmd+u``). It runs the same thing, but makes it easier to debug. There is +some serious pre/post hooks in the Test action. You can edit it to customize +behavior. + +.. note:: Xcode only up to version 4.4 is currently supported for the test + harness + +TestChat Demo Application +------------------------- +SocketRocket includes a demo app, TestChat. It will "chat" with a listening +websocket on port 9900. + +It's a simple project. Uses storyboard. Storyboard is sweet. + + +TestChat Server +``````````````` +We've included a small server for the chat app. It has a simple function. +It will take a message and broadcast it to all other connected clients. + +We have to get some dependencies. We also want to reuse the virtualenv we made +when we ran the tests. If you haven't run the tests yet, go into the +SocketRocket root directory and type:: + + make test + +This will set up your `virtualenv `_. +Now, in your terminal:: + + source .env/bin/activate + pip install git+https://github.com/tornadoweb/tornado.git + +In the same terminal session, start the chatroom server:: + + python TestChatServer/py/chatroom.py + +There's also a Go implementation (with the latest weekly) where you can:: + + cd TestChatServer/go + go run chatroom.go + +Chatting +```````` +Now, start TestChat.app (just run the target in the Xcode project). If you had +it started already you can hit the refresh button to reconnect. It should say +"Connected!" on top. + +To talk with the app, open up your browser to `http://localhost:9000 `_ and +start chatting. + + +WebSocket Server Implementation Recommendations +----------------------------------------------- +SocketRocket has been used with the following libraries: + +- `Tornado `_ +- Go's `WebSocket package `_ or Gorilla's `version `_ +- `Autobahn `_ (using its fuzzing + client) + +The Tornado one is dirt simple and works like a charm. (`IPython notebook +`_ uses it +too). It's much easier to configure handlers and routes than in +Autobahn/twisted. + +As far as Go's goes, it works in my limited testing. I much prefer go's +concurrency model as well. Try it! You may like it. +It could use some more control over things such as pings, etc., but I +am sure it will come in time. + +Autobahn is a great test suite. The Python server code is good, and conforms +well (obviously). However for me, twisted would be a deal-breaker for writing +something new. I find it a bit too complex and heavy for a simple service. If +you are already using twisted though, Autobahn is probably for you. + +Contributing +------------ +We’re glad you’re interested in SocketRocket, and we’d love to see where you take it. Please read our `contributing guidelines `_ prior to submitting a Pull Request. \ No newline at end of file diff --git a/Example/Pods/SocketRocket/SocketRocket/SRWebSocket.h b/Example/Pods/SocketRocket/SocketRocket/SRWebSocket.h new file mode 100644 index 00000000..ca3a2c0f --- /dev/null +++ b/Example/Pods/SocketRocket/SocketRocket/SRWebSocket.h @@ -0,0 +1,154 @@ +// +// Copyright 2012 Square Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import +#import + +typedef NS_ENUM(NSInteger, SRReadyState) { + SR_CONNECTING = 0, + SR_OPEN = 1, + SR_CLOSING = 2, + SR_CLOSED = 3, +}; + +typedef enum SRStatusCode : NSInteger { + // 0–999: Reserved and not used. + SRStatusCodeNormal = 1000, + SRStatusCodeGoingAway = 1001, + SRStatusCodeProtocolError = 1002, + SRStatusCodeUnhandledType = 1003, + // 1004 reserved. + SRStatusNoStatusReceived = 1005, + SRStatusCodeAbnormal = 1006, + SRStatusCodeInvalidUTF8 = 1007, + SRStatusCodePolicyViolated = 1008, + SRStatusCodeMessageTooBig = 1009, + SRStatusCodeMissingExtension = 1010, + SRStatusCodeInternalError = 1011, + SRStatusCodeServiceRestart = 1012, + SRStatusCodeTryAgainLater = 1013, + // 1014: Reserved for future use by the WebSocket standard. + SRStatusCodeTLSHandshake = 1015, + // 1016–1999: Reserved for future use by the WebSocket standard. + // 2000–2999: Reserved for use by WebSocket extensions. + // 3000–3999: Available for use by libraries and frameworks. May not be used by applications. Available for registration at the IANA via first-come, first-serve. + // 4000–4999: Available for use by applications. +} SRStatusCode; + +@class SRWebSocket; + +extern NSString *const SRWebSocketErrorDomain; +extern NSString *const SRHTTPResponseErrorKey; + +#pragma mark - SRWebSocketDelegate + +@protocol SRWebSocketDelegate; + +#pragma mark - SRWebSocket + +@interface SRWebSocket : NSObject + +@property (nonatomic, weak) id delegate; + +@property (nonatomic, readonly) SRReadyState readyState; +@property (nonatomic, readonly, retain) NSURL *url; + + +@property (nonatomic, readonly) CFHTTPMessageRef receivedHTTPHeaders; + +// Optional array of cookies (NSHTTPCookie objects) to apply to the connections +@property (nonatomic, readwrite) NSArray * requestCookies; + +// This returns the negotiated protocol. +// It will be nil until after the handshake completes. +@property (nonatomic, readonly, copy) NSString *protocol; + +// Protocols should be an array of strings that turn into Sec-WebSocket-Protocol. +- (id)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates; +- (id)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray *)protocols; +- (id)initWithURLRequest:(NSURLRequest *)request; + +// Some helper constructors. +- (id)initWithURL:(NSURL *)url protocols:(NSArray *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates; +- (id)initWithURL:(NSURL *)url protocols:(NSArray *)protocols; +- (id)initWithURL:(NSURL *)url; + +// Delegate queue will be dispatch_main_queue by default. +// You cannot set both OperationQueue and dispatch_queue. +- (void)setDelegateOperationQueue:(NSOperationQueue*) queue; +- (void)setDelegateDispatchQueue:(dispatch_queue_t) queue; + +// By default, it will schedule itself on +[NSRunLoop SR_networkRunLoop] using defaultModes. +- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; +- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; + +// SRWebSockets are intended for one-time-use only. Open should be called once and only once. +- (void)open; + +- (void)close; +- (void)closeWithCode:(NSInteger)code reason:(NSString *)reason; + +// Send a UTF8 String or Data. +- (void)send:(id)data; + +// Send Data (can be nil) in a ping message. +- (void)sendPing:(NSData *)data; + +@end + +#pragma mark - SRWebSocketDelegate + +@protocol SRWebSocketDelegate + +// message will either be an NSString if the server is using text +// or NSData if the server is using binary. +- (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(id)message; + +@optional + +- (void)webSocketDidOpen:(SRWebSocket *)webSocket; +- (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error; +- (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean; +- (void)webSocket:(SRWebSocket *)webSocket didReceivePong:(NSData *)pongPayload; + +// Return YES to convert messages sent as Text to an NSString. Return NO to skip NSData -> NSString conversion for Text messages. Defaults to YES. +- (BOOL)webSocketShouldConvertTextFrameToString:(SRWebSocket *)webSocket; + +@end + +#pragma mark - NSURLRequest (SRCertificateAdditions) + +@interface NSURLRequest (SRCertificateAdditions) + +@property (nonatomic, retain, readonly) NSArray *SR_SSLPinnedCertificates; + +@end + +#pragma mark - NSMutableURLRequest (SRCertificateAdditions) + +@interface NSMutableURLRequest (SRCertificateAdditions) + +@property (nonatomic, retain) NSArray *SR_SSLPinnedCertificates; + +@end + +#pragma mark - NSRunLoop (SRWebSocket) + +@interface NSRunLoop (SRWebSocket) + ++ (NSRunLoop *)SR_networkRunLoop; + +@end diff --git a/Example/Pods/SocketRocket/SocketRocket/SRWebSocket.m b/Example/Pods/SocketRocket/SocketRocket/SRWebSocket.m new file mode 100644 index 00000000..b078dd24 --- /dev/null +++ b/Example/Pods/SocketRocket/SocketRocket/SRWebSocket.m @@ -0,0 +1,1916 @@ +// +// Copyright 2012 Square Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + + +#import "SRWebSocket.h" + +#if TARGET_OS_IPHONE +#define HAS_ICU +#endif + +#ifdef HAS_ICU +#import +#endif + +#if TARGET_OS_IPHONE +#import +#else +#import +#endif + +#import +#import + +#if OS_OBJECT_USE_OBJC_RETAIN_RELEASE +#define sr_dispatch_retain(x) +#define sr_dispatch_release(x) +#define maybe_bridge(x) ((__bridge void *) x) +#else +#define sr_dispatch_retain(x) dispatch_retain(x) +#define sr_dispatch_release(x) dispatch_release(x) +#define maybe_bridge(x) (x) +#endif + +#if !__has_feature(objc_arc) +#error SocketRocket must be compiled with ARC enabled +#endif + + +typedef enum { + SROpCodeTextFrame = 0x1, + SROpCodeBinaryFrame = 0x2, + // 3-7 reserved. + SROpCodeConnectionClose = 0x8, + SROpCodePing = 0x9, + SROpCodePong = 0xA, + // B-F reserved. +} SROpCode; + +typedef struct { + BOOL fin; +// BOOL rsv1; +// BOOL rsv2; +// BOOL rsv3; + uint8_t opcode; + BOOL masked; + uint64_t payload_length; +} frame_header; + +static NSString *const SRWebSocketAppendToSecKeyString = @"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; + +static inline int32_t validate_dispatch_data_partial_string(NSData *data); +static inline void SRFastLog(NSString *format, ...); + +@interface NSData (SRWebSocket) + +- (NSString *)stringBySHA1ThenBase64Encoding; + +@end + + +@interface NSString (SRWebSocket) + +- (NSString *)stringBySHA1ThenBase64Encoding; + +@end + + +@interface NSURL (SRWebSocket) + +// The origin isn't really applicable for a native application. +// So instead, just map ws -> http and wss -> https. +- (NSString *)SR_origin; + +@end + + +@interface _SRRunLoopThread : NSThread + +@property (nonatomic, readonly) NSRunLoop *runLoop; + +@end + + +static NSString *newSHA1String(const char *bytes, size_t length) { + uint8_t md[CC_SHA1_DIGEST_LENGTH]; + + assert(length >= 0); + assert(length <= UINT32_MAX); + CC_SHA1(bytes, (CC_LONG)length, md); + + NSData *data = [NSData dataWithBytes:md length:CC_SHA1_DIGEST_LENGTH]; + + if ([data respondsToSelector:@selector(base64EncodedStringWithOptions:)]) { + return [data base64EncodedStringWithOptions:0]; + } + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + return [data base64Encoding]; +#pragma clang diagnostic pop +} + +@implementation NSData (SRWebSocket) + +- (NSString *)stringBySHA1ThenBase64Encoding; +{ + return newSHA1String(self.bytes, self.length); +} + +@end + + +@implementation NSString (SRWebSocket) + +- (NSString *)stringBySHA1ThenBase64Encoding; +{ + return newSHA1String(self.UTF8String, self.length); +} + +@end + +NSString *const SRWebSocketErrorDomain = @"SRWebSocketErrorDomain"; +NSString *const SRHTTPResponseErrorKey = @"HTTPResponseStatusCode"; + +// Returns number of bytes consumed. Returning 0 means you didn't match. +// Sends bytes to callback handler; +typedef size_t (^stream_scanner)(NSData *collected_data); + +typedef void (^data_callback)(SRWebSocket *webSocket, NSData *data); + +@interface SRIOConsumer : NSObject { + stream_scanner _scanner; + data_callback _handler; + size_t _bytesNeeded; + BOOL _readToCurrentFrame; + BOOL _unmaskBytes; +} +@property (nonatomic, copy, readonly) stream_scanner consumer; +@property (nonatomic, copy, readonly) data_callback handler; +@property (nonatomic, assign) size_t bytesNeeded; +@property (nonatomic, assign, readonly) BOOL readToCurrentFrame; +@property (nonatomic, assign, readonly) BOOL unmaskBytes; + +@end + +// This class is not thread-safe, and is expected to always be run on the same queue. +@interface SRIOConsumerPool : NSObject + +- (id)initWithBufferCapacity:(NSUInteger)poolSize; + +- (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; +- (void)returnConsumer:(SRIOConsumer *)consumer; + +@end + +@interface SRWebSocket () + +@property (nonatomic) SRReadyState readyState; + +@property (nonatomic) NSOperationQueue *delegateOperationQueue; +@property (nonatomic) dispatch_queue_t delegateDispatchQueue; + +// Specifies whether SSL trust chain should NOT be evaluated. +// By default this flag is set to NO, meaning only secure SSL connections are allowed. +// For DEBUG builds this flag is ignored, and SSL connections are allowed regardless +// of the certificate trust configuration +@property (nonatomic, readwrite) BOOL allowsUntrustedSSLCertificates; + +@end + + +@implementation SRWebSocket { + NSInteger _webSocketVersion; + + NSOperationQueue *_delegateOperationQueue; + dispatch_queue_t _delegateDispatchQueue; + + dispatch_queue_t _workQueue; + NSMutableArray *_consumers; + + NSInputStream *_inputStream; + NSOutputStream *_outputStream; + + NSMutableData *_readBuffer; + NSUInteger _readBufferOffset; + + NSMutableData *_outputBuffer; + NSUInteger _outputBufferOffset; + + uint8_t _currentFrameOpcode; + size_t _currentFrameCount; + size_t _readOpCount; + uint32_t _currentStringScanPosition; + NSMutableData *_currentFrameData; + + NSString *_closeReason; + + NSString *_secKey; + NSString *_basicAuthorizationString; + + BOOL _pinnedCertFound; + + uint8_t _currentReadMaskKey[4]; + size_t _currentReadMaskOffset; + + BOOL _consumerStopped; + + BOOL _closeWhenFinishedWriting; + BOOL _failed; + + BOOL _secure; + NSURLRequest *_urlRequest; + + BOOL _sentClose; + BOOL _didFail; + BOOL _cleanupScheduled; + int _closeCode; + + BOOL _isPumping; + + NSMutableSet *_scheduledRunloops; + + // We use this to retain ourselves. + __strong SRWebSocket *_selfRetain; + + NSArray *_requestedProtocols; + SRIOConsumerPool *_consumerPool; +} + +@synthesize delegate = _delegate; +@synthesize url = _url; +@synthesize readyState = _readyState; +@synthesize protocol = _protocol; + +static __strong NSData *CRLFCRLF; + ++ (void)initialize; +{ + CRLFCRLF = [[NSData alloc] initWithBytes:"\r\n\r\n" length:4]; +} + +- (id)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates; +{ + self = [super init]; + if (self) { + assert(request.URL); + _url = request.URL; + _urlRequest = request; + _allowsUntrustedSSLCertificates = allowsUntrustedSSLCertificates; + + _requestedProtocols = [protocols copy]; + + [self _SR_commonInit]; + } + + return self; +} + +- (id)initWithURLRequest:(NSURLRequest *)request protocols:(NSArray *)protocols; +{ + return [self initWithURLRequest:request protocols:protocols allowsUntrustedSSLCertificates:NO]; +} + +- (id)initWithURLRequest:(NSURLRequest *)request; +{ + return [self initWithURLRequest:request protocols:nil]; +} + +- (id)initWithURL:(NSURL *)url; +{ + return [self initWithURL:url protocols:nil]; +} + +- (id)initWithURL:(NSURL *)url protocols:(NSArray *)protocols; +{ + NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; + return [self initWithURLRequest:request protocols:protocols]; +} + +- (id)initWithURL:(NSURL *)url protocols:(NSArray *)protocols allowsUntrustedSSLCertificates:(BOOL)allowsUntrustedSSLCertificates; +{ + NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; + return [self initWithURLRequest:request protocols:protocols allowsUntrustedSSLCertificates:allowsUntrustedSSLCertificates]; +} + +- (void)_SR_commonInit; +{ + NSString *scheme = _url.scheme.lowercaseString; + assert([scheme isEqualToString:@"ws"] || [scheme isEqualToString:@"http"] || [scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]); + + if ([scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]) { + _secure = YES; + } + + _readyState = SR_CONNECTING; + _consumerStopped = YES; + _webSocketVersion = 13; + + _workQueue = dispatch_queue_create(NULL, DISPATCH_QUEUE_SERIAL); + + // Going to set a specific on the queue so we can validate we're on the work queue + dispatch_queue_set_specific(_workQueue, (__bridge void *)self, maybe_bridge(_workQueue), NULL); + + _delegateDispatchQueue = dispatch_get_main_queue(); + sr_dispatch_retain(_delegateDispatchQueue); + + _readBuffer = [[NSMutableData alloc] init]; + _outputBuffer = [[NSMutableData alloc] init]; + + _currentFrameData = [[NSMutableData alloc] init]; + + _consumers = [[NSMutableArray alloc] init]; + + _consumerPool = [[SRIOConsumerPool alloc] init]; + + _scheduledRunloops = [[NSMutableSet alloc] init]; + + [self _initializeStreams]; + + // default handlers +} + +- (void)assertOnWorkQueue; +{ + assert(dispatch_get_specific((__bridge void *)self) == maybe_bridge(_workQueue)); +} + +- (void)dealloc +{ + _inputStream.delegate = nil; + _outputStream.delegate = nil; + + [_inputStream close]; + [_outputStream close]; + + if (_workQueue) { + sr_dispatch_release(_workQueue); + _workQueue = NULL; + } + + if (_receivedHTTPHeaders) { + CFRelease(_receivedHTTPHeaders); + _receivedHTTPHeaders = NULL; + } + + if (_delegateDispatchQueue) { + sr_dispatch_release(_delegateDispatchQueue); + _delegateDispatchQueue = NULL; + } +} + +#ifndef NDEBUG + +- (void)setReadyState:(SRReadyState)aReadyState; +{ + assert(aReadyState > _readyState); + _readyState = aReadyState; +} + +#endif + +- (void)open; +{ + assert(_url); + NSAssert(_readyState == SR_CONNECTING, @"Cannot call -(void)open on SRWebSocket more than once"); + + _selfRetain = self; + + if (_urlRequest.timeoutInterval > 0) + { + dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, _urlRequest.timeoutInterval * NSEC_PER_SEC); + dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ + if (self.readyState == SR_CONNECTING) + [self _failWithError:[NSError errorWithDomain:@"com.squareup.SocketRocket" code:504 userInfo:@{NSLocalizedDescriptionKey: @"Timeout Connecting to Server"}]]; + }); + } + + [self openConnection]; +} + +// Calls block on delegate queue +- (void)_performDelegateBlock:(dispatch_block_t)block; +{ + if (_delegateOperationQueue) { + [_delegateOperationQueue addOperationWithBlock:block]; + } else { + assert(_delegateDispatchQueue); + dispatch_async(_delegateDispatchQueue, block); + } +} + +- (void)setDelegateDispatchQueue:(dispatch_queue_t)queue; +{ + if (queue) { + sr_dispatch_retain(queue); + } + + if (_delegateDispatchQueue) { + sr_dispatch_release(_delegateDispatchQueue); + } + + _delegateDispatchQueue = queue; +} + +- (BOOL)_checkHandshake:(CFHTTPMessageRef)httpMessage; +{ + NSString *acceptHeader = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept"))); + + if (acceptHeader == nil) { + return NO; + } + + NSString *concattedString = [_secKey stringByAppendingString:SRWebSocketAppendToSecKeyString]; + NSString *expectedAccept = [concattedString stringBySHA1ThenBase64Encoding]; + + return [acceptHeader isEqualToString:expectedAccept]; +} + +- (void)_HTTPHeadersDidFinish; +{ + NSInteger responseCode = CFHTTPMessageGetResponseStatusCode(_receivedHTTPHeaders); + + if (responseCode >= 400) { + SRFastLog(@"Request failed with response code %d", responseCode); + [self _failWithError:[NSError errorWithDomain:SRWebSocketErrorDomain code:2132 userInfo:@{NSLocalizedDescriptionKey:[NSString stringWithFormat:@"received bad response code from server %ld", (long)responseCode], SRHTTPResponseErrorKey:@(responseCode)}]]; + return; + } + + if(![self _checkHandshake:_receivedHTTPHeaders]) { + [self _failWithError:[NSError errorWithDomain:SRWebSocketErrorDomain code:2133 userInfo:[NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"Invalid Sec-WebSocket-Accept response"] forKey:NSLocalizedDescriptionKey]]]; + return; + } + + NSString *negotiatedProtocol = CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(_receivedHTTPHeaders, CFSTR("Sec-WebSocket-Protocol"))); + if (negotiatedProtocol) { + // Make sure we requested the protocol + if ([_requestedProtocols indexOfObject:negotiatedProtocol] == NSNotFound) { + [self _failWithError:[NSError errorWithDomain:SRWebSocketErrorDomain code:2133 userInfo:[NSDictionary dictionaryWithObject:[NSString stringWithFormat:@"Server specified Sec-WebSocket-Protocol that wasn't requested"] forKey:NSLocalizedDescriptionKey]]]; + return; + } + + _protocol = negotiatedProtocol; + } + + self.readyState = SR_OPEN; + + if (!_didFail) { + [self _readFrameNew]; + } + + [self _performDelegateBlock:^{ + if ([self.delegate respondsToSelector:@selector(webSocketDidOpen:)]) { + [self.delegate webSocketDidOpen:self]; + }; + }]; +} + + +- (void)_readHTTPHeader; +{ + if (_receivedHTTPHeaders == NULL) { + _receivedHTTPHeaders = CFHTTPMessageCreateEmpty(NULL, NO); + } + + [self _readUntilHeaderCompleteWithCallback:^(SRWebSocket *self, NSData *data) { + CFHTTPMessageAppendBytes(_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length); + + if (CFHTTPMessageIsHeaderComplete(_receivedHTTPHeaders)) { + SRFastLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(_receivedHTTPHeaders))); + [self _HTTPHeadersDidFinish]; + } else { + [self _readHTTPHeader]; + } + }]; +} + +- (void)didConnect; +{ + SRFastLog(@"Connected"); + CFHTTPMessageRef request = CFHTTPMessageCreateRequest(NULL, CFSTR("GET"), (__bridge CFURLRef)_url, kCFHTTPVersion1_1); + + // Set host first so it defaults + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Host"), (__bridge CFStringRef)(_url.port ? [NSString stringWithFormat:@"%@:%@", _url.host, _url.port] : _url.host)); + + NSMutableData *keyBytes = [[NSMutableData alloc] initWithLength:16]; + SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes); + + if ([keyBytes respondsToSelector:@selector(base64EncodedStringWithOptions:)]) { + _secKey = [keyBytes base64EncodedStringWithOptions:0]; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + _secKey = [keyBytes base64Encoding]; +#pragma clang diagnostic pop + } + + assert([_secKey length] == 24); + + // Apply cookies if any have been provided + NSDictionary * cookies = [NSHTTPCookie requestHeaderFieldsWithCookies:[self requestCookies]]; + for (NSString * cookieKey in cookies) { + NSString * cookieValue = [cookies objectForKey:cookieKey]; + if ([cookieKey length] && [cookieValue length]) { + CFHTTPMessageSetHeaderFieldValue(request, (__bridge CFStringRef)cookieKey, (__bridge CFStringRef)cookieValue); + } + } + + // set header for http basic auth + if (_url.user.length && _url.password.length) { + NSData *userAndPassword = [[NSString stringWithFormat:@"%@:%@", _url.user, _url.password] dataUsingEncoding:NSUTF8StringEncoding]; + NSString *userAndPasswordBase64Encoded; + if ([keyBytes respondsToSelector:@selector(base64EncodedStringWithOptions:)]) { + userAndPasswordBase64Encoded = [userAndPassword base64EncodedStringWithOptions:0]; + } else { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + userAndPasswordBase64Encoded = [userAndPassword base64Encoding]; +#pragma clang diagnostic pop + } + _basicAuthorizationString = [NSString stringWithFormat:@"Basic %@", userAndPasswordBase64Encoded]; + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Authorization"), (__bridge CFStringRef)_basicAuthorizationString); + } + + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Upgrade"), CFSTR("websocket")); + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Connection"), CFSTR("Upgrade")); + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Key"), (__bridge CFStringRef)_secKey); + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Version"), (__bridge CFStringRef)[NSString stringWithFormat:@"%ld", (long)_webSocketVersion]); + + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Origin"), (__bridge CFStringRef)_url.SR_origin); + + if (_requestedProtocols) { + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Protocol"), (__bridge CFStringRef)[_requestedProtocols componentsJoinedByString:@", "]); + } + + [_urlRequest.allHTTPHeaderFields enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { + CFHTTPMessageSetHeaderFieldValue(request, (__bridge CFStringRef)key, (__bridge CFStringRef)obj); + }]; + + NSData *message = CFBridgingRelease(CFHTTPMessageCopySerializedMessage(request)); + + CFRelease(request); + + [self _writeData:message]; + [self _readHTTPHeader]; +} + +- (void)_initializeStreams; +{ + assert(_url.port.unsignedIntValue <= UINT32_MAX); + uint32_t port = _url.port.unsignedIntValue; + if (port == 0) { + if (!_secure) { + port = 80; + } else { + port = 443; + } + } + NSString *host = _url.host; + + CFReadStreamRef readStream = NULL; + CFWriteStreamRef writeStream = NULL; + + CFStreamCreatePairWithSocketToHost(NULL, (__bridge CFStringRef)host, port, &readStream, &writeStream); + + _outputStream = CFBridgingRelease(writeStream); + _inputStream = CFBridgingRelease(readStream); + + _inputStream.delegate = self; + _outputStream.delegate = self; +} + +- (void)_updateSecureStreamOptions; +{ + if (_secure) { + NSMutableDictionary *SSLOptions = [[NSMutableDictionary alloc] init]; + + [_outputStream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel]; + + // If we're using pinned certs, don't validate the certificate chain + if ([_urlRequest SR_SSLPinnedCertificates].count) { + [SSLOptions setValue:@NO forKey:(__bridge id)kCFStreamSSLValidatesCertificateChain]; + } + +#if DEBUG + self.allowsUntrustedSSLCertificates = YES; +#endif + + if (self.allowsUntrustedSSLCertificates) { + [SSLOptions setValue:@NO forKey:(__bridge id)kCFStreamSSLValidatesCertificateChain]; + SRFastLog(@"Allowing connection to any root cert"); + } + + [_outputStream setProperty:SSLOptions + forKey:(__bridge id)kCFStreamPropertySSLSettings]; + } + + _inputStream.delegate = self; + _outputStream.delegate = self; + + [self setupNetworkServiceType:_urlRequest.networkServiceType]; +} + +- (void)setupNetworkServiceType:(NSURLRequestNetworkServiceType)requestNetworkServiceType +{ + NSString *networkServiceType; + switch (requestNetworkServiceType) { + case NSURLNetworkServiceTypeDefault: + break; + case NSURLNetworkServiceTypeVoIP: { + networkServiceType = NSStreamNetworkServiceTypeVoIP; +#if TARGET_OS_IPHONE && __IPHONE_9_0 + if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_8_3) { + static dispatch_once_t predicate; + dispatch_once(&predicate, ^{ + NSLog(@"SocketRocket: %@ - this service type is deprecated in favor of using PushKit for VoIP control", networkServiceType); + }); + } +#endif + break; + } + case NSURLNetworkServiceTypeVideo: + networkServiceType = NSStreamNetworkServiceTypeVideo; + break; + case NSURLNetworkServiceTypeBackground: + networkServiceType = NSStreamNetworkServiceTypeBackground; + break; + case NSURLNetworkServiceTypeVoice: + networkServiceType = NSStreamNetworkServiceTypeVoice; + break; + } + + if (networkServiceType != nil) { + [_inputStream setProperty:networkServiceType forKey:NSStreamNetworkServiceType]; + [_outputStream setProperty:networkServiceType forKey:NSStreamNetworkServiceType]; + } +} + +- (void)openConnection; +{ + [self _updateSecureStreamOptions]; + + if (!_scheduledRunloops.count) { + [self scheduleInRunLoop:[NSRunLoop SR_networkRunLoop] forMode:NSDefaultRunLoopMode]; + } + + + [_outputStream open]; + [_inputStream open]; +} + +- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; +{ + [_outputStream scheduleInRunLoop:aRunLoop forMode:mode]; + [_inputStream scheduleInRunLoop:aRunLoop forMode:mode]; + + [_scheduledRunloops addObject:@[aRunLoop, mode]]; +} + +- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; +{ + [_outputStream removeFromRunLoop:aRunLoop forMode:mode]; + [_inputStream removeFromRunLoop:aRunLoop forMode:mode]; + + [_scheduledRunloops removeObject:@[aRunLoop, mode]]; +} + +- (void)close; +{ + [self closeWithCode:SRStatusCodeNormal reason:nil]; +} + +- (void)closeWithCode:(NSInteger)code reason:(NSString *)reason; +{ + assert(code); + dispatch_async(_workQueue, ^{ + if (self.readyState == SR_CLOSING || self.readyState == SR_CLOSED) { + return; + } + + BOOL wasConnecting = self.readyState == SR_CONNECTING; + + self.readyState = SR_CLOSING; + + SRFastLog(@"Closing with code %d reason %@", code, reason); + + if (wasConnecting) { + [self closeConnection]; + return; + } + + size_t maxMsgSize = [reason maximumLengthOfBytesUsingEncoding:NSUTF8StringEncoding]; + NSMutableData *mutablePayload = [[NSMutableData alloc] initWithLength:sizeof(uint16_t) + maxMsgSize]; + NSData *payload = mutablePayload; + + ((uint16_t *)mutablePayload.mutableBytes)[0] = EndianU16_BtoN(code); + + if (reason) { + NSRange remainingRange = {0}; + + NSUInteger usedLength = 0; + + BOOL success = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t) maxLength:payload.length - sizeof(uint16_t) usedLength:&usedLength encoding:NSUTF8StringEncoding options:NSStringEncodingConversionExternalRepresentation range:NSMakeRange(0, reason.length) remainingRange:&remainingRange]; + #pragma unused (success) + + assert(success); + assert(remainingRange.length == 0); + + if (usedLength != maxMsgSize) { + payload = [payload subdataWithRange:NSMakeRange(0, usedLength + sizeof(uint16_t))]; + } + } + + + [self _sendFrameWithOpcode:SROpCodeConnectionClose data:payload]; + }); +} + +- (void)_closeWithProtocolError:(NSString *)message; +{ + // Need to shunt this on the _callbackQueue first to see if they received any messages + [self _performDelegateBlock:^{ + [self closeWithCode:SRStatusCodeProtocolError reason:message]; + dispatch_async(_workQueue, ^{ + [self closeConnection]; + }); + }]; +} + +- (void)_failWithError:(NSError *)error; +{ + dispatch_async(_workQueue, ^{ + if (self.readyState != SR_CLOSED) { + _failed = YES; + [self _performDelegateBlock:^{ + if ([self.delegate respondsToSelector:@selector(webSocket:didFailWithError:)]) { + [self.delegate webSocket:self didFailWithError:error]; + } + }]; + + self.readyState = SR_CLOSED; + + SRFastLog(@"Failing with error %@", error.localizedDescription); + + [self closeConnection]; + [self _scheduleCleanup]; + } + }); +} + +- (void)_writeData:(NSData *)data; +{ + [self assertOnWorkQueue]; + + if (_closeWhenFinishedWriting) { + return; + } + [_outputBuffer appendData:data]; + [self _pumpWriting]; +} + +- (void)send:(id)data; +{ + NSAssert(self.readyState != SR_CONNECTING, @"Invalid State: Cannot call send: until connection is open"); + // TODO: maybe not copy this for performance + data = [data copy]; + dispatch_async(_workQueue, ^{ + if ([data isKindOfClass:[NSString class]]) { + [self _sendFrameWithOpcode:SROpCodeTextFrame data:[(NSString *)data dataUsingEncoding:NSUTF8StringEncoding]]; + } else if ([data isKindOfClass:[NSData class]]) { + [self _sendFrameWithOpcode:SROpCodeBinaryFrame data:data]; + } else if (data == nil) { + [self _sendFrameWithOpcode:SROpCodeTextFrame data:data]; + } else { + assert(NO); + } + }); +} + +- (void)sendPing:(NSData *)data; +{ + NSAssert(self.readyState == SR_OPEN, @"Invalid State: Cannot call send: until connection is open"); + // TODO: maybe not copy this for performance + data = [data copy] ?: [NSData data]; // It's okay for a ping to be empty + dispatch_async(_workQueue, ^{ + [self _sendFrameWithOpcode:SROpCodePing data:data]; + }); +} + +- (void)handlePing:(NSData *)pingData; +{ + // Need to pingpong this off _callbackQueue first to make sure messages happen in order + [self _performDelegateBlock:^{ + dispatch_async(_workQueue, ^{ + [self _sendFrameWithOpcode:SROpCodePong data:pingData]; + }); + }]; +} + +- (void)handlePong:(NSData *)pongData; +{ + SRFastLog(@"Received pong"); + [self _performDelegateBlock:^{ + if ([self.delegate respondsToSelector:@selector(webSocket:didReceivePong:)]) { + [self.delegate webSocket:self didReceivePong:pongData]; + } + }]; +} + +- (void)_handleMessage:(id)message +{ + SRFastLog(@"Received message"); + [self _performDelegateBlock:^{ + [self.delegate webSocket:self didReceiveMessage:message]; + }]; +} + + +static inline BOOL closeCodeIsValid(int closeCode) { + if (closeCode < 1000) { + return NO; + } + + if (closeCode >= 1000 && closeCode <= 1011) { + if (closeCode == 1004 || + closeCode == 1005 || + closeCode == 1006) { + return NO; + } + return YES; + } + + if (closeCode >= 3000 && closeCode <= 3999) { + return YES; + } + + if (closeCode >= 4000 && closeCode <= 4999) { + return YES; + } + + return NO; +} + +// Note from RFC: +// +// If there is a body, the first two +// bytes of the body MUST be a 2-byte unsigned integer (in network byte +// order) representing a status code with value /code/ defined in +// Section 7.4. Following the 2-byte integer the body MAY contain UTF-8 +// encoded data with value /reason/, the interpretation of which is not +// defined by this specification. + +- (void)handleCloseWithData:(NSData *)data; +{ + size_t dataSize = data.length; + __block uint16_t closeCode = 0; + + SRFastLog(@"Received close frame"); + + if (dataSize == 1) { + // TODO handle error + [self _closeWithProtocolError:@"Payload for close must be larger than 2 bytes"]; + return; + } else if (dataSize >= 2) { + [data getBytes:&closeCode length:sizeof(closeCode)]; + _closeCode = EndianU16_BtoN(closeCode); + if (!closeCodeIsValid(_closeCode)) { + [self _closeWithProtocolError:[NSString stringWithFormat:@"Cannot have close code of %d", _closeCode]]; + return; + } + if (dataSize > 2) { + _closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)] encoding:NSUTF8StringEncoding]; + if (!_closeReason) { + [self _closeWithProtocolError:@"Close reason MUST be valid UTF-8"]; + return; + } + } + } else { + _closeCode = SRStatusNoStatusReceived; + } + + [self assertOnWorkQueue]; + + if (self.readyState == SR_OPEN) { + [self closeWithCode:1000 reason:nil]; + } + dispatch_async(_workQueue, ^{ + [self closeConnection]; + }); +} + +- (void)closeConnection; +{ + [self assertOnWorkQueue]; + SRFastLog(@"Trying to disconnect"); + _closeWhenFinishedWriting = YES; + [self _pumpWriting]; +} + +- (void)_handleFrameWithData:(NSData *)frameData opCode:(NSInteger)opcode; +{ + // Check that the current data is valid UTF8 + + BOOL isControlFrame = (opcode == SROpCodePing || opcode == SROpCodePong || opcode == SROpCodeConnectionClose); + if (!isControlFrame) { + [self _readFrameNew]; + } else { + dispatch_async(_workQueue, ^{ + [self _readFrameContinue]; + }); + } + + //frameData will be copied before passing to handlers + //otherwise there can be misbehaviours when value at the pointer is changed + switch (opcode) { + case SROpCodeTextFrame: { + if ([self.delegate respondsToSelector:@selector(webSocketShouldConvertTextFrameToString:)] && ![self.delegate webSocketShouldConvertTextFrameToString:self]) { + [self _handleMessage:[frameData copy]]; + } else { + NSString *str = [[NSString alloc] initWithData:frameData encoding:NSUTF8StringEncoding]; + if (str == nil && frameData) { + [self closeWithCode:SRStatusCodeInvalidUTF8 reason:@"Text frames must be valid UTF-8"]; + dispatch_async(_workQueue, ^{ + [self closeConnection]; + }); + return; + } + [self _handleMessage:str]; + } + break; + } + case SROpCodeBinaryFrame: + [self _handleMessage:[frameData copy]]; + break; + case SROpCodeConnectionClose: + [self handleCloseWithData:[frameData copy]]; + break; + case SROpCodePing: + [self handlePing:[frameData copy]]; + break; + case SROpCodePong: + [self handlePong:[frameData copy]]; + break; + default: + [self _closeWithProtocolError:[NSString stringWithFormat:@"Unknown opcode %ld", (long)opcode]]; + // TODO: Handle invalid opcode + break; + } +} + +- (void)_handleFrameHeader:(frame_header)frame_header curData:(NSData *)curData; +{ + assert(frame_header.opcode != 0); + + if (self.readyState == SR_CLOSED) { + return; + } + + + BOOL isControlFrame = (frame_header.opcode == SROpCodePing || frame_header.opcode == SROpCodePong || frame_header.opcode == SROpCodeConnectionClose); + + if (isControlFrame && !frame_header.fin) { + [self _closeWithProtocolError:@"Fragmented control frames not allowed"]; + return; + } + + if (isControlFrame && frame_header.payload_length >= 126) { + [self _closeWithProtocolError:@"Control frames cannot have payloads larger than 126 bytes"]; + return; + } + + if (!isControlFrame) { + _currentFrameOpcode = frame_header.opcode; + _currentFrameCount += 1; + } + + if (frame_header.payload_length == 0) { + if (isControlFrame) { + [self _handleFrameWithData:curData opCode:frame_header.opcode]; + } else { + if (frame_header.fin) { + [self _handleFrameWithData:_currentFrameData opCode:frame_header.opcode]; + } else { + // TODO add assert that opcode is not a control; + [self _readFrameContinue]; + } + } + } else { + assert(frame_header.payload_length <= SIZE_T_MAX); + [self _addConsumerWithDataLength:(size_t)frame_header.payload_length callback:^(SRWebSocket *self, NSData *newData) { + if (isControlFrame) { + [self _handleFrameWithData:newData opCode:frame_header.opcode]; + } else { + if (frame_header.fin) { + [self _handleFrameWithData:self->_currentFrameData opCode:frame_header.opcode]; + } else { + // TODO add assert that opcode is not a control; + [self _readFrameContinue]; + } + + } + } readToCurrentFrame:!isControlFrame unmaskBytes:frame_header.masked]; + } +} + +/* From RFC: + + 0 1 2 3 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + +-+-+-+-+-------+-+-------------+-------------------------------+ + |F|R|R|R| opcode|M| Payload len | Extended payload length | + |I|S|S|S| (4) |A| (7) | (16/64) | + |N|V|V|V| |S| | (if payload len==126/127) | + | |1|2|3| |K| | | + +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - + + | Extended payload length continued, if payload len == 127 | + + - - - - - - - - - - - - - - - +-------------------------------+ + | |Masking-key, if MASK set to 1 | + +-------------------------------+-------------------------------+ + | Masking-key (continued) | Payload Data | + +-------------------------------- - - - - - - - - - - - - - - - + + : Payload Data continued ... : + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | Payload Data continued ... | + +---------------------------------------------------------------+ + */ + +static const uint8_t SRFinMask = 0x80; +static const uint8_t SROpCodeMask = 0x0F; +static const uint8_t SRRsvMask = 0x70; +static const uint8_t SRMaskMask = 0x80; +static const uint8_t SRPayloadLenMask = 0x7F; + + +- (void)_readFrameContinue; +{ + assert((_currentFrameCount == 0 && _currentFrameOpcode == 0) || (_currentFrameCount > 0 && _currentFrameOpcode > 0)); + + [self _addConsumerWithDataLength:2 callback:^(SRWebSocket *self, NSData *data) { + __block frame_header header = {0}; + + const uint8_t *headerBuffer = data.bytes; + assert(data.length >= 2); + + if (headerBuffer[0] & SRRsvMask) { + [self _closeWithProtocolError:@"Server used RSV bits"]; + return; + } + + uint8_t receivedOpcode = (SROpCodeMask & headerBuffer[0]); + + BOOL isControlFrame = (receivedOpcode == SROpCodePing || receivedOpcode == SROpCodePong || receivedOpcode == SROpCodeConnectionClose); + + if (!isControlFrame && receivedOpcode != 0 && self->_currentFrameCount > 0) { + [self _closeWithProtocolError:@"all data frames after the initial data frame must have opcode 0"]; + return; + } + + if (receivedOpcode == 0 && self->_currentFrameCount == 0) { + [self _closeWithProtocolError:@"cannot continue a message"]; + return; + } + + header.opcode = receivedOpcode == 0 ? self->_currentFrameOpcode : receivedOpcode; + + header.fin = !!(SRFinMask & headerBuffer[0]); + + + header.masked = !!(SRMaskMask & headerBuffer[1]); + header.payload_length = SRPayloadLenMask & headerBuffer[1]; + + headerBuffer = NULL; + + if (header.masked) { + [self _closeWithProtocolError:@"Client must receive unmasked data"]; + } + + size_t extra_bytes_needed = header.masked ? sizeof(_currentReadMaskKey) : 0; + + if (header.payload_length == 126) { + extra_bytes_needed += sizeof(uint16_t); + } else if (header.payload_length == 127) { + extra_bytes_needed += sizeof(uint64_t); + } + + if (extra_bytes_needed == 0) { + [self _handleFrameHeader:header curData:self->_currentFrameData]; + } else { + [self _addConsumerWithDataLength:extra_bytes_needed callback:^(SRWebSocket *self, NSData *data) { + size_t mapped_size = data.length; + #pragma unused (mapped_size) + const void *mapped_buffer = data.bytes; + size_t offset = 0; + + if (header.payload_length == 126) { + assert(mapped_size >= sizeof(uint16_t)); + uint16_t newLen = EndianU16_BtoN(*(uint16_t *)(mapped_buffer)); + header.payload_length = newLen; + offset += sizeof(uint16_t); + } else if (header.payload_length == 127) { + assert(mapped_size >= sizeof(uint64_t)); + header.payload_length = EndianU64_BtoN(*(uint64_t *)(mapped_buffer)); + offset += sizeof(uint64_t); + } else { + assert(header.payload_length < 126 && header.payload_length >= 0); + } + + if (header.masked) { + assert(mapped_size >= sizeof(_currentReadMaskOffset) + offset); + memcpy(self->_currentReadMaskKey, ((uint8_t *)mapped_buffer) + offset, sizeof(self->_currentReadMaskKey)); + } + + [self _handleFrameHeader:header curData:self->_currentFrameData]; + } readToCurrentFrame:NO unmaskBytes:NO]; + } + } readToCurrentFrame:NO unmaskBytes:NO]; +} + +- (void)_readFrameNew; +{ + dispatch_async(_workQueue, ^{ + [_currentFrameData setLength:0]; + + _currentFrameOpcode = 0; + _currentFrameCount = 0; + _readOpCount = 0; + _currentStringScanPosition = 0; + + [self _readFrameContinue]; + }); +} + +- (void)_pumpWriting; +{ + [self assertOnWorkQueue]; + + NSUInteger dataLength = _outputBuffer.length; + if (dataLength - _outputBufferOffset > 0 && _outputStream.hasSpaceAvailable) { + NSInteger bytesWritten = [_outputStream write:_outputBuffer.bytes + _outputBufferOffset maxLength:dataLength - _outputBufferOffset]; + if (bytesWritten == -1) { + [self _failWithError:[NSError errorWithDomain:SRWebSocketErrorDomain code:2145 userInfo:[NSDictionary dictionaryWithObject:@"Error writing to stream" forKey:NSLocalizedDescriptionKey]]]; + return; + } + + _outputBufferOffset += bytesWritten; + + if (_outputBufferOffset > 4096 && _outputBufferOffset > (_outputBuffer.length >> 1)) { + _outputBuffer = [[NSMutableData alloc] initWithBytes:(char *)_outputBuffer.bytes + _outputBufferOffset length:_outputBuffer.length - _outputBufferOffset]; + _outputBufferOffset = 0; + } + } + + if (_closeWhenFinishedWriting && + _outputBuffer.length - _outputBufferOffset == 0 && + (_inputStream.streamStatus != NSStreamStatusNotOpen && + _inputStream.streamStatus != NSStreamStatusClosed) && + !_sentClose) { + _sentClose = YES; + + @synchronized(self) { + [_outputStream close]; + [_inputStream close]; + + + for (NSArray *runLoop in [_scheduledRunloops copy]) { + [self unscheduleFromRunLoop:[runLoop objectAtIndex:0] forMode:[runLoop objectAtIndex:1]]; + } + } + + if (!_failed) { + [self _performDelegateBlock:^{ + if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) { + [self.delegate webSocket:self didCloseWithCode:_closeCode reason:_closeReason wasClean:YES]; + } + }]; + } + + [self _scheduleCleanup]; + } +} + +- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback; +{ + [self assertOnWorkQueue]; + [self _addConsumerWithScanner:consumer callback:callback dataLength:0]; +} + +- (void)_addConsumerWithDataLength:(size_t)dataLength callback:(data_callback)callback readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; +{ + [self assertOnWorkQueue]; + assert(dataLength); + + [_consumers addObject:[_consumerPool consumerWithScanner:nil handler:callback bytesNeeded:dataLength readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]]; + [self _pumpScanner]; +} + +- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback dataLength:(size_t)dataLength; +{ + [self assertOnWorkQueue]; + [_consumers addObject:[_consumerPool consumerWithScanner:consumer handler:callback bytesNeeded:dataLength readToCurrentFrame:NO unmaskBytes:NO]]; + [self _pumpScanner]; +} + + +- (void)_scheduleCleanup +{ + @synchronized(self) { + if (_cleanupScheduled) { + return; + } + + _cleanupScheduled = YES; + + // Cleanup NSStream delegate's in the same RunLoop used by the streams themselves: + // This way we'll prevent race conditions between handleEvent and SRWebsocket's dealloc + NSTimer *timer = [NSTimer timerWithTimeInterval:(0.0f) target:self selector:@selector(_cleanupSelfReference:) userInfo:nil repeats:NO]; + [[NSRunLoop SR_networkRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode]; + } +} + +- (void)_cleanupSelfReference:(NSTimer *)timer +{ + @synchronized(self) { + // Nuke NSStream delegate's + _inputStream.delegate = nil; + _outputStream.delegate = nil; + + // Remove the streams, right now, from the networkRunLoop + [_inputStream close]; + [_outputStream close]; + } + + // Cleanup selfRetain in the same GCD queue as usual + dispatch_async(_workQueue, ^{ + _selfRetain = nil; + }); +} + + +static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'}; + +- (void)_readUntilHeaderCompleteWithCallback:(data_callback)dataHandler; +{ + [self _readUntilBytes:CRLFCRLFBytes length:sizeof(CRLFCRLFBytes) callback:dataHandler]; +} + +- (void)_readUntilBytes:(const void *)bytes length:(size_t)length callback:(data_callback)dataHandler; +{ + // TODO optimize so this can continue from where we last searched + stream_scanner consumer = ^size_t(NSData *data) { + __block size_t found_size = 0; + __block size_t match_count = 0; + + size_t size = data.length; + const unsigned char *buffer = data.bytes; + for (size_t i = 0; i < size; i++ ) { + if (((const unsigned char *)buffer)[i] == ((const unsigned char *)bytes)[match_count]) { + match_count += 1; + if (match_count == length) { + found_size = i + 1; + break; + } + } else { + match_count = 0; + } + } + return found_size; + }; + [self _addConsumerWithScanner:consumer callback:dataHandler]; +} + + +// Returns true if did work +- (BOOL)_innerPumpScanner { + + BOOL didWork = NO; + + if (self.readyState >= SR_CLOSED) { + return didWork; + } + + if (!_consumers.count) { + return didWork; + } + + size_t curSize = _readBuffer.length - _readBufferOffset; + if (!curSize) { + return didWork; + } + + SRIOConsumer *consumer = [_consumers objectAtIndex:0]; + + size_t bytesNeeded = consumer.bytesNeeded; + + size_t foundSize = 0; + if (consumer.consumer) { + NSData *tempView = [NSData dataWithBytesNoCopy:(char *)_readBuffer.bytes + _readBufferOffset length:_readBuffer.length - _readBufferOffset freeWhenDone:NO]; + foundSize = consumer.consumer(tempView); + } else { + assert(consumer.bytesNeeded); + if (curSize >= bytesNeeded) { + foundSize = bytesNeeded; + } else if (consumer.readToCurrentFrame) { + foundSize = curSize; + } + } + + NSData *slice = nil; + if (consumer.readToCurrentFrame || foundSize) { + NSRange sliceRange = NSMakeRange(_readBufferOffset, foundSize); + slice = [_readBuffer subdataWithRange:sliceRange]; + + _readBufferOffset += foundSize; + + if (_readBufferOffset > 4096 && _readBufferOffset > (_readBuffer.length >> 1)) { + _readBuffer = [[NSMutableData alloc] initWithBytes:(char *)_readBuffer.bytes + _readBufferOffset length:_readBuffer.length - _readBufferOffset]; _readBufferOffset = 0; + } + + if (consumer.unmaskBytes) { + NSMutableData *mutableSlice = [slice mutableCopy]; + + NSUInteger len = mutableSlice.length; + uint8_t *bytes = mutableSlice.mutableBytes; + + for (NSUInteger i = 0; i < len; i++) { + bytes[i] = bytes[i] ^ _currentReadMaskKey[_currentReadMaskOffset % sizeof(_currentReadMaskKey)]; + _currentReadMaskOffset += 1; + } + + slice = mutableSlice; + } + + if (consumer.readToCurrentFrame) { + [_currentFrameData appendData:slice]; + + _readOpCount += 1; + + if (_currentFrameOpcode == SROpCodeTextFrame) { + // Validate UTF8 stuff. + size_t currentDataSize = _currentFrameData.length; + if (_currentFrameOpcode == SROpCodeTextFrame && currentDataSize > 0) { + // TODO: Optimize the crap out of this. Don't really have to copy all the data each time + + size_t scanSize = currentDataSize - _currentStringScanPosition; + + NSData *scan_data = [_currentFrameData subdataWithRange:NSMakeRange(_currentStringScanPosition, scanSize)]; + int32_t valid_utf8_size = validate_dispatch_data_partial_string(scan_data); + + if (valid_utf8_size == -1) { + [self closeWithCode:SRStatusCodeInvalidUTF8 reason:@"Text frames must be valid UTF-8"]; + dispatch_async(_workQueue, ^{ + [self closeConnection]; + }); + return didWork; + } else { + _currentStringScanPosition += valid_utf8_size; + } + } + + } + + consumer.bytesNeeded -= foundSize; + + if (consumer.bytesNeeded == 0) { + [_consumers removeObjectAtIndex:0]; + consumer.handler(self, nil); + [_consumerPool returnConsumer:consumer]; + didWork = YES; + } + } else if (foundSize) { + [_consumers removeObjectAtIndex:0]; + consumer.handler(self, slice); + [_consumerPool returnConsumer:consumer]; + didWork = YES; + } + } + return didWork; +} + +-(void)_pumpScanner; +{ + [self assertOnWorkQueue]; + + if (!_isPumping) { + _isPumping = YES; + } else { + return; + } + + while ([self _innerPumpScanner]) { + + } + + _isPumping = NO; +} + +//#define NOMASK + +static const size_t SRFrameHeaderOverhead = 32; + +- (void)_sendFrameWithOpcode:(SROpCode)opcode data:(id)data; +{ + [self assertOnWorkQueue]; + + if (nil == data) { + return; + } + + NSAssert([data isKindOfClass:[NSData class]] || [data isKindOfClass:[NSString class]], @"NSString or NSData"); + + size_t payloadLength = [data isKindOfClass:[NSString class]] ? [(NSString *)data lengthOfBytesUsingEncoding:NSUTF8StringEncoding] : [data length]; + + NSMutableData *frame = [[NSMutableData alloc] initWithLength:payloadLength + SRFrameHeaderOverhead]; + if (!frame) { + [self closeWithCode:SRStatusCodeMessageTooBig reason:@"Message too big"]; + return; + } + uint8_t *frame_buffer = (uint8_t *)[frame mutableBytes]; + + // set fin + frame_buffer[0] = SRFinMask | opcode; + + BOOL useMask = YES; +#ifdef NOMASK + useMask = NO; +#endif + + if (useMask) { + // set the mask and header + frame_buffer[1] |= SRMaskMask; + } + + size_t frame_buffer_size = 2; + + const uint8_t *unmasked_payload = NULL; + if ([data isKindOfClass:[NSData class]]) { + unmasked_payload = (uint8_t *)[data bytes]; + } else if ([data isKindOfClass:[NSString class]]) { + unmasked_payload = (const uint8_t *)[data UTF8String]; + } else { + return; + } + + if (payloadLength < 126) { + frame_buffer[1] |= payloadLength; + } else if (payloadLength <= UINT16_MAX) { + frame_buffer[1] |= 126; + *((uint16_t *)(frame_buffer + frame_buffer_size)) = EndianU16_BtoN((uint16_t)payloadLength); + frame_buffer_size += sizeof(uint16_t); + } else { + frame_buffer[1] |= 127; + *((uint64_t *)(frame_buffer + frame_buffer_size)) = EndianU64_BtoN((uint64_t)payloadLength); + frame_buffer_size += sizeof(uint64_t); + } + + if (!useMask) { + for (size_t i = 0; i < payloadLength; i++) { + frame_buffer[frame_buffer_size] = unmasked_payload[i]; + frame_buffer_size += 1; + } + } else { + uint8_t *mask_key = frame_buffer + frame_buffer_size; + SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key); + frame_buffer_size += sizeof(uint32_t); + + // TODO: could probably optimize this with SIMD + for (size_t i = 0; i < payloadLength; i++) { + frame_buffer[frame_buffer_size] = unmasked_payload[i] ^ mask_key[i % sizeof(uint32_t)]; + frame_buffer_size += 1; + } + } + + assert(frame_buffer_size <= [frame length]); + frame.length = frame_buffer_size; + + [self _writeData:frame]; +} + +- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode; +{ + __weak typeof(self) weakSelf = self; + + if (_secure && !_pinnedCertFound && (eventCode == NSStreamEventHasBytesAvailable || eventCode == NSStreamEventHasSpaceAvailable)) { + + NSArray *sslCerts = [_urlRequest SR_SSLPinnedCertificates]; + if (sslCerts) { + SecTrustRef secTrust = (__bridge SecTrustRef)[aStream propertyForKey:(__bridge id)kCFStreamPropertySSLPeerTrust]; + if (secTrust) { + NSInteger numCerts = SecTrustGetCertificateCount(secTrust); + for (NSInteger i = 0; i < numCerts && !_pinnedCertFound; i++) { + SecCertificateRef cert = SecTrustGetCertificateAtIndex(secTrust, i); + NSData *certData = CFBridgingRelease(SecCertificateCopyData(cert)); + + for (id ref in sslCerts) { + SecCertificateRef trustedCert = (__bridge SecCertificateRef)ref; + NSData *trustedCertData = CFBridgingRelease(SecCertificateCopyData(trustedCert)); + + if ([trustedCertData isEqualToData:certData]) { + _pinnedCertFound = YES; + break; + } + } + } + } + + if (!_pinnedCertFound) { + dispatch_async(_workQueue, ^{ + NSDictionary *userInfo = @{ NSLocalizedDescriptionKey : @"Invalid server cert" }; + [weakSelf _failWithError:[NSError errorWithDomain:@"org.lolrus.SocketRocket" code:23556 userInfo:userInfo]]; + }); + return; + } else if (aStream == _outputStream) { + dispatch_async(_workQueue, ^{ + [self didConnect]; + }); + } + } + } + + dispatch_async(_workQueue, ^{ + [weakSelf safeHandleEvent:eventCode stream:aStream]; + }); +} + +- (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream +{ + switch (eventCode) { + case NSStreamEventOpenCompleted: { + SRFastLog(@"NSStreamEventOpenCompleted %@", aStream); + if (self.readyState >= SR_CLOSING) { + return; + } + assert(_readBuffer); + + // didConnect fires after certificate verification if we're using pinned certificates. + BOOL usingPinnedCerts = [[_urlRequest SR_SSLPinnedCertificates] count] > 0; + if ((!_secure || !usingPinnedCerts) && self.readyState == SR_CONNECTING && aStream == _inputStream) { + [self didConnect]; + } + [self _pumpWriting]; + [self _pumpScanner]; + break; + } + + case NSStreamEventErrorOccurred: { + SRFastLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [[aStream streamError] copy]); + /// TODO specify error better! + [self _failWithError:aStream.streamError]; + _readBufferOffset = 0; + [_readBuffer setLength:0]; + break; + + } + + case NSStreamEventEndEncountered: { + [self _pumpScanner]; + SRFastLog(@"NSStreamEventEndEncountered %@", aStream); + if (aStream.streamError) { + [self _failWithError:aStream.streamError]; + } else { + dispatch_async(_workQueue, ^{ + if (self.readyState != SR_CLOSED) { + self.readyState = SR_CLOSED; + [self _scheduleCleanup]; + } + + if (!_sentClose && !_failed) { + _sentClose = YES; + // If we get closed in this state it's probably not clean because we should be sending this when we send messages + [self _performDelegateBlock:^{ + if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) { + [self.delegate webSocket:self didCloseWithCode:SRStatusCodeGoingAway reason:@"Stream end encountered" wasClean:NO]; + } + }]; + } + }); + } + + break; + } + + case NSStreamEventHasBytesAvailable: { + SRFastLog(@"NSStreamEventHasBytesAvailable %@", aStream); + const int bufferSize = 2048; + uint8_t buffer[bufferSize]; + + while (_inputStream.hasBytesAvailable) { + NSInteger bytes_read = [_inputStream read:buffer maxLength:bufferSize]; + + if (bytes_read > 0) { + [_readBuffer appendBytes:buffer length:bytes_read]; + } else if (bytes_read < 0) { + [self _failWithError:_inputStream.streamError]; + } + + if (bytes_read != bufferSize) { + break; + } + }; + [self _pumpScanner]; + break; + } + + case NSStreamEventHasSpaceAvailable: { + SRFastLog(@"NSStreamEventHasSpaceAvailable %@", aStream); + [self _pumpWriting]; + break; + } + + default: + SRFastLog(@"(default) %@", aStream); + break; + } +} + +@end + + +@implementation SRIOConsumer + +@synthesize bytesNeeded = _bytesNeeded; +@synthesize consumer = _scanner; +@synthesize handler = _handler; +@synthesize readToCurrentFrame = _readToCurrentFrame; +@synthesize unmaskBytes = _unmaskBytes; + +- (void)setupWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; +{ + _scanner = [scanner copy]; + _handler = [handler copy]; + _bytesNeeded = bytesNeeded; + _readToCurrentFrame = readToCurrentFrame; + _unmaskBytes = unmaskBytes; + assert(_scanner || _bytesNeeded); +} + + +@end + + +@implementation SRIOConsumerPool { + NSUInteger _poolSize; + NSMutableArray *_bufferedConsumers; +} + +- (id)initWithBufferCapacity:(NSUInteger)poolSize; +{ + self = [super init]; + if (self) { + _poolSize = poolSize; + _bufferedConsumers = [[NSMutableArray alloc] initWithCapacity:poolSize]; + } + return self; +} + +- (id)init +{ + return [self initWithBufferCapacity:8]; +} + +- (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; +{ + SRIOConsumer *consumer = nil; + if (_bufferedConsumers.count) { + consumer = [_bufferedConsumers lastObject]; + [_bufferedConsumers removeLastObject]; + } else { + consumer = [[SRIOConsumer alloc] init]; + } + + [consumer setupWithScanner:scanner handler:handler bytesNeeded:bytesNeeded readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]; + + return consumer; +} + +- (void)returnConsumer:(SRIOConsumer *)consumer; +{ + if (_bufferedConsumers.count < _poolSize) { + [_bufferedConsumers addObject:consumer]; + } +} + +@end + + +@implementation NSURLRequest (SRCertificateAdditions) + +- (NSArray *)SR_SSLPinnedCertificates; +{ + return [NSURLProtocol propertyForKey:@"SR_SSLPinnedCertificates" inRequest:self]; +} + +@end + +@implementation NSMutableURLRequest (SRCertificateAdditions) + +- (NSArray *)SR_SSLPinnedCertificates; +{ + return [NSURLProtocol propertyForKey:@"SR_SSLPinnedCertificates" inRequest:self]; +} + +- (void)setSR_SSLPinnedCertificates:(NSArray *)SR_SSLPinnedCertificates; +{ + [NSURLProtocol setProperty:SR_SSLPinnedCertificates forKey:@"SR_SSLPinnedCertificates" inRequest:self]; +} + +@end + +@implementation NSURL (SRWebSocket) + +- (NSString *)SR_origin; +{ + NSString *scheme = [self.scheme lowercaseString]; + + if ([scheme isEqualToString:@"wss"]) { + scheme = @"https"; + } else if ([scheme isEqualToString:@"ws"]) { + scheme = @"http"; + } + + BOOL portIsDefault = !self.port || + ([scheme isEqualToString:@"http"] && self.port.integerValue == 80) || + ([scheme isEqualToString:@"https"] && self.port.integerValue == 443); + + if (!portIsDefault) { + return [NSString stringWithFormat:@"%@://%@:%@", scheme, self.host, self.port]; + } else { + return [NSString stringWithFormat:@"%@://%@", scheme, self.host]; + } +} + +@end + +//#define SR_ENABLE_LOG + +static inline void SRFastLog(NSString *format, ...) { +#ifdef SR_ENABLE_LOG + __block va_list arg_list; + va_start (arg_list, format); + + NSString *formattedString = [[NSString alloc] initWithFormat:format arguments:arg_list]; + + va_end(arg_list); + + NSLog(@"[SR] %@", formattedString); +#endif +} + + +#ifdef HAS_ICU + +static inline int32_t validate_dispatch_data_partial_string(NSData *data) { + if ([data length] > INT32_MAX) { + // INT32_MAX is the limit so long as this Framework is using 32 bit ints everywhere. + return -1; + } + + int32_t size = (int32_t)[data length]; + + const void * contents = [data bytes]; + const uint8_t *str = (const uint8_t *)contents; + + UChar32 codepoint = 1; + int32_t offset = 0; + int32_t lastOffset = 0; + while(offset < size && codepoint > 0) { + lastOffset = offset; + U8_NEXT(str, offset, size, codepoint); + } + + if (codepoint == -1) { + // Check to see if the last byte is valid or whether it was just continuing + if (!U8_IS_LEAD(str[lastOffset]) || U8_COUNT_TRAIL_BYTES(str[lastOffset]) + lastOffset < (int32_t)size) { + + size = -1; + } else { + uint8_t leadByte = str[lastOffset]; + U8_MASK_LEAD_BYTE(leadByte, U8_COUNT_TRAIL_BYTES(leadByte)); + + for (int i = lastOffset + 1; i < offset; i++) { + if (U8_IS_SINGLE(str[i]) || U8_IS_LEAD(str[i]) || !U8_IS_TRAIL(str[i])) { + size = -1; + } + } + + if (size != -1) { + size = lastOffset; + } + } + } + + if (size != -1 && ![[NSString alloc] initWithBytesNoCopy:(char *)[data bytes] length:size encoding:NSUTF8StringEncoding freeWhenDone:NO]) { + size = -1; + } + + return size; +} + +#else + +// This is a hack, and probably not optimal +static inline int32_t validate_dispatch_data_partial_string(NSData *data) { + static const int maxCodepointSize = 3; + + for (int i = 0; i < maxCodepointSize; i++) { + NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes length:data.length - i encoding:NSUTF8StringEncoding freeWhenDone:NO]; + if (str) { + return (int32_t)data.length - i; + } + } + + return -1; +} + +#endif + +static _SRRunLoopThread *networkThread = nil; +static NSRunLoop *networkRunLoop = nil; + +@implementation NSRunLoop (SRWebSocket) + ++ (NSRunLoop *)SR_networkRunLoop { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + networkThread = [[_SRRunLoopThread alloc] init]; + networkThread.name = @"com.squareup.SocketRocket.NetworkThread"; + [networkThread start]; + networkRunLoop = networkThread.runLoop; + }); + + return networkRunLoop; +} + +@end + + +@implementation _SRRunLoopThread { + dispatch_group_t _waitGroup; +} + +@synthesize runLoop = _runLoop; + +- (void)dealloc +{ + sr_dispatch_release(_waitGroup); +} + +- (id)init +{ + self = [super init]; + if (self) { + _waitGroup = dispatch_group_create(); + dispatch_group_enter(_waitGroup); + } + return self; +} + +- (void)main; +{ + @autoreleasepool { + _runLoop = [NSRunLoop currentRunLoop]; + dispatch_group_leave(_waitGroup); + + // Add an empty run loop source to prevent runloop from spinning. + CFRunLoopSourceContext sourceCtx = { + .version = 0, + .info = NULL, + .retain = NULL, + .release = NULL, + .copyDescription = NULL, + .equal = NULL, + .hash = NULL, + .schedule = NULL, + .cancel = NULL, + .perform = NULL + }; + CFRunLoopSourceRef source = CFRunLoopSourceCreate(NULL, 0, &sourceCtx); + CFRunLoopAddSource(CFRunLoopGetCurrent(), source, kCFRunLoopDefaultMode); + CFRelease(source); + + while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) { + + } + assert(NO); + } +} + +- (NSRunLoop *)runLoop; +{ + dispatch_group_wait(_waitGroup, DISPATCH_TIME_FOREVER); + return _runLoop; +} + +@end diff --git a/Example/Pods/SocketRocket/SocketRocket/SocketRocket.h b/Example/Pods/SocketRocket/SocketRocket/SocketRocket.h new file mode 100644 index 00000000..2e986aef --- /dev/null +++ b/Example/Pods/SocketRocket/SocketRocket/SocketRocket.h @@ -0,0 +1,17 @@ +// +// Copyright 2012 Square Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +#import diff --git a/Example/Pods/Target Support Files/Doric/Doric-dummy.m b/Example/Pods/Target Support Files/Doric/Doric-dummy.m new file mode 100644 index 00000000..f56119cb --- /dev/null +++ b/Example/Pods/Target Support Files/Doric/Doric-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Doric : NSObject +@end +@implementation PodsDummy_Doric +@end diff --git a/Example/Pods/Target Support Files/Doric/Doric-prefix.pch b/Example/Pods/Target Support Files/Doric/Doric-prefix.pch new file mode 100644 index 00000000..beb2a244 --- /dev/null +++ b/Example/Pods/Target Support Files/Doric/Doric-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/Doric/Doric.xcconfig b/Example/Pods/Target Support Files/Doric/Doric.xcconfig new file mode 100644 index 00000000..bc7e48a9 --- /dev/null +++ b/Example/Pods/Target Support Files/Doric/Doric.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Doric +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Doric" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/Doric/ResourceBundle-Doric-Doric-Info.plist b/Example/Pods/Target Support Files/Doric/ResourceBundle-Doric-Doric-Info.plist new file mode 100644 index 00000000..99a40ffb --- /dev/null +++ b/Example/Pods/Target Support Files/Doric/ResourceBundle-Doric-Doric-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 0.1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-dummy.m b/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-dummy.m new file mode 100644 index 00000000..4cb3a838 --- /dev/null +++ b/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_GCDWebServer : NSObject +@end +@implementation PodsDummy_GCDWebServer +@end diff --git a/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-prefix.pch b/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-prefix.pch new file mode 100644 index 00000000..beb2a244 --- /dev/null +++ b/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig b/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig new file mode 100644 index 00000000..d9f7a185 --- /dev/null +++ b/Example/Pods/Target Support Files/GCDWebServer/GCDWebServer.xcconfig @@ -0,0 +1,9 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/GCDWebServer" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/GCDWebServer" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/GCDWebServer +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown new file mode 100644 index 00000000..44e2fda7 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.markdown @@ -0,0 +1,333 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## Doric + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2019] [Doric.Pub] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +## GCDWebServer + +Copyright (c) 2012-2014, Pierre-Olivier Latour +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +## SocketRocket + + + Copyright 2012 Square Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +## YYCache + +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +## YYImage + +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +## YYWebImage + +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist new file mode 100644 index 00000000..0fd00c41 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-acknowledgements.plist @@ -0,0 +1,395 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2019] [Doric.Pub] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + License + Apache-2.0 + Title + Doric + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2012-2014, Pierre-Olivier Latour +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The name of Pierre-Olivier Latour may not be used to endorse + or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL PIERRE-OLIVIER LATOUR BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + License + BSD + Title + GCDWebServer + Type + PSGroupSpecifier + + + FooterText + + Copyright 2012 Square Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + License + Apache License, Version 2.0 + Title + SocketRocket + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 ibireme <ibireme@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + License + MIT + Title + YYCache + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 ibireme <ibireme@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + License + MIT + Title + YYImage + Type + PSGroupSpecifier + + + FooterText + The MIT License (MIT) + +Copyright (c) 2015 ibireme <ibireme@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + License + MIT + Title + YYWebImage + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m new file mode 100644 index 00000000..6ee3f900 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_Example : NSObject +@end +@implementation PodsDummy_Pods_Example +@end diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-input-files.xcfilelist b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-input-files.xcfilelist new file mode 100644 index 00000000..0c5bb6d7 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-resources.sh +${PODS_CONFIGURATION_BUILD_DIR}/Doric/Doric.bundle \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-output-files.xcfilelist b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-output-files.xcfilelist new file mode 100644 index 00000000..761773b6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Debug-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Doric.bundle \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-input-files.xcfilelist b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-input-files.xcfilelist new file mode 100644 index 00000000..0c5bb6d7 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-input-files.xcfilelist @@ -0,0 +1,2 @@ +${PODS_ROOT}/Target Support Files/Pods-Example/Pods-Example-resources.sh +${PODS_CONFIGURATION_BUILD_DIR}/Doric/Doric.bundle \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-output-files.xcfilelist b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-output-files.xcfilelist new file mode 100644 index 00000000..761773b6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources-Release-output-files.xcfilelist @@ -0,0 +1 @@ +${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Doric.bundle \ No newline at end of file diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh new file mode 100755 index 00000000..5d7b52f9 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh @@ -0,0 +1,129 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then + # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy + # resources to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +XCASSET_FILES=() + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +case "${TARGETED_DEVICE_FAMILY:-}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + 3) + TARGET_DEVICE_ARGS="--target-device tv" + ;; + 4) + TARGET_DEVICE_ARGS="--target-device watch" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; +esac + +install_resource() +{ + if [[ "$1" = /* ]] ; then + RESOURCE_PATH="$1" + else + RESOURCE_PATH="${PODS_ROOT}/$1" + fi + if [[ ! -e "$RESOURCE_PATH" ]] ; then + cat << EOM +error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. +EOM + exit 1 + fi + case $RESOURCE_PATH in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true + ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} + ;; + *.framework) + echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true + xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true + xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" + XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") + ;; + *) + echo "$RESOURCE_PATH" || true + echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" + ;; + esac +} +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_resource "${PODS_CONFIGURATION_BUILD_DIR}/Doric/Doric.bundle" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_resource "${PODS_CONFIGURATION_BUILD_DIR}/Doric/Doric.bundle" +fi + +mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then + mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] +then + # Find all other xcassets (this unfortunately includes those of path pods and other targets). + OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) + while read line; do + if [[ $line != "${PODS_ROOT}*" ]]; then + XCASSET_FILES+=("$line") + fi + done <<<"$OTHER_XCASSETS" + + if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + else + printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" + fi +fi diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig new file mode 100644 index 00000000..58f4c5d2 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Doric" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/YYCache" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YYWebImage" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Doric" -l"GCDWebServer" -l"SocketRocket" -l"YYCache" -l"YYImage" -l"YYWebImage" -l"icucore" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CFNetwork" -framework "CoreFoundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "UIKit" -framework "WebP" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig new file mode 100644 index 00000000..58f4c5d2 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Doric" "${PODS_CONFIGURATION_BUILD_DIR}/GCDWebServer" "${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket" "${PODS_CONFIGURATION_BUILD_DIR}/YYCache" "${PODS_CONFIGURATION_BUILD_DIR}/YYImage" "${PODS_CONFIGURATION_BUILD_DIR}/YYWebImage" +OTHER_LDFLAGS = $(inherited) -ObjC -l"Doric" -l"GCDWebServer" -l"SocketRocket" -l"YYCache" -l"YYImage" -l"YYWebImage" -l"icucore" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CFNetwork" -framework "CoreFoundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "UIKit" -framework "WebP" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.markdown new file mode 100644 index 00000000..102af753 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.plist new file mode 100644 index 00000000..7acbad1e --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-dummy.m b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-dummy.m new file mode 100644 index 00000000..c0024d52 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_ExampleTests : NSObject +@end +@implementation PodsDummy_Pods_ExampleTests +@end diff --git a/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.debug.xcconfig new file mode 100644 index 00000000..a0f96f90 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.debug.xcconfig @@ -0,0 +1,8 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +OTHER_LDFLAGS = $(inherited) -l"icucore" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CFNetwork" -framework "CoreFoundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.release.xcconfig b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.release.xcconfig new file mode 100644 index 00000000..a0f96f90 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleTests/Pods-ExampleTests.release.xcconfig @@ -0,0 +1,8 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +OTHER_LDFLAGS = $(inherited) -l"icucore" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CFNetwork" -framework "CoreFoundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.markdown new file mode 100644 index 00000000..102af753 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.plist new file mode 100644 index 00000000..7acbad1e --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-dummy.m b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-dummy.m new file mode 100644 index 00000000..623ac2be --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_ExampleUITests : NSObject +@end +@implementation PodsDummy_Pods_ExampleUITests +@end diff --git a/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.debug.xcconfig new file mode 100644 index 00000000..a0f96f90 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.debug.xcconfig @@ -0,0 +1,8 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +OTHER_LDFLAGS = $(inherited) -l"icucore" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CFNetwork" -framework "CoreFoundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.release.xcconfig b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.release.xcconfig new file mode 100644 index 00000000..a0f96f90 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-ExampleUITests/Pods-ExampleUITests.release.xcconfig @@ -0,0 +1,8 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Doric" "${PODS_ROOT}/Headers/Public/GCDWebServer" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +OTHER_LDFLAGS = $(inherited) -l"icucore" -l"sqlite3" -l"z" -framework "Accelerate" -framework "AssetsLibrary" -framework "CFNetwork" -framework "CoreFoundation" -framework "ImageIO" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods diff --git a/Example/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m b/Example/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m new file mode 100644 index 00000000..1e9d2c9d --- /dev/null +++ b/Example/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_SocketRocket : NSObject +@end +@implementation PodsDummy_SocketRocket +@end diff --git a/Example/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch b/Example/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch new file mode 100644 index 00000000..beb2a244 --- /dev/null +++ b/Example/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/SocketRocket/SocketRocket.xcconfig b/Example/Pods/Target Support Files/SocketRocket/SocketRocket.xcconfig new file mode 100644 index 00000000..3c8102bb --- /dev/null +++ b/Example/Pods/Target Support Files/SocketRocket/SocketRocket.xcconfig @@ -0,0 +1,9 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SocketRocket +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SocketRocket" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/SocketRocket" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SocketRocket +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/YYCache/YYCache-dummy.m b/Example/Pods/Target Support Files/YYCache/YYCache-dummy.m new file mode 100644 index 00000000..a17e4601 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCache/YYCache-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_YYCache : NSObject +@end +@implementation PodsDummy_YYCache +@end diff --git a/Example/Pods/Target Support Files/YYCache/YYCache-prefix.pch b/Example/Pods/Target Support Files/YYCache/YYCache-prefix.pch new file mode 100644 index 00000000..beb2a244 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCache/YYCache-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/YYCache/YYCache.xcconfig b/Example/Pods/Target Support Files/YYCache/YYCache.xcconfig new file mode 100644 index 00000000..b917a4c3 --- /dev/null +++ b/Example/Pods/Target Support Files/YYCache/YYCache.xcconfig @@ -0,0 +1,9 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/YYCache +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYCache" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/YYCache" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYCache +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/YYImage/YYImage-dummy.m b/Example/Pods/Target Support Files/YYImage/YYImage-dummy.m new file mode 100644 index 00000000..3940c89c --- /dev/null +++ b/Example/Pods/Target Support Files/YYImage/YYImage-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_YYImage : NSObject +@end +@implementation PodsDummy_YYImage +@end diff --git a/Example/Pods/Target Support Files/YYImage/YYImage-prefix.pch b/Example/Pods/Target Support Files/YYImage/YYImage-prefix.pch new file mode 100644 index 00000000..beb2a244 --- /dev/null +++ b/Example/Pods/Target Support Files/YYImage/YYImage-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/YYImage/YYImage.xcconfig b/Example/Pods/Target Support Files/YYImage/YYImage.xcconfig new file mode 100644 index 00000000..29bb3329 --- /dev/null +++ b/Example/Pods/Target Support Files/YYImage/YYImage.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/YYImage +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/YYImage" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYImage +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/YYWebImage/YYWebImage-dummy.m b/Example/Pods/Target Support Files/YYWebImage/YYWebImage-dummy.m new file mode 100644 index 00000000..85670cfd --- /dev/null +++ b/Example/Pods/Target Support Files/YYWebImage/YYWebImage-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_YYWebImage : NSObject +@end +@implementation PodsDummy_YYWebImage +@end diff --git a/Example/Pods/Target Support Files/YYWebImage/YYWebImage-prefix.pch b/Example/Pods/Target Support Files/YYWebImage/YYWebImage-prefix.pch new file mode 100644 index 00000000..beb2a244 --- /dev/null +++ b/Example/Pods/Target Support Files/YYWebImage/YYWebImage-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/YYWebImage/YYWebImage.xcconfig b/Example/Pods/Target Support Files/YYWebImage/YYWebImage.xcconfig new file mode 100644 index 00000000..3c793229 --- /dev/null +++ b/Example/Pods/Target Support Files/YYWebImage/YYWebImage.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/YYWebImage +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/YYImage/Vendor" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/YYWebImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/YYCache" "${PODS_ROOT}/Headers/Public/YYImage" "${PODS_ROOT}/Headers/Public/YYWebImage" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/YYWebImage +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES diff --git a/Example/Pods/YYCache/LICENSE b/Example/Pods/YYCache/LICENSE new file mode 100644 index 00000000..46be20bd --- /dev/null +++ b/Example/Pods/YYCache/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Example/Pods/YYCache/README.md b/Example/Pods/YYCache/README.md new file mode 100755 index 00000000..46623b5c --- /dev/null +++ b/Example/Pods/YYCache/README.md @@ -0,0 +1,171 @@ +YYCache +============== + +[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYCache/master/LICENSE)  +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)  +[![CocoaPods](http://img.shields.io/cocoapods/v/YYCache.svg?style=flat)](http://cocoapods.org/?q= YYCache)  +[![CocoaPods](http://img.shields.io/cocoapods/p/YYCache.svg?style=flat)](http://cocoapods.org/?q= YYCache)  +[![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/)  +[![Build Status](https://travis-ci.org/ibireme/YYCache.svg?branch=master)](https://travis-ci.org/ibireme/YYCache) + +High performance cache framework for iOS.
+(It's a component of [YYKit](https://github.com/ibireme/YYKit)) + +Performance +============== + +![Memory cache benchmark result](https://raw.github.com/ibireme/YYCache/master/Benchmark/Result_memory.png +) + +![Disk benchmark result](https://raw.github.com/ibireme/YYCache/master/Benchmark/Result_disk.png +) + +You may [download](http://www.sqlite.org/download.html) and compile the latest version of sqlite and ignore the libsqlite3.dylib in iOS system to get higher performance. + +See `Benchmark/CacheBenchmark.xcodeproj` for more benchmark case. + + +Features +============== +- **LRU**: Objects can be evicted with least-recently-used algorithm. +- **Limitation**: Cache limitation can be controlled with count, cost, age and free space. +- **Compatibility**: The API is similar to `NSCache`, all methods are thread-safe. +- **Memory Cache** + - **Release Control**: Objects can be released synchronously/asynchronously on main thread or background thread. + - **Automatically Clear**: It can be configured to automatically evict objects when receive memory warning or app enter background. +- **Disk Cache** + - **Customization**: It supports custom archive and unarchive method to store object which does not adopt NSCoding. + - **Storage Type Control**: It can automatically decide the storage type (sqlite / file) for each object to get + better performance. + + +Installation +============== + +### CocoaPods + +1. Add `pod 'YYCache'` to your Podfile. +2. Run `pod install` or `pod update`. +3. Import \. + + +### Carthage + +1. Add `github "ibireme/YYCache"` to your Cartfile. +2. Run `carthage update --platform ios` and add the framework to your project. +3. Import \. + + +### Manually + +1. Download all the files in the YYCache subdirectory. +2. Add the source files to your Xcode project. +3. Link with required frameworks: + * UIKit + * CoreFoundation + * QuartzCore + * sqlite3 +4. Import `YYCache.h`. + + +Documentation +============== +Full API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYCache/).
+You can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc). + + +Requirements +============== +This library requires `iOS 6.0+` and `Xcode 7.0+`. + + +License +============== +YYCache is provided under the MIT license. See LICENSE file for details. + + +

+--- +中文介绍 +============== +高性能 iOS 缓存框架。
+(该项目是 [YYKit](https://github.com/ibireme/YYKit) 组件之一) + +性能 +============== + +iPhone 6 上,内存缓存每秒响应次数 (越高越好): +![Memory cache benchmark result](https://raw.github.com/ibireme/YYCache/master/Benchmark/Result_memory.png +) + +iPhone 6 上,磁盘缓存每秒响应次数 (越高越好): +![Disk benchmark result](https://raw.github.com/ibireme/YYCache/master/Benchmark/Result_disk.png +) + +推荐到 SQLite 官网[下载](http://www.sqlite.org/download.html)和编译最新的 SQLite,以替换 iOS 自带的 libsqlite3.dylib,以获得最高 1.5~3 倍的性能提升。 + +更多测试代码和用例见 `Benchmark/CacheBenchmark.xcodeproj`。 + + +特性 +============== +- **LRU**: 缓存支持 LRU (least-recently-used) 淘汰算法。 +- **缓存控制**: 支持多种缓存控制方法:总数量、总大小、存活时间、空闲空间。 +- **兼容性**: API 基本和 `NSCache` 保持一致, 所有方法都是线程安全的。 +- **内存缓存** + - **对象释放控制**: 对象的释放(release) 可以配置为同步或异步进行,可以配置在主线程或后台线程进行。 + - **自动清空**: 当收到内存警告或 App 进入后台时,缓存可以配置为自动清空。 +- **磁盘缓存** + - **可定制性**: 磁盘缓存支持自定义的归档解档方法,以支持那些没有实现 NSCoding 协议的对象。 + - **存储类型控制**: 磁盘缓存支持对每个对象的存储类型 (SQLite/文件) 进行自动或手动控制,以获得更高的存取性能。 + + +安装 +============== + +### CocoaPods + +1. 在 Podfile 中添加 `pod 'YYCache'`。 +2. 执行 `pod install` 或 `pod update`。 +3. 导入 \。 + + +### Carthage + +1. 在 Cartfile 中添加 `github "ibireme/YYCache"`。 +2. 执行 `carthage update --platform ios` 并将生成的 framework 添加到你的工程。 +3. 导入 \。 + + +### 手动安装 + +1. 下载 YYCache 文件夹内的所有内容。 +2. 将 YYCache 内的源文件添加(拖放)到你的工程。 +3. 链接以下的 frameworks: + * UIKit + * CoreFoundation + * QuartzCore + * sqlite3 +4. 导入 `YYCache.h`。 + + +文档 +============== +你可以在 [CocoaDocs](http://cocoadocs.org/docsets/YYCache/) 查看在线 API 文档,也可以用 [appledoc](https://github.com/tomaz/appledoc) 本地生成文档。 + + +系统要求 +============== +该项目最低支持 `iOS 6.0` 和 `Xcode 7.0`。 + + +许可证 +============== +YYCache 使用 MIT 许可证,详情见 LICENSE 文件。 + + +相关链接 +============== +[YYCache 设计思路与技术细节](http://blog.ibireme.com/2015/10/26/yycache/) + + diff --git a/Example/Pods/YYCache/YYCache/YYCache.h b/Example/Pods/YYCache/YYCache/YYCache.h new file mode 100644 index 00000000..f042ed77 --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYCache.h @@ -0,0 +1,206 @@ +// +// YYCache.h +// YYCache +// +// Created by ibireme on 15/2/13. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +#if __has_include() +FOUNDATION_EXPORT double YYCacheVersionNumber; +FOUNDATION_EXPORT const unsigned char YYCacheVersionString[]; +#import +#import +#import +#elif __has_include() +#import +#import +#import +#else +#import "YYMemoryCache.h" +#import "YYDiskCache.h" +#import "YYKVStorage.h" +#endif + +NS_ASSUME_NONNULL_BEGIN + + +/** + `YYCache` is a thread safe key-value cache. + + It use `YYMemoryCache` to store objects in a small and fast memory cache, + and use `YYDiskCache` to persisting objects to a large and slow disk cache. + See `YYMemoryCache` and `YYDiskCache` for more information. + */ +@interface YYCache : NSObject + +/** The name of the cache, readonly. */ +@property (copy, readonly) NSString *name; + +/** The underlying memory cache. see `YYMemoryCache` for more information.*/ +@property (strong, readonly) YYMemoryCache *memoryCache; + +/** The underlying disk cache. see `YYDiskCache` for more information.*/ +@property (strong, readonly) YYDiskCache *diskCache; + +/** + Create a new instance with the specified name. + Multiple instances with the same name will make the cache unstable. + + @param name The name of the cache. It will create a dictionary with the name in + the app's caches dictionary for disk cache. Once initialized you should not + read and write to this directory. + @result A new cache object, or nil if an error occurs. + */ +- (nullable instancetype)initWithName:(NSString *)name; + +/** + Create a new instance with the specified path. + Multiple instances with the same name will make the cache unstable. + + @param path Full path of a directory in which the cache will write data. + Once initialized you should not read and write to this directory. + @result A new cache object, or nil if an error occurs. + */ +- (nullable instancetype)initWithPath:(NSString *)path NS_DESIGNATED_INITIALIZER; + +/** + Convenience Initializers + Create a new instance with the specified name. + Multiple instances with the same name will make the cache unstable. + + @param name The name of the cache. It will create a dictionary with the name in + the app's caches dictionary for disk cache. Once initialized you should not + read and write to this directory. + @result A new cache object, or nil if an error occurs. + */ ++ (nullable instancetype)cacheWithName:(NSString *)name; + +/** + Convenience Initializers + Create a new instance with the specified path. + Multiple instances with the same name will make the cache unstable. + + @param path Full path of a directory in which the cache will write data. + Once initialized you should not read and write to this directory. + @result A new cache object, or nil if an error occurs. + */ ++ (nullable instancetype)cacheWithPath:(NSString *)path; + +- (instancetype)init UNAVAILABLE_ATTRIBUTE; ++ (instancetype)new UNAVAILABLE_ATTRIBUTE; + +#pragma mark - Access Methods +///============================================================================= +/// @name Access Methods +///============================================================================= + +/** + Returns a boolean value that indicates whether a given key is in cache. + This method may blocks the calling thread until file read finished. + + @param key A string identifying the value. If nil, just return NO. + @return Whether the key is in cache. + */ +- (BOOL)containsObjectForKey:(NSString *)key; + +/** + Returns a boolean value with the block that indicates whether a given key is in cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param key A string identifying the value. If nil, just return NO. + @param block A block which will be invoked in background queue when finished. + */ +- (void)containsObjectForKey:(NSString *)key withBlock:(nullable void(^)(NSString *key, BOOL contains))block; + +/** + Returns the value associated with a given key. + This method may blocks the calling thread until file read finished. + + @param key A string identifying the value. If nil, just return nil. + @return The value associated with key, or nil if no value is associated with key. + */ +- (nullable id)objectForKey:(NSString *)key; + +/** + Returns the value associated with a given key. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param key A string identifying the value. If nil, just return nil. + @param block A block which will be invoked in background queue when finished. + */ +- (void)objectForKey:(NSString *)key withBlock:(nullable void(^)(NSString *key, id object))block; + +/** + Sets the value of the specified key in the cache. + This method may blocks the calling thread until file write finished. + + @param object The object to be stored in the cache. If nil, it calls `removeObjectForKey:`. + @param key The key with which to associate the value. If nil, this method has no effect. + */ +- (void)setObject:(nullable id)object forKey:(NSString *)key; + +/** + Sets the value of the specified key in the cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param object The object to be stored in the cache. If nil, it calls `removeObjectForKey:`. + @param block A block which will be invoked in background queue when finished. + */ +- (void)setObject:(nullable id)object forKey:(NSString *)key withBlock:(nullable void(^)(void))block; + +/** + Removes the value of the specified key in the cache. + This method may blocks the calling thread until file delete finished. + + @param key The key identifying the value to be removed. If nil, this method has no effect. + */ +- (void)removeObjectForKey:(NSString *)key; + +/** + Removes the value of the specified key in the cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param key The key identifying the value to be removed. If nil, this method has no effect. + @param block A block which will be invoked in background queue when finished. + */ +- (void)removeObjectForKey:(NSString *)key withBlock:(nullable void(^)(NSString *key))block; + +/** + Empties the cache. + This method may blocks the calling thread until file delete finished. + */ +- (void)removeAllObjects; + +/** + Empties the cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param block A block which will be invoked in background queue when finished. + */ +- (void)removeAllObjectsWithBlock:(void(^)(void))block; + +/** + Empties the cache with block. + This method returns immediately and executes the clear operation with block in background. + + @warning You should not send message to this instance in these blocks. + @param progress This block will be invoked during removing, pass nil to ignore. + @param end This block will be invoked at the end, pass nil to ignore. + */ +- (void)removeAllObjectsWithProgressBlock:(nullable void(^)(int removedCount, int totalCount))progress + endBlock:(nullable void(^)(BOOL error))end; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCache/YYCache/YYCache.m b/Example/Pods/YYCache/YYCache/YYCache.m new file mode 100644 index 00000000..e6cdcba3 --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYCache.m @@ -0,0 +1,139 @@ +// +// YYCache.m +// YYCache +// +// Created by ibireme on 15/2/13. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYCache.h" +#import "YYMemoryCache.h" +#import "YYDiskCache.h" + +@implementation YYCache + +- (instancetype) init { + NSLog(@"Use \"initWithName\" or \"initWithPath\" to create YYCache instance."); + return [self initWithPath:@""]; +} + +- (instancetype)initWithName:(NSString *)name { + if (name.length == 0) return nil; + NSString *cacheFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; + NSString *path = [cacheFolder stringByAppendingPathComponent:name]; + return [self initWithPath:path]; +} + +- (instancetype)initWithPath:(NSString *)path { + if (path.length == 0) return nil; + YYDiskCache *diskCache = [[YYDiskCache alloc] initWithPath:path]; + if (!diskCache) return nil; + NSString *name = [path lastPathComponent]; + YYMemoryCache *memoryCache = [YYMemoryCache new]; + memoryCache.name = name; + + self = [super init]; + _name = name; + _diskCache = diskCache; + _memoryCache = memoryCache; + return self; +} + ++ (instancetype)cacheWithName:(NSString *)name { + return [[self alloc] initWithName:name]; +} + ++ (instancetype)cacheWithPath:(NSString *)path { + return [[self alloc] initWithPath:path]; +} + +- (BOOL)containsObjectForKey:(NSString *)key { + return [_memoryCache containsObjectForKey:key] || [_diskCache containsObjectForKey:key]; +} + +- (void)containsObjectForKey:(NSString *)key withBlock:(void (^)(NSString *key, BOOL contains))block { + if (!block) return; + + if ([_memoryCache containsObjectForKey:key]) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + block(key, YES); + }); + } else { + [_diskCache containsObjectForKey:key withBlock:block]; + } +} + +- (id)objectForKey:(NSString *)key { + id object = [_memoryCache objectForKey:key]; + if (!object) { + object = [_diskCache objectForKey:key]; + if (object) { + [_memoryCache setObject:object forKey:key]; + } + } + return object; +} + +- (void)objectForKey:(NSString *)key withBlock:(void (^)(NSString *key, id object))block { + if (!block) return; + id object = [_memoryCache objectForKey:key]; + if (object) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + block(key, object); + }); + } else { + [_diskCache objectForKey:key withBlock:^(NSString *key, id object) { + if (object && ![_memoryCache objectForKey:key]) { + [_memoryCache setObject:object forKey:key]; + } + block(key, object); + }]; + } +} + +- (void)setObject:(id)object forKey:(NSString *)key { + [_memoryCache setObject:object forKey:key]; + [_diskCache setObject:object forKey:key]; +} + +- (void)setObject:(id)object forKey:(NSString *)key withBlock:(void (^)(void))block { + [_memoryCache setObject:object forKey:key]; + [_diskCache setObject:object forKey:key withBlock:block]; +} + +- (void)removeObjectForKey:(NSString *)key { + [_memoryCache removeObjectForKey:key]; + [_diskCache removeObjectForKey:key]; +} + +- (void)removeObjectForKey:(NSString *)key withBlock:(void (^)(NSString *key))block { + [_memoryCache removeObjectForKey:key]; + [_diskCache removeObjectForKey:key withBlock:block]; +} + +- (void)removeAllObjects { + [_memoryCache removeAllObjects]; + [_diskCache removeAllObjects]; +} + +- (void)removeAllObjectsWithBlock:(void(^)(void))block { + [_memoryCache removeAllObjects]; + [_diskCache removeAllObjectsWithBlock:block]; +} + +- (void)removeAllObjectsWithProgressBlock:(void(^)(int removedCount, int totalCount))progress + endBlock:(void(^)(BOOL error))end { + [_memoryCache removeAllObjects]; + [_diskCache removeAllObjectsWithProgressBlock:progress endBlock:end]; + +} + +- (NSString *)description { + if (_name) return [NSString stringWithFormat:@"<%@: %p> (%@)", self.class, self, _name]; + else return [NSString stringWithFormat:@"<%@: %p>", self.class, self]; +} + +@end diff --git a/Example/Pods/YYCache/YYCache/YYDiskCache.h b/Example/Pods/YYCache/YYCache/YYDiskCache.h new file mode 100644 index 00000000..dd193e43 --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYDiskCache.h @@ -0,0 +1,412 @@ +// +// YYDiskCache.h +// YYCache +// +// Created by ibireme on 15/2/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + YYDiskCache is a thread-safe cache that stores key-value pairs backed by SQLite + and file system (similar to NSURLCache's disk cache). + + YYDiskCache has these features: + + * It use LRU (least-recently-used) to remove objects. + * It can be controlled by cost, count, and age. + * It can be configured to automatically evict objects when there's no free disk space. + * It can automatically decide the storage type (sqlite/file) for each object to get + better performance. + + You may compile the latest version of sqlite and ignore the libsqlite3.dylib in + iOS system to get 2x~4x speed up. + */ +@interface YYDiskCache : NSObject + +#pragma mark - Attribute +///============================================================================= +/// @name Attribute +///============================================================================= + +/** The name of the cache. Default is nil. */ +@property (nullable, copy) NSString *name; + +/** The path of the cache (read-only). */ +@property (readonly) NSString *path; + +/** + If the object's data size (in bytes) is larger than this value, then object will + be stored as a file, otherwise the object will be stored in sqlite. + + 0 means all objects will be stored as separated files, NSUIntegerMax means all + objects will be stored in sqlite. + + The default value is 20480 (20KB). + */ +@property (readonly) NSUInteger inlineThreshold; + +/** + If this block is not nil, then the block will be used to archive object instead + of NSKeyedArchiver. You can use this block to support the objects which do not + conform to the `NSCoding` protocol. + + The default value is nil. + */ +@property (nullable, copy) NSData *(^customArchiveBlock)(id object); + +/** + If this block is not nil, then the block will be used to unarchive object instead + of NSKeyedUnarchiver. You can use this block to support the objects which do not + conform to the `NSCoding` protocol. + + The default value is nil. + */ +@property (nullable, copy) id (^customUnarchiveBlock)(NSData *data); + +/** + When an object needs to be saved as a file, this block will be invoked to generate + a file name for a specified key. If the block is nil, the cache use md5(key) as + default file name. + + The default value is nil. + */ +@property (nullable, copy) NSString *(^customFileNameBlock)(NSString *key); + + + +#pragma mark - Limit +///============================================================================= +/// @name Limit +///============================================================================= + +/** + The maximum number of objects the cache should hold. + + @discussion The default value is NSUIntegerMax, which means no limit. + This is not a strict limit — if the cache goes over the limit, some objects in the + cache could be evicted later in background queue. + */ +@property NSUInteger countLimit; + +/** + The maximum total cost that the cache can hold before it starts evicting objects. + + @discussion The default value is NSUIntegerMax, which means no limit. + This is not a strict limit — if the cache goes over the limit, some objects in the + cache could be evicted later in background queue. + */ +@property NSUInteger costLimit; + +/** + The maximum expiry time of objects in cache. + + @discussion The default value is DBL_MAX, which means no limit. + This is not a strict limit — if an object goes over the limit, the objects could + be evicted later in background queue. + */ +@property NSTimeInterval ageLimit; + +/** + The minimum free disk space (in bytes) which the cache should kept. + + @discussion The default value is 0, which means no limit. + If the free disk space is lower than this value, the cache will remove objects + to free some disk space. This is not a strict limit—if the free disk space goes + over the limit, the objects could be evicted later in background queue. + */ +@property NSUInteger freeDiskSpaceLimit; + +/** + The auto trim check time interval in seconds. Default is 60 (1 minute). + + @discussion The cache holds an internal timer to check whether the cache reaches + its limits, and if the limit is reached, it begins to evict objects. + */ +@property NSTimeInterval autoTrimInterval; + +/** + Set `YES` to enable error logs for debug. + */ +@property BOOL errorLogsEnabled; + +#pragma mark - Initializer +///============================================================================= +/// @name Initializer +///============================================================================= +- (instancetype)init UNAVAILABLE_ATTRIBUTE; ++ (instancetype)new UNAVAILABLE_ATTRIBUTE; + +/** + Create a new cache based on the specified path. + + @param path Full path of a directory in which the cache will write data. + Once initialized you should not read and write to this directory. + + @return A new cache object, or nil if an error occurs. + + @warning If the cache instance for the specified path already exists in memory, + this method will return it directly, instead of creating a new instance. + */ +- (nullable instancetype)initWithPath:(NSString *)path; + +/** + The designated initializer. + + @param path Full path of a directory in which the cache will write data. + Once initialized you should not read and write to this directory. + + @param threshold The data store inline threshold in bytes. If the object's data + size (in bytes) is larger than this value, then object will be stored as a + file, otherwise the object will be stored in sqlite. 0 means all objects will + be stored as separated files, NSUIntegerMax means all objects will be stored + in sqlite. If you don't know your object's size, 20480 is a good choice. + After first initialized you should not change this value of the specified path. + + @return A new cache object, or nil if an error occurs. + + @warning If the cache instance for the specified path already exists in memory, + this method will return it directly, instead of creating a new instance. + */ +- (nullable instancetype)initWithPath:(NSString *)path + inlineThreshold:(NSUInteger)threshold NS_DESIGNATED_INITIALIZER; + + +#pragma mark - Access Methods +///============================================================================= +/// @name Access Methods +///============================================================================= + +/** + Returns a boolean value that indicates whether a given key is in cache. + This method may blocks the calling thread until file read finished. + + @param key A string identifying the value. If nil, just return NO. + @return Whether the key is in cache. + */ +- (BOOL)containsObjectForKey:(NSString *)key; + +/** + Returns a boolean value with the block that indicates whether a given key is in cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param key A string identifying the value. If nil, just return NO. + @param block A block which will be invoked in background queue when finished. + */ +- (void)containsObjectForKey:(NSString *)key withBlock:(void(^)(NSString *key, BOOL contains))block; + +/** + Returns the value associated with a given key. + This method may blocks the calling thread until file read finished. + + @param key A string identifying the value. If nil, just return nil. + @return The value associated with key, or nil if no value is associated with key. + */ +- (nullable id)objectForKey:(NSString *)key; + +/** + Returns the value associated with a given key. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param key A string identifying the value. If nil, just return nil. + @param block A block which will be invoked in background queue when finished. + */ +- (void)objectForKey:(NSString *)key withBlock:(void(^)(NSString *key, id _Nullable object))block; + +/** + Sets the value of the specified key in the cache. + This method may blocks the calling thread until file write finished. + + @param object The object to be stored in the cache. If nil, it calls `removeObjectForKey:`. + @param key The key with which to associate the value. If nil, this method has no effect. + */ +- (void)setObject:(nullable id)object forKey:(NSString *)key; + +/** + Sets the value of the specified key in the cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param object The object to be stored in the cache. If nil, it calls `removeObjectForKey:`. + @param block A block which will be invoked in background queue when finished. + */ +- (void)setObject:(nullable id)object forKey:(NSString *)key withBlock:(void(^)(void))block; + +/** + Removes the value of the specified key in the cache. + This method may blocks the calling thread until file delete finished. + + @param key The key identifying the value to be removed. If nil, this method has no effect. + */ +- (void)removeObjectForKey:(NSString *)key; + +/** + Removes the value of the specified key in the cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param key The key identifying the value to be removed. If nil, this method has no effect. + @param block A block which will be invoked in background queue when finished. + */ +- (void)removeObjectForKey:(NSString *)key withBlock:(void(^)(NSString *key))block; + +/** + Empties the cache. + This method may blocks the calling thread until file delete finished. + */ +- (void)removeAllObjects; + +/** + Empties the cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param block A block which will be invoked in background queue when finished. + */ +- (void)removeAllObjectsWithBlock:(void(^)(void))block; + +/** + Empties the cache with block. + This method returns immediately and executes the clear operation with block in background. + + @warning You should not send message to this instance in these blocks. + @param progress This block will be invoked during removing, pass nil to ignore. + @param end This block will be invoked at the end, pass nil to ignore. + */ +- (void)removeAllObjectsWithProgressBlock:(nullable void(^)(int removedCount, int totalCount))progress + endBlock:(nullable void(^)(BOOL error))end; + + +/** + Returns the number of objects in this cache. + This method may blocks the calling thread until file read finished. + + @return The total objects count. + */ +- (NSInteger)totalCount; + +/** + Get the number of objects in this cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param block A block which will be invoked in background queue when finished. + */ +- (void)totalCountWithBlock:(void(^)(NSInteger totalCount))block; + +/** + Returns the total cost (in bytes) of objects in this cache. + This method may blocks the calling thread until file read finished. + + @return The total objects cost in bytes. + */ +- (NSInteger)totalCost; + +/** + Get the total cost (in bytes) of objects in this cache. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param block A block which will be invoked in background queue when finished. + */ +- (void)totalCostWithBlock:(void(^)(NSInteger totalCost))block; + + +#pragma mark - Trim +///============================================================================= +/// @name Trim +///============================================================================= + +/** + Removes objects from the cache use LRU, until the `totalCount` is below the specified value. + This method may blocks the calling thread until operation finished. + + @param count The total count allowed to remain after the cache has been trimmed. + */ +- (void)trimToCount:(NSUInteger)count; + +/** + Removes objects from the cache use LRU, until the `totalCount` is below the specified value. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param count The total count allowed to remain after the cache has been trimmed. + @param block A block which will be invoked in background queue when finished. + */ +- (void)trimToCount:(NSUInteger)count withBlock:(void(^)(void))block; + +/** + Removes objects from the cache use LRU, until the `totalCost` is below the specified value. + This method may blocks the calling thread until operation finished. + + @param cost The total cost allowed to remain after the cache has been trimmed. + */ +- (void)trimToCost:(NSUInteger)cost; + +/** + Removes objects from the cache use LRU, until the `totalCost` is below the specified value. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param cost The total cost allowed to remain after the cache has been trimmed. + @param block A block which will be invoked in background queue when finished. + */ +- (void)trimToCost:(NSUInteger)cost withBlock:(void(^)(void))block; + +/** + Removes objects from the cache use LRU, until all expiry objects removed by the specified value. + This method may blocks the calling thread until operation finished. + + @param age The maximum age of the object. + */ +- (void)trimToAge:(NSTimeInterval)age; + +/** + Removes objects from the cache use LRU, until all expiry objects removed by the specified value. + This method returns immediately and invoke the passed block in background queue + when the operation finished. + + @param age The maximum age of the object. + @param block A block which will be invoked in background queue when finished. + */ +- (void)trimToAge:(NSTimeInterval)age withBlock:(void(^)(void))block; + + +#pragma mark - Extended Data +///============================================================================= +/// @name Extended Data +///============================================================================= + +/** + Get extended data from an object. + + @discussion See 'setExtendedData:toObject:' for more information. + + @param object An object. + @return The extended data. + */ ++ (nullable NSData *)getExtendedDataFromObject:(id)object; + +/** + Set extended data to an object. + + @discussion You can set any extended data to an object before you save the object + to disk cache. The extended data will also be saved with this object. You can get + the extended data later with "getExtendedDataFromObject:". + + @param extendedData The extended data (pass nil to remove). + @param object The object. + */ ++ (void)setExtendedData:(nullable NSData *)extendedData toObject:(id)object; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCache/YYCache/YYDiskCache.m b/Example/Pods/YYCache/YYCache/YYDiskCache.m new file mode 100644 index 00000000..735cc5df --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYDiskCache.m @@ -0,0 +1,458 @@ +// +// YYDiskCache.m +// YYCache +// +// Created by ibireme on 15/2/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYDiskCache.h" +#import "YYKVStorage.h" +#import +#import +#import +#import + +#define Lock() dispatch_semaphore_wait(self->_lock, DISPATCH_TIME_FOREVER) +#define Unlock() dispatch_semaphore_signal(self->_lock) + +static const int extended_data_key; + +/// Free disk space in bytes. +static int64_t _YYDiskSpaceFree() { + NSError *error = nil; + NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; + if (error) return -1; + int64_t space = [[attrs objectForKey:NSFileSystemFreeSize] longLongValue]; + if (space < 0) space = -1; + return space; +} + +/// String's md5 hash. +static NSString *_YYNSStringMD5(NSString *string) { + if (!string) return nil; + NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; + unsigned char result[CC_MD5_DIGEST_LENGTH]; + CC_MD5(data.bytes, (CC_LONG)data.length, result); + return [NSString stringWithFormat: + @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + result[0], result[1], result[2], result[3], + result[4], result[5], result[6], result[7], + result[8], result[9], result[10], result[11], + result[12], result[13], result[14], result[15] + ]; +} + +/// weak reference for all instances +static NSMapTable *_globalInstances; +static dispatch_semaphore_t _globalInstancesLock; + +static void _YYDiskCacheInitGlobal() { + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + _globalInstancesLock = dispatch_semaphore_create(1); + _globalInstances = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsWeakMemory capacity:0]; + }); +} + +static YYDiskCache *_YYDiskCacheGetGlobal(NSString *path) { + if (path.length == 0) return nil; + _YYDiskCacheInitGlobal(); + dispatch_semaphore_wait(_globalInstancesLock, DISPATCH_TIME_FOREVER); + id cache = [_globalInstances objectForKey:path]; + dispatch_semaphore_signal(_globalInstancesLock); + return cache; +} + +static void _YYDiskCacheSetGlobal(YYDiskCache *cache) { + if (cache.path.length == 0) return; + _YYDiskCacheInitGlobal(); + dispatch_semaphore_wait(_globalInstancesLock, DISPATCH_TIME_FOREVER); + [_globalInstances setObject:cache forKey:cache.path]; + dispatch_semaphore_signal(_globalInstancesLock); +} + + + +@implementation YYDiskCache { + YYKVStorage *_kv; + dispatch_semaphore_t _lock; + dispatch_queue_t _queue; +} + +- (void)_trimRecursively { + __weak typeof(self) _self = self; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(_autoTrimInterval * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ + __strong typeof(_self) self = _self; + if (!self) return; + [self _trimInBackground]; + [self _trimRecursively]; + }); +} + +- (void)_trimInBackground { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + if (!self) return; + Lock(); + [self _trimToCost:self.costLimit]; + [self _trimToCount:self.countLimit]; + [self _trimToAge:self.ageLimit]; + [self _trimToFreeDiskSpace:self.freeDiskSpaceLimit]; + Unlock(); + }); +} + +- (void)_trimToCost:(NSUInteger)costLimit { + if (costLimit >= INT_MAX) return; + [_kv removeItemsToFitSize:(int)costLimit]; + +} + +- (void)_trimToCount:(NSUInteger)countLimit { + if (countLimit >= INT_MAX) return; + [_kv removeItemsToFitCount:(int)countLimit]; +} + +- (void)_trimToAge:(NSTimeInterval)ageLimit { + if (ageLimit <= 0) { + [_kv removeAllItems]; + return; + } + long timestamp = time(NULL); + if (timestamp <= ageLimit) return; + long age = timestamp - ageLimit; + if (age >= INT_MAX) return; + [_kv removeItemsEarlierThanTime:(int)age]; +} + +- (void)_trimToFreeDiskSpace:(NSUInteger)targetFreeDiskSpace { + if (targetFreeDiskSpace == 0) return; + int64_t totalBytes = [_kv getItemsSize]; + if (totalBytes <= 0) return; + int64_t diskFreeBytes = _YYDiskSpaceFree(); + if (diskFreeBytes < 0) return; + int64_t needTrimBytes = targetFreeDiskSpace - diskFreeBytes; + if (needTrimBytes <= 0) return; + int64_t costLimit = totalBytes - needTrimBytes; + if (costLimit < 0) costLimit = 0; + [self _trimToCost:(int)costLimit]; +} + +- (NSString *)_filenameForKey:(NSString *)key { + NSString *filename = nil; + if (_customFileNameBlock) filename = _customFileNameBlock(key); + if (!filename) filename = _YYNSStringMD5(key); + return filename; +} + +- (void)_appWillBeTerminated { + Lock(); + _kv = nil; + Unlock(); +} + +#pragma mark - public + +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillTerminateNotification object:nil]; +} + +- (instancetype)init { + @throw [NSException exceptionWithName:@"YYDiskCache init error" reason:@"YYDiskCache must be initialized with a path. Use 'initWithPath:' or 'initWithPath:inlineThreshold:' instead." userInfo:nil]; + return [self initWithPath:@"" inlineThreshold:0]; +} + +- (instancetype)initWithPath:(NSString *)path { + return [self initWithPath:path inlineThreshold:1024 * 20]; // 20KB +} + +- (instancetype)initWithPath:(NSString *)path + inlineThreshold:(NSUInteger)threshold { + self = [super init]; + if (!self) return nil; + + YYDiskCache *globalCache = _YYDiskCacheGetGlobal(path); + if (globalCache) return globalCache; + + YYKVStorageType type; + if (threshold == 0) { + type = YYKVStorageTypeFile; + } else if (threshold == NSUIntegerMax) { + type = YYKVStorageTypeSQLite; + } else { + type = YYKVStorageTypeMixed; + } + + YYKVStorage *kv = [[YYKVStorage alloc] initWithPath:path type:type]; + if (!kv) return nil; + + _kv = kv; + _path = path; + _lock = dispatch_semaphore_create(1); + _queue = dispatch_queue_create("com.ibireme.cache.disk", DISPATCH_QUEUE_CONCURRENT); + _inlineThreshold = threshold; + _countLimit = NSUIntegerMax; + _costLimit = NSUIntegerMax; + _ageLimit = DBL_MAX; + _freeDiskSpaceLimit = 0; + _autoTrimInterval = 60; + + [self _trimRecursively]; + _YYDiskCacheSetGlobal(self); + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_appWillBeTerminated) name:UIApplicationWillTerminateNotification object:nil]; + return self; +} + +- (BOOL)containsObjectForKey:(NSString *)key { + if (!key) return NO; + Lock(); + BOOL contains = [_kv itemExistsForKey:key]; + Unlock(); + return contains; +} + +- (void)containsObjectForKey:(NSString *)key withBlock:(void(^)(NSString *key, BOOL contains))block { + if (!block) return; + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + BOOL contains = [self containsObjectForKey:key]; + block(key, contains); + }); +} + +- (id)objectForKey:(NSString *)key { + if (!key) return nil; + Lock(); + YYKVStorageItem *item = [_kv getItemForKey:key]; + Unlock(); + if (!item.value) return nil; + + id object = nil; + if (_customUnarchiveBlock) { + object = _customUnarchiveBlock(item.value); + } else { + @try { + object = [NSKeyedUnarchiver unarchiveObjectWithData:item.value]; + } + @catch (NSException *exception) { + // nothing to do... + } + } + if (object && item.extendedData) { + [YYDiskCache setExtendedData:item.extendedData toObject:object]; + } + return object; +} + +- (void)objectForKey:(NSString *)key withBlock:(void(^)(NSString *key, id object))block { + if (!block) return; + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + id object = [self objectForKey:key]; + block(key, object); + }); +} + +- (void)setObject:(id)object forKey:(NSString *)key { + if (!key) return; + if (!object) { + [self removeObjectForKey:key]; + return; + } + + NSData *extendedData = [YYDiskCache getExtendedDataFromObject:object]; + NSData *value = nil; + if (_customArchiveBlock) { + value = _customArchiveBlock(object); + } else { + @try { + value = [NSKeyedArchiver archivedDataWithRootObject:object]; + } + @catch (NSException *exception) { + // nothing to do... + } + } + if (!value) return; + NSString *filename = nil; + if (_kv.type != YYKVStorageTypeSQLite) { + if (value.length > _inlineThreshold) { + filename = [self _filenameForKey:key]; + } + } + + Lock(); + [_kv saveItemWithKey:key value:value filename:filename extendedData:extendedData]; + Unlock(); +} + +- (void)setObject:(id)object forKey:(NSString *)key withBlock:(void(^)(void))block { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + [self setObject:object forKey:key]; + if (block) block(); + }); +} + +- (void)removeObjectForKey:(NSString *)key { + if (!key) return; + Lock(); + [_kv removeItemForKey:key]; + Unlock(); +} + +- (void)removeObjectForKey:(NSString *)key withBlock:(void(^)(NSString *key))block { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + [self removeObjectForKey:key]; + if (block) block(key); + }); +} + +- (void)removeAllObjects { + Lock(); + [_kv removeAllItems]; + Unlock(); +} + +- (void)removeAllObjectsWithBlock:(void(^)(void))block { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + [self removeAllObjects]; + if (block) block(); + }); +} + +- (void)removeAllObjectsWithProgressBlock:(void(^)(int removedCount, int totalCount))progress + endBlock:(void(^)(BOOL error))end { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + if (!self) { + if (end) end(YES); + return; + } + Lock(); + [_kv removeAllItemsWithProgressBlock:progress endBlock:end]; + Unlock(); + }); +} + +- (NSInteger)totalCount { + Lock(); + int count = [_kv getItemsCount]; + Unlock(); + return count; +} + +- (void)totalCountWithBlock:(void(^)(NSInteger totalCount))block { + if (!block) return; + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + NSInteger totalCount = [self totalCount]; + block(totalCount); + }); +} + +- (NSInteger)totalCost { + Lock(); + int count = [_kv getItemsSize]; + Unlock(); + return count; +} + +- (void)totalCostWithBlock:(void(^)(NSInteger totalCost))block { + if (!block) return; + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + NSInteger totalCost = [self totalCost]; + block(totalCost); + }); +} + +- (void)trimToCount:(NSUInteger)count { + Lock(); + [self _trimToCount:count]; + Unlock(); +} + +- (void)trimToCount:(NSUInteger)count withBlock:(void(^)(void))block { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + [self trimToCount:count]; + if (block) block(); + }); +} + +- (void)trimToCost:(NSUInteger)cost { + Lock(); + [self _trimToCost:cost]; + Unlock(); +} + +- (void)trimToCost:(NSUInteger)cost withBlock:(void(^)(void))block { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + [self trimToCost:cost]; + if (block) block(); + }); +} + +- (void)trimToAge:(NSTimeInterval)age { + Lock(); + [self _trimToAge:age]; + Unlock(); +} + +- (void)trimToAge:(NSTimeInterval)age withBlock:(void(^)(void))block { + __weak typeof(self) _self = self; + dispatch_async(_queue, ^{ + __strong typeof(_self) self = _self; + [self trimToAge:age]; + if (block) block(); + }); +} + ++ (NSData *)getExtendedDataFromObject:(id)object { + if (!object) return nil; + return (NSData *)objc_getAssociatedObject(object, &extended_data_key); +} + ++ (void)setExtendedData:(NSData *)extendedData toObject:(id)object { + if (!object) return; + objc_setAssociatedObject(object, &extended_data_key, extendedData, OBJC_ASSOCIATION_RETAIN_NONATOMIC); +} + +- (NSString *)description { + if (_name) return [NSString stringWithFormat:@"<%@: %p> (%@:%@)", self.class, self, _name, _path]; + else return [NSString stringWithFormat:@"<%@: %p> (%@)", self.class, self, _path]; +} + +- (BOOL)errorLogsEnabled { + Lock(); + BOOL enabled = _kv.errorLogsEnabled; + Unlock(); + return enabled; +} + +- (void)setErrorLogsEnabled:(BOOL)errorLogsEnabled { + Lock(); + _kv.errorLogsEnabled = errorLogsEnabled; + Unlock(); +} + +@end diff --git a/Example/Pods/YYCache/YYCache/YYKVStorage.h b/Example/Pods/YYCache/YYCache/YYKVStorage.h new file mode 100644 index 00000000..939a6e4c --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYKVStorage.h @@ -0,0 +1,325 @@ +// +// YYKVStorage.h +// YYCache +// +// Created by ibireme on 15/4/22. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + YYKVStorageItem is used by `YYKVStorage` to store key-value pair and meta data. + Typically, you should not use this class directly. + */ +@interface YYKVStorageItem : NSObject +@property (nonatomic, strong) NSString *key; ///< key +@property (nonatomic, strong) NSData *value; ///< value +@property (nullable, nonatomic, strong) NSString *filename; ///< filename (nil if inline) +@property (nonatomic) int size; ///< value's size in bytes +@property (nonatomic) int modTime; ///< modification unix timestamp +@property (nonatomic) int accessTime; ///< last access unix timestamp +@property (nullable, nonatomic, strong) NSData *extendedData; ///< extended data (nil if no extended data) +@end + +/** + Storage type, indicated where the `YYKVStorageItem.value` stored. + + @discussion Typically, write data to sqlite is faster than extern file, but + reading performance is dependent on data size. In my test (on iPhone 6 64G), + read data from extern file is faster than from sqlite when the data is larger + than 20KB. + + * If you want to store large number of small datas (such as contacts cache), + use YYKVStorageTypeSQLite to get better performance. + * If you want to store large files (such as image cache), + use YYKVStorageTypeFile to get better performance. + * You can use YYKVStorageTypeMixed and choice your storage type for each item. + + See for more information. + */ +typedef NS_ENUM(NSUInteger, YYKVStorageType) { + + /// The `value` is stored as a file in file system. + YYKVStorageTypeFile = 0, + + /// The `value` is stored in sqlite with blob type. + YYKVStorageTypeSQLite = 1, + + /// The `value` is stored in file system or sqlite based on your choice. + YYKVStorageTypeMixed = 2, +}; + + + +/** + YYKVStorage is a key-value storage based on sqlite and file system. + Typically, you should not use this class directly. + + @discussion The designated initializer for YYKVStorage is `initWithPath:type:`. + After initialized, a directory is created based on the `path` to hold key-value data. + Once initialized you should not read or write this directory without the instance. + + You may compile the latest version of sqlite and ignore the libsqlite3.dylib in + iOS system to get 2x~4x speed up. + + @warning The instance of this class is *NOT* thread safe, you need to make sure + that there's only one thread to access the instance at the same time. If you really + need to process large amounts of data in multi-thread, you should split the data + to multiple KVStorage instance (sharding). + */ +@interface YYKVStorage : NSObject + +#pragma mark - Attribute +///============================================================================= +/// @name Attribute +///============================================================================= + +@property (nonatomic, readonly) NSString *path; ///< The path of this storage. +@property (nonatomic, readonly) YYKVStorageType type; ///< The type of this storage. +@property (nonatomic) BOOL errorLogsEnabled; ///< Set `YES` to enable error logs for debug. + +#pragma mark - Initializer +///============================================================================= +/// @name Initializer +///============================================================================= +- (instancetype)init UNAVAILABLE_ATTRIBUTE; ++ (instancetype)new UNAVAILABLE_ATTRIBUTE; + +/** + The designated initializer. + + @param path Full path of a directory in which the storage will write data. If + the directory is not exists, it will try to create one, otherwise it will + read the data in this directory. + @param type The storage type. After first initialized you should not change the + type of the specified path. + @return A new storage object, or nil if an error occurs. + @warning Multiple instances with the same path will make the storage unstable. + */ +- (nullable instancetype)initWithPath:(NSString *)path type:(YYKVStorageType)type NS_DESIGNATED_INITIALIZER; + + +#pragma mark - Save Items +///============================================================================= +/// @name Save Items +///============================================================================= + +/** + Save an item or update the item with 'key' if it already exists. + + @discussion This method will save the item.key, item.value, item.filename and + item.extendedData to disk or sqlite, other properties will be ignored. item.key + and item.value should not be empty (nil or zero length). + + If the `type` is YYKVStorageTypeFile, then the item.filename should not be empty. + If the `type` is YYKVStorageTypeSQLite, then the item.filename will be ignored. + It the `type` is YYKVStorageTypeMixed, then the item.value will be saved to file + system if the item.filename is not empty, otherwise it will be saved to sqlite. + + @param item An item. + @return Whether succeed. + */ +- (BOOL)saveItem:(YYKVStorageItem *)item; + +/** + Save an item or update the item with 'key' if it already exists. + + @discussion This method will save the key-value pair to sqlite. If the `type` is + YYKVStorageTypeFile, then this method will failed. + + @param key The key, should not be empty (nil or zero length). + @param value The key, should not be empty (nil or zero length). + @return Whether succeed. + */ +- (BOOL)saveItemWithKey:(NSString *)key value:(NSData *)value; + +/** + Save an item or update the item with 'key' if it already exists. + + @discussion + If the `type` is YYKVStorageTypeFile, then the `filename` should not be empty. + If the `type` is YYKVStorageTypeSQLite, then the `filename` will be ignored. + It the `type` is YYKVStorageTypeMixed, then the `value` will be saved to file + system if the `filename` is not empty, otherwise it will be saved to sqlite. + + @param key The key, should not be empty (nil or zero length). + @param value The key, should not be empty (nil or zero length). + @param filename The filename. + @param extendedData The extended data for this item (pass nil to ignore it). + + @return Whether succeed. + */ +- (BOOL)saveItemWithKey:(NSString *)key + value:(NSData *)value + filename:(nullable NSString *)filename + extendedData:(nullable NSData *)extendedData; + +#pragma mark - Remove Items +///============================================================================= +/// @name Remove Items +///============================================================================= + +/** + Remove an item with 'key'. + + @param key The item's key. + @return Whether succeed. + */ +- (BOOL)removeItemForKey:(NSString *)key; + +/** + Remove items with an array of keys. + + @param keys An array of specified keys. + + @return Whether succeed. + */ +- (BOOL)removeItemForKeys:(NSArray *)keys; + +/** + Remove all items which `value` is larger than a specified size. + + @param size The maximum size in bytes. + @return Whether succeed. + */ +- (BOOL)removeItemsLargerThanSize:(int)size; + +/** + Remove all items which last access time is earlier than a specified timestamp. + + @param time The specified unix timestamp. + @return Whether succeed. + */ +- (BOOL)removeItemsEarlierThanTime:(int)time; + +/** + Remove items to make the total size not larger than a specified size. + The least recently used (LRU) items will be removed first. + + @param maxSize The specified size in bytes. + @return Whether succeed. + */ +- (BOOL)removeItemsToFitSize:(int)maxSize; + +/** + Remove items to make the total count not larger than a specified count. + The least recently used (LRU) items will be removed first. + + @param maxCount The specified item count. + @return Whether succeed. + */ +- (BOOL)removeItemsToFitCount:(int)maxCount; + +/** + Remove all items in background queue. + + @discussion This method will remove the files and sqlite database to a trash + folder, and then clear the folder in background queue. So this method is much + faster than `removeAllItemsWithProgressBlock:endBlock:`. + + @return Whether succeed. + */ +- (BOOL)removeAllItems; + +/** + Remove all items. + + @warning You should not send message to this instance in these blocks. + @param progress This block will be invoked during removing, pass nil to ignore. + @param end This block will be invoked at the end, pass nil to ignore. + */ +- (void)removeAllItemsWithProgressBlock:(nullable void(^)(int removedCount, int totalCount))progress + endBlock:(nullable void(^)(BOOL error))end; + + +#pragma mark - Get Items +///============================================================================= +/// @name Get Items +///============================================================================= + +/** + Get item with a specified key. + + @param key A specified key. + @return Item for the key, or nil if not exists / error occurs. + */ +- (nullable YYKVStorageItem *)getItemForKey:(NSString *)key; + +/** + Get item information with a specified key. + The `value` in this item will be ignored. + + @param key A specified key. + @return Item information for the key, or nil if not exists / error occurs. + */ +- (nullable YYKVStorageItem *)getItemInfoForKey:(NSString *)key; + +/** + Get item value with a specified key. + + @param key A specified key. + @return Item's value, or nil if not exists / error occurs. + */ +- (nullable NSData *)getItemValueForKey:(NSString *)key; + +/** + Get items with an array of keys. + + @param keys An array of specified keys. + @return An array of `YYKVStorageItem`, or nil if not exists / error occurs. + */ +- (nullable NSArray *)getItemForKeys:(NSArray *)keys; + +/** + Get item infomartions with an array of keys. + The `value` in items will be ignored. + + @param keys An array of specified keys. + @return An array of `YYKVStorageItem`, or nil if not exists / error occurs. + */ +- (nullable NSArray *)getItemInfoForKeys:(NSArray *)keys; + +/** + Get items value with an array of keys. + + @param keys An array of specified keys. + @return A dictionary which key is 'key' and value is 'value', or nil if not + exists / error occurs. + */ +- (nullable NSDictionary *)getItemValueForKeys:(NSArray *)keys; + +#pragma mark - Get Storage Status +///============================================================================= +/// @name Get Storage Status +///============================================================================= + +/** + Whether an item exists for a specified key. + + @param key A specified key. + + @return `YES` if there's an item exists for the key, `NO` if not exists or an error occurs. + */ +- (BOOL)itemExistsForKey:(NSString *)key; + +/** + Get total item count. + @return Total item count, -1 when an error occurs. + */ +- (int)getItemsCount; + +/** + Get item value's total size in bytes. + @return Total size in bytes, -1 when an error occurs. + */ +- (int)getItemsSize; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCache/YYCache/YYKVStorage.m b/Example/Pods/YYCache/YYCache/YYKVStorage.m new file mode 100644 index 00000000..501dfdde --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYKVStorage.m @@ -0,0 +1,1069 @@ +// +// YYKVStorage.m +// YYCache +// +// Created by ibireme on 15/4/22. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYKVStorage.h" +#import +#import + +#if __has_include() +#import +#else +#import "sqlite3.h" +#endif + + +static const NSUInteger kMaxErrorRetryCount = 8; +static const NSTimeInterval kMinRetryTimeInterval = 2.0; +static const int kPathLengthMax = PATH_MAX - 64; +static NSString *const kDBFileName = @"manifest.sqlite"; +static NSString *const kDBShmFileName = @"manifest.sqlite-shm"; +static NSString *const kDBWalFileName = @"manifest.sqlite-wal"; +static NSString *const kDataDirectoryName = @"data"; +static NSString *const kTrashDirectoryName = @"trash"; + + +/* + File: + /path/ + /manifest.sqlite + /manifest.sqlite-shm + /manifest.sqlite-wal + /data/ + /e10adc3949ba59abbe56e057f20f883e + /e10adc3949ba59abbe56e057f20f883e + /trash/ + /unused_file_or_folder + + SQL: + create table if not exists manifest ( + key text, + filename text, + size integer, + inline_data blob, + modification_time integer, + last_access_time integer, + extended_data blob, + primary key(key) + ); + create index if not exists last_access_time_idx on manifest(last_access_time); + */ + +/// Returns nil in App Extension. +static UIApplication *_YYSharedApplication() { + static BOOL isAppExtension = NO; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + Class cls = NSClassFromString(@"UIApplication"); + if(!cls || ![cls respondsToSelector:@selector(sharedApplication)]) isAppExtension = YES; + if ([[[NSBundle mainBundle] bundlePath] hasSuffix:@".appex"]) isAppExtension = YES; + }); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" + return isAppExtension ? nil : [UIApplication performSelector:@selector(sharedApplication)]; +#pragma clang diagnostic pop +} + + +@implementation YYKVStorageItem +@end + +@implementation YYKVStorage { + dispatch_queue_t _trashQueue; + + NSString *_path; + NSString *_dbPath; + NSString *_dataPath; + NSString *_trashPath; + + sqlite3 *_db; + CFMutableDictionaryRef _dbStmtCache; + NSTimeInterval _dbLastOpenErrorTime; + NSUInteger _dbOpenErrorCount; +} + + +#pragma mark - db + +- (BOOL)_dbOpen { + if (_db) return YES; + + int result = sqlite3_open(_dbPath.UTF8String, &_db); + if (result == SQLITE_OK) { + CFDictionaryKeyCallBacks keyCallbacks = kCFCopyStringDictionaryKeyCallBacks; + CFDictionaryValueCallBacks valueCallbacks = {0}; + _dbStmtCache = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0, &keyCallbacks, &valueCallbacks); + _dbLastOpenErrorTime = 0; + _dbOpenErrorCount = 0; + return YES; + } else { + _db = NULL; + if (_dbStmtCache) CFRelease(_dbStmtCache); + _dbStmtCache = NULL; + _dbLastOpenErrorTime = CACurrentMediaTime(); + _dbOpenErrorCount++; + + if (_errorLogsEnabled) { + NSLog(@"%s line:%d sqlite open failed (%d).", __FUNCTION__, __LINE__, result); + } + return NO; + } +} + +- (BOOL)_dbClose { + if (!_db) return YES; + + int result = 0; + BOOL retry = NO; + BOOL stmtFinalized = NO; + + if (_dbStmtCache) CFRelease(_dbStmtCache); + _dbStmtCache = NULL; + + do { + retry = NO; + result = sqlite3_close(_db); + if (result == SQLITE_BUSY || result == SQLITE_LOCKED) { + if (!stmtFinalized) { + stmtFinalized = YES; + sqlite3_stmt *stmt; + while ((stmt = sqlite3_next_stmt(_db, nil)) != 0) { + sqlite3_finalize(stmt); + retry = YES; + } + } + } else if (result != SQLITE_OK) { + if (_errorLogsEnabled) { + NSLog(@"%s line:%d sqlite close failed (%d).", __FUNCTION__, __LINE__, result); + } + } + } while (retry); + _db = NULL; + return YES; +} + +- (BOOL)_dbCheck { + if (!_db) { + if (_dbOpenErrorCount < kMaxErrorRetryCount && + CACurrentMediaTime() - _dbLastOpenErrorTime > kMinRetryTimeInterval) { + return [self _dbOpen] && [self _dbInitialize]; + } else { + return NO; + } + } + return YES; +} + +- (BOOL)_dbInitialize { + NSString *sql = @"pragma journal_mode = wal; pragma synchronous = normal; create table if not exists manifest (key text, filename text, size integer, inline_data blob, modification_time integer, last_access_time integer, extended_data blob, primary key(key)); create index if not exists last_access_time_idx on manifest(last_access_time);"; + return [self _dbExecute:sql]; +} + +- (void)_dbCheckpoint { + if (![self _dbCheck]) return; + // Cause a checkpoint to occur, merge `sqlite-wal` file to `sqlite` file. + sqlite3_wal_checkpoint(_db, NULL); +} + +- (BOOL)_dbExecute:(NSString *)sql { + if (sql.length == 0) return NO; + if (![self _dbCheck]) return NO; + + char *error = NULL; + int result = sqlite3_exec(_db, sql.UTF8String, NULL, NULL, &error); + if (error) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite exec error (%d): %s", __FUNCTION__, __LINE__, result, error); + sqlite3_free(error); + } + + return result == SQLITE_OK; +} + +- (sqlite3_stmt *)_dbPrepareStmt:(NSString *)sql { + if (![self _dbCheck] || sql.length == 0 || !_dbStmtCache) return NULL; + sqlite3_stmt *stmt = (sqlite3_stmt *)CFDictionaryGetValue(_dbStmtCache, (__bridge const void *)(sql)); + if (!stmt) { + int result = sqlite3_prepare_v2(_db, sql.UTF8String, -1, &stmt, NULL); + if (result != SQLITE_OK) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite stmt prepare error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NULL; + } + CFDictionarySetValue(_dbStmtCache, (__bridge const void *)(sql), stmt); + } else { + sqlite3_reset(stmt); + } + return stmt; +} + +- (NSString *)_dbJoinedKeys:(NSArray *)keys { + NSMutableString *string = [NSMutableString new]; + for (NSUInteger i = 0,max = keys.count; i < max; i++) { + [string appendString:@"?"]; + if (i + 1 != max) { + [string appendString:@","]; + } + } + return string; +} + +- (void)_dbBindJoinedKeys:(NSArray *)keys stmt:(sqlite3_stmt *)stmt fromIndex:(int)index{ + for (int i = 0, max = (int)keys.count; i < max; i++) { + NSString *key = keys[i]; + sqlite3_bind_text(stmt, index + i, key.UTF8String, -1, NULL); + } +} + +- (BOOL)_dbSaveWithKey:(NSString *)key value:(NSData *)value fileName:(NSString *)fileName extendedData:(NSData *)extendedData { + NSString *sql = @"insert or replace into manifest (key, filename, size, inline_data, modification_time, last_access_time, extended_data) values (?1, ?2, ?3, ?4, ?5, ?6, ?7);"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return NO; + + int timestamp = (int)time(NULL); + sqlite3_bind_text(stmt, 1, key.UTF8String, -1, NULL); + sqlite3_bind_text(stmt, 2, fileName.UTF8String, -1, NULL); + sqlite3_bind_int(stmt, 3, (int)value.length); + if (fileName.length == 0) { + sqlite3_bind_blob(stmt, 4, value.bytes, (int)value.length, 0); + } else { + sqlite3_bind_blob(stmt, 4, NULL, 0, 0); + } + sqlite3_bind_int(stmt, 5, timestamp); + sqlite3_bind_int(stmt, 6, timestamp); + sqlite3_bind_blob(stmt, 7, extendedData.bytes, (int)extendedData.length, 0); + + int result = sqlite3_step(stmt); + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite insert error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (BOOL)_dbUpdateAccessTimeWithKey:(NSString *)key { + NSString *sql = @"update manifest set last_access_time = ?1 where key = ?2;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return NO; + sqlite3_bind_int(stmt, 1, (int)time(NULL)); + sqlite3_bind_text(stmt, 2, key.UTF8String, -1, NULL); + int result = sqlite3_step(stmt); + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite update error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (BOOL)_dbUpdateAccessTimeWithKeys:(NSArray *)keys { + if (![self _dbCheck]) return NO; + int t = (int)time(NULL); + NSString *sql = [NSString stringWithFormat:@"update manifest set last_access_time = %d where key in (%@);", t, [self _dbJoinedKeys:keys]]; + + sqlite3_stmt *stmt = NULL; + int result = sqlite3_prepare_v2(_db, sql.UTF8String, -1, &stmt, NULL); + if (result != SQLITE_OK) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite stmt prepare error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + + [self _dbBindJoinedKeys:keys stmt:stmt fromIndex:1]; + result = sqlite3_step(stmt); + sqlite3_finalize(stmt); + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite update error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (BOOL)_dbDeleteItemWithKey:(NSString *)key { + NSString *sql = @"delete from manifest where key = ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return NO; + sqlite3_bind_text(stmt, 1, key.UTF8String, -1, NULL); + + int result = sqlite3_step(stmt); + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d db delete error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (BOOL)_dbDeleteItemWithKeys:(NSArray *)keys { + if (![self _dbCheck]) return NO; + NSString *sql = [NSString stringWithFormat:@"delete from manifest where key in (%@);", [self _dbJoinedKeys:keys]]; + sqlite3_stmt *stmt = NULL; + int result = sqlite3_prepare_v2(_db, sql.UTF8String, -1, &stmt, NULL); + if (result != SQLITE_OK) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite stmt prepare error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + + [self _dbBindJoinedKeys:keys stmt:stmt fromIndex:1]; + result = sqlite3_step(stmt); + sqlite3_finalize(stmt); + if (result == SQLITE_ERROR) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite delete error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (BOOL)_dbDeleteItemsWithSizeLargerThan:(int)size { + NSString *sql = @"delete from manifest where size > ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return NO; + sqlite3_bind_int(stmt, 1, size); + int result = sqlite3_step(stmt); + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite delete error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (BOOL)_dbDeleteItemsWithTimeEarlierThan:(int)time { + NSString *sql = @"delete from manifest where last_access_time < ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return NO; + sqlite3_bind_int(stmt, 1, time); + int result = sqlite3_step(stmt); + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite delete error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return NO; + } + return YES; +} + +- (YYKVStorageItem *)_dbGetItemFromStmt:(sqlite3_stmt *)stmt excludeInlineData:(BOOL)excludeInlineData { + int i = 0; + char *key = (char *)sqlite3_column_text(stmt, i++); + char *filename = (char *)sqlite3_column_text(stmt, i++); + int size = sqlite3_column_int(stmt, i++); + const void *inline_data = excludeInlineData ? NULL : sqlite3_column_blob(stmt, i); + int inline_data_bytes = excludeInlineData ? 0 : sqlite3_column_bytes(stmt, i++); + int modification_time = sqlite3_column_int(stmt, i++); + int last_access_time = sqlite3_column_int(stmt, i++); + const void *extended_data = sqlite3_column_blob(stmt, i); + int extended_data_bytes = sqlite3_column_bytes(stmt, i++); + + YYKVStorageItem *item = [YYKVStorageItem new]; + if (key) item.key = [NSString stringWithUTF8String:key]; + if (filename && *filename != 0) item.filename = [NSString stringWithUTF8String:filename]; + item.size = size; + if (inline_data_bytes > 0 && inline_data) item.value = [NSData dataWithBytes:inline_data length:inline_data_bytes]; + item.modTime = modification_time; + item.accessTime = last_access_time; + if (extended_data_bytes > 0 && extended_data) item.extendedData = [NSData dataWithBytes:extended_data length:extended_data_bytes]; + return item; +} + +- (YYKVStorageItem *)_dbGetItemWithKey:(NSString *)key excludeInlineData:(BOOL)excludeInlineData { + NSString *sql = excludeInlineData ? @"select key, filename, size, modification_time, last_access_time, extended_data from manifest where key = ?1;" : @"select key, filename, size, inline_data, modification_time, last_access_time, extended_data from manifest where key = ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return nil; + sqlite3_bind_text(stmt, 1, key.UTF8String, -1, NULL); + + YYKVStorageItem *item = nil; + int result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + item = [self _dbGetItemFromStmt:stmt excludeInlineData:excludeInlineData]; + } else { + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + } + } + return item; +} + +- (NSMutableArray *)_dbGetItemWithKeys:(NSArray *)keys excludeInlineData:(BOOL)excludeInlineData { + if (![self _dbCheck]) return nil; + NSString *sql; + if (excludeInlineData) { + sql = [NSString stringWithFormat:@"select key, filename, size, modification_time, last_access_time, extended_data from manifest where key in (%@);", [self _dbJoinedKeys:keys]]; + } else { + sql = [NSString stringWithFormat:@"select key, filename, size, inline_data, modification_time, last_access_time, extended_data from manifest where key in (%@)", [self _dbJoinedKeys:keys]]; + } + + sqlite3_stmt *stmt = NULL; + int result = sqlite3_prepare_v2(_db, sql.UTF8String, -1, &stmt, NULL); + if (result != SQLITE_OK) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite stmt prepare error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return nil; + } + + [self _dbBindJoinedKeys:keys stmt:stmt fromIndex:1]; + NSMutableArray *items = [NSMutableArray new]; + do { + result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + YYKVStorageItem *item = [self _dbGetItemFromStmt:stmt excludeInlineData:excludeInlineData]; + if (item) [items addObject:item]; + } else if (result == SQLITE_DONE) { + break; + } else { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + items = nil; + break; + } + } while (1); + sqlite3_finalize(stmt); + return items; +} + +- (NSData *)_dbGetValueWithKey:(NSString *)key { + NSString *sql = @"select inline_data from manifest where key = ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return nil; + sqlite3_bind_text(stmt, 1, key.UTF8String, -1, NULL); + + int result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + const void *inline_data = sqlite3_column_blob(stmt, 0); + int inline_data_bytes = sqlite3_column_bytes(stmt, 0); + if (!inline_data || inline_data_bytes <= 0) return nil; + return [NSData dataWithBytes:inline_data length:inline_data_bytes]; + } else { + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + } + return nil; + } +} + +- (NSString *)_dbGetFilenameWithKey:(NSString *)key { + NSString *sql = @"select filename from manifest where key = ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return nil; + sqlite3_bind_text(stmt, 1, key.UTF8String, -1, NULL); + int result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + char *filename = (char *)sqlite3_column_text(stmt, 0); + if (filename && *filename != 0) { + return [NSString stringWithUTF8String:filename]; + } + } else { + if (result != SQLITE_DONE) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + } + } + return nil; +} + +- (NSMutableArray *)_dbGetFilenameWithKeys:(NSArray *)keys { + if (![self _dbCheck]) return nil; + NSString *sql = [NSString stringWithFormat:@"select filename from manifest where key in (%@);", [self _dbJoinedKeys:keys]]; + sqlite3_stmt *stmt = NULL; + int result = sqlite3_prepare_v2(_db, sql.UTF8String, -1, &stmt, NULL); + if (result != SQLITE_OK) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite stmt prepare error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return nil; + } + + [self _dbBindJoinedKeys:keys stmt:stmt fromIndex:1]; + NSMutableArray *filenames = [NSMutableArray new]; + do { + result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + char *filename = (char *)sqlite3_column_text(stmt, 0); + if (filename && *filename != 0) { + NSString *name = [NSString stringWithUTF8String:filename]; + if (name) [filenames addObject:name]; + } + } else if (result == SQLITE_DONE) { + break; + } else { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + filenames = nil; + break; + } + } while (1); + sqlite3_finalize(stmt); + return filenames; +} + +- (NSMutableArray *)_dbGetFilenamesWithSizeLargerThan:(int)size { + NSString *sql = @"select filename from manifest where size > ?1 and filename is not null;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return nil; + sqlite3_bind_int(stmt, 1, size); + + NSMutableArray *filenames = [NSMutableArray new]; + do { + int result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + char *filename = (char *)sqlite3_column_text(stmt, 0); + if (filename && *filename != 0) { + NSString *name = [NSString stringWithUTF8String:filename]; + if (name) [filenames addObject:name]; + } + } else if (result == SQLITE_DONE) { + break; + } else { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + filenames = nil; + break; + } + } while (1); + return filenames; +} + +- (NSMutableArray *)_dbGetFilenamesWithTimeEarlierThan:(int)time { + NSString *sql = @"select filename from manifest where last_access_time < ?1 and filename is not null;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return nil; + sqlite3_bind_int(stmt, 1, time); + + NSMutableArray *filenames = [NSMutableArray new]; + do { + int result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + char *filename = (char *)sqlite3_column_text(stmt, 0); + if (filename && *filename != 0) { + NSString *name = [NSString stringWithUTF8String:filename]; + if (name) [filenames addObject:name]; + } + } else if (result == SQLITE_DONE) { + break; + } else { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + filenames = nil; + break; + } + } while (1); + return filenames; +} + +- (NSMutableArray *)_dbGetItemSizeInfoOrderByTimeAscWithLimit:(int)count { + NSString *sql = @"select key, filename, size from manifest order by last_access_time asc limit ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return nil; + sqlite3_bind_int(stmt, 1, count); + + NSMutableArray *items = [NSMutableArray new]; + do { + int result = sqlite3_step(stmt); + if (result == SQLITE_ROW) { + char *key = (char *)sqlite3_column_text(stmt, 0); + char *filename = (char *)sqlite3_column_text(stmt, 1); + int size = sqlite3_column_int(stmt, 2); + NSString *keyStr = key ? [NSString stringWithUTF8String:key] : nil; + if (keyStr) { + YYKVStorageItem *item = [YYKVStorageItem new]; + item.key = key ? [NSString stringWithUTF8String:key] : nil; + item.filename = filename ? [NSString stringWithUTF8String:filename] : nil; + item.size = size; + [items addObject:item]; + } + } else if (result == SQLITE_DONE) { + break; + } else { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + items = nil; + break; + } + } while (1); + return items; +} + +- (int)_dbGetItemCountWithKey:(NSString *)key { + NSString *sql = @"select count(key) from manifest where key = ?1;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return -1; + sqlite3_bind_text(stmt, 1, key.UTF8String, -1, NULL); + int result = sqlite3_step(stmt); + if (result != SQLITE_ROW) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return -1; + } + return sqlite3_column_int(stmt, 0); +} + +- (int)_dbGetTotalItemSize { + NSString *sql = @"select sum(size) from manifest;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return -1; + int result = sqlite3_step(stmt); + if (result != SQLITE_ROW) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return -1; + } + return sqlite3_column_int(stmt, 0); +} + +- (int)_dbGetTotalItemCount { + NSString *sql = @"select count(*) from manifest;"; + sqlite3_stmt *stmt = [self _dbPrepareStmt:sql]; + if (!stmt) return -1; + int result = sqlite3_step(stmt); + if (result != SQLITE_ROW) { + if (_errorLogsEnabled) NSLog(@"%s line:%d sqlite query error (%d): %s", __FUNCTION__, __LINE__, result, sqlite3_errmsg(_db)); + return -1; + } + return sqlite3_column_int(stmt, 0); +} + + +#pragma mark - file + +- (BOOL)_fileWriteWithName:(NSString *)filename data:(NSData *)data { + NSString *path = [_dataPath stringByAppendingPathComponent:filename]; + return [data writeToFile:path atomically:NO]; +} + +- (NSData *)_fileReadWithName:(NSString *)filename { + NSString *path = [_dataPath stringByAppendingPathComponent:filename]; + NSData *data = [NSData dataWithContentsOfFile:path]; + return data; +} + +- (BOOL)_fileDeleteWithName:(NSString *)filename { + NSString *path = [_dataPath stringByAppendingPathComponent:filename]; + return [[NSFileManager defaultManager] removeItemAtPath:path error:NULL]; +} + +- (BOOL)_fileMoveAllToTrash { + CFUUIDRef uuidRef = CFUUIDCreate(NULL); + CFStringRef uuid = CFUUIDCreateString(NULL, uuidRef); + CFRelease(uuidRef); + NSString *tmpPath = [_trashPath stringByAppendingPathComponent:(__bridge NSString *)(uuid)]; + BOOL suc = [[NSFileManager defaultManager] moveItemAtPath:_dataPath toPath:tmpPath error:nil]; + if (suc) { + suc = [[NSFileManager defaultManager] createDirectoryAtPath:_dataPath withIntermediateDirectories:YES attributes:nil error:NULL]; + } + CFRelease(uuid); + return suc; +} + +- (void)_fileEmptyTrashInBackground { + NSString *trashPath = _trashPath; + dispatch_queue_t queue = _trashQueue; + dispatch_async(queue, ^{ + NSFileManager *manager = [NSFileManager new]; + NSArray *directoryContents = [manager contentsOfDirectoryAtPath:trashPath error:NULL]; + for (NSString *path in directoryContents) { + NSString *fullPath = [trashPath stringByAppendingPathComponent:path]; + [manager removeItemAtPath:fullPath error:NULL]; + } + }); +} + + +#pragma mark - private + +/** + Delete all files and empty in background. + Make sure the db is closed. + */ +- (void)_reset { + [[NSFileManager defaultManager] removeItemAtPath:[_path stringByAppendingPathComponent:kDBFileName] error:nil]; + [[NSFileManager defaultManager] removeItemAtPath:[_path stringByAppendingPathComponent:kDBShmFileName] error:nil]; + [[NSFileManager defaultManager] removeItemAtPath:[_path stringByAppendingPathComponent:kDBWalFileName] error:nil]; + [self _fileMoveAllToTrash]; + [self _fileEmptyTrashInBackground]; +} + +#pragma mark - public + +- (instancetype)init { + @throw [NSException exceptionWithName:@"YYKVStorage init error" reason:@"Please use the designated initializer and pass the 'path' and 'type'." userInfo:nil]; + return [self initWithPath:@"" type:YYKVStorageTypeFile]; +} + +- (instancetype)initWithPath:(NSString *)path type:(YYKVStorageType)type { + if (path.length == 0 || path.length > kPathLengthMax) { + NSLog(@"YYKVStorage init error: invalid path: [%@].", path); + return nil; + } + if (type > YYKVStorageTypeMixed) { + NSLog(@"YYKVStorage init error: invalid type: %lu.", (unsigned long)type); + return nil; + } + + self = [super init]; + _path = path.copy; + _type = type; + _dataPath = [path stringByAppendingPathComponent:kDataDirectoryName]; + _trashPath = [path stringByAppendingPathComponent:kTrashDirectoryName]; + _trashQueue = dispatch_queue_create("com.ibireme.cache.disk.trash", DISPATCH_QUEUE_SERIAL); + _dbPath = [path stringByAppendingPathComponent:kDBFileName]; + _errorLogsEnabled = YES; + NSError *error = nil; + if (![[NSFileManager defaultManager] createDirectoryAtPath:path + withIntermediateDirectories:YES + attributes:nil + error:&error] || + ![[NSFileManager defaultManager] createDirectoryAtPath:[path stringByAppendingPathComponent:kDataDirectoryName] + withIntermediateDirectories:YES + attributes:nil + error:&error] || + ![[NSFileManager defaultManager] createDirectoryAtPath:[path stringByAppendingPathComponent:kTrashDirectoryName] + withIntermediateDirectories:YES + attributes:nil + error:&error]) { + NSLog(@"YYKVStorage init error:%@", error); + return nil; + } + + if (![self _dbOpen] || ![self _dbInitialize]) { + // db file may broken... + [self _dbClose]; + [self _reset]; // rebuild + if (![self _dbOpen] || ![self _dbInitialize]) { + [self _dbClose]; + NSLog(@"YYKVStorage init error: fail to open sqlite db."); + return nil; + } + } + [self _fileEmptyTrashInBackground]; // empty the trash if failed at last time + return self; +} + +- (void)dealloc { + UIBackgroundTaskIdentifier taskID = [_YYSharedApplication() beginBackgroundTaskWithExpirationHandler:^{}]; + [self _dbClose]; + if (taskID != UIBackgroundTaskInvalid) { + [_YYSharedApplication() endBackgroundTask:taskID]; + } +} + +- (BOOL)saveItem:(YYKVStorageItem *)item { + return [self saveItemWithKey:item.key value:item.value filename:item.filename extendedData:item.extendedData]; +} + +- (BOOL)saveItemWithKey:(NSString *)key value:(NSData *)value { + return [self saveItemWithKey:key value:value filename:nil extendedData:nil]; +} + +- (BOOL)saveItemWithKey:(NSString *)key value:(NSData *)value filename:(NSString *)filename extendedData:(NSData *)extendedData { + if (key.length == 0 || value.length == 0) return NO; + if (_type == YYKVStorageTypeFile && filename.length == 0) { + return NO; + } + + if (filename.length) { + if (![self _fileWriteWithName:filename data:value]) { + return NO; + } + if (![self _dbSaveWithKey:key value:value fileName:filename extendedData:extendedData]) { + [self _fileDeleteWithName:filename]; + return NO; + } + return YES; + } else { + if (_type != YYKVStorageTypeSQLite) { + NSString *filename = [self _dbGetFilenameWithKey:key]; + if (filename) { + [self _fileDeleteWithName:filename]; + } + } + return [self _dbSaveWithKey:key value:value fileName:nil extendedData:extendedData]; + } +} + +- (BOOL)removeItemForKey:(NSString *)key { + if (key.length == 0) return NO; + switch (_type) { + case YYKVStorageTypeSQLite: { + return [self _dbDeleteItemWithKey:key]; + } break; + case YYKVStorageTypeFile: + case YYKVStorageTypeMixed: { + NSString *filename = [self _dbGetFilenameWithKey:key]; + if (filename) { + [self _fileDeleteWithName:filename]; + } + return [self _dbDeleteItemWithKey:key]; + } break; + default: return NO; + } +} + +- (BOOL)removeItemForKeys:(NSArray *)keys { + if (keys.count == 0) return NO; + switch (_type) { + case YYKVStorageTypeSQLite: { + return [self _dbDeleteItemWithKeys:keys]; + } break; + case YYKVStorageTypeFile: + case YYKVStorageTypeMixed: { + NSArray *filenames = [self _dbGetFilenameWithKeys:keys]; + for (NSString *filename in filenames) { + [self _fileDeleteWithName:filename]; + } + return [self _dbDeleteItemWithKeys:keys]; + } break; + default: return NO; + } +} + +- (BOOL)removeItemsLargerThanSize:(int)size { + if (size == INT_MAX) return YES; + if (size <= 0) return [self removeAllItems]; + + switch (_type) { + case YYKVStorageTypeSQLite: { + if ([self _dbDeleteItemsWithSizeLargerThan:size]) { + [self _dbCheckpoint]; + return YES; + } + } break; + case YYKVStorageTypeFile: + case YYKVStorageTypeMixed: { + NSArray *filenames = [self _dbGetFilenamesWithSizeLargerThan:size]; + for (NSString *name in filenames) { + [self _fileDeleteWithName:name]; + } + if ([self _dbDeleteItemsWithSizeLargerThan:size]) { + [self _dbCheckpoint]; + return YES; + } + } break; + } + return NO; +} + +- (BOOL)removeItemsEarlierThanTime:(int)time { + if (time <= 0) return YES; + if (time == INT_MAX) return [self removeAllItems]; + + switch (_type) { + case YYKVStorageTypeSQLite: { + if ([self _dbDeleteItemsWithTimeEarlierThan:time]) { + [self _dbCheckpoint]; + return YES; + } + } break; + case YYKVStorageTypeFile: + case YYKVStorageTypeMixed: { + NSArray *filenames = [self _dbGetFilenamesWithTimeEarlierThan:time]; + for (NSString *name in filenames) { + [self _fileDeleteWithName:name]; + } + if ([self _dbDeleteItemsWithTimeEarlierThan:time]) { + [self _dbCheckpoint]; + return YES; + } + } break; + } + return NO; +} + +- (BOOL)removeItemsToFitSize:(int)maxSize { + if (maxSize == INT_MAX) return YES; + if (maxSize <= 0) return [self removeAllItems]; + + int total = [self _dbGetTotalItemSize]; + if (total < 0) return NO; + if (total <= maxSize) return YES; + + NSArray *items = nil; + BOOL suc = NO; + do { + int perCount = 16; + items = [self _dbGetItemSizeInfoOrderByTimeAscWithLimit:perCount]; + for (YYKVStorageItem *item in items) { + if (total > maxSize) { + if (item.filename) { + [self _fileDeleteWithName:item.filename]; + } + suc = [self _dbDeleteItemWithKey:item.key]; + total -= item.size; + } else { + break; + } + if (!suc) break; + } + } while (total > maxSize && items.count > 0 && suc); + if (suc) [self _dbCheckpoint]; + return suc; +} + +- (BOOL)removeItemsToFitCount:(int)maxCount { + if (maxCount == INT_MAX) return YES; + if (maxCount <= 0) return [self removeAllItems]; + + int total = [self _dbGetTotalItemCount]; + if (total < 0) return NO; + if (total <= maxCount) return YES; + + NSArray *items = nil; + BOOL suc = NO; + do { + int perCount = 16; + items = [self _dbGetItemSizeInfoOrderByTimeAscWithLimit:perCount]; + for (YYKVStorageItem *item in items) { + if (total > maxCount) { + if (item.filename) { + [self _fileDeleteWithName:item.filename]; + } + suc = [self _dbDeleteItemWithKey:item.key]; + total--; + } else { + break; + } + if (!suc) break; + } + } while (total > maxCount && items.count > 0 && suc); + if (suc) [self _dbCheckpoint]; + return suc; +} + +- (BOOL)removeAllItems { + if (![self _dbClose]) return NO; + [self _reset]; + if (![self _dbOpen]) return NO; + if (![self _dbInitialize]) return NO; + return YES; +} + +- (void)removeAllItemsWithProgressBlock:(void(^)(int removedCount, int totalCount))progress + endBlock:(void(^)(BOOL error))end { + + int total = [self _dbGetTotalItemCount]; + if (total <= 0) { + if (end) end(total < 0); + } else { + int left = total; + int perCount = 32; + NSArray *items = nil; + BOOL suc = NO; + do { + items = [self _dbGetItemSizeInfoOrderByTimeAscWithLimit:perCount]; + for (YYKVStorageItem *item in items) { + if (left > 0) { + if (item.filename) { + [self _fileDeleteWithName:item.filename]; + } + suc = [self _dbDeleteItemWithKey:item.key]; + left--; + } else { + break; + } + if (!suc) break; + } + if (progress) progress(total - left, total); + } while (left > 0 && items.count > 0 && suc); + if (suc) [self _dbCheckpoint]; + if (end) end(!suc); + } +} + +- (YYKVStorageItem *)getItemForKey:(NSString *)key { + if (key.length == 0) return nil; + YYKVStorageItem *item = [self _dbGetItemWithKey:key excludeInlineData:NO]; + if (item) { + [self _dbUpdateAccessTimeWithKey:key]; + if (item.filename) { + item.value = [self _fileReadWithName:item.filename]; + if (!item.value) { + [self _dbDeleteItemWithKey:key]; + item = nil; + } + } + } + return item; +} + +- (YYKVStorageItem *)getItemInfoForKey:(NSString *)key { + if (key.length == 0) return nil; + YYKVStorageItem *item = [self _dbGetItemWithKey:key excludeInlineData:YES]; + return item; +} + +- (NSData *)getItemValueForKey:(NSString *)key { + if (key.length == 0) return nil; + NSData *value = nil; + switch (_type) { + case YYKVStorageTypeFile: { + NSString *filename = [self _dbGetFilenameWithKey:key]; + if (filename) { + value = [self _fileReadWithName:filename]; + if (!value) { + [self _dbDeleteItemWithKey:key]; + value = nil; + } + } + } break; + case YYKVStorageTypeSQLite: { + value = [self _dbGetValueWithKey:key]; + } break; + case YYKVStorageTypeMixed: { + NSString *filename = [self _dbGetFilenameWithKey:key]; + if (filename) { + value = [self _fileReadWithName:filename]; + if (!value) { + [self _dbDeleteItemWithKey:key]; + value = nil; + } + } else { + value = [self _dbGetValueWithKey:key]; + } + } break; + } + if (value) { + [self _dbUpdateAccessTimeWithKey:key]; + } + return value; +} + +- (NSArray *)getItemForKeys:(NSArray *)keys { + if (keys.count == 0) return nil; + NSMutableArray *items = [self _dbGetItemWithKeys:keys excludeInlineData:NO]; + if (_type != YYKVStorageTypeSQLite) { + for (NSInteger i = 0, max = items.count; i < max; i++) { + YYKVStorageItem *item = items[i]; + if (item.filename) { + item.value = [self _fileReadWithName:item.filename]; + if (!item.value) { + if (item.key) [self _dbDeleteItemWithKey:item.key]; + [items removeObjectAtIndex:i]; + i--; + max--; + } + } + } + } + if (items.count > 0) { + [self _dbUpdateAccessTimeWithKeys:keys]; + } + return items.count ? items : nil; +} + +- (NSArray *)getItemInfoForKeys:(NSArray *)keys { + if (keys.count == 0) return nil; + return [self _dbGetItemWithKeys:keys excludeInlineData:YES]; +} + +- (NSDictionary *)getItemValueForKeys:(NSArray *)keys { + NSMutableArray *items = (NSMutableArray *)[self getItemForKeys:keys]; + NSMutableDictionary *kv = [NSMutableDictionary new]; + for (YYKVStorageItem *item in items) { + if (item.key && item.value) { + [kv setObject:item.value forKey:item.key]; + } + } + return kv.count ? kv : nil; +} + +- (BOOL)itemExistsForKey:(NSString *)key { + if (key.length == 0) return NO; + return [self _dbGetItemCountWithKey:key] > 0; +} + +- (int)getItemsCount { + return [self _dbGetTotalItemCount]; +} + +- (int)getItemsSize { + return [self _dbGetTotalItemSize]; +} + +@end diff --git a/Example/Pods/YYCache/YYCache/YYMemoryCache.h b/Example/Pods/YYCache/YYCache/YYMemoryCache.h new file mode 100644 index 00000000..ded84402 --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYMemoryCache.h @@ -0,0 +1,213 @@ +// +// YYMemoryCache.h +// YYCache +// +// Created by ibireme on 15/2/7. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + YYMemoryCache is a fast in-memory cache that stores key-value pairs. + In contrast to NSDictionary, keys are retained and not copied. + The API and performance is similar to `NSCache`, all methods are thread-safe. + + YYMemoryCache objects differ from NSCache in a few ways: + + * It uses LRU (least-recently-used) to remove objects; NSCache's eviction method + is non-deterministic. + * It can be controlled by cost, count and age; NSCache's limits are imprecise. + * It can be configured to automatically evict objects when receive memory + warning or app enter background. + + The time of `Access Methods` in YYMemoryCache is typically in constant time (O(1)). + */ +@interface YYMemoryCache : NSObject + +#pragma mark - Attribute +///============================================================================= +/// @name Attribute +///============================================================================= + +/** The name of the cache. Default is nil. */ +@property (nullable, copy) NSString *name; + +/** The number of objects in the cache (read-only) */ +@property (readonly) NSUInteger totalCount; + +/** The total cost of objects in the cache (read-only). */ +@property (readonly) NSUInteger totalCost; + + +#pragma mark - Limit +///============================================================================= +/// @name Limit +///============================================================================= + +/** + The maximum number of objects the cache should hold. + + @discussion The default value is NSUIntegerMax, which means no limit. + This is not a strict limit—if the cache goes over the limit, some objects in the + cache could be evicted later in backgound thread. + */ +@property NSUInteger countLimit; + +/** + The maximum total cost that the cache can hold before it starts evicting objects. + + @discussion The default value is NSUIntegerMax, which means no limit. + This is not a strict limit—if the cache goes over the limit, some objects in the + cache could be evicted later in backgound thread. + */ +@property NSUInteger costLimit; + +/** + The maximum expiry time of objects in cache. + + @discussion The default value is DBL_MAX, which means no limit. + This is not a strict limit—if an object goes over the limit, the object could + be evicted later in backgound thread. + */ +@property NSTimeInterval ageLimit; + +/** + The auto trim check time interval in seconds. Default is 5.0. + + @discussion The cache holds an internal timer to check whether the cache reaches + its limits, and if the limit is reached, it begins to evict objects. + */ +@property NSTimeInterval autoTrimInterval; + +/** + If `YES`, the cache will remove all objects when the app receives a memory warning. + The default value is `YES`. + */ +@property BOOL shouldRemoveAllObjectsOnMemoryWarning; + +/** + If `YES`, The cache will remove all objects when the app enter background. + The default value is `YES`. + */ +@property BOOL shouldRemoveAllObjectsWhenEnteringBackground; + +/** + A block to be executed when the app receives a memory warning. + The default value is nil. + */ +@property (nullable, copy) void(^didReceiveMemoryWarningBlock)(YYMemoryCache *cache); + +/** + A block to be executed when the app enter background. + The default value is nil. + */ +@property (nullable, copy) void(^didEnterBackgroundBlock)(YYMemoryCache *cache); + +/** + If `YES`, the key-value pair will be released on main thread, otherwise on + background thread. Default is NO. + + @discussion You may set this value to `YES` if the key-value object contains + the instance which should be released in main thread (such as UIView/CALayer). + */ +@property BOOL releaseOnMainThread; + +/** + If `YES`, the key-value pair will be released asynchronously to avoid blocking + the access methods, otherwise it will be released in the access method + (such as removeObjectForKey:). Default is YES. + */ +@property BOOL releaseAsynchronously; + + +#pragma mark - Access Methods +///============================================================================= +/// @name Access Methods +///============================================================================= + +/** + Returns a Boolean value that indicates whether a given key is in cache. + + @param key An object identifying the value. If nil, just return `NO`. + @return Whether the key is in cache. + */ +- (BOOL)containsObjectForKey:(id)key; + +/** + Returns the value associated with a given key. + + @param key An object identifying the value. If nil, just return nil. + @return The value associated with key, or nil if no value is associated with key. + */ +- (nullable id)objectForKey:(id)key; + +/** + Sets the value of the specified key in the cache (0 cost). + + @param object The object to be stored in the cache. If nil, it calls `removeObjectForKey:`. + @param key The key with which to associate the value. If nil, this method has no effect. + @discussion Unlike an NSMutableDictionary object, a cache does not copy the key + objects that are put into it. + */ +- (void)setObject:(nullable id)object forKey:(id)key; + +/** + Sets the value of the specified key in the cache, and associates the key-value + pair with the specified cost. + + @param object The object to store in the cache. If nil, it calls `removeObjectForKey`. + @param key The key with which to associate the value. If nil, this method has no effect. + @param cost The cost with which to associate the key-value pair. + @discussion Unlike an NSMutableDictionary object, a cache does not copy the key + objects that are put into it. + */ +- (void)setObject:(nullable id)object forKey:(id)key withCost:(NSUInteger)cost; + +/** + Removes the value of the specified key in the cache. + + @param key The key identifying the value to be removed. If nil, this method has no effect. + */ +- (void)removeObjectForKey:(id)key; + +/** + Empties the cache immediately. + */ +- (void)removeAllObjects; + + +#pragma mark - Trim +///============================================================================= +/// @name Trim +///============================================================================= + +/** + Removes objects from the cache with LRU, until the `totalCount` is below or equal to + the specified value. + @param count The total count allowed to remain after the cache has been trimmed. + */ +- (void)trimToCount:(NSUInteger)count; + +/** + Removes objects from the cache with LRU, until the `totalCost` is or equal to + the specified value. + @param cost The total cost allowed to remain after the cache has been trimmed. + */ +- (void)trimToCost:(NSUInteger)cost; + +/** + Removes objects from the cache with LRU, until all expiry objects removed by the + specified value. + @param age The maximum age (in seconds) of objects. + */ +- (void)trimToAge:(NSTimeInterval)age; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/YYCache/YYCache/YYMemoryCache.m b/Example/Pods/YYCache/YYCache/YYMemoryCache.m new file mode 100644 index 00000000..9042d9b1 --- /dev/null +++ b/Example/Pods/YYCache/YYCache/YYMemoryCache.m @@ -0,0 +1,505 @@ +// +// YYMemoryCache.m +// YYCache +// +// Created by ibireme on 15/2/7. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import "YYMemoryCache.h" +#import +#import +#import +#import + + +static inline dispatch_queue_t YYMemoryCacheGetReleaseQueue() { + return dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0); +} + +/** + A node in linked map. + Typically, you should not use this class directly. + */ +@interface _YYLinkedMapNode : NSObject { + @package + __unsafe_unretained _YYLinkedMapNode *_prev; // retained by dic + __unsafe_unretained _YYLinkedMapNode *_next; // retained by dic + id _key; + id _value; + NSUInteger _cost; + NSTimeInterval _time; +} +@end + +@implementation _YYLinkedMapNode +@end + + +/** + A linked map used by YYMemoryCache. + It's not thread-safe and does not validate the parameters. + + Typically, you should not use this class directly. + */ +@interface _YYLinkedMap : NSObject { + @package + CFMutableDictionaryRef _dic; // do not set object directly + NSUInteger _totalCost; + NSUInteger _totalCount; + _YYLinkedMapNode *_head; // MRU, do not change it directly + _YYLinkedMapNode *_tail; // LRU, do not change it directly + BOOL _releaseOnMainThread; + BOOL _releaseAsynchronously; +} + +/// Insert a node at head and update the total cost. +/// Node and node.key should not be nil. +- (void)insertNodeAtHead:(_YYLinkedMapNode *)node; + +/// Bring a inner node to header. +/// Node should already inside the dic. +- (void)bringNodeToHead:(_YYLinkedMapNode *)node; + +/// Remove a inner node and update the total cost. +/// Node should already inside the dic. +- (void)removeNode:(_YYLinkedMapNode *)node; + +/// Remove tail node if exist. +- (_YYLinkedMapNode *)removeTailNode; + +/// Remove all node in background queue. +- (void)removeAll; + +@end + +@implementation _YYLinkedMap + +- (instancetype)init { + self = [super init]; + _dic = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); + _releaseOnMainThread = NO; + _releaseAsynchronously = YES; + return self; +} + +- (void)dealloc { + CFRelease(_dic); +} + +- (void)insertNodeAtHead:(_YYLinkedMapNode *)node { + CFDictionarySetValue(_dic, (__bridge const void *)(node->_key), (__bridge const void *)(node)); + _totalCost += node->_cost; + _totalCount++; + if (_head) { + node->_next = _head; + _head->_prev = node; + _head = node; + } else { + _head = _tail = node; + } +} + +- (void)bringNodeToHead:(_YYLinkedMapNode *)node { + if (_head == node) return; + + if (_tail == node) { + _tail = node->_prev; + _tail->_next = nil; + } else { + node->_next->_prev = node->_prev; + node->_prev->_next = node->_next; + } + node->_next = _head; + node->_prev = nil; + _head->_prev = node; + _head = node; +} + +- (void)removeNode:(_YYLinkedMapNode *)node { + CFDictionaryRemoveValue(_dic, (__bridge const void *)(node->_key)); + _totalCost -= node->_cost; + _totalCount--; + if (node->_next) node->_next->_prev = node->_prev; + if (node->_prev) node->_prev->_next = node->_next; + if (_head == node) _head = node->_next; + if (_tail == node) _tail = node->_prev; +} + +- (_YYLinkedMapNode *)removeTailNode { + if (!_tail) return nil; + _YYLinkedMapNode *tail = _tail; + CFDictionaryRemoveValue(_dic, (__bridge const void *)(_tail->_key)); + _totalCost -= _tail->_cost; + _totalCount--; + if (_head == _tail) { + _head = _tail = nil; + } else { + _tail = _tail->_prev; + _tail->_next = nil; + } + return tail; +} + +- (void)removeAll { + _totalCost = 0; + _totalCount = 0; + _head = nil; + _tail = nil; + if (CFDictionaryGetCount(_dic) > 0) { + CFMutableDictionaryRef holder = _dic; + _dic = CFDictionaryCreateMutable(CFAllocatorGetDefault(), 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); + + if (_releaseAsynchronously) { + dispatch_queue_t queue = _releaseOnMainThread ? dispatch_get_main_queue() : YYMemoryCacheGetReleaseQueue(); + dispatch_async(queue, ^{ + CFRelease(holder); // hold and release in specified queue + }); + } else if (_releaseOnMainThread && !pthread_main_np()) { + dispatch_async(dispatch_get_main_queue(), ^{ + CFRelease(holder); // hold and release in specified queue + }); + } else { + CFRelease(holder); + } + } +} + +@end + + + +@implementation YYMemoryCache { + pthread_mutex_t _lock; + _YYLinkedMap *_lru; + dispatch_queue_t _queue; +} + +- (void)_trimRecursively { + __weak typeof(self) _self = self; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(_autoTrimInterval * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ + __strong typeof(_self) self = _self; + if (!self) return; + [self _trimInBackground]; + [self _trimRecursively]; + }); +} + +- (void)_trimInBackground { + dispatch_async(_queue, ^{ + [self _trimToCost:self->_costLimit]; + [self _trimToCount:self->_countLimit]; + [self _trimToAge:self->_ageLimit]; + }); +} + +- (void)_trimToCost:(NSUInteger)costLimit { + BOOL finish = NO; + pthread_mutex_lock(&_lock); + if (costLimit == 0) { + [_lru removeAll]; + finish = YES; + } else if (_lru->_totalCost <= costLimit) { + finish = YES; + } + pthread_mutex_unlock(&_lock); + if (finish) return; + + NSMutableArray *holder = [NSMutableArray new]; + while (!finish) { + if (pthread_mutex_trylock(&_lock) == 0) { + if (_lru->_totalCost > costLimit) { + _YYLinkedMapNode *node = [_lru removeTailNode]; + if (node) [holder addObject:node]; + } else { + finish = YES; + } + pthread_mutex_unlock(&_lock); + } else { + usleep(10 * 1000); //10 ms + } + } + if (holder.count) { + dispatch_queue_t queue = _lru->_releaseOnMainThread ? dispatch_get_main_queue() : YYMemoryCacheGetReleaseQueue(); + dispatch_async(queue, ^{ + [holder count]; // release in queue + }); + } +} + +- (void)_trimToCount:(NSUInteger)countLimit { + BOOL finish = NO; + pthread_mutex_lock(&_lock); + if (countLimit == 0) { + [_lru removeAll]; + finish = YES; + } else if (_lru->_totalCount <= countLimit) { + finish = YES; + } + pthread_mutex_unlock(&_lock); + if (finish) return; + + NSMutableArray *holder = [NSMutableArray new]; + while (!finish) { + if (pthread_mutex_trylock(&_lock) == 0) { + if (_lru->_totalCount > countLimit) { + _YYLinkedMapNode *node = [_lru removeTailNode]; + if (node) [holder addObject:node]; + } else { + finish = YES; + } + pthread_mutex_unlock(&_lock); + } else { + usleep(10 * 1000); //10 ms + } + } + if (holder.count) { + dispatch_queue_t queue = _lru->_releaseOnMainThread ? dispatch_get_main_queue() : YYMemoryCacheGetReleaseQueue(); + dispatch_async(queue, ^{ + [holder count]; // release in queue + }); + } +} + +- (void)_trimToAge:(NSTimeInterval)ageLimit { + BOOL finish = NO; + NSTimeInterval now = CACurrentMediaTime(); + pthread_mutex_lock(&_lock); + if (ageLimit <= 0) { + [_lru removeAll]; + finish = YES; + } else if (!_lru->_tail || (now - _lru->_tail->_time) <= ageLimit) { + finish = YES; + } + pthread_mutex_unlock(&_lock); + if (finish) return; + + NSMutableArray *holder = [NSMutableArray new]; + while (!finish) { + if (pthread_mutex_trylock(&_lock) == 0) { + if (_lru->_tail && (now - _lru->_tail->_time) > ageLimit) { + _YYLinkedMapNode *node = [_lru removeTailNode]; + if (node) [holder addObject:node]; + } else { + finish = YES; + } + pthread_mutex_unlock(&_lock); + } else { + usleep(10 * 1000); //10 ms + } + } + if (holder.count) { + dispatch_queue_t queue = _lru->_releaseOnMainThread ? dispatch_get_main_queue() : YYMemoryCacheGetReleaseQueue(); + dispatch_async(queue, ^{ + [holder count]; // release in queue + }); + } +} + +- (void)_appDidReceiveMemoryWarningNotification { + if (self.didReceiveMemoryWarningBlock) { + self.didReceiveMemoryWarningBlock(self); + } + if (self.shouldRemoveAllObjectsOnMemoryWarning) { + [self removeAllObjects]; + } +} + +- (void)_appDidEnterBackgroundNotification { + if (self.didEnterBackgroundBlock) { + self.didEnterBackgroundBlock(self); + } + if (self.shouldRemoveAllObjectsWhenEnteringBackground) { + [self removeAllObjects]; + } +} + +#pragma mark - public + +- (instancetype)init { + self = super.init; + pthread_mutex_init(&_lock, NULL); + _lru = [_YYLinkedMap new]; + _queue = dispatch_queue_create("com.ibireme.cache.memory", DISPATCH_QUEUE_SERIAL); + + _countLimit = NSUIntegerMax; + _costLimit = NSUIntegerMax; + _ageLimit = DBL_MAX; + _autoTrimInterval = 5.0; + _shouldRemoveAllObjectsOnMemoryWarning = YES; + _shouldRemoveAllObjectsWhenEnteringBackground = YES; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_appDidReceiveMemoryWarningNotification) name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_appDidEnterBackgroundNotification) name:UIApplicationDidEnterBackgroundNotification object:nil]; + + [self _trimRecursively]; + return self; +} + +- (void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidReceiveMemoryWarningNotification object:nil]; + [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + [_lru removeAll]; + pthread_mutex_destroy(&_lock); +} + +- (NSUInteger)totalCount { + pthread_mutex_lock(&_lock); + NSUInteger count = _lru->_totalCount; + pthread_mutex_unlock(&_lock); + return count; +} + +- (NSUInteger)totalCost { + pthread_mutex_lock(&_lock); + NSUInteger totalCost = _lru->_totalCost; + pthread_mutex_unlock(&_lock); + return totalCost; +} + +- (BOOL)releaseOnMainThread { + pthread_mutex_lock(&_lock); + BOOL releaseOnMainThread = _lru->_releaseOnMainThread; + pthread_mutex_unlock(&_lock); + return releaseOnMainThread; +} + +- (void)setReleaseOnMainThread:(BOOL)releaseOnMainThread { + pthread_mutex_lock(&_lock); + _lru->_releaseOnMainThread = releaseOnMainThread; + pthread_mutex_unlock(&_lock); +} + +- (BOOL)releaseAsynchronously { + pthread_mutex_lock(&_lock); + BOOL releaseAsynchronously = _lru->_releaseAsynchronously; + pthread_mutex_unlock(&_lock); + return releaseAsynchronously; +} + +- (void)setReleaseAsynchronously:(BOOL)releaseAsynchronously { + pthread_mutex_lock(&_lock); + _lru->_releaseAsynchronously = releaseAsynchronously; + pthread_mutex_unlock(&_lock); +} + +- (BOOL)containsObjectForKey:(id)key { + if (!key) return NO; + pthread_mutex_lock(&_lock); + BOOL contains = CFDictionaryContainsKey(_lru->_dic, (__bridge const void *)(key)); + pthread_mutex_unlock(&_lock); + return contains; +} + +- (id)objectForKey:(id)key { + if (!key) return nil; + pthread_mutex_lock(&_lock); + _YYLinkedMapNode *node = CFDictionaryGetValue(_lru->_dic, (__bridge const void *)(key)); + if (node) { + node->_time = CACurrentMediaTime(); + [_lru bringNodeToHead:node]; + } + pthread_mutex_unlock(&_lock); + return node ? node->_value : nil; +} + +- (void)setObject:(id)object forKey:(id)key { + [self setObject:object forKey:key withCost:0]; +} + +- (void)setObject:(id)object forKey:(id)key withCost:(NSUInteger)cost { + if (!key) return; + if (!object) { + [self removeObjectForKey:key]; + return; + } + pthread_mutex_lock(&_lock); + _YYLinkedMapNode *node = CFDictionaryGetValue(_lru->_dic, (__bridge const void *)(key)); + NSTimeInterval now = CACurrentMediaTime(); + if (node) { + _lru->_totalCost -= node->_cost; + _lru->_totalCost += cost; + node->_cost = cost; + node->_time = now; + node->_value = object; + [_lru bringNodeToHead:node]; + } else { + node = [_YYLinkedMapNode new]; + node->_cost = cost; + node->_time = now; + node->_key = key; + node->_value = object; + [_lru insertNodeAtHead:node]; + } + if (_lru->_totalCost > _costLimit) { + dispatch_async(_queue, ^{ + [self trimToCost:_costLimit]; + }); + } + if (_lru->_totalCount > _countLimit) { + _YYLinkedMapNode *node = [_lru removeTailNode]; + if (_lru->_releaseAsynchronously) { + dispatch_queue_t queue = _lru->_releaseOnMainThread ? dispatch_get_main_queue() : YYMemoryCacheGetReleaseQueue(); + dispatch_async(queue, ^{ + [node class]; //hold and release in queue + }); + } else if (_lru->_releaseOnMainThread && !pthread_main_np()) { + dispatch_async(dispatch_get_main_queue(), ^{ + [node class]; //hold and release in queue + }); + } + } + pthread_mutex_unlock(&_lock); +} + +- (void)removeObjectForKey:(id)key { + if (!key) return; + pthread_mutex_lock(&_lock); + _YYLinkedMapNode *node = CFDictionaryGetValue(_lru->_dic, (__bridge const void *)(key)); + if (node) { + [_lru removeNode:node]; + if (_lru->_releaseAsynchronously) { + dispatch_queue_t queue = _lru->_releaseOnMainThread ? dispatch_get_main_queue() : YYMemoryCacheGetReleaseQueue(); + dispatch_async(queue, ^{ + [node class]; //hold and release in queue + }); + } else if (_lru->_releaseOnMainThread && !pthread_main_np()) { + dispatch_async(dispatch_get_main_queue(), ^{ + [node class]; //hold and release in queue + }); + } + } + pthread_mutex_unlock(&_lock); +} + +- (void)removeAllObjects { + pthread_mutex_lock(&_lock); + [_lru removeAll]; + pthread_mutex_unlock(&_lock); +} + +- (void)trimToCount:(NSUInteger)count { + if (count == 0) { + [self removeAllObjects]; + return; + } + [self _trimToCount:count]; +} + +- (void)trimToCost:(NSUInteger)cost { + [self _trimToCost:cost]; +} + +- (void)trimToAge:(NSTimeInterval)age { + [self _trimToAge:age]; +} + +- (NSString *)description { + if (_name) return [NSString stringWithFormat:@"<%@: %p> (%@)", self.class, self, _name]; + else return [NSString stringWithFormat:@"<%@: %p>", self.class, self]; +} + +@end diff --git a/Example/Pods/YYImage/LICENSE b/Example/Pods/YYImage/LICENSE new file mode 100644 index 00000000..46be20bd --- /dev/null +++ b/Example/Pods/YYImage/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 ibireme + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/Example/Pods/YYImage/README.md b/Example/Pods/YYImage/README.md new file mode 100755 index 00000000..7051d7f8 --- /dev/null +++ b/Example/Pods/YYImage/README.md @@ -0,0 +1,384 @@ +YYImage +============== +[![License MIT](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://raw.githubusercontent.com/ibireme/YYImage/master/LICENSE)  +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)  +[![CocoaPods](http://img.shields.io/cocoapods/v/YYImage.svg?style=flat)](http://cocoapods.org/?q= YYImage)  +[![CocoaPods](http://img.shields.io/cocoapods/p/YYImage.svg?style=flat)](http://cocoapods.org/?q= YYImage)  +[![Support](https://img.shields.io/badge/support-iOS%206%2B%20-blue.svg?style=flat)](https://www.apple.com/nl/ios/)  +[![Build Status](https://travis-ci.org/ibireme/YYImage.svg?branch=master)](https://travis-ci.org/ibireme/YYImage) + +Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more.
+(It's a component of [YYKit](https://github.com/ibireme/YYKit)) + +![niconiconi~](https://raw.github.com/ibireme/YYImage/master/Demo/YYImageDemo/niconiconi@2x.gif +) + +Features +============== +- Display/encode/decode animated image with these types:
    WebP, APNG, GIF. +- Display/encode/decode still image with these types:
    WebP, PNG, GIF, JPEG, JP2, TIFF, BMP, ICO, ICNS. +- Baseline/progressive/interlaced image decode with these types:
    PNG, GIF, JPEG, BMP. +- Display frame based image animation and sprite sheet animation. +- Dynamic memory buffer for lower memory usage. +- Fully compatible with UIImage and UIImageView class. +- Extendable protocol for custom image animation. +- Fully documented. + +Usage +============== + +###Display animated image + + // File: ani@3x.gif + UIImage *image = [YYImage imageNamed:@"ani.gif"]; + UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + + +###Display frame animation + + // Files: frame1.png, frame2.png, frame3.png + NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"]; + NSArray *times = @[@0.1, @0.2, @0.1]; + UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES]; + UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + +###Display sprite sheet animation + + // 8 * 12 sprites in a single sheet image + UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"]; + NSMutableArray *contentRects = [NSMutableArray new]; + NSMutableArray *durations = [NSMutableArray new]; + for (int j = 0; j < 12; j++) { + for (int i = 0; i < 8; i++) { + CGRect rect; + rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + rect.origin.x = img.size.width / 8 * i; + rect.origin.y = img.size.height / 12 * j; + [contentRects addObject:[NSValue valueWithCGRect:rect]]; + [durations addObject:@(1 / 60.0)]; + } + } + YYSpriteSheetImage *sprite; + sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img + contentRects:contentRects + frameDurations:durations + loopCount:0]; + YYAnimatedImageView *imageView = [YYAnimatedImageView new]; + imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + imageView.image = sprite; + [self.view addSubView:imageView]; + +###Animation control + + YYAnimatedImageView *imageView = ...; + // pause: + [imageView stopAnimating]; + // play: + [imageView startAnimating]; + // set frame index: + imageView.currentAnimatedImageIndex = 12; + // get current status + image.currentIsPlayingAnimation; + +###Image decoder + + // Decode single frame: + NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"]; + YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + + // Progressive: + NSMutableData *data = [NSMutableData new]; + YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0]; + while(newDataArrived) { + [data appendData:newData]; + [decoder updateData:data final:NO]; + if (decoder.frameCount > 0) { + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // progressive display... + } + } + [decoder updateData:data final:YES]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // final display... + +###Image encoder + + // Encode still image: + YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG]; + jpegEncoder.quality = 0.9; + [jpegEncoder addImage:image duration:0]; + NSData jpegData = [jpegEncoder encode]; + + // Encode animated image: + YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP]; + webpEncoder.loopCount = 5; + [webpEncoder addImage:image0 duration:0.1]; + [webpEncoder addImage:image1 duration:0.15]; + [webpEncoder addImage:image2 duration:0.2]; + NSData webpData = [webpEncoder encode]; + +###Image type detection + + // Get image type from image data + YYImageType type = YYImageDetectType(data); + if (type == YYImageTypePNG) ... + + +Installation +============== + +### CocoaPods + +1. Update cocoapods to the latest version. +2. Add `pod 'YYImage'` to your Podfile. +3. Run `pod install` or `pod update`. +4. Import \. +5. Notice: it doesn't include WebP subspec by default, if you want to support WebP format, you may add `pod 'YYImage/WebP'` to your Podfile. + +### Carthage + +1. Add `github "ibireme/YYImage"` to your Cartfile. +2. Run `carthage update --platform ios` and add the framework to your project. +3. Import \. +4. Notice: carthage framework doesn't include WebP component, if you want to support WebP format, use CocoaPods or install manually. + +### Manually + +1. Download all the files in the YYImage subdirectory. +2. Add the source files to your Xcode project. +3. Link with required frameworks: + * UIKit + * CoreFoundation + * QuartzCore + * AssetsLibrary + * ImageIO + * Accelerate + * MobileCoreServices + * libz +4. Import `YYImage.h`. +5. Notice: if you want to support WebP format, you may add `Vendor/WebP.framework`(static library) to your Xcode project. + +FAQ +============== +_Q: Why I can't display WebP image?_ + +A: Make sure you added the `WebP.framework` in your project. You may call `YYImageWebPAvailable()` to check whether the WebP subspec is installed correctly. + +_Q: Why I can't play APNG animation?_ + +A: You should disable the `Compress PNG Files` and `Remove Text Metadata From PNG Files` in your project's build settings. Or you can rename your APNG file's extension name with `apng`. + +Documentation +============== +Full API documentation is available on [CocoaDocs](http://cocoadocs.org/docsets/YYImage/).
+You can also install documentation locally using [appledoc](https://github.com/tomaz/appledoc). + + + +Requirements +============== +This library requires `iOS 6.0+` and `Xcode 7.0+`. + + +License +============== +YYImage is provided under the MIT license. See LICENSE file for details. + + +

+--- +中文介绍 +============== +YYImage: 功能强大的 iOS 图像框架。
+(该项目是 [YYKit](https://github.com/ibireme/YYKit) 组件之一) + +![niconiconi~](https://raw.github.com/ibireme/YYImage/master/Demo/YYImageDemo/niconiconi@2x.gif +) + +特性 +============== +- 支持以下类型动画图像的播放/编码/解码:
+     WebP, APNG, GIF。 +- 支持以下类型静态图像的显示/编码/解码:
+     WebP, PNG, GIF, JPEG, JP2, TIFF, BMP, ICO, ICNS。 +- 支持以下类型图片的渐进式/逐行扫描/隔行扫描解码:
+     PNG, GIF, JPEG, BMP。 +- 支持多张图片构成的帧动画播放,支持单张图片的 sprite sheet 动画。 +- 高效的动态内存缓存管理,以保证高性能低内存的动画播放。 +- 完全兼容 UIImage 和 UIImageView,使用方便。 +- 保留可扩展的接口,以支持自定义动画。 +- 每个类和方法都有完善的文档注释。 + + +用法 +============== + +###显示动画类型的图片 + + // 文件: ani@3x.gif + UIImage *image = [YYImage imageNamed:@"ani.gif"]; + UIImageView *imageView = [[YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + + +###播放帧动画 + + // 文件: frame1.png, frame2.png, frame3.png + NSArray *paths = @[@"/ani/frame1.png", @"/ani/frame2.png", @"/ani/frame3.png"]; + NSArray *times = @[@0.1, @0.2, @0.1]; + UIImage *image = [YYFrameImage alloc] initWithImagePaths:paths frameDurations:times repeats:YES]; + UIImageView *imageView = [YYAnimatedImageView alloc] initWithImage:image]; + [self.view addSubView:imageView]; + +###播放 sprite sheet 动画 + + // 8 * 12 sprites in a single sheet image + UIImage *spriteSheet = [UIImage imageNamed:@"sprite-sheet"]; + NSMutableArray *contentRects = [NSMutableArray new]; + NSMutableArray *durations = [NSMutableArray new]; + for (int j = 0; j < 12; j++) { + for (int i = 0; i < 8; i++) { + CGRect rect; + rect.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + rect.origin.x = img.size.width / 8 * i; + rect.origin.y = img.size.height / 12 * j; + [contentRects addObject:[NSValue valueWithCGRect:rect]]; + [durations addObject:@(1 / 60.0)]; + } + } + YYSpriteSheetImage *sprite; + sprite = [[YYSpriteSheetImage alloc] initWithSpriteSheetImage:img + contentRects:contentRects + frameDurations:durations + loopCount:0]; + YYAnimatedImageView *imageView = [YYAnimatedImageView new]; + imageView.size = CGSizeMake(img.size.width / 8, img.size.height / 12); + imageView.image = sprite; + [self.view addSubView:imageView]; + +###动画播放控制 + + YYAnimatedImageView *imageView = ...; + // 暂停: + [imageView stopAnimating]; + // 播放: + [imageView startAnimating]; + // 设置播放进度: + imageView.currentAnimatedImageIndex = 12; + // 获取播放状态: + image.currentIsPlayingAnimation; + //上面两个属性都支持 KVO。 + +###图片解码 + + // 解码单帧图片: + NSData *data = [NSData dataWithContentsOfFile:@"/tmp/image.webp"]; + YYImageDecoder *decoder = [YYImageDecoder decoderWithData:data scale:2.0]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + + // 渐进式图片解码 (可用于图片下载显示): + NSMutableData *data = [NSMutableData new]; + YYImageDecoder *decoder = [[YYImageDecoder alloc] initWithScale:2.0]; + while(newDataArrived) { + [data appendData:newData]; + [decoder updateData:data final:NO]; + if (decoder.frameCount > 0) { + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // progressive display... + } + } + [decoder updateData:data final:YES]; + UIImage image = [decoder frameAtIndex:0 decodeForDisplay:YES].image; + // final display... + +###图片编码 + + // 编码静态图 (支持各种常见图片格式): + YYImageEncoder *jpegEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeJPEG]; + jpegEncoder.quality = 0.9; + [jpegEncoder addImage:image duration:0]; + NSData jpegData = [jpegEncoder encode]; + + // 编码动态图 (支持 GIF/APNG/WebP): + YYImageEncoder *webpEncoder = [[YYImageEncoder alloc] initWithType:YYImageTypeWebP]; + webpEncoder.loopCount = 5; + [webpEncoder addImage:image0 duration:0.1]; + [webpEncoder addImage:image1 duration:0.15]; + [webpEncoder addImage:image2 duration:0.2]; + NSData webpData = [webpEncoder encode]; + +###图片类型探测 + + // 获取图片类型 + YYImageType type = YYImageDetectType(data); + if (type == YYImageTypePNG) ... + + +安装 +============== + +### CocoaPods + +1. 将 cocoapods 更新至最新版本. +2. 在 Podfile 中添加 `pod 'YYImage'`。 +3. 执行 `pod install` 或 `pod update`。 +4. 导入 \。 +5. 注意:pod 配置并没有包含 WebP 组件, 如果你需要支持 WebP,可以在 Podfile 中添加 `pod 'YYImage/WebP'`。 + +### Carthage + +1. 在 Cartfile 中添加 `github "ibireme/YYImage"`。 +2. 执行 `carthage update --platform ios` 并将生成的 framework 添加到你的工程。 +3. 导入 \。 +4. 注意:carthage framework 并没有包含 WebP 组件。如果你需要支持 WebP,可以用 CocoaPods 安装,或者手动安装。 + +### 手动安装 + +1. 下载 YYImage 文件夹内的所有内容。 +2. 将 YYImage 内的源文件添加(拖放)到你的工程。 +3. 链接以下 frameworks: + * UIKit + * CoreFoundation + * QuartzCore + * AssetsLibrary + * ImageIO + * Accelerate + * MobileCoreServices + * libz +4. 导入 `YYImage.h`。 +5. 注意:如果你需要支持 WebP,可以将 `Vendor/WebP.framework`(静态库) 加入你的工程。 + +常见问题 +============== +_Q: 为什么我不能显示 WebP 图片?_ + +A: 确保 `WebP.framework` 已经被添加到你的工程内了。你可以调用 `YYImageWebPAvailable()` 来检查一下 WebP 组件是否被正确安装。 + +_Q: 为什么我不能播放 APNG 动画?_ + +A: 你应该禁用 Build Settings 中的 `Compress PNG Files` 和 `Remove Text Metadata From PNG Files`. 或者你也可以把 APNG 文件的扩展名改为`apng`. + +文档 +============== +你可以在 [CocoaDocs](http://cocoadocs.org/docsets/YYImage/) 查看在线 API 文档,也可以用 [appledoc](https://github.com/tomaz/appledoc) 本地生成文档。 + + +系统要求 +============== +该项目最低支持 `iOS 6.0` 和 `Xcode 7.0`。 + + +许可证 +============== +YYImage 使用 MIT 许可证,详情见 LICENSE 文件。 + + +相关链接 +============== +[移动端图片格式调研](http://blog.ibireme.com/2015/11/02/mobile_image_benchmark/)
+ +[iOS 处理图片的一些小 Tip](http://blog.ibireme.com/2015/11/02/ios_image_tips/) + diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/config.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/config.h new file mode 100644 index 00000000..70b1fbd4 --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/config.h @@ -0,0 +1,145 @@ +/* src/webp/config.h. Generated from config.h.in by configure. */ +/* src/webp/config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Set to 1 if __builtin_bswap16 is available */ +#define HAVE_BUILTIN_BSWAP16 1 + +/* Set to 1 if __builtin_bswap32 is available */ +#define HAVE_BUILTIN_BSWAP32 1 + +/* Set to 1 if __builtin_bswap64 is available */ +#define HAVE_BUILTIN_BSWAP64 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GLUT_GLUT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GL_GLUT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_OPENGL_GLUT_H */ + +/* Have PTHREAD_PRIO_INHERIT. */ +#define HAVE_PTHREAD_PRIO_INHERIT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SHLWAPI_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINCODEC_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINDOWS_H */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libwebp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://bugs.chromium.org/p/webp" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libwebp" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libwebp 0.5.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libwebp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://developers.google.com/speed/webp" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.5.0" + +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "0.5.0" + +/* Enable experimental code */ +/* #undef WEBP_EXPERIMENTAL_FEATURES */ + +/* Define to 1 to force aligned memory operations */ +/* #undef WEBP_FORCE_ALIGNED */ + +/* Set to 1 if AVX2 is supported */ +/* #undef WEBP_HAVE_AVX2 */ + +/* Set to 1 if GIF library is installed */ +/* #undef WEBP_HAVE_GIF */ + +/* Set to 1 if OpenGL is supported */ +/* #undef WEBP_HAVE_GL */ + +/* Set to 1 if JPEG library is installed */ +/* #undef WEBP_HAVE_JPEG */ + +/* Set to 1 if PNG library is installed */ +/* #undef WEBP_HAVE_PNG */ + +/* Set to 1 if SSE2 is supported */ +/* #undef WEBP_HAVE_SSE2 */ + +/* Set to 1 if SSE4.1 is supported */ +/* #undef WEBP_HAVE_SSE41 */ + +/* Set to 1 if TIFF library is installed */ +/* #undef WEBP_HAVE_TIFF */ + +/* Undefine this to disable thread support. */ +#define WEBP_USE_THREAD 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/decode.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/decode.h new file mode 100644 index 00000000..143e4fbe --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/decode.h @@ -0,0 +1,488 @@ +// Copyright 2010 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// Main decoding functions for WebP images. +// +// Author: Skal (pascal.massimino@gmail.com) + +#ifndef WEBP_WEBP_DECODE_H_ +#define WEBP_WEBP_DECODE_H_ + +#include "./types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define WEBP_DECODER_ABI_VERSION 0x0208 // MAJOR(8b) + MINOR(8b) + +// Note: forward declaring enumerations is not allowed in (strict) C and C++, +// the types are left here for reference. +// typedef enum VP8StatusCode VP8StatusCode; +// typedef enum WEBP_CSP_MODE WEBP_CSP_MODE; +typedef struct WebPRGBABuffer WebPRGBABuffer; +typedef struct WebPYUVABuffer WebPYUVABuffer; +typedef struct WebPDecBuffer WebPDecBuffer; +typedef struct WebPIDecoder WebPIDecoder; +typedef struct WebPBitstreamFeatures WebPBitstreamFeatures; +typedef struct WebPDecoderOptions WebPDecoderOptions; +typedef struct WebPDecoderConfig WebPDecoderConfig; + +// Return the decoder's version number, packed in hexadecimal using 8bits for +// each of major/minor/revision. E.g: v2.5.7 is 0x020507. +WEBP_EXTERN(int) WebPGetDecoderVersion(void); + +// Retrieve basic header information: width, height. +// This function will also validate the header and return 0 in +// case of formatting error. +// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant. +WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size, + int* width, int* height); + +// Decodes WebP images pointed to by 'data' and returns RGBA samples, along +// with the dimensions in *width and *height. The ordering of samples in +// memory is R, G, B, A, R, G, B, A... in scan order (endian-independent). +// The returned pointer should be deleted calling WebPFree(). +// Returns NULL in case of error. +WEBP_EXTERN(uint8_t*) WebPDecodeRGBA(const uint8_t* data, size_t data_size, + int* width, int* height); + +// Same as WebPDecodeRGBA, but returning A, R, G, B, A, R, G, B... ordered data. +WEBP_EXTERN(uint8_t*) WebPDecodeARGB(const uint8_t* data, size_t data_size, + int* width, int* height); + +// Same as WebPDecodeRGBA, but returning B, G, R, A, B, G, R, A... ordered data. +WEBP_EXTERN(uint8_t*) WebPDecodeBGRA(const uint8_t* data, size_t data_size, + int* width, int* height); + +// Same as WebPDecodeRGBA, but returning R, G, B, R, G, B... ordered data. +// If the bitstream contains transparency, it is ignored. +WEBP_EXTERN(uint8_t*) WebPDecodeRGB(const uint8_t* data, size_t data_size, + int* width, int* height); + +// Same as WebPDecodeRGB, but returning B, G, R, B, G, R... ordered data. +WEBP_EXTERN(uint8_t*) WebPDecodeBGR(const uint8_t* data, size_t data_size, + int* width, int* height); + + +// Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer +// returned is the Y samples buffer. Upon return, *u and *v will point to +// the U and V chroma data. These U and V buffers need NOT be passed to +// WebPFree(), unlike the returned Y luma one. The dimension of the U and V +// planes are both (*width + 1) / 2 and (*height + 1)/ 2. +// Upon return, the Y buffer has a stride returned as '*stride', while U and V +// have a common stride returned as '*uv_stride'. +// Return NULL in case of error. +// (*) Also named Y'CbCr. See: http://en.wikipedia.org/wiki/YCbCr +WEBP_EXTERN(uint8_t*) WebPDecodeYUV(const uint8_t* data, size_t data_size, + int* width, int* height, + uint8_t** u, uint8_t** v, + int* stride, int* uv_stride); + +// Releases memory returned by the WebPDecode*() functions above. +WEBP_EXTERN(void) WebPFree(void* ptr); + +// These five functions are variants of the above ones, that decode the image +// directly into a pre-allocated buffer 'output_buffer'. The maximum storage +// available in this buffer is indicated by 'output_buffer_size'. If this +// storage is not sufficient (or an error occurred), NULL is returned. +// Otherwise, output_buffer is returned, for convenience. +// The parameter 'output_stride' specifies the distance (in bytes) +// between scanlines. Hence, output_buffer_size is expected to be at least +// output_stride x picture-height. +WEBP_EXTERN(uint8_t*) WebPDecodeRGBAInto( + const uint8_t* data, size_t data_size, + uint8_t* output_buffer, size_t output_buffer_size, int output_stride); +WEBP_EXTERN(uint8_t*) WebPDecodeARGBInto( + const uint8_t* data, size_t data_size, + uint8_t* output_buffer, size_t output_buffer_size, int output_stride); +WEBP_EXTERN(uint8_t*) WebPDecodeBGRAInto( + const uint8_t* data, size_t data_size, + uint8_t* output_buffer, size_t output_buffer_size, int output_stride); + +// RGB and BGR variants. Here too the transparency information, if present, +// will be dropped and ignored. +WEBP_EXTERN(uint8_t*) WebPDecodeRGBInto( + const uint8_t* data, size_t data_size, + uint8_t* output_buffer, size_t output_buffer_size, int output_stride); +WEBP_EXTERN(uint8_t*) WebPDecodeBGRInto( + const uint8_t* data, size_t data_size, + uint8_t* output_buffer, size_t output_buffer_size, int output_stride); + +// WebPDecodeYUVInto() is a variant of WebPDecodeYUV() that operates directly +// into pre-allocated luma/chroma plane buffers. This function requires the +// strides to be passed: one for the luma plane and one for each of the +// chroma ones. The size of each plane buffer is passed as 'luma_size', +// 'u_size' and 'v_size' respectively. +// Pointer to the luma plane ('*luma') is returned or NULL if an error occurred +// during decoding (or because some buffers were found to be too small). +WEBP_EXTERN(uint8_t*) WebPDecodeYUVInto( + const uint8_t* data, size_t data_size, + uint8_t* luma, size_t luma_size, int luma_stride, + uint8_t* u, size_t u_size, int u_stride, + uint8_t* v, size_t v_size, int v_stride); + +//------------------------------------------------------------------------------ +// Output colorspaces and buffer + +// Colorspaces +// Note: the naming describes the byte-ordering of packed samples in memory. +// For instance, MODE_BGRA relates to samples ordered as B,G,R,A,B,G,R,A,... +// Non-capital names (e.g.:MODE_Argb) relates to pre-multiplied RGB channels. +// RGBA-4444 and RGB-565 colorspaces are represented by following byte-order: +// RGBA-4444: [r3 r2 r1 r0 g3 g2 g1 g0], [b3 b2 b1 b0 a3 a2 a1 a0], ... +// RGB-565: [r4 r3 r2 r1 r0 g5 g4 g3], [g2 g1 g0 b4 b3 b2 b1 b0], ... +// In the case WEBP_SWAP_16BITS_CSP is defined, the bytes are swapped for +// these two modes: +// RGBA-4444: [b3 b2 b1 b0 a3 a2 a1 a0], [r3 r2 r1 r0 g3 g2 g1 g0], ... +// RGB-565: [g2 g1 g0 b4 b3 b2 b1 b0], [r4 r3 r2 r1 r0 g5 g4 g3], ... + +typedef enum WEBP_CSP_MODE { + MODE_RGB = 0, MODE_RGBA = 1, + MODE_BGR = 2, MODE_BGRA = 3, + MODE_ARGB = 4, MODE_RGBA_4444 = 5, + MODE_RGB_565 = 6, + // RGB-premultiplied transparent modes (alpha value is preserved) + MODE_rgbA = 7, + MODE_bgrA = 8, + MODE_Argb = 9, + MODE_rgbA_4444 = 10, + // YUV modes must come after RGB ones. + MODE_YUV = 11, MODE_YUVA = 12, // yuv 4:2:0 + MODE_LAST = 13 +} WEBP_CSP_MODE; + +// Some useful macros: +static WEBP_INLINE int WebPIsPremultipliedMode(WEBP_CSP_MODE mode) { + return (mode == MODE_rgbA || mode == MODE_bgrA || mode == MODE_Argb || + mode == MODE_rgbA_4444); +} + +static WEBP_INLINE int WebPIsAlphaMode(WEBP_CSP_MODE mode) { + return (mode == MODE_RGBA || mode == MODE_BGRA || mode == MODE_ARGB || + mode == MODE_RGBA_4444 || mode == MODE_YUVA || + WebPIsPremultipliedMode(mode)); +} + +static WEBP_INLINE int WebPIsRGBMode(WEBP_CSP_MODE mode) { + return (mode < MODE_YUV); +} + +//------------------------------------------------------------------------------ +// WebPDecBuffer: Generic structure for describing the output sample buffer. + +struct WebPRGBABuffer { // view as RGBA + uint8_t* rgba; // pointer to RGBA samples + int stride; // stride in bytes from one scanline to the next. + size_t size; // total size of the *rgba buffer. +}; + +struct WebPYUVABuffer { // view as YUVA + uint8_t* y, *u, *v, *a; // pointer to luma, chroma U/V, alpha samples + int y_stride; // luma stride + int u_stride, v_stride; // chroma strides + int a_stride; // alpha stride + size_t y_size; // luma plane size + size_t u_size, v_size; // chroma planes size + size_t a_size; // alpha-plane size +}; + +// Output buffer +struct WebPDecBuffer { + WEBP_CSP_MODE colorspace; // Colorspace. + int width, height; // Dimensions. + int is_external_memory; // If true, 'internal_memory' pointer is not used. + union { + WebPRGBABuffer RGBA; + WebPYUVABuffer YUVA; + } u; // Nameless union of buffer parameters. + uint32_t pad[4]; // padding for later use + + uint8_t* private_memory; // Internally allocated memory (only when + // is_external_memory is false). Should not be used + // externally, but accessed via the buffer union. +}; + +// Internal, version-checked, entry point +WEBP_EXTERN(int) WebPInitDecBufferInternal(WebPDecBuffer*, int); + +// Initialize the structure as empty. Must be called before any other use. +// Returns false in case of version mismatch +static WEBP_INLINE int WebPInitDecBuffer(WebPDecBuffer* buffer) { + return WebPInitDecBufferInternal(buffer, WEBP_DECODER_ABI_VERSION); +} + +// Free any memory associated with the buffer. Must always be called last. +// Note: doesn't free the 'buffer' structure itself. +WEBP_EXTERN(void) WebPFreeDecBuffer(WebPDecBuffer* buffer); + +//------------------------------------------------------------------------------ +// Enumeration of the status codes + +typedef enum VP8StatusCode { + VP8_STATUS_OK = 0, + VP8_STATUS_OUT_OF_MEMORY, + VP8_STATUS_INVALID_PARAM, + VP8_STATUS_BITSTREAM_ERROR, + VP8_STATUS_UNSUPPORTED_FEATURE, + VP8_STATUS_SUSPENDED, + VP8_STATUS_USER_ABORT, + VP8_STATUS_NOT_ENOUGH_DATA +} VP8StatusCode; + +//------------------------------------------------------------------------------ +// Incremental decoding +// +// This API allows streamlined decoding of partial data. +// Picture can be incrementally decoded as data become available thanks to the +// WebPIDecoder object. This object can be left in a SUSPENDED state if the +// picture is only partially decoded, pending additional input. +// Code example: +// +// WebPInitDecBuffer(&buffer); +// buffer.colorspace = mode; +// ... +// WebPIDecoder* idec = WebPINewDecoder(&buffer); +// while (has_more_data) { +// // ... (get additional data) +// status = WebPIAppend(idec, new_data, new_data_size); +// if (status != VP8_STATUS_SUSPENDED || +// break; +// } +// +// // The above call decodes the current available buffer. +// // Part of the image can now be refreshed by calling to +// // WebPIDecGetRGB()/WebPIDecGetYUVA() etc. +// } +// WebPIDelete(idec); + +// Creates a new incremental decoder with the supplied buffer parameter. +// This output_buffer can be passed NULL, in which case a default output buffer +// is used (with MODE_RGB). Otherwise, an internal reference to 'output_buffer' +// is kept, which means that the lifespan of 'output_buffer' must be larger than +// that of the returned WebPIDecoder object. +// The supplied 'output_buffer' content MUST NOT be changed between calls to +// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is +// set to 1. In such a case, it is allowed to modify the pointers, size and +// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain +// within valid bounds. +// All other fields of WebPDecBuffer MUST remain constant between calls. +// Returns NULL if the allocation failed. +WEBP_EXTERN(WebPIDecoder*) WebPINewDecoder(WebPDecBuffer* output_buffer); + +// This function allocates and initializes an incremental-decoder object, which +// will output the RGB/A samples specified by 'csp' into a preallocated +// buffer 'output_buffer'. The size of this buffer is at least +// 'output_buffer_size' and the stride (distance in bytes between two scanlines) +// is specified by 'output_stride'. +// Additionally, output_buffer can be passed NULL in which case the output +// buffer will be allocated automatically when the decoding starts. The +// colorspace 'csp' is taken into account for allocating this buffer. All other +// parameters are ignored. +// Returns NULL if the allocation failed, or if some parameters are invalid. +WEBP_EXTERN(WebPIDecoder*) WebPINewRGB( + WEBP_CSP_MODE csp, + uint8_t* output_buffer, size_t output_buffer_size, int output_stride); + +// This function allocates and initializes an incremental-decoder object, which +// will output the raw luma/chroma samples into a preallocated planes if +// supplied. The luma plane is specified by its pointer 'luma', its size +// 'luma_size' and its stride 'luma_stride'. Similarly, the chroma-u plane +// is specified by the 'u', 'u_size' and 'u_stride' parameters, and the chroma-v +// plane by 'v' and 'v_size'. And same for the alpha-plane. The 'a' pointer +// can be pass NULL in case one is not interested in the transparency plane. +// Conversely, 'luma' can be passed NULL if no preallocated planes are supplied. +// In this case, the output buffer will be automatically allocated (using +// MODE_YUVA) when decoding starts. All parameters are then ignored. +// Returns NULL if the allocation failed or if a parameter is invalid. +WEBP_EXTERN(WebPIDecoder*) WebPINewYUVA( + uint8_t* luma, size_t luma_size, int luma_stride, + uint8_t* u, size_t u_size, int u_stride, + uint8_t* v, size_t v_size, int v_stride, + uint8_t* a, size_t a_size, int a_stride); + +// Deprecated version of the above, without the alpha plane. +// Kept for backward compatibility. +WEBP_EXTERN(WebPIDecoder*) WebPINewYUV( + uint8_t* luma, size_t luma_size, int luma_stride, + uint8_t* u, size_t u_size, int u_stride, + uint8_t* v, size_t v_size, int v_stride); + +// Deletes the WebPIDecoder object and associated memory. Must always be called +// if WebPINewDecoder, WebPINewRGB or WebPINewYUV succeeded. +WEBP_EXTERN(void) WebPIDelete(WebPIDecoder* idec); + +// Copies and decodes the next available data. Returns VP8_STATUS_OK when +// the image is successfully decoded. Returns VP8_STATUS_SUSPENDED when more +// data is expected. Returns error in other cases. +WEBP_EXTERN(VP8StatusCode) WebPIAppend( + WebPIDecoder* idec, const uint8_t* data, size_t data_size); + +// A variant of the above function to be used when data buffer contains +// partial data from the beginning. In this case data buffer is not copied +// to the internal memory. +// Note that the value of the 'data' pointer can change between calls to +// WebPIUpdate, for instance when the data buffer is resized to fit larger data. +WEBP_EXTERN(VP8StatusCode) WebPIUpdate( + WebPIDecoder* idec, const uint8_t* data, size_t data_size); + +// Returns the RGB/A image decoded so far. Returns NULL if output params +// are not initialized yet. The RGB/A output type corresponds to the colorspace +// specified during call to WebPINewDecoder() or WebPINewRGB(). +// *last_y is the index of last decoded row in raster scan order. Some pointers +// (*last_y, *width etc.) can be NULL if corresponding information is not +// needed. +WEBP_EXTERN(uint8_t*) WebPIDecGetRGB( + const WebPIDecoder* idec, int* last_y, + int* width, int* height, int* stride); + +// Same as above function to get a YUVA image. Returns pointer to the luma +// plane or NULL in case of error. If there is no alpha information +// the alpha pointer '*a' will be returned NULL. +WEBP_EXTERN(uint8_t*) WebPIDecGetYUVA( + const WebPIDecoder* idec, int* last_y, + uint8_t** u, uint8_t** v, uint8_t** a, + int* width, int* height, int* stride, int* uv_stride, int* a_stride); + +// Deprecated alpha-less version of WebPIDecGetYUVA(): it will ignore the +// alpha information (if present). Kept for backward compatibility. +static WEBP_INLINE uint8_t* WebPIDecGetYUV( + const WebPIDecoder* idec, int* last_y, uint8_t** u, uint8_t** v, + int* width, int* height, int* stride, int* uv_stride) { + return WebPIDecGetYUVA(idec, last_y, u, v, NULL, width, height, + stride, uv_stride, NULL); +} + +// Generic call to retrieve information about the displayable area. +// If non NULL, the left/right/width/height pointers are filled with the visible +// rectangular area so far. +// Returns NULL in case the incremental decoder object is in an invalid state. +// Otherwise returns the pointer to the internal representation. This structure +// is read-only, tied to WebPIDecoder's lifespan and should not be modified. +WEBP_EXTERN(const WebPDecBuffer*) WebPIDecodedArea( + const WebPIDecoder* idec, int* left, int* top, int* width, int* height); + +//------------------------------------------------------------------------------ +// Advanced decoding parametrization +// +// Code sample for using the advanced decoding API +/* + // A) Init a configuration object + WebPDecoderConfig config; + CHECK(WebPInitDecoderConfig(&config)); + + // B) optional: retrieve the bitstream's features. + CHECK(WebPGetFeatures(data, data_size, &config.input) == VP8_STATUS_OK); + + // C) Adjust 'config', if needed + config.no_fancy_upsampling = 1; + config.output.colorspace = MODE_BGRA; + // etc. + + // Note that you can also make config.output point to an externally + // supplied memory buffer, provided it's big enough to store the decoded + // picture. Otherwise, config.output will just be used to allocate memory + // and store the decoded picture. + + // D) Decode! + CHECK(WebPDecode(data, data_size, &config) == VP8_STATUS_OK); + + // E) Decoded image is now in config.output (and config.output.u.RGBA) + + // F) Reclaim memory allocated in config's object. It's safe to call + // this function even if the memory is external and wasn't allocated + // by WebPDecode(). + WebPFreeDecBuffer(&config.output); +*/ + +// Features gathered from the bitstream +struct WebPBitstreamFeatures { + int width; // Width in pixels, as read from the bitstream. + int height; // Height in pixels, as read from the bitstream. + int has_alpha; // True if the bitstream contains an alpha channel. + int has_animation; // True if the bitstream is an animation. + int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless + + uint32_t pad[5]; // padding for later use +}; + +// Internal, version-checked, entry point +WEBP_EXTERN(VP8StatusCode) WebPGetFeaturesInternal( + const uint8_t*, size_t, WebPBitstreamFeatures*, int); + +// Retrieve features from the bitstream. The *features structure is filled +// with information gathered from the bitstream. +// Returns VP8_STATUS_OK when the features are successfully retrieved. Returns +// VP8_STATUS_NOT_ENOUGH_DATA when more data is needed to retrieve the +// features from headers. Returns error in other cases. +static WEBP_INLINE VP8StatusCode WebPGetFeatures( + const uint8_t* data, size_t data_size, + WebPBitstreamFeatures* features) { + return WebPGetFeaturesInternal(data, data_size, features, + WEBP_DECODER_ABI_VERSION); +} + +// Decoding options +struct WebPDecoderOptions { + int bypass_filtering; // if true, skip the in-loop filtering + int no_fancy_upsampling; // if true, use faster pointwise upsampler + int use_cropping; // if true, cropping is applied _first_ + int crop_left, crop_top; // top-left position for cropping. + // Will be snapped to even values. + int crop_width, crop_height; // dimension of the cropping area + int use_scaling; // if true, scaling is applied _afterward_ + int scaled_width, scaled_height; // final resolution + int use_threads; // if true, use multi-threaded decoding + int dithering_strength; // dithering strength (0=Off, 100=full) + int flip; // flip output vertically + int alpha_dithering_strength; // alpha dithering strength in [0..100] + + uint32_t pad[5]; // padding for later use +}; + +// Main object storing the configuration for advanced decoding. +struct WebPDecoderConfig { + WebPBitstreamFeatures input; // Immutable bitstream features (optional) + WebPDecBuffer output; // Output buffer (can point to external mem) + WebPDecoderOptions options; // Decoding options +}; + +// Internal, version-checked, entry point +WEBP_EXTERN(int) WebPInitDecoderConfigInternal(WebPDecoderConfig*, int); + +// Initialize the configuration as empty. This function must always be +// called first, unless WebPGetFeatures() is to be called. +// Returns false in case of mismatched version. +static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) { + return WebPInitDecoderConfigInternal(config, WEBP_DECODER_ABI_VERSION); +} + +// Instantiate a new incremental decoder object with the requested +// configuration. The bitstream can be passed using 'data' and 'data_size' +// parameter, in which case the features will be parsed and stored into +// config->input. Otherwise, 'data' can be NULL and no parsing will occur. +// Note that 'config' can be NULL too, in which case a default configuration +// is used. +// The return WebPIDecoder object must always be deleted calling WebPIDelete(). +// Returns NULL in case of error (and config->status will then reflect +// the error condition). +WEBP_EXTERN(WebPIDecoder*) WebPIDecode(const uint8_t* data, size_t data_size, + WebPDecoderConfig* config); + +// Non-incremental version. This version decodes the full data at once, taking +// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK +// if the decoding was successful). +WEBP_EXTERN(VP8StatusCode) WebPDecode(const uint8_t* data, size_t data_size, + WebPDecoderConfig* config); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* WEBP_WEBP_DECODE_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/demux.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/demux.h new file mode 100644 index 00000000..454f6914 --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/demux.h @@ -0,0 +1,358 @@ +// Copyright 2012 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// Demux API. +// Enables extraction of image and extended format data from WebP files. + +// Code Example: Demuxing WebP data to extract all the frames, ICC profile +// and EXIF/XMP metadata. +/* + WebPDemuxer* demux = WebPDemux(&webp_data); + + uint32_t width = WebPDemuxGetI(demux, WEBP_FF_CANVAS_WIDTH); + uint32_t height = WebPDemuxGetI(demux, WEBP_FF_CANVAS_HEIGHT); + // ... (Get information about the features present in the WebP file). + uint32_t flags = WebPDemuxGetI(demux, WEBP_FF_FORMAT_FLAGS); + + // ... (Iterate over all frames). + WebPIterator iter; + if (WebPDemuxGetFrame(demux, 1, &iter)) { + do { + // ... (Consume 'iter'; e.g. Decode 'iter.fragment' with WebPDecode(), + // ... and get other frame properties like width, height, offsets etc. + // ... see 'struct WebPIterator' below for more info). + } while (WebPDemuxNextFrame(&iter)); + WebPDemuxReleaseIterator(&iter); + } + + // ... (Extract metadata). + WebPChunkIterator chunk_iter; + if (flags & ICCP_FLAG) WebPDemuxGetChunk(demux, "ICCP", 1, &chunk_iter); + // ... (Consume the ICC profile in 'chunk_iter.chunk'). + WebPDemuxReleaseChunkIterator(&chunk_iter); + if (flags & EXIF_FLAG) WebPDemuxGetChunk(demux, "EXIF", 1, &chunk_iter); + // ... (Consume the EXIF metadata in 'chunk_iter.chunk'). + WebPDemuxReleaseChunkIterator(&chunk_iter); + if (flags & XMP_FLAG) WebPDemuxGetChunk(demux, "XMP ", 1, &chunk_iter); + // ... (Consume the XMP metadata in 'chunk_iter.chunk'). + WebPDemuxReleaseChunkIterator(&chunk_iter); + WebPDemuxDelete(demux); +*/ + +#ifndef WEBP_WEBP_DEMUX_H_ +#define WEBP_WEBP_DEMUX_H_ + +#include "./decode.h" // for WEBP_CSP_MODE +#include "./mux_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define WEBP_DEMUX_ABI_VERSION 0x0107 // MAJOR(8b) + MINOR(8b) + +// Note: forward declaring enumerations is not allowed in (strict) C and C++, +// the types are left here for reference. +// typedef enum WebPDemuxState WebPDemuxState; +// typedef enum WebPFormatFeature WebPFormatFeature; +typedef struct WebPDemuxer WebPDemuxer; +typedef struct WebPIterator WebPIterator; +typedef struct WebPChunkIterator WebPChunkIterator; +typedef struct WebPAnimInfo WebPAnimInfo; +typedef struct WebPAnimDecoderOptions WebPAnimDecoderOptions; + +//------------------------------------------------------------------------------ + +// Returns the version number of the demux library, packed in hexadecimal using +// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. +WEBP_EXTERN(int) WebPGetDemuxVersion(void); + +//------------------------------------------------------------------------------ +// Life of a Demux object + +typedef enum WebPDemuxState { + WEBP_DEMUX_PARSE_ERROR = -1, // An error occurred while parsing. + WEBP_DEMUX_PARSING_HEADER = 0, // Not enough data to parse full header. + WEBP_DEMUX_PARSED_HEADER = 1, // Header parsing complete, + // data may be available. + WEBP_DEMUX_DONE = 2 // Entire file has been parsed. +} WebPDemuxState; + +// Internal, version-checked, entry point +WEBP_EXTERN(WebPDemuxer*) WebPDemuxInternal( + const WebPData*, int, WebPDemuxState*, int); + +// Parses the full WebP file given by 'data'. For single images the WebP file +// header alone or the file header and the chunk header may be absent. +// Returns a WebPDemuxer object on successful parse, NULL otherwise. +static WEBP_INLINE WebPDemuxer* WebPDemux(const WebPData* data) { + return WebPDemuxInternal(data, 0, NULL, WEBP_DEMUX_ABI_VERSION); +} + +// Parses the possibly incomplete WebP file given by 'data'. +// If 'state' is non-NULL it will be set to indicate the status of the demuxer. +// Returns NULL in case of error or if there isn't enough data to start parsing; +// and a WebPDemuxer object on successful parse. +// Note that WebPDemuxer keeps internal pointers to 'data' memory segment. +// If this data is volatile, the demuxer object should be deleted (by calling +// WebPDemuxDelete()) and WebPDemuxPartial() called again on the new data. +// This is usually an inexpensive operation. +static WEBP_INLINE WebPDemuxer* WebPDemuxPartial( + const WebPData* data, WebPDemuxState* state) { + return WebPDemuxInternal(data, 1, state, WEBP_DEMUX_ABI_VERSION); +} + +// Frees memory associated with 'dmux'. +WEBP_EXTERN(void) WebPDemuxDelete(WebPDemuxer* dmux); + +//------------------------------------------------------------------------------ +// Data/information extraction. + +typedef enum WebPFormatFeature { + WEBP_FF_FORMAT_FLAGS, // Extended format flags present in the 'VP8X' chunk. + WEBP_FF_CANVAS_WIDTH, + WEBP_FF_CANVAS_HEIGHT, + WEBP_FF_LOOP_COUNT, + WEBP_FF_BACKGROUND_COLOR, + WEBP_FF_FRAME_COUNT // Number of frames present in the demux object. + // In case of a partial demux, this is the number of + // frames seen so far, with the last frame possibly + // being partial. +} WebPFormatFeature; + +// Get the 'feature' value from the 'dmux'. +// NOTE: values are only valid if WebPDemux() was used or WebPDemuxPartial() +// returned a state > WEBP_DEMUX_PARSING_HEADER. +WEBP_EXTERN(uint32_t) WebPDemuxGetI( + const WebPDemuxer* dmux, WebPFormatFeature feature); + +//------------------------------------------------------------------------------ +// Frame iteration. + +struct WebPIterator { + int frame_num; + int num_frames; // equivalent to WEBP_FF_FRAME_COUNT. + int x_offset, y_offset; // offset relative to the canvas. + int width, height; // dimensions of this frame. + int duration; // display duration in milliseconds. + WebPMuxAnimDispose dispose_method; // dispose method for the frame. + int complete; // true if 'fragment' contains a full frame. partial images + // may still be decoded with the WebP incremental decoder. + WebPData fragment; // The frame given by 'frame_num'. Note for historical + // reasons this is called a fragment. + int has_alpha; // True if the frame contains transparency. + WebPMuxAnimBlend blend_method; // Blend operation for the frame. + + uint32_t pad[2]; // padding for later use. + void* private_; // for internal use only. +}; + +// Retrieves frame 'frame_number' from 'dmux'. +// 'iter->fragment' points to the frame on return from this function. +// Setting 'frame_number' equal to 0 will return the last frame of the image. +// Returns false if 'dmux' is NULL or frame 'frame_number' is not present. +// Call WebPDemuxReleaseIterator() when use of the iterator is complete. +// NOTE: 'dmux' must persist for the lifetime of 'iter'. +WEBP_EXTERN(int) WebPDemuxGetFrame( + const WebPDemuxer* dmux, int frame_number, WebPIterator* iter); + +// Sets 'iter->fragment' to point to the next ('iter->frame_num' + 1) or +// previous ('iter->frame_num' - 1) frame. These functions do not loop. +// Returns true on success, false otherwise. +WEBP_EXTERN(int) WebPDemuxNextFrame(WebPIterator* iter); +WEBP_EXTERN(int) WebPDemuxPrevFrame(WebPIterator* iter); + +// Releases any memory associated with 'iter'. +// Must be called before any subsequent calls to WebPDemuxGetChunk() on the same +// iter. Also, must be called before destroying the associated WebPDemuxer with +// WebPDemuxDelete(). +WEBP_EXTERN(void) WebPDemuxReleaseIterator(WebPIterator* iter); + +//------------------------------------------------------------------------------ +// Chunk iteration. + +struct WebPChunkIterator { + // The current and total number of chunks with the fourcc given to + // WebPDemuxGetChunk(). + int chunk_num; + int num_chunks; + WebPData chunk; // The payload of the chunk. + + uint32_t pad[6]; // padding for later use + void* private_; +}; + +// Retrieves the 'chunk_number' instance of the chunk with id 'fourcc' from +// 'dmux'. +// 'fourcc' is a character array containing the fourcc of the chunk to return, +// e.g., "ICCP", "XMP ", "EXIF", etc. +// Setting 'chunk_number' equal to 0 will return the last chunk in a set. +// Returns true if the chunk is found, false otherwise. Image related chunk +// payloads are accessed through WebPDemuxGetFrame() and related functions. +// Call WebPDemuxReleaseChunkIterator() when use of the iterator is complete. +// NOTE: 'dmux' must persist for the lifetime of the iterator. +WEBP_EXTERN(int) WebPDemuxGetChunk(const WebPDemuxer* dmux, + const char fourcc[4], int chunk_number, + WebPChunkIterator* iter); + +// Sets 'iter->chunk' to point to the next ('iter->chunk_num' + 1) or previous +// ('iter->chunk_num' - 1) chunk. These functions do not loop. +// Returns true on success, false otherwise. +WEBP_EXTERN(int) WebPDemuxNextChunk(WebPChunkIterator* iter); +WEBP_EXTERN(int) WebPDemuxPrevChunk(WebPChunkIterator* iter); + +// Releases any memory associated with 'iter'. +// Must be called before destroying the associated WebPDemuxer with +// WebPDemuxDelete(). +WEBP_EXTERN(void) WebPDemuxReleaseChunkIterator(WebPChunkIterator* iter); + +//------------------------------------------------------------------------------ +// WebPAnimDecoder API +// +// This API allows decoding (possibly) animated WebP images. +// +// Code Example: +/* + WebPAnimDecoderOptions dec_options; + WebPAnimDecoderOptionsInit(&dec_options); + // Tune 'dec_options' as needed. + WebPAnimDecoder* dec = WebPAnimDecoderNew(webp_data, &dec_options); + WebPAnimInfo anim_info; + WebPAnimDecoderGetInfo(dec, &anim_info); + for (uint32_t i = 0; i < anim_info.loop_count; ++i) { + while (WebPAnimDecoderHasMoreFrames(dec)) { + uint8_t* buf; + int timestamp; + WebPAnimDecoderGetNext(dec, &buf, ×tamp); + // ... (Render 'buf' based on 'timestamp'). + // ... (Do NOT free 'buf', as it is owned by 'dec'). + } + WebPAnimDecoderReset(dec); + } + const WebPDemuxer* demuxer = WebPAnimDecoderGetDemuxer(dec); + // ... (Do something using 'demuxer'; e.g. get EXIF/XMP/ICC data). + WebPAnimDecoderDelete(dec); +*/ + +typedef struct WebPAnimDecoder WebPAnimDecoder; // Main opaque object. + +// Global options. +struct WebPAnimDecoderOptions { + // Output colorspace. Only the following modes are supported: + // MODE_RGBA, MODE_BGRA, MODE_rgbA and MODE_bgrA. + WEBP_CSP_MODE color_mode; + int use_threads; // If true, use multi-threaded decoding. + uint32_t padding[7]; // Padding for later use. +}; + +// Internal, version-checked, entry point. +WEBP_EXTERN(int) WebPAnimDecoderOptionsInitInternal( + WebPAnimDecoderOptions*, int); + +// Should always be called, to initialize a fresh WebPAnimDecoderOptions +// structure before modification. Returns false in case of version mismatch. +// WebPAnimDecoderOptionsInit() must have succeeded before using the +// 'dec_options' object. +static WEBP_INLINE int WebPAnimDecoderOptionsInit( + WebPAnimDecoderOptions* dec_options) { + return WebPAnimDecoderOptionsInitInternal(dec_options, + WEBP_DEMUX_ABI_VERSION); +} + +// Internal, version-checked, entry point. +WEBP_EXTERN(WebPAnimDecoder*) WebPAnimDecoderNewInternal( + const WebPData*, const WebPAnimDecoderOptions*, int); + +// Creates and initializes a WebPAnimDecoder object. +// Parameters: +// webp_data - (in) WebP bitstream. This should remain unchanged during the +// lifetime of the output WebPAnimDecoder object. +// dec_options - (in) decoding options. Can be passed NULL to choose +// reasonable defaults (in particular, color mode MODE_RGBA +// will be picked). +// Returns: +// A pointer to the newly created WebPAnimDecoder object, or NULL in case of +// parsing error, invalid option or memory error. +static WEBP_INLINE WebPAnimDecoder* WebPAnimDecoderNew( + const WebPData* webp_data, const WebPAnimDecoderOptions* dec_options) { + return WebPAnimDecoderNewInternal(webp_data, dec_options, + WEBP_DEMUX_ABI_VERSION); +} + +// Global information about the animation.. +struct WebPAnimInfo { + uint32_t canvas_width; + uint32_t canvas_height; + uint32_t loop_count; + uint32_t bgcolor; + uint32_t frame_count; + uint32_t pad[4]; // padding for later use +}; + +// Get global information about the animation. +// Parameters: +// dec - (in) decoder instance to get information from. +// info - (out) global information fetched from the animation. +// Returns: +// True on success. +WEBP_EXTERN(int) WebPAnimDecoderGetInfo(const WebPAnimDecoder* dec, + WebPAnimInfo* info); + +// Fetch the next frame from 'dec' based on options supplied to +// WebPAnimDecoderNew(). This will be a fully reconstructed canvas of size +// 'canvas_width * 4 * canvas_height', and not just the frame sub-rectangle. The +// returned buffer 'buf' is valid only until the next call to +// WebPAnimDecoderGetNext(), WebPAnimDecoderReset() or WebPAnimDecoderDelete(). +// Parameters: +// dec - (in/out) decoder instance from which the next frame is to be fetched. +// buf - (out) decoded frame. +// timestamp - (out) timestamp of the frame in milliseconds. +// Returns: +// False if any of the arguments are NULL, or if there is a parsing or +// decoding error, or if there are no more frames. Otherwise, returns true. +WEBP_EXTERN(int) WebPAnimDecoderGetNext(WebPAnimDecoder* dec, + uint8_t** buf, int* timestamp); + +// Check if there are more frames left to decode. +// Parameters: +// dec - (in) decoder instance to be checked. +// Returns: +// True if 'dec' is not NULL and some frames are yet to be decoded. +// Otherwise, returns false. +WEBP_EXTERN(int) WebPAnimDecoderHasMoreFrames(const WebPAnimDecoder* dec); + +// Resets the WebPAnimDecoder object, so that next call to +// WebPAnimDecoderGetNext() will restart decoding from 1st frame. This would be +// helpful when all frames need to be decoded multiple times (e.g. +// info.loop_count times) without destroying and recreating the 'dec' object. +// Parameters: +// dec - (in/out) decoder instance to be reset +WEBP_EXTERN(void) WebPAnimDecoderReset(WebPAnimDecoder* dec); + +// Grab the internal demuxer object. +// Getting the demuxer object can be useful if one wants to use operations only +// available through demuxer; e.g. to get XMP/EXIF/ICC metadata. The returned +// demuxer object is owned by 'dec' and is valid only until the next call to +// WebPAnimDecoderDelete(). +// +// Parameters: +// dec - (in) decoder instance from which the demuxer object is to be fetched. +WEBP_EXTERN(const WebPDemuxer*) WebPAnimDecoderGetDemuxer( + const WebPAnimDecoder* dec); + +// Deletes the WebPAnimDecoder object. +// Parameters: +// dec - (in/out) decoder instance to be deleted +WEBP_EXTERN(void) WebPAnimDecoderDelete(WebPAnimDecoder* dec); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* WEBP_WEBP_DEMUX_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/encode.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/encode.h new file mode 100644 index 00000000..c382ea76 --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/encode.h @@ -0,0 +1,527 @@ +// Copyright 2011 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// WebP encoder: main interface +// +// Author: Skal (pascal.massimino@gmail.com) + +#ifndef WEBP_WEBP_ENCODE_H_ +#define WEBP_WEBP_ENCODE_H_ + +#include "./types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define WEBP_ENCODER_ABI_VERSION 0x0209 // MAJOR(8b) + MINOR(8b) + +// Note: forward declaring enumerations is not allowed in (strict) C and C++, +// the types are left here for reference. +// typedef enum WebPImageHint WebPImageHint; +// typedef enum WebPEncCSP WebPEncCSP; +// typedef enum WebPPreset WebPPreset; +// typedef enum WebPEncodingError WebPEncodingError; +typedef struct WebPConfig WebPConfig; +typedef struct WebPPicture WebPPicture; // main structure for I/O +typedef struct WebPAuxStats WebPAuxStats; +typedef struct WebPMemoryWriter WebPMemoryWriter; + +// Return the encoder's version number, packed in hexadecimal using 8bits for +// each of major/minor/revision. E.g: v2.5.7 is 0x020507. +WEBP_EXTERN(int) WebPGetEncoderVersion(void); + +//------------------------------------------------------------------------------ +// One-stop-shop call! No questions asked: + +// Returns the size of the compressed data (pointed to by *output), or 0 if +// an error occurred. The compressed data must be released by the caller +// using the call 'WebPFree(*output)'. +// These functions compress using the lossy format, and the quality_factor +// can go from 0 (smaller output, lower quality) to 100 (best quality, +// larger output). +WEBP_EXTERN(size_t) WebPEncodeRGB(const uint8_t* rgb, + int width, int height, int stride, + float quality_factor, uint8_t** output); +WEBP_EXTERN(size_t) WebPEncodeBGR(const uint8_t* bgr, + int width, int height, int stride, + float quality_factor, uint8_t** output); +WEBP_EXTERN(size_t) WebPEncodeRGBA(const uint8_t* rgba, + int width, int height, int stride, + float quality_factor, uint8_t** output); +WEBP_EXTERN(size_t) WebPEncodeBGRA(const uint8_t* bgra, + int width, int height, int stride, + float quality_factor, uint8_t** output); + +// These functions are the equivalent of the above, but compressing in a +// lossless manner. Files are usually larger than lossy format, but will +// not suffer any compression loss. +WEBP_EXTERN(size_t) WebPEncodeLosslessRGB(const uint8_t* rgb, + int width, int height, int stride, + uint8_t** output); +WEBP_EXTERN(size_t) WebPEncodeLosslessBGR(const uint8_t* bgr, + int width, int height, int stride, + uint8_t** output); +WEBP_EXTERN(size_t) WebPEncodeLosslessRGBA(const uint8_t* rgba, + int width, int height, int stride, + uint8_t** output); +WEBP_EXTERN(size_t) WebPEncodeLosslessBGRA(const uint8_t* bgra, + int width, int height, int stride, + uint8_t** output); + +// Releases memory returned by the WebPEncode*() functions above. +WEBP_EXTERN(void) WebPFree(void* ptr); + +//------------------------------------------------------------------------------ +// Coding parameters + +// Image characteristics hint for the underlying encoder. +typedef enum WebPImageHint { + WEBP_HINT_DEFAULT = 0, // default preset. + WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot + WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting + WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc). + WEBP_HINT_LAST +} WebPImageHint; + +// Compression parameters. +struct WebPConfig { + int lossless; // Lossless encoding (0=lossy(default), 1=lossless). + float quality; // between 0 (smallest file) and 100 (biggest) + int method; // quality/speed trade-off (0=fast, 6=slower-better) + + WebPImageHint image_hint; // Hint for image type (lossless only for now). + + // Parameters related to lossy compression only: + int target_size; // if non-zero, set the desired target size in bytes. + // Takes precedence over the 'compression' parameter. + float target_PSNR; // if non-zero, specifies the minimal distortion to + // try to achieve. Takes precedence over target_size. + int segments; // maximum number of segments to use, in [1..4] + int sns_strength; // Spatial Noise Shaping. 0=off, 100=maximum. + int filter_strength; // range: [0 = off .. 100 = strongest] + int filter_sharpness; // range: [0 = off .. 7 = least sharp] + int filter_type; // filtering type: 0 = simple, 1 = strong (only used + // if filter_strength > 0 or autofilter > 0) + int autofilter; // Auto adjust filter's strength [0 = off, 1 = on] + int alpha_compression; // Algorithm for encoding the alpha plane (0 = none, + // 1 = compressed with WebP lossless). Default is 1. + int alpha_filtering; // Predictive filtering method for alpha plane. + // 0: none, 1: fast, 2: best. Default if 1. + int alpha_quality; // Between 0 (smallest size) and 100 (lossless). + // Default is 100. + int pass; // number of entropy-analysis passes (in [1..10]). + + int show_compressed; // if true, export the compressed picture back. + // In-loop filtering is not applied. + int preprocessing; // preprocessing filter: + // 0=none, 1=segment-smooth, 2=pseudo-random dithering + int partitions; // log2(number of token partitions) in [0..3]. Default + // is set to 0 for easier progressive decoding. + int partition_limit; // quality degradation allowed to fit the 512k limit + // on prediction modes coding (0: no degradation, + // 100: maximum possible degradation). + int emulate_jpeg_size; // If true, compression parameters will be remapped + // to better match the expected output size from + // JPEG compression. Generally, the output size will + // be similar but the degradation will be lower. + int thread_level; // If non-zero, try and use multi-threaded encoding. + int low_memory; // If set, reduce memory usage (but increase CPU use). + + int near_lossless; // Near lossless encoding [0 = off(default) .. 100]. + // This feature is experimental. + int exact; // if non-zero, preserve the exact RGB values under + // transparent area. Otherwise, discard this invisible + // RGB information for better compression. The default + // value is 0. + +#ifdef WEBP_EXPERIMENTAL_FEATURES + int delta_palettization; + uint32_t pad[2]; // padding for later use +#else + uint32_t pad[3]; // padding for later use +#endif // WEBP_EXPERIMENTAL_FEATURES +}; + +// Enumerate some predefined settings for WebPConfig, depending on the type +// of source picture. These presets are used when calling WebPConfigPreset(). +typedef enum WebPPreset { + WEBP_PRESET_DEFAULT = 0, // default preset. + WEBP_PRESET_PICTURE, // digital picture, like portrait, inner shot + WEBP_PRESET_PHOTO, // outdoor photograph, with natural lighting + WEBP_PRESET_DRAWING, // hand or line drawing, with high-contrast details + WEBP_PRESET_ICON, // small-sized colorful images + WEBP_PRESET_TEXT // text-like +} WebPPreset; + +// Internal, version-checked, entry point +WEBP_EXTERN(int) WebPConfigInitInternal(WebPConfig*, WebPPreset, float, int); + +// Should always be called, to initialize a fresh WebPConfig structure before +// modification. Returns false in case of version mismatch. WebPConfigInit() +// must have succeeded before using the 'config' object. +// Note that the default values are lossless=0 and quality=75. +static WEBP_INLINE int WebPConfigInit(WebPConfig* config) { + return WebPConfigInitInternal(config, WEBP_PRESET_DEFAULT, 75.f, + WEBP_ENCODER_ABI_VERSION); +} + +// This function will initialize the configuration according to a predefined +// set of parameters (referred to by 'preset') and a given quality factor. +// This function can be called as a replacement to WebPConfigInit(). Will +// return false in case of error. +static WEBP_INLINE int WebPConfigPreset(WebPConfig* config, + WebPPreset preset, float quality) { + return WebPConfigInitInternal(config, preset, quality, + WEBP_ENCODER_ABI_VERSION); +} + +// Activate the lossless compression mode with the desired efficiency level +// between 0 (fastest, lowest compression) and 9 (slower, best compression). +// A good default level is '6', providing a fair tradeoff between compression +// speed and final compressed size. +// This function will overwrite several fields from config: 'method', 'quality' +// and 'lossless'. Returns false in case of parameter error. +WEBP_EXTERN(int) WebPConfigLosslessPreset(WebPConfig* config, int level); + +// Returns true if 'config' is non-NULL and all configuration parameters are +// within their valid ranges. +WEBP_EXTERN(int) WebPValidateConfig(const WebPConfig* config); + +//------------------------------------------------------------------------------ +// Input / Output +// Structure for storing auxiliary statistics (mostly for lossy encoding). + +struct WebPAuxStats { + int coded_size; // final size + + float PSNR[5]; // peak-signal-to-noise ratio for Y/U/V/All/Alpha + int block_count[3]; // number of intra4/intra16/skipped macroblocks + int header_bytes[2]; // approximate number of bytes spent for header + // and mode-partition #0 + int residual_bytes[3][4]; // approximate number of bytes spent for + // DC/AC/uv coefficients for each (0..3) segments. + int segment_size[4]; // number of macroblocks in each segments + int segment_quant[4]; // quantizer values for each segments + int segment_level[4]; // filtering strength for each segments [0..63] + + int alpha_data_size; // size of the transparency data + int layer_data_size; // size of the enhancement layer data + + // lossless encoder statistics + uint32_t lossless_features; // bit0:predictor bit1:cross-color transform + // bit2:subtract-green bit3:color indexing + int histogram_bits; // number of precision bits of histogram + int transform_bits; // precision bits for transform + int cache_bits; // number of bits for color cache lookup + int palette_size; // number of color in palette, if used + int lossless_size; // final lossless size + int lossless_hdr_size; // lossless header (transform, huffman etc) size + int lossless_data_size; // lossless image data size + + uint32_t pad[2]; // padding for later use +}; + +// Signature for output function. Should return true if writing was successful. +// data/data_size is the segment of data to write, and 'picture' is for +// reference (and so one can make use of picture->custom_ptr). +typedef int (*WebPWriterFunction)(const uint8_t* data, size_t data_size, + const WebPPicture* picture); + +// WebPMemoryWrite: a special WebPWriterFunction that writes to memory using +// the following WebPMemoryWriter object (to be set as a custom_ptr). +struct WebPMemoryWriter { + uint8_t* mem; // final buffer (of size 'max_size', larger than 'size'). + size_t size; // final size + size_t max_size; // total capacity + uint32_t pad[1]; // padding for later use +}; + +// The following must be called first before any use. +WEBP_EXTERN(void) WebPMemoryWriterInit(WebPMemoryWriter* writer); + +// The following must be called to deallocate writer->mem memory. The 'writer' +// object itself is not deallocated. +WEBP_EXTERN(void) WebPMemoryWriterClear(WebPMemoryWriter* writer); +// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon +// completion, writer.mem and writer.size will hold the coded data. +// writer.mem must be freed by calling WebPMemoryWriterClear. +WEBP_EXTERN(int) WebPMemoryWrite(const uint8_t* data, size_t data_size, + const WebPPicture* picture); + +// Progress hook, called from time to time to report progress. It can return +// false to request an abort of the encoding process, or true otherwise if +// everything is OK. +typedef int (*WebPProgressHook)(int percent, const WebPPicture* picture); + +// Color spaces. +typedef enum WebPEncCSP { + // chroma sampling + WEBP_YUV420 = 0, // 4:2:0 + WEBP_YUV420A = 4, // alpha channel variant + WEBP_CSP_UV_MASK = 3, // bit-mask to get the UV sampling factors + WEBP_CSP_ALPHA_BIT = 4 // bit that is set if alpha is present +} WebPEncCSP; + +// Encoding error conditions. +typedef enum WebPEncodingError { + VP8_ENC_OK = 0, + VP8_ENC_ERROR_OUT_OF_MEMORY, // memory error allocating objects + VP8_ENC_ERROR_BITSTREAM_OUT_OF_MEMORY, // memory error while flushing bits + VP8_ENC_ERROR_NULL_PARAMETER, // a pointer parameter is NULL + VP8_ENC_ERROR_INVALID_CONFIGURATION, // configuration is invalid + VP8_ENC_ERROR_BAD_DIMENSION, // picture has invalid width/height + VP8_ENC_ERROR_PARTITION0_OVERFLOW, // partition is bigger than 512k + VP8_ENC_ERROR_PARTITION_OVERFLOW, // partition is bigger than 16M + VP8_ENC_ERROR_BAD_WRITE, // error while flushing bytes + VP8_ENC_ERROR_FILE_TOO_BIG, // file is bigger than 4G + VP8_ENC_ERROR_USER_ABORT, // abort request by user + VP8_ENC_ERROR_LAST // list terminator. always last. +} WebPEncodingError; + +// maximum width/height allowed (inclusive), in pixels +#define WEBP_MAX_DIMENSION 16383 + +// Main exchange structure (input samples, output bytes, statistics) +struct WebPPicture { + // INPUT + ////////////// + // Main flag for encoder selecting between ARGB or YUV input. + // It is recommended to use ARGB input (*argb, argb_stride) for lossless + // compression, and YUV input (*y, *u, *v, etc.) for lossy compression + // since these are the respective native colorspace for these formats. + int use_argb; + + // YUV input (mostly used for input to lossy compression) + WebPEncCSP colorspace; // colorspace: should be YUV420 for now (=Y'CbCr). + int width, height; // dimensions (less or equal to WEBP_MAX_DIMENSION) + uint8_t *y, *u, *v; // pointers to luma/chroma planes. + int y_stride, uv_stride; // luma/chroma strides. + uint8_t* a; // pointer to the alpha plane + int a_stride; // stride of the alpha plane + uint32_t pad1[2]; // padding for later use + + // ARGB input (mostly used for input to lossless compression) + uint32_t* argb; // Pointer to argb (32 bit) plane. + int argb_stride; // This is stride in pixels units, not bytes. + uint32_t pad2[3]; // padding for later use + + // OUTPUT + /////////////// + // Byte-emission hook, to store compressed bytes as they are ready. + WebPWriterFunction writer; // can be NULL + void* custom_ptr; // can be used by the writer. + + // map for extra information (only for lossy compression mode) + int extra_info_type; // 1: intra type, 2: segment, 3: quant + // 4: intra-16 prediction mode, + // 5: chroma prediction mode, + // 6: bit cost, 7: distortion + uint8_t* extra_info; // if not NULL, points to an array of size + // ((width + 15) / 16) * ((height + 15) / 16) that + // will be filled with a macroblock map, depending + // on extra_info_type. + + // STATS AND REPORTS + /////////////////////////// + // Pointer to side statistics (updated only if not NULL) + WebPAuxStats* stats; + + // Error code for the latest error encountered during encoding + WebPEncodingError error_code; + + // If not NULL, report progress during encoding. + WebPProgressHook progress_hook; + + void* user_data; // this field is free to be set to any value and + // used during callbacks (like progress-report e.g.). + + uint32_t pad3[3]; // padding for later use + + // Unused for now + uint8_t *pad4, *pad5; + uint32_t pad6[8]; // padding for later use + + // PRIVATE FIELDS + //////////////////// + void* memory_; // row chunk of memory for yuva planes + void* memory_argb_; // and for argb too. + void* pad7[2]; // padding for later use +}; + +// Internal, version-checked, entry point +WEBP_EXTERN(int) WebPPictureInitInternal(WebPPicture*, int); + +// Should always be called, to initialize the structure. Returns false in case +// of version mismatch. WebPPictureInit() must have succeeded before using the +// 'picture' object. +// Note that, by default, use_argb is false and colorspace is WEBP_YUV420. +static WEBP_INLINE int WebPPictureInit(WebPPicture* picture) { + return WebPPictureInitInternal(picture, WEBP_ENCODER_ABI_VERSION); +} + +//------------------------------------------------------------------------------ +// WebPPicture utils + +// Convenience allocation / deallocation based on picture->width/height: +// Allocate y/u/v buffers as per colorspace/width/height specification. +// Note! This function will free the previous buffer if needed. +// Returns false in case of memory error. +WEBP_EXTERN(int) WebPPictureAlloc(WebPPicture* picture); + +// Release the memory allocated by WebPPictureAlloc() or WebPPictureImport*(). +// Note that this function does _not_ free the memory used by the 'picture' +// object itself. +// Besides memory (which is reclaimed) all other fields of 'picture' are +// preserved. +WEBP_EXTERN(void) WebPPictureFree(WebPPicture* picture); + +// Copy the pixels of *src into *dst, using WebPPictureAlloc. Upon return, *dst +// will fully own the copied pixels (this is not a view). The 'dst' picture need +// not be initialized as its content is overwritten. +// Returns false in case of memory allocation error. +WEBP_EXTERN(int) WebPPictureCopy(const WebPPicture* src, WebPPicture* dst); + +// Compute PSNR, SSIM or LSIM distortion metric between two pictures. Results +// are in dB, stored in result[] in the Y/U/V/Alpha/All or B/G/R/A/All order. +// Returns false in case of error (src and ref don't have same dimension, ...) +// Warning: this function is rather CPU-intensive. +WEBP_EXTERN(int) WebPPictureDistortion( + const WebPPicture* src, const WebPPicture* ref, + int metric_type, // 0 = PSNR, 1 = SSIM, 2 = LSIM + float result[5]); + +// self-crops a picture to the rectangle defined by top/left/width/height. +// Returns false in case of memory allocation error, or if the rectangle is +// outside of the source picture. +// The rectangle for the view is defined by the top-left corner pixel +// coordinates (left, top) as well as its width and height. This rectangle +// must be fully be comprised inside the 'src' source picture. If the source +// picture uses the YUV420 colorspace, the top and left coordinates will be +// snapped to even values. +WEBP_EXTERN(int) WebPPictureCrop(WebPPicture* picture, + int left, int top, int width, int height); + +// Extracts a view from 'src' picture into 'dst'. The rectangle for the view +// is defined by the top-left corner pixel coordinates (left, top) as well +// as its width and height. This rectangle must be fully be comprised inside +// the 'src' source picture. If the source picture uses the YUV420 colorspace, +// the top and left coordinates will be snapped to even values. +// Picture 'src' must out-live 'dst' picture. Self-extraction of view is allowed +// ('src' equal to 'dst') as a mean of fast-cropping (but note that doing so, +// the original dimension will be lost). Picture 'dst' need not be initialized +// with WebPPictureInit() if it is different from 'src', since its content will +// be overwritten. +// Returns false in case of memory allocation error or invalid parameters. +WEBP_EXTERN(int) WebPPictureView(const WebPPicture* src, + int left, int top, int width, int height, + WebPPicture* dst); + +// Returns true if the 'picture' is actually a view and therefore does +// not own the memory for pixels. +WEBP_EXTERN(int) WebPPictureIsView(const WebPPicture* picture); + +// Rescale a picture to new dimension width x height. +// If either 'width' or 'height' (but not both) is 0 the corresponding +// dimension will be calculated preserving the aspect ratio. +// No gamma correction is applied. +// Returns false in case of error (invalid parameter or insufficient memory). +WEBP_EXTERN(int) WebPPictureRescale(WebPPicture* pic, int width, int height); + +// Colorspace conversion function to import RGB samples. +// Previous buffer will be free'd, if any. +// *rgb buffer should have a size of at least height * rgb_stride. +// Returns false in case of memory error. +WEBP_EXTERN(int) WebPPictureImportRGB( + WebPPicture* picture, const uint8_t* rgb, int rgb_stride); +// Same, but for RGBA buffer. +WEBP_EXTERN(int) WebPPictureImportRGBA( + WebPPicture* picture, const uint8_t* rgba, int rgba_stride); +// Same, but for RGBA buffer. Imports the RGB direct from the 32-bit format +// input buffer ignoring the alpha channel. Avoids needing to copy the data +// to a temporary 24-bit RGB buffer to import the RGB only. +WEBP_EXTERN(int) WebPPictureImportRGBX( + WebPPicture* picture, const uint8_t* rgbx, int rgbx_stride); + +// Variants of the above, but taking BGR(A|X) input. +WEBP_EXTERN(int) WebPPictureImportBGR( + WebPPicture* picture, const uint8_t* bgr, int bgr_stride); +WEBP_EXTERN(int) WebPPictureImportBGRA( + WebPPicture* picture, const uint8_t* bgra, int bgra_stride); +WEBP_EXTERN(int) WebPPictureImportBGRX( + WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); + +// Converts picture->argb data to the YUV420A format. The 'colorspace' +// parameter is deprecated and should be equal to WEBP_YUV420. +// Upon return, picture->use_argb is set to false. The presence of real +// non-opaque transparent values is detected, and 'colorspace' will be +// adjusted accordingly. Note that this method is lossy. +// Returns false in case of error. +WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, + WebPEncCSP /*colorspace = WEBP_YUV420*/); + +// Same as WebPPictureARGBToYUVA(), but the conversion is done using +// pseudo-random dithering with a strength 'dithering' between +// 0.0 (no dithering) and 1.0 (maximum dithering). This is useful +// for photographic picture. +WEBP_EXTERN(int) WebPPictureARGBToYUVADithered( + WebPPicture* picture, WebPEncCSP colorspace, float dithering); + +// Performs 'smart' RGBA->YUVA420 downsampling and colorspace conversion. +// Downsampling is handled with extra care in case of color clipping. This +// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better +// YUV representation. +// Returns false in case of error. +WEBP_EXTERN(int) WebPPictureSmartARGBToYUVA(WebPPicture* picture); + +// Converts picture->yuv to picture->argb and sets picture->use_argb to true. +// The input format must be YUV_420 or YUV_420A. +// Note that the use of this method is discouraged if one has access to the +// raw ARGB samples, since using YUV420 is comparatively lossy. Also, the +// conversion from YUV420 to ARGB incurs a small loss too. +// Returns false in case of error. +WEBP_EXTERN(int) WebPPictureYUVAToARGB(WebPPicture* picture); + +// Helper function: given a width x height plane of RGBA or YUV(A) samples +// clean-up the YUV or RGB samples under fully transparent area, to help +// compressibility (no guarantee, though). +WEBP_EXTERN(void) WebPCleanupTransparentArea(WebPPicture* picture); + +// Scan the picture 'picture' for the presence of non fully opaque alpha values. +// Returns true in such case. Otherwise returns false (indicating that the +// alpha plane can be ignored altogether e.g.). +WEBP_EXTERN(int) WebPPictureHasTransparency(const WebPPicture* picture); + +// Remove the transparency information (if present) by blending the color with +// the background color 'background_rgb' (specified as 24bit RGB triplet). +// After this call, all alpha values are reset to 0xff. +WEBP_EXTERN(void) WebPBlendAlpha(WebPPicture* pic, uint32_t background_rgb); + +//------------------------------------------------------------------------------ +// Main call + +// Main encoding call, after config and picture have been initialized. +// 'picture' must be less than 16384x16384 in dimension (cf WEBP_MAX_DIMENSION), +// and the 'config' object must be a valid one. +// Returns false in case of error, true otherwise. +// In case of error, picture->error_code is updated accordingly. +// 'picture' can hold the source samples in both YUV(A) or ARGB input, depending +// on the value of 'picture->use_argb'. It is highly recommended to use +// the former for lossy encoding, and the latter for lossless encoding +// (when config.lossless is true). Automatic conversion from one format to +// another is provided but they both incur some loss. +WEBP_EXTERN(int) WebPEncode(const WebPConfig* config, WebPPicture* picture); + +//------------------------------------------------------------------------------ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* WEBP_WEBP_ENCODE_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/extras.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/extras.h new file mode 100644 index 00000000..1c24be2e --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/extras.h @@ -0,0 +1,51 @@ +// Copyright 2015 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// + +#ifndef WEBP_WEBP_EXTRAS_H_ +#define WEBP_WEBP_EXTRAS_H_ + +#include "./types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./encode.h" + +#define WEBP_EXTRAS_ABI_VERSION 0x0000 // MAJOR(8b) + MINOR(8b) + +//------------------------------------------------------------------------------ + +// Returns the version number of the extras library, packed in hexadecimal using +// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. +WEBP_EXTERN(int) WebPGetExtrasVersion(void); + +//------------------------------------------------------------------------------ +// Ad-hoc colorspace importers. + +// Import luma sample (gray scale image) into 'picture'. The 'picture' +// width and height must be set prior to calling this function. +WEBP_EXTERN(int) WebPImportGray(const uint8_t* gray, WebPPicture* picture); + +// Import rgb sample in RGB565 packed format into 'picture'. The 'picture' +// width and height must be set prior to calling this function. +WEBP_EXTERN(int) WebPImportRGB565(const uint8_t* rgb565, WebPPicture* pic); + +// Import rgb sample in RGB4444 packed format into 'picture'. The 'picture' +// width and height must be set prior to calling this function. +WEBP_EXTERN(int) WebPImportRGB4444(const uint8_t* rgb4444, WebPPicture* pic); + +//------------------------------------------------------------------------------ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* WEBP_WEBP_EXTRAS_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/format_constants.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/format_constants.h new file mode 100644 index 00000000..b6e78a64 --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/format_constants.h @@ -0,0 +1,88 @@ +// Copyright 2012 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// Internal header for constants related to WebP file format. +// +// Author: Urvang (urvang@google.com) + +#ifndef WEBP_WEBP_FORMAT_CONSTANTS_H_ +#define WEBP_WEBP_FORMAT_CONSTANTS_H_ + +// Create fourcc of the chunk from the chunk tag characters. +#define MKFOURCC(a, b, c, d) ((a) | (b) << 8 | (c) << 16 | (uint32_t)(d) << 24) + +// VP8 related constants. +#define VP8_SIGNATURE 0x9d012a // Signature in VP8 data. +#define VP8_MAX_PARTITION0_SIZE (1 << 19) // max size of mode partition +#define VP8_MAX_PARTITION_SIZE (1 << 24) // max size for token partition +#define VP8_FRAME_HEADER_SIZE 10 // Size of the frame header within VP8 data. + +// VP8L related constants. +#define VP8L_SIGNATURE_SIZE 1 // VP8L signature size. +#define VP8L_MAGIC_BYTE 0x2f // VP8L signature byte. +#define VP8L_IMAGE_SIZE_BITS 14 // Number of bits used to store + // width and height. +#define VP8L_VERSION_BITS 3 // 3 bits reserved for version. +#define VP8L_VERSION 0 // version 0 +#define VP8L_FRAME_HEADER_SIZE 5 // Size of the VP8L frame header. + +#define MAX_PALETTE_SIZE 256 +#define MAX_CACHE_BITS 11 +#define HUFFMAN_CODES_PER_META_CODE 5 +#define ARGB_BLACK 0xff000000 + +#define DEFAULT_CODE_LENGTH 8 +#define MAX_ALLOWED_CODE_LENGTH 15 + +#define NUM_LITERAL_CODES 256 +#define NUM_LENGTH_CODES 24 +#define NUM_DISTANCE_CODES 40 +#define CODE_LENGTH_CODES 19 + +#define MIN_HUFFMAN_BITS 2 // min number of Huffman bits +#define MAX_HUFFMAN_BITS 9 // max number of Huffman bits + +#define TRANSFORM_PRESENT 1 // The bit to be written when next data + // to be read is a transform. +#define NUM_TRANSFORMS 4 // Maximum number of allowed transform + // in a bitstream. +typedef enum { + PREDICTOR_TRANSFORM = 0, + CROSS_COLOR_TRANSFORM = 1, + SUBTRACT_GREEN = 2, + COLOR_INDEXING_TRANSFORM = 3 +} VP8LImageTransformType; + +// Alpha related constants. +#define ALPHA_HEADER_LEN 1 +#define ALPHA_NO_COMPRESSION 0 +#define ALPHA_LOSSLESS_COMPRESSION 1 +#define ALPHA_PREPROCESSED_LEVELS 1 + +// Mux related constants. +#define TAG_SIZE 4 // Size of a chunk tag (e.g. "VP8L"). +#define CHUNK_SIZE_BYTES 4 // Size needed to store chunk's size. +#define CHUNK_HEADER_SIZE 8 // Size of a chunk header. +#define RIFF_HEADER_SIZE 12 // Size of the RIFF header ("RIFFnnnnWEBP"). +#define ANMF_CHUNK_SIZE 16 // Size of an ANMF chunk. +#define ANIM_CHUNK_SIZE 6 // Size of an ANIM chunk. +#define FRGM_CHUNK_SIZE 6 // Size of a FRGM chunk. +#define VP8X_CHUNK_SIZE 10 // Size of a VP8X chunk. + +#define MAX_CANVAS_SIZE (1 << 24) // 24-bit max for VP8X width/height. +#define MAX_IMAGE_AREA (1ULL << 32) // 32-bit max for width x height. +#define MAX_LOOP_COUNT (1 << 16) // maximum value for loop-count +#define MAX_DURATION (1 << 24) // maximum duration +#define MAX_POSITION_OFFSET (1 << 24) // maximum frame/fragment x/y offset + +// Maximum chunk payload is such that adding the header and padding won't +// overflow a uint32_t. +#define MAX_CHUNK_PAYLOAD (~0U - CHUNK_HEADER_SIZE - 1) + +#endif /* WEBP_WEBP_FORMAT_CONSTANTS_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux.h new file mode 100644 index 00000000..b72658c7 --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux.h @@ -0,0 +1,530 @@ +// Copyright 2011 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// RIFF container manipulation and encoding for WebP images. +// +// Authors: Urvang (urvang@google.com) +// Vikas (vikasa@google.com) + +#ifndef WEBP_WEBP_MUX_H_ +#define WEBP_WEBP_MUX_H_ + +#include "./mux_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define WEBP_MUX_ABI_VERSION 0x0106 // MAJOR(8b) + MINOR(8b) + +//------------------------------------------------------------------------------ +// Mux API +// +// This API allows manipulation of WebP container images containing features +// like color profile, metadata, animation and fragmented images. +// +// Code Example#1: Create a WebPMux object with image data, color profile and +// XMP metadata. +/* + int copy_data = 0; + WebPMux* mux = WebPMuxNew(); + // ... (Prepare image data). + WebPMuxSetImage(mux, &image, copy_data); + // ... (Prepare ICCP color profile data). + WebPMuxSetChunk(mux, "ICCP", &icc_profile, copy_data); + // ... (Prepare XMP metadata). + WebPMuxSetChunk(mux, "XMP ", &xmp, copy_data); + // Get data from mux in WebP RIFF format. + WebPMuxAssemble(mux, &output_data); + WebPMuxDelete(mux); + // ... (Consume output_data; e.g. write output_data.bytes to file). + WebPDataClear(&output_data); +*/ + +// Code Example#2: Get image and color profile data from a WebP file. +/* + int copy_data = 0; + // ... (Read data from file). + WebPMux* mux = WebPMuxCreate(&data, copy_data); + WebPMuxGetFrame(mux, 1, &image); + // ... (Consume image; e.g. call WebPDecode() to decode the data). + WebPMuxGetChunk(mux, "ICCP", &icc_profile); + // ... (Consume icc_data). + WebPMuxDelete(mux); + free(data); +*/ + +// Note: forward declaring enumerations is not allowed in (strict) C and C++, +// the types are left here for reference. +// typedef enum WebPMuxError WebPMuxError; +// typedef enum WebPChunkId WebPChunkId; +typedef struct WebPMux WebPMux; // main opaque object. +typedef struct WebPMuxFrameInfo WebPMuxFrameInfo; +typedef struct WebPMuxAnimParams WebPMuxAnimParams; +typedef struct WebPAnimEncoderOptions WebPAnimEncoderOptions; + +// Error codes +typedef enum WebPMuxError { + WEBP_MUX_OK = 1, + WEBP_MUX_NOT_FOUND = 0, + WEBP_MUX_INVALID_ARGUMENT = -1, + WEBP_MUX_BAD_DATA = -2, + WEBP_MUX_MEMORY_ERROR = -3, + WEBP_MUX_NOT_ENOUGH_DATA = -4 +} WebPMuxError; + +// IDs for different types of chunks. +typedef enum WebPChunkId { + WEBP_CHUNK_VP8X, // VP8X + WEBP_CHUNK_ICCP, // ICCP + WEBP_CHUNK_ANIM, // ANIM + WEBP_CHUNK_ANMF, // ANMF + WEBP_CHUNK_FRGM, // FRGM + WEBP_CHUNK_ALPHA, // ALPH + WEBP_CHUNK_IMAGE, // VP8/VP8L + WEBP_CHUNK_EXIF, // EXIF + WEBP_CHUNK_XMP, // XMP + WEBP_CHUNK_UNKNOWN, // Other chunks. + WEBP_CHUNK_NIL +} WebPChunkId; + +//------------------------------------------------------------------------------ + +// Returns the version number of the mux library, packed in hexadecimal using +// 8bits for each of major/minor/revision. E.g: v2.5.7 is 0x020507. +WEBP_EXTERN(int) WebPGetMuxVersion(void); + +//------------------------------------------------------------------------------ +// Life of a Mux object + +// Internal, version-checked, entry point +WEBP_EXTERN(WebPMux*) WebPNewInternal(int); + +// Creates an empty mux object. +// Returns: +// A pointer to the newly created empty mux object. +// Or NULL in case of memory error. +static WEBP_INLINE WebPMux* WebPMuxNew(void) { + return WebPNewInternal(WEBP_MUX_ABI_VERSION); +} + +// Deletes the mux object. +// Parameters: +// mux - (in/out) object to be deleted +WEBP_EXTERN(void) WebPMuxDelete(WebPMux* mux); + +//------------------------------------------------------------------------------ +// Mux creation. + +// Internal, version-checked, entry point +WEBP_EXTERN(WebPMux*) WebPMuxCreateInternal(const WebPData*, int, int); + +// Creates a mux object from raw data given in WebP RIFF format. +// Parameters: +// bitstream - (in) the bitstream data in WebP RIFF format +// copy_data - (in) value 1 indicates given data WILL be copied to the mux +// object and value 0 indicates data will NOT be copied. +// Returns: +// A pointer to the mux object created from given data - on success. +// NULL - In case of invalid data or memory error. +static WEBP_INLINE WebPMux* WebPMuxCreate(const WebPData* bitstream, + int copy_data) { + return WebPMuxCreateInternal(bitstream, copy_data, WEBP_MUX_ABI_VERSION); +} + +//------------------------------------------------------------------------------ +// Non-image chunks. + +// Note: Only non-image related chunks should be managed through chunk APIs. +// (Image related chunks are: "ANMF", "FRGM", "VP8 ", "VP8L" and "ALPH"). +// To add, get and delete images, use WebPMuxSetImage(), WebPMuxPushFrame(), +// WebPMuxGetFrame() and WebPMuxDeleteFrame(). + +// Adds a chunk with id 'fourcc' and data 'chunk_data' in the mux object. +// Any existing chunk(s) with the same id will be removed. +// Parameters: +// mux - (in/out) object to which the chunk is to be added +// fourcc - (in) a character array containing the fourcc of the given chunk; +// e.g., "ICCP", "XMP ", "EXIF" etc. +// chunk_data - (in) the chunk data to be added +// copy_data - (in) value 1 indicates given data WILL be copied to the mux +// object and value 0 indicates data will NOT be copied. +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL +// or if fourcc corresponds to an image chunk. +// WEBP_MUX_MEMORY_ERROR - on memory allocation error. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxSetChunk( + WebPMux* mux, const char fourcc[4], const WebPData* chunk_data, + int copy_data); + +// Gets a reference to the data of the chunk with id 'fourcc' in the mux object. +// The caller should NOT free the returned data. +// Parameters: +// mux - (in) object from which the chunk data is to be fetched +// fourcc - (in) a character array containing the fourcc of the chunk; +// e.g., "ICCP", "XMP ", "EXIF" etc. +// chunk_data - (out) returned chunk data +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux, fourcc or chunk_data is NULL +// or if fourcc corresponds to an image chunk. +// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given id. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxGetChunk( + const WebPMux* mux, const char fourcc[4], WebPData* chunk_data); + +// Deletes the chunk with the given 'fourcc' from the mux object. +// Parameters: +// mux - (in/out) object from which the chunk is to be deleted +// fourcc - (in) a character array containing the fourcc of the chunk; +// e.g., "ICCP", "XMP ", "EXIF" etc. +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux or fourcc is NULL +// or if fourcc corresponds to an image chunk. +// WEBP_MUX_NOT_FOUND - If mux does not contain a chunk with the given fourcc. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxDeleteChunk( + WebPMux* mux, const char fourcc[4]); + +//------------------------------------------------------------------------------ +// Images. + +// Encapsulates data about a single frame/fragment. +struct WebPMuxFrameInfo { + WebPData bitstream; // image data: can be a raw VP8/VP8L bitstream + // or a single-image WebP file. + int x_offset; // x-offset of the frame. + int y_offset; // y-offset of the frame. + int duration; // duration of the frame (in milliseconds). + + WebPChunkId id; // frame type: should be one of WEBP_CHUNK_ANMF, + // WEBP_CHUNK_FRGM or WEBP_CHUNK_IMAGE + WebPMuxAnimDispose dispose_method; // Disposal method for the frame. + WebPMuxAnimBlend blend_method; // Blend operation for the frame. + uint32_t pad[1]; // padding for later use +}; + +// Sets the (non-animated and non-fragmented) image in the mux object. +// Note: Any existing images (including frames/fragments) will be removed. +// Parameters: +// mux - (in/out) object in which the image is to be set +// bitstream - (in) can be a raw VP8/VP8L bitstream or a single-image +// WebP file (non-animated and non-fragmented) +// copy_data - (in) value 1 indicates given data WILL be copied to the mux +// object and value 0 indicates data will NOT be copied. +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL or bitstream is NULL. +// WEBP_MUX_MEMORY_ERROR - on memory allocation error. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxSetImage( + WebPMux* mux, const WebPData* bitstream, int copy_data); + +// Adds a frame at the end of the mux object. +// Notes: (1) frame.id should be one of WEBP_CHUNK_ANMF or WEBP_CHUNK_FRGM +// (2) For setting a non-animated non-fragmented image, use +// WebPMuxSetImage() instead. +// (3) Type of frame being pushed must be same as the frames in mux. +// (4) As WebP only supports even offsets, any odd offset will be snapped +// to an even location using: offset &= ~1 +// Parameters: +// mux - (in/out) object to which the frame is to be added +// frame - (in) frame data. +// copy_data - (in) value 1 indicates given data WILL be copied to the mux +// object and value 0 indicates data will NOT be copied. +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL +// or if content of 'frame' is invalid. +// WEBP_MUX_MEMORY_ERROR - on memory allocation error. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxPushFrame( + WebPMux* mux, const WebPMuxFrameInfo* frame, int copy_data); + +// Gets the nth frame from the mux object. +// The content of 'frame->bitstream' is allocated using malloc(), and NOT +// owned by the 'mux' object. It MUST be deallocated by the caller by calling +// WebPDataClear(). +// nth=0 has a special meaning - last position. +// Parameters: +// mux - (in) object from which the info is to be fetched +// nth - (in) index of the frame in the mux object +// frame - (out) data of the returned frame +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux or frame is NULL. +// WEBP_MUX_NOT_FOUND - if there are less than nth frames in the mux object. +// WEBP_MUX_BAD_DATA - if nth frame chunk in mux is invalid. +// WEBP_MUX_MEMORY_ERROR - on memory allocation error. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxGetFrame( + const WebPMux* mux, uint32_t nth, WebPMuxFrameInfo* frame); + +// Deletes a frame from the mux object. +// nth=0 has a special meaning - last position. +// Parameters: +// mux - (in/out) object from which a frame is to be deleted +// nth - (in) The position from which the frame is to be deleted +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL. +// WEBP_MUX_NOT_FOUND - If there are less than nth frames in the mux object +// before deletion. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxDeleteFrame(WebPMux* mux, uint32_t nth); + +//------------------------------------------------------------------------------ +// Animation. + +// Animation parameters. +struct WebPMuxAnimParams { + uint32_t bgcolor; // Background color of the canvas stored (in MSB order) as: + // Bits 00 to 07: Alpha. + // Bits 08 to 15: Red. + // Bits 16 to 23: Green. + // Bits 24 to 31: Blue. + int loop_count; // Number of times to repeat the animation [0 = infinite]. +}; + +// Sets the animation parameters in the mux object. Any existing ANIM chunks +// will be removed. +// Parameters: +// mux - (in/out) object in which ANIM chunk is to be set/added +// params - (in) animation parameters. +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. +// WEBP_MUX_MEMORY_ERROR - on memory allocation error. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxSetAnimationParams( + WebPMux* mux, const WebPMuxAnimParams* params); + +// Gets the animation parameters from the mux object. +// Parameters: +// mux - (in) object from which the animation parameters to be fetched +// params - (out) animation parameters extracted from the ANIM chunk +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux or params is NULL. +// WEBP_MUX_NOT_FOUND - if ANIM chunk is not present in mux object. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxGetAnimationParams( + const WebPMux* mux, WebPMuxAnimParams* params); + +//------------------------------------------------------------------------------ +// Misc Utilities. + +// Sets the canvas size for the mux object. The width and height can be +// specified explicitly or left as zero (0, 0). +// * When width and height are specified explicitly, then this frame bound is +// enforced during subsequent calls to WebPMuxAssemble() and an error is +// reported if any animated frame does not completely fit within the canvas. +// * When unspecified (0, 0), the constructed canvas will get the frame bounds +// from the bounding-box over all frames after calling WebPMuxAssemble(). +// Parameters: +// mux - (in) object to which the canvas size is to be set +// width - (in) canvas width +// height - (in) canvas height +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux is NULL; or +// width or height are invalid or out of bounds +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxSetCanvasSize(WebPMux* mux, + int width, int height); + +// Gets the canvas size from the mux object. +// Note: This method assumes that the VP8X chunk, if present, is up-to-date. +// That is, the mux object hasn't been modified since the last call to +// WebPMuxAssemble() or WebPMuxCreate(). +// Parameters: +// mux - (in) object from which the canvas size is to be fetched +// width - (out) canvas width +// height - (out) canvas height +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux, width or height is NULL. +// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxGetCanvasSize(const WebPMux* mux, + int* width, int* height); + +// Gets the feature flags from the mux object. +// Note: This method assumes that the VP8X chunk, if present, is up-to-date. +// That is, the mux object hasn't been modified since the last call to +// WebPMuxAssemble() or WebPMuxCreate(). +// Parameters: +// mux - (in) object from which the features are to be fetched +// flags - (out) the flags specifying which features are present in the +// mux object. This will be an OR of various flag values. +// Enum 'WebPFeatureFlags' can be used to test individual flag values. +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux or flags is NULL. +// WEBP_MUX_BAD_DATA - if VP8X/VP8/VP8L chunk or canvas size is invalid. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxGetFeatures(const WebPMux* mux, + uint32_t* flags); + +// Gets number of chunks with the given 'id' in the mux object. +// Parameters: +// mux - (in) object from which the info is to be fetched +// id - (in) chunk id specifying the type of chunk +// num_elements - (out) number of chunks with the given chunk id +// Returns: +// WEBP_MUX_INVALID_ARGUMENT - if mux, or num_elements is NULL. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxNumChunks(const WebPMux* mux, + WebPChunkId id, int* num_elements); + +// Assembles all chunks in WebP RIFF format and returns in 'assembled_data'. +// This function also validates the mux object. +// Note: The content of 'assembled_data' will be ignored and overwritten. +// Also, the content of 'assembled_data' is allocated using malloc(), and NOT +// owned by the 'mux' object. It MUST be deallocated by the caller by calling +// WebPDataClear(). It's always safe to call WebPDataClear() upon return, +// even in case of error. +// Parameters: +// mux - (in/out) object whose chunks are to be assembled +// assembled_data - (out) assembled WebP data +// Returns: +// WEBP_MUX_BAD_DATA - if mux object is invalid. +// WEBP_MUX_INVALID_ARGUMENT - if mux or assembled_data is NULL. +// WEBP_MUX_MEMORY_ERROR - on memory allocation error. +// WEBP_MUX_OK - on success. +WEBP_EXTERN(WebPMuxError) WebPMuxAssemble(WebPMux* mux, + WebPData* assembled_data); + +//------------------------------------------------------------------------------ +// WebPAnimEncoder API +// +// This API allows encoding (possibly) animated WebP images. +// +// Code Example: +/* + WebPAnimEncoderOptions enc_options; + WebPAnimEncoderOptionsInit(&enc_options); + // Tune 'enc_options' as needed. + WebPAnimEncoder* enc = WebPAnimEncoderNew(width, height, &enc_options); + while() { + WebPConfig config; + WebPConfigInit(&config); + // Tune 'config' as needed. + WebPAnimEncoderAdd(enc, frame, timestamp_ms, &config); + } + WebPAnimEncoderAdd(enc, NULL, timestamp_ms, NULL); + WebPAnimEncoderAssemble(enc, webp_data); + WebPAnimEncoderDelete(enc); + // Write the 'webp_data' to a file, or re-mux it further. +*/ + +typedef struct WebPAnimEncoder WebPAnimEncoder; // Main opaque object. + +// Forward declarations. Defined in encode.h. +struct WebPPicture; +struct WebPConfig; + +// Global options. +struct WebPAnimEncoderOptions { + WebPMuxAnimParams anim_params; // Animation parameters. + int minimize_size; // If true, minimize the output size (slow). Implicitly + // disables key-frame insertion. + int kmin; + int kmax; // Minimum and maximum distance between consecutive key + // frames in the output. The library may insert some key + // frames as needed to satisfy this criteria. + // Note that these conditions should hold: kmax > kmin + // and kmin >= kmax / 2 + 1. Also, if kmin == 0, then + // key-frame insertion is disabled; and if kmax == 0, + // then all frames will be key-frames. + int allow_mixed; // If true, use mixed compression mode; may choose + // either lossy and lossless for each frame. + int verbose; // If true, print info and warning messages to stderr. + + uint32_t padding[4]; // Padding for later use. +}; + +// Internal, version-checked, entry point. +WEBP_EXTERN(int) WebPAnimEncoderOptionsInitInternal( + WebPAnimEncoderOptions*, int); + +// Should always be called, to initialize a fresh WebPAnimEncoderOptions +// structure before modification. Returns false in case of version mismatch. +// WebPAnimEncoderOptionsInit() must have succeeded before using the +// 'enc_options' object. +static WEBP_INLINE int WebPAnimEncoderOptionsInit( + WebPAnimEncoderOptions* enc_options) { + return WebPAnimEncoderOptionsInitInternal(enc_options, WEBP_MUX_ABI_VERSION); +} + +// Internal, version-checked, entry point. +WEBP_EXTERN(WebPAnimEncoder*) WebPAnimEncoderNewInternal( + int, int, const WebPAnimEncoderOptions*, int); + +// Creates and initializes a WebPAnimEncoder object. +// Parameters: +// width/height - (in) canvas width and height of the animation. +// enc_options - (in) encoding options; can be passed NULL to pick +// reasonable defaults. +// Returns: +// A pointer to the newly created WebPAnimEncoder object. +// Or NULL in case of memory error. +static WEBP_INLINE WebPAnimEncoder* WebPAnimEncoderNew( + int width, int height, const WebPAnimEncoderOptions* enc_options) { + return WebPAnimEncoderNewInternal(width, height, enc_options, + WEBP_MUX_ABI_VERSION); +} + +// Optimize the given frame for WebP, encode it and add it to the +// WebPAnimEncoder object. +// The last call to 'WebPAnimEncoderAdd' should be with frame = NULL, which +// indicates that no more frames are to be added. This call is also used to +// determine the duration of the last frame. +// Parameters: +// enc - (in/out) object to which the frame is to be added. +// frame - (in/out) frame data in ARGB or YUV(A) format. If it is in YUV(A) +// format, it will be converted to ARGB, which incurs a small loss. +// timestamp_ms - (in) timestamp of this frame in milliseconds. +// Duration of a frame would be calculated as +// "timestamp of next frame - timestamp of this frame". +// Hence, timestamps should be in non-decreasing order. +// config - (in) encoding options; can be passed NULL to pick +// reasonable defaults. +// Returns: +// On error, returns false and frame->error_code is set appropriately. +// Otherwise, returns true. +WEBP_EXTERN(int) WebPAnimEncoderAdd( + WebPAnimEncoder* enc, struct WebPPicture* frame, int timestamp_ms, + const struct WebPConfig* config); + +// Assemble all frames added so far into a WebP bitstream. +// This call should be preceded by a call to 'WebPAnimEncoderAdd' with +// frame = NULL; if not, the duration of the last frame will be internally +// estimated. +// Parameters: +// enc - (in/out) object from which the frames are to be assembled. +// webp_data - (out) generated WebP bitstream. +// Returns: +// True on success. +WEBP_EXTERN(int) WebPAnimEncoderAssemble(WebPAnimEncoder* enc, + WebPData* webp_data); + +// Get error string corresponding to the most recent call using 'enc'. The +// returned string is owned by 'enc' and is valid only until the next call to +// WebPAnimEncoderAdd() or WebPAnimEncoderAssemble() or WebPAnimEncoderDelete(). +// Parameters: +// enc - (in/out) object from which the error string is to be fetched. +// Returns: +// NULL if 'enc' is NULL. Otherwise, returns the error string if the last call +// to 'enc' had an error, or an empty string if the last call was a success. +WEBP_EXTERN(const char*) WebPAnimEncoderGetError(WebPAnimEncoder* enc); + +// Deletes the WebPAnimEncoder object. +// Parameters: +// enc - (in/out) object to be deleted +WEBP_EXTERN(void) WebPAnimEncoderDelete(WebPAnimEncoder* enc); + +//------------------------------------------------------------------------------ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* WEBP_WEBP_MUX_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux_types.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux_types.h new file mode 100644 index 00000000..c94043a3 --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/mux_types.h @@ -0,0 +1,97 @@ +// Copyright 2012 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// Data-types common to the mux and demux libraries. +// +// Author: Urvang (urvang@google.com) + +#ifndef WEBP_WEBP_MUX_TYPES_H_ +#define WEBP_WEBP_MUX_TYPES_H_ + +#include // free() +#include // memset() +#include "./types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Note: forward declaring enumerations is not allowed in (strict) C and C++, +// the types are left here for reference. +// typedef enum WebPFeatureFlags WebPFeatureFlags; +// typedef enum WebPMuxAnimDispose WebPMuxAnimDispose; +// typedef enum WebPMuxAnimBlend WebPMuxAnimBlend; +typedef struct WebPData WebPData; + +// VP8X Feature Flags. +typedef enum WebPFeatureFlags { + FRAGMENTS_FLAG = 0x00000001, + ANIMATION_FLAG = 0x00000002, + XMP_FLAG = 0x00000004, + EXIF_FLAG = 0x00000008, + ALPHA_FLAG = 0x00000010, + ICCP_FLAG = 0x00000020 +} WebPFeatureFlags; + +// Dispose method (animation only). Indicates how the area used by the current +// frame is to be treated before rendering the next frame on the canvas. +typedef enum WebPMuxAnimDispose { + WEBP_MUX_DISPOSE_NONE, // Do not dispose. + WEBP_MUX_DISPOSE_BACKGROUND // Dispose to background color. +} WebPMuxAnimDispose; + +// Blend operation (animation only). Indicates how transparent pixels of the +// current frame are blended with those of the previous canvas. +typedef enum WebPMuxAnimBlend { + WEBP_MUX_BLEND, // Blend. + WEBP_MUX_NO_BLEND // Do not blend. +} WebPMuxAnimBlend; + +// Data type used to describe 'raw' data, e.g., chunk data +// (ICC profile, metadata) and WebP compressed image data. +struct WebPData { + const uint8_t* bytes; + size_t size; +}; + +// Initializes the contents of the 'webp_data' object with default values. +static WEBP_INLINE void WebPDataInit(WebPData* webp_data) { + if (webp_data != NULL) { + memset(webp_data, 0, sizeof(*webp_data)); + } +} + +// Clears the contents of the 'webp_data' object by calling free(). Does not +// deallocate the object itself. +static WEBP_INLINE void WebPDataClear(WebPData* webp_data) { + if (webp_data != NULL) { + free((void*)webp_data->bytes); + WebPDataInit(webp_data); + } +} + +// Allocates necessary storage for 'dst' and copies the contents of 'src'. +// Returns true on success. +static WEBP_INLINE int WebPDataCopy(const WebPData* src, WebPData* dst) { + if (src == NULL || dst == NULL) return 0; + WebPDataInit(dst); + if (src->bytes != NULL && src->size != 0) { + dst->bytes = (uint8_t*)malloc(src->size); + if (dst->bytes == NULL) return 0; + memcpy((void*)dst->bytes, src->bytes, src->size); + dst->size = src->size; + } + return 1; +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* WEBP_WEBP_MUX_TYPES_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/Headers/types.h b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/types.h new file mode 100644 index 00000000..98fff35a --- /dev/null +++ b/Example/Pods/YYImage/Vendor/WebP.framework/Headers/types.h @@ -0,0 +1,52 @@ +// Copyright 2010 Google Inc. All Rights Reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the COPYING file in the root of the source +// tree. An additional intellectual property rights grant can be found +// in the file PATENTS. All contributing project authors may +// be found in the AUTHORS file in the root of the source tree. +// ----------------------------------------------------------------------------- +// +// Common types +// +// Author: Skal (pascal.massimino@gmail.com) + +#ifndef WEBP_WEBP_TYPES_H_ +#define WEBP_WEBP_TYPES_H_ + +#include // for size_t + +#ifndef _MSC_VER +#include +#if defined(__cplusplus) || !defined(__STRICT_ANSI__) || \ + (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) +#define WEBP_INLINE inline +#else +#define WEBP_INLINE +#endif +#else +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +typedef unsigned long long int uint64_t; +typedef long long int int64_t; +#define WEBP_INLINE __forceinline +#endif /* _MSC_VER */ + +#ifndef WEBP_EXTERN +// This explicitly marks library functions and allows for changing the +// signature for e.g., Windows DLL builds. +# if defined(__GNUC__) && __GNUC__ >= 4 +# define WEBP_EXTERN(type) extern __attribute__ ((visibility ("default"))) type +# else +# define WEBP_EXTERN(type) extern type +# endif /* __GNUC__ >= 4 */ +#endif /* WEBP_EXTERN */ + +// Macro to check ABI compatibility (same major revision number) +#define WEBP_ABI_IS_INCOMPATIBLE(a, b) (((a) >> 8) != ((b) >> 8)) + +#endif /* WEBP_WEBP_TYPES_H_ */ diff --git a/Example/Pods/YYImage/Vendor/WebP.framework/WebP b/Example/Pods/YYImage/Vendor/WebP.framework/WebP new file mode 100644 index 0000000000000000000000000000000000000000..5d88df8bd8e478f4314886f18cb0bbcf4b55f39a GIT binary patch literal 9090968 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 z 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±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
bkUIQPqfzt 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%0A`5+Fta~^ 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
<_#vrS&*RD{XOL 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 xB4xO>)!VGJB3495q)o-E=V|*` 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�+Y||<_xQc|B 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%0Db6BnK?Pg9N;J*fTQnB8xf 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
    Ktt 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 &M68%)B=vJedc0 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 z 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%0DEEnaPBt}a4v-3M$B?1y~F!oRKV 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�-M17rU~3n;Zjo=X>!C@Vg{s{7o} zYcG9MC)l(jn$kabw`DCz%F1x;#q#re&b?TwnBES}&G~1S{nfd)>&o|c*_>;;Ua|I3 zIekAaBcr4fsU9wbsq6)(uN{8Dsk%A;Yp#Xv+`r}u;lAC@nr_E-J1@WF^WC^FFQMNv zA@9g$zbW-+4MXH#f<0|0@|U^qW<&J*$3O7%@xb|tG~ym-(Eo^PjE%e_BQVM#LSzdzhtm3_)B1Oy1lnK%bqj`4Dx3fl17K~miPu!Ft zqs!yUGkQ`!o~QhCtp5$V&yDe==j>bKzk48$IGXX@GfmdUKXLvt+1E0OXHHhC!ab{K zDSH|3cvcUjU_Zq+FJVa6$1Av^s$lzTs_qE<)Te@7KKSr9!P9!h;nuimU)iP2cF)fE zwTJkJGCET}9`N2|OE948(~W|rNO4eS#Gmgz7vB`ZcqI2LRPH_O<-&^x(ki_bmDdE* zZ@hFC=hOf4(xj$c>kbc+>d)Yp+HC7>&`-7|CF^~MI8Es(=~p(i!IpZ8$}MzJX_!%x6L4YF=8e}KRQ9@c74j* zhzp2{vPL(q4S%75Y-JNrW~+2k<4vj>>VsvDgagzsrMg(YHATJ`^R30k8kl~vn1mKb zRG%q-D1R@i@&0piiSOuNo6OK09v*Q8`HOWqi?9Oi%G}Jt@o^d*gyI%2Uy(3UGE#!Y zEy`V75Vt&Y2^N>Nc!eet?&ahZ=Eg186|7#i0*foq8=JB_My(rcDhrY*C#pM>ICeF5z?`-u=?Ez7*?5p)uJ#;AB8W+ zJMvdnV)fVKF|0j)Fn<(Y0w-h&V5_4`r;87Ry1OeP85C+HE9*l>=0U`&TT&HUv=AiSA z(_I5DDu>qTraG@rcDiLD4mz=LtiCb?!-_)&=|tfRK@K`o|A5tB4gx*}4d#!+S~wA% zQfIuI5KjTuCb`8!;aNi*bSRx}Jh+IT(N4D^z;S=C)2#p(-Cyl=v-})%hR0y_OJLdT z1%88cqVQoK2c0>8!s?IuVAuhlK{`=*GMtFc0B1a}I(U!Zny*_t6pjRDA$|oqT^6{A zj$gbS?gntt{X(ZZ*LgkF>2BjX=(LT2_lOJi${nN=g)gujbWUx+>aVhapX@<8QCJNp zqBGGM?+(P91lQu-;-RpV<)9

    k6ckHcb9I!C|26xcJUSHgDNK9iKB7@8!B3N5TB~h(o96bp1OXldIgmMhG zU?gwBXt`};*sA0PIo0;=3T-C?(7G<+#A!TgK@#;wg4`;vO&a{7&v%&3DkmFjlMtS; zKf7qv*(3kBKi|V3kyCe{69CzufyE|7<6U;0{72Bzzd8~t1gD)Ih_>&w z$irZM@<8KdL?~fy_SuU8&3K07CyP{A2$ETe^1MXPO;|S9fDv+kcSDMU!1g4tO4LtQ zsol3xA12}6n-3+h9$FXzdF^Sje3&Bwv~cZdU-?G4$F^FqP=EqJ1ww*Ga}-GbhE?{Kqq-VqM+ z98n+j5+f!#2%a>F(!hME#)oDD)p@u$KjF^{o|}C3dT+t%kfZdS`8z2y6wX}dr+;x@7|QBF}(aB*LziGKc#%1juu>w*gR#fz-#nw}!|8nKD2QYpg@W zn<9T~SF$$Be+9n8+K5-4pj~msj#i&-pc9y50o!4Zd?6R)Nw^4kCdtP^E|kZWgZ>JQ zL8oL*M0W1BDml`q@}%1r9J40Ly|?ZLn zDDe74Yzs(gwO7f<@=B0wq?=uB=sQY90jf|YBY!U@0;|0UtacMhgZ;$-uPgHWzJ4KS z0Xb5HN&w3p?&6Hb3tl_0UY@s-pDZO_&vIF8Ff&lcI7mX653uSTn0PYugb8v9AN1!1 zyc^T_`o+_S9C&~75X9qtn1Qd})Joa+HOvUVlApYfaoSEI`Zqm9^tV04x`oQ`{@!UX zxIPcRwHrF-lhl9rSsKA-3EmpaV=sH(NbnrKe(~c&Z;&-p)E)lW*iL`tZsgUgKwiBw zEFY)8((6C?D?N_8yn1Uoy?V!8wmXc(ahF$!2Obc%pU2)Et(+e0eLGsY{gGG5-RTwL zBabEW3atUJ9(eZNdG%hunEMcUy}Ua-mhZe?$osL!=@t6qt;ezqc};{W@TlBw-8~u2 z^0VzBtS?)4?V~$AK%=#5Tbaj^W(tJq7)Wfk}-e|nhwBpY)fftDRA2k&J&crUj_W*dee4>AWl$y)jQeq@&y8I9BH7x({o zpBA%VPB+i#;mqin@#y=A`QWjfYY*;OVW0l+cI&hOZT6JeIY1jkliRIRJG^D+vy|oX zhBBSrGL(! z7@L{Y;s@jJ-akYhYbVwq?-&Ot#RUrTk!Oqr9xd?N)C>S`*f6ENh?QYq+q19z>utAN zdw_Rr-GEH{SHqB(cAO5kwU8kRnV_87Wjj}J7yj>4!FzZ2g?9InaaMK1->-! zhnZLl;J?D2)ebhoahK1F^89cLqVH!w&rmtyhI1feUcV6k;ce`)qk|v%QbL2BG|EIY z!fv%PhgH}|9`6s{#CLw6|E{0scI#Oo%8g2K(vjuDpvvC(-kOI8`2Tl-zsltFS3R{i zIxP$|A5KT;Vp3o}isQrjPRZ|!2l!KVav zyqFRO>j7cvC-;%R6+@DvNa*tgtn9G7wpPImwWF7Qu9cnteJ^XIsF(jh$=jZN*sIU} zL$C7w(W^!O%U*%SfiyqzXb5kB^?`bfdW-zX$Ty1aC;h>|aT%INQmkPV=^u=Ah77l% zzSn@p7l71m)w+DAUM{IkMgG%;;FtUq{E}YaKlOn2qt&UQfY_AxJ($O5g8y^|q|9=r zMA8US4?q&>c56K37z{l`p5d((`4Li&wIbdmg}V6F#ht@D>*?@+_JPq9f8hU& z15fE7D?%YD6yXs0R^M+~Ftn`O+m<02QFD(R2ENrW(-mxjl!1SJk7Z9Nt+yufw~0&)?vkA^Z&dschjgc&7?m;N4C50DPSbrh?p~f!uRLa?goq7|Crg zj{DN>tAI~ezm+utur9wBP^J7wi+C$*w%9yOwz)QI{AHPV0@6F;EFW}rsP|Ao{T+DHTIlJ)#UZ0PL> z8!{(0DxK7r1lr-Ka3XO2ap8E7NLX8}lQOaYpv-qbnTii6Qw%HjopR#8t9Spou7A6A z^Z$jk-DU&Y%7L~?%zdFjVtE+MP!Q+Uw<78WIjOtNN!>W0?lfTJPc_-*LANa5v)rfHq>VOz8c?;GOCh3exUFDfj<2FCv+Qq}DrWg%O?d3dt&TzaCbY zc<*WEck?M&0Td1g8u=uY+xlc^CG=s z8G>QV$XtE0!HbZ|^{AZIGen{P^ijAMdjrcE>zK%hSHa0>vADNeKuVk z*jyTT4j0^P47g$TZx;FADD}UA1^y<2SZsmkq=7d~{`I1O8>JjbaI=(CU+Q0F@yDtH zeke}jtB{qHvhG?#K}N(1XG{-|DM;6-WIbGVtTHWjK2g$qLIOS5(J z)rCv3GmsLp;9YMJ{%sg>U*zB1=zmUwT5=AWQ3^fszlW!hbB**orLM24FgK6B7`{}{ zp(SycekrtyL0=GB7$c_VW$P9(=u0KJPR5W`UwOb((25u{6)eXEXi^FsSPRN8t-N1a=fK4)?xq3jEZh%!5S1S{4A`d8&4LGbB za6&iWFb;QPjbuq>^?<|D{*}78I><#HcvuRR4lf%O?+jc49RHt+Lpn>i($l)u^H(@}LvCfrmA*mvwPQXT5c@{`Vne9>#mh z<33Sw?@HWr#N0N8yEzt8LKd4$m`@JGD1-8K1GmfKtk4n}lt1XQZs4Zsf!J&b(8_&I z1CjC)d7btF#cz7I{EIV$p7Yl!FT#4z$}8oPo0fN6$$7|^MKjO^ULWA#Ljw+g$u3F zun!nV2`n6_o)0M@i@7j{K_7@QmNMu|VheLk(2~Mj;E{6rlF-5>*i|(!S75!8bFRhYl%Z3aHWqTHjH%9K=y!jInUB7#NwnKv}pL%6v=DdWitH z<`C1UN3zrLm(_iYCU*9iDJ#L6D&S@siP#!Sqo6zGUle?4cgBS%sbQyE z)zef#_dm80iht#cHtcjGj~j%oA~5W8C^Iss){V$qN!b`&mJe@t@=Fa~9;xe!SozJV zyu;Nzvp+6SnAn(9O-nQeOTOK(NAJ=7&G46zYxSgKu`>ySQrwNOXn4VxTPQDilX=ud zuTfRar^BWdz=5xFia47e?!%HpW$?&ZXns|r%Bmw)Vhjqt!CJ=9VB_vFBpUV%#T4d^Ej zw>S0aCsBkGe&cr;41C6>)UP~toHI${Li-NE0=f<7homlFJtey)&b@$E-9xf}Us>3$ z{GV5hIW=WfLQ{EiZcy~$lwP@;rH>Q%``OGPYcf|VViowV&C*7O;Q(VD)_6{RjFLQ| zKtV`OBw!RAfBBXkxw7uxZ4LU}qQDsx5>E0-5HTo2(w)X(XYUWz+dy zeNswDIyVaG@b+NFIi5NC=ZS18&65%BHmN{j8hX)-QHDM1*4dluVL@0@0_jM~)zP68 zjcs$qS7xPHgUxbNtX5a!w$VQbm>Pn2;v#$&iFnzg^9c2%F<3W({rUZ6o1&98iC>C> zhOgt}sZ4?&1kX^aFT=x#p5aR+g-f&P^D7DmWb0IFumwPn>lWq}E~y~*Q^QNgSq9qG z%3TV|7IR-JrstaI3kW)>zC{wc>nD84QM&)*=X`>m=S;bjN6%H$b9mgPm@_>nPbkDn zJA{h*Q^NF(9GyrZ_?Y+tre;vFx-iTp8cD?@oe$T^cCyjam9D>nfxbMafr);ym&72e zl;ON3c(PF9eCz@J5;ybVsgZZL${;_rJs6ZOOi7eh7}AfgQDJb zZ46w;)y|txT_A=_oZnG(A9<@gDuX7~9%4#hPmt?R+&rI3I8Ai)Tkyn8;=y{V>yN!8 z6RM+j{3;k&3C(cz4Z~zRIe0BypK2&_>ptWRMaJAD5qaTL!@U$(Yc+ z-++{K{>C*8O@N=W-|cMN-K zm*Ko`qm9IrPsGy7t4givAe8h8*)Mb6r*LkGkQQawn#Pk2fNmNv6oXVOubUj$m#z{ zbsKH!;dJ93Xz$NZ%NIJgswBG5=N^04w}0F>?bDs-#;_M#FIWm1x%~&!i*HINGH#pYKR zC8+63^1%9=&juscWqn7n6TqqpIA7|YC8j!)>4bIULAA0$V13u+6@j(*8CYt`FxjFn zRgo9v6{?6r-#R{;C^U-Q=Zf9$w1EN6jpEgysSHf!s?r0q#H-NE0POL@r*&-9gu@)gZsR^P!<2=bQCsQ{ zv#vVl`^|JT53A9@^ptkhfTjhm$w6FYbu3Io^yC4Xs{25tue1X$lLu5(v(L^dRHYT> zs&p_P1u4A{jBZn*@A)zAcFg^Wg4=B1-ht_qb6yoiga+KSfC(RX5v*WM;7uD${sR8M z1G5C9Vk>0*x9bJ~UDJsUTY@5Wo*{^2fmi69U3~bg=E#(^8T<)2eu*QE$mF4bcjy_u zk};0+cY??7W~f!X73$Ot55iCV>CitKcp4MBiiK(nhzQ*d(Y@^)5}OW% zqw>d(@dsl7zQA8P@jpw8p6~ah40+d90dBeq!as^Xm#4RcPElWXMck-uA>1IQ4xM7b zxHgHnWHyhX)n0`IlbLYrr&y~zUeILCa?97OjuC4M1@IgtoC6(aB8QlE^^FAQZ6k zY<<`F^uCFSUKgp(Q_|*>mH$Sg$#_XOK0dpDZ7dAtCHba5~*@5);O1Eq*A>o za%v6+;aDI-rmtp{Wu%_xnpc`kc?8*QFMqij+0 z*r@JuSKa1tO>Rbo7UC&!YLz9LQ0-cx-omXlb3?`XEK=k!WxcNrc6+edAHh+~yeM#xImU#@P%6SA=ZOw7t9mGuj4qVS65`-4I7}DfB*96M-&b&@p<~U=Ie56* zq{n(n=zW6%<|+~@obkkn0Mhru#NIcn`cqJ6>~A}xZIr+m!K1R+^O<8&fcq<6bg&nf zgl+DKVL3hpVuR0s*x-UqqanT}idlWM45h4u;OOg7vMqK9b*aWtx}Q+GouXKB63kF0&Ns;`R8uew>_ER$EW5lS!-k06r?)Oq>ho!7%~(} zxeMi`$l=S%2IDBG^MMn4a3%?y9Ua_uls&X9$G61R5GmIDFhi}K_X|P2U6Rf`(W~0K z!crn)o$6KXvurZ0H>8{fDXZW}L3SoDZ*oBtqh9%ofoAyuMXYX!R415elWC(Er+SgY zD7Q;2UZi=ys9A8=y3$65%HS`ZfU^?evonSzGGGADAT9kush_OF6th7Xkxlm2@Y1T{v|kYrin8Dg`xCZ)pIP&uz~;NIss&>D zz`3B63I3Gxdb|m~?yvG^T;c&{iy~pD618k|9LQA^olM8}KB}xS=YeRlNxXK>K34Gc z-q7r|jRg`CoF<>oI6B)PjxmOW(t6x56F$>jajTlmUO%c=U#$-p>EUGM4+LFokoHAVoeV$3s=bhWqb5ydw z_fT}~U^9xzjyn%(bVfFD=v|U+KBXhTdBA^=OC18IxcNS7yprJsRi?qE4Ol@6zvmSz26wB^cz}ONe_uGSQ)*$XPCdGblTcMW^yXlr8cc zWKKx+e9Ss8d4)#~y%)uZ&ls`R=0si7wfJ1O20*4hdE;~la57><;{HStlAnbV8g$k* zlVZckga&{SxGVVkxI>x84l9yUwAb5 z!qeGqM4F^Zr{SGWIL|)25ca5O-t_Ty^mVOq-zHGN-IZ>jbWLS8Wf= z^abwVWl_}r!6%V9CLv7WRL+4LiN%rZOmLlB7`r4uNBONrnFQbj#oVfyiy~E1KO)3 zD}$*Sn9FuS_T)RO@pj@U{$#)u+8pE=WM-n8@MtmcI>8{0ctVd>^AQCUJd zl!NcMRJdZ-E)?jmVsuLEf7J@8m=V871Ef5Vs z4PnFjsWmg<2v{xO|H*X^U0h`jgltCfEFDd1alVGRpTkH1^>SVy+Rf~Y|2lzq>0+af<7Tgik_i8ruEfU7Np3Rn zi2Rp_KPMSZC%#?)Jnc^r^Db~)XUQh5MN(lvF}!EY&xZg+{3+;+*~WGVjc~Tp-to~m z7UuNLhXXQ+&ShR(3Z)x&^*Anm)TNM%4|~pqM&K~=lGr{;G)it zl8Ykgs5wX3b9l9u5(`HQ{A`vY<B!w*eoLJwsC$!MWZu5uDtf(GAqW=#zP&Gcz3O^~ z@%&)(Gk8V3qI(o!JY|u&b@~PLda(k^j^dj>w1X2H!4BrSf&JliU$Q#Ck*3FV9DiB? zJCsp0ktPyAh>~b@rHIafD-Q~kelYkw1rV$|y|T0%4q;A@)i%fnnWQ@;$+)&!8rQvG6ejRij7|ies|~kASn)~?PS5ve2xAqu0+7wsY{{{y zG*SV4?@O7Fo0x88wZtlpfBz^knThQ#kn{+J&}j_)1DXbOj6uVdu$hgfmFYERJt(*D z=j(M5wGcGS7y7v9PAY%2$oyoOz%zD@cR*rP(s`ZlRSU6YWP7bBO&B@!V|3*}q9!^Y z#dMmfdlXzCcN{JjjBXxGZyL$BCdXe)PK@61P8WnAU6AD&J$?)}ilT%noLE41EZ7*8 zFzg;SONqt}Yy;>=3C?<|{H2Y$qyj{@(jCS9z2E6j!O{r~gD~bW-qW1p9S&un@%BoU zdWTDKk4*`_&OyVRgU-wU9R}Cv8s|5HZk=ebL{e5okUD^I9k}SCsPlxdp1lnTk>X!y+&V!UnBpjYAUa2$k_6|e zze3*x3F10Fo8rq}rkG>Hc4$HYUR|)gq!BSH(^VxW6f0tyC94_A5;HP_`eS1Vg;YUR zk_*|~@fxkU+~hr%OrOiWuZHg;JqsI`Ogy6vons?tOAK@`OwQ4aRhS`+EbkJB#IN%Z zKtMwQJE4(lIqH#(F-;f~%sMKzPwk#LnH587l?#($;_ga#03}Sp8YZ>jy-tvOSxF#dadQs?^&68qr&ofg%Y98?F0{20 zQ+n5H$0{VB;~k+Vvpnxv>A^HPMXNMi&yRCh=JI}TWBt{}`hnSL9)^Ep6;+NiBa;$> zFJ<;$&$a0BNDU#dRVB0UTABMRG_s!h>UbaEPrColLhJZL> zrZvT=?o*c-=}gk@0-`rIR;1Z9pxZ%Bb*zmXufRYQjF#fyXON`!VF5!j+jircV`eub%GBc&p3t0UR5Xc# zu%8oiHYIfhTJr&ua%^JHEWRIVoqDhGqfBz)HU;a5 z2^05lxP=9QJf2lT_}#~nsgd6FaYl}RUQ@5JI)JUZ?_6@>mxeVEiwXi$H<2XX9?8d& zpwdm$k8M<{dX$Xt_7dL|Q)(9KByfcNMG2jt74r@bJ9MCC(yO1Qy@G}zz}2&^Uv26o zukHsg7&;aY>xiyauuW9543PxNav?veCBQ9=idWihH+&NGEOg7Ix9jLlhY-vW#mhF>aG47p*p^!rVg z)#!5_f*z^0*ZVcc^@QwNN@58m+6;M@r9TNqP^YuE7K!no%wkGC*Br|KRR z6fBIb(;HjdTrhS6@Mca$Fh<|a4-8FI&b*hy*wFAcc zI$^v!vZp<==OHIh0LDp97>~7VUb3~z6lfok??-|@fN|=vcQ78)8^IWR%ucs{gZw!7 zF_*x$h$;7BV7y}TJ7VR^l*~Uy%P?dFqqWyPLX`uiVyEV|kxJ)6rO z`^Uh`q*VPS)w*aj|2#3OFCO`~)9!hx9~XdvaTeE~k~Cd{+^?rL?8T~)Ed&KD`kXfA z!>ng!f+6J4KVT83;A6!lpDgFx_;Y&N>jlJXFMMrt@Y=-0jZpXJf#W{R`a{lNxc(7L z7Oy#mj{W9O1xqX%Q5|;?&3v!?cz`8l=e|Tm&wKGaO!@L(8pjw)^oHVS5B_k-aWX>s zuEq0yKRN+*^r&Bjxb`k;^zykT(kc|6)e)2PCBFHMzkYC%B=}`=F#kex@avr8Bo{rN z=h!-v%^N*ZojUkJ>iR#GP<+hhWQYV1-_&rmtmDg%2k4y*ns%G^i~|17U%leo?*%WP zXTtT)swy8aokW<|02AS(Lba1Hr@P8G_jf;nc{W8uj05DIT|0SG&~S6Nm-=a!p7;7^ z#~O|w4C&~1+ zpp$@k`3Vnf&QgwcP<>>b)I^_LFbJGf)m_0!Rq6%)E&~&sRCz1Gg=I|u2Um><>{VHR z3RtJvg(&+|l)W(!Wq&F|**8FTSqfxt41w%oPsm=o3bH#AA^VLW$WES$vYXeS>?`!tScGYH-{RqmAPe9onDX8`ZkX`p9WXC^-?2=_vIo?tVxz(ohH4D7N$ZW_nmgiU1@ zu!AwL@~s=f4)N8w<(iC8<7n{cX+sT>p+!%^R_zL%DbtYHp}WzHK7kv0Lrv-yD#<71 z6J~)WzT^aY9epE~R}_bQhhC2d7xC2uL+gA6O{era{$008Rk>e@H~4>ATs*1s+DLSP{PqUrv|Uc zQG5wOD-(N`a$WX$f0up!2buuZC6>!v#ycfL0!F(lCGPs+Tq>zc#54j!RVsz2$HTyj zQ01?N@R&TxW>%@{Q|1E9o1wtNlwWBBBvk5H6*G1i!5&LV#{A5ZBnf2~o<``El^X9? z1bdJ049+D9&*5M=9^f&v6!&b*3DT~}&q0?_KgBkKjn~yo-2$sDuo47&%~qKMVAdG} z@h)kZE?0*xbdFA9tfJl@)OZ59c#ubeK4=P255Avrn$5$)g^-th!HIG;+z1+7Ln&N# zRJ_dP>M$W!hgqygt`4>qxjM`SR)&z$=#5+*`~Kb4q3iiyxH@3FXgYFrr2m_%LltBw z>~M8Zckr$@x?CNFovx16ZphW4LavU&_go!bFc(Iyj+G{+u7|%cn(~YxSq*z*=vc3`$g+l9XBaMdNUHKEFeO*28giUv(956*<1RUcV3dD z82H8Xs!93g{L>gjT(|nb(giliB9Tc3k~#R3I*&x~gUmqukMBw(9=qYyrmD6NnH9}2i7hfohuu5{Ru_bpwf zOBV42Wwb93O2|{osIwJqzSW$XNq`;QW=MEVk|d^e`8KTq_9;-;MPw*q#SGfyxfJ+K zrmmZ>QHC*!ZV3vG!GUVvVHK6LqC#)+zSUN$9~4M>7Yq}B#zsysSX(rEUz7>f0y1!L zU#@&2pag;Q%QyoI_i#su=mNu~oB%Pga;yfw6{0||WoH&KG)ojV!6EjxtIU3kMY@7( z1m_}H##wG-!QT?oOyXquR`wRmRk$4!>mJZ5^VR@LLhe}2 z8_6yfX)L~OO5EhJO5tc}65JqlJvNC{Zc{V=xD#Gc%uX}Wg6eywcOx;!?;?3=(#aVN zicPEb7wk8)amr^QWr@fEuEXjD6>jVTp|(E?oEr(Q7!&BO2!m*ziBx$;{pkq}lMs>{ z9@BcL=dqP%fihJ}_CoY|UdhfzpBI(vWoH|>8h0)ec{(NX@%bb(ke-zBqcjZ`^=9z) z2pQe$*EX8@K48E?j9#^IE^nu@ve7sH0gc35G(CG+H#zti8fjs~9$|i%V6Kst{-ef3 zY8XwW!F)O#kXhZ222ny)v`lk~vLc`=oZ=OG<`cH`3q7)F@$f`y&miw|(o~*_dA>PZ zvXPx;WudpmnS=w0s*lcFfRmdzDiEa3NLlaw33L%#A@I$F*qM}o`jyt2f`?%kC% zH0m*cec#28l&U`3>k~=QAQE3aU_Y;N2hP6BzE|a*%HZ=`HY@yaYR`1pk80(2l*^3J zv{kTRc~fzM3Fds8)DL(ex{9hD)QvdAo^7K2D_j~_=TQMYF}UZc$IKQh_|4=%^))|0 z!k=pTO+TXz%E`a(D(CxvDsKS!@d(P1gq~g)tXPUastT70ZBj*dQS#qId0ug6`f@u~ zuG>gheY!=Fo0x<~l)yBve4reJt_Sxiw{0iWps>uX*HtjQewl z={2@;a0~7vmhg6YV%OJ-L|f+j#t@`*Y|-?zbJQtd(BBdm7x1^Z77zN-=u^+ZETev{ zW%QN>V8O$p8wQF?|Eb%e>BgHgrn=%DPb9?>3fur6f^saspY^6m8wQ&Q7!(V!O}Mob z{PRR`mTwd0uDvCwSfc6TlnzGJEF-L4=sBe6B{ps?2Z0Hj_6O7l`wiNt>~)OhaB{$9 zjbxUSCV%hh1G6KQ%-TmO9;Tp^y$@j17Z6qmVHi-q#&;~y5?&opFI6s9gD43x>olv? z8_C~rp@oAgbvO~Hf}W8!hHZtO3AW(Q6dTNyWZ0^=L``0z)M++gUG0*CQ%jOQup^=j?rN`e?Wz#uKR2^vK8RT9l~h^z>H zIE##Jk!Yv4oZ($&{|XB#niFhwug}Q3Mp}V4EYYO9KOqF!j2g^6%gv!IQM=Rnla5Kq zQupQz_blI6CikW311QssRN$=|lS;{B$6RvDa(iW7Dq4u5xH_27An@T)$Q(@*J+teV z2c^|F)SPffEuO*LLvwwW)0hn+0g~D`dHdN=gi#wxIUd2tUJ&C1 znlkcycy*{TL3~r~51K~8{E9cH(Ao`*3Kd%Z($v(!^6MsT*!N`ZMA8_+eMbK1ibM;O zIysvT9BV-V#J}b-K|LvrRpEFKfOqqAdQ}*7e+;ZAu_MQ8)#`weYmX3Pw;=sK`38U_#qUkcr~sus;{1|bliy|PlZ5^&WzDZSSes7|39pXN+*)8u`w%DX^FkT`pUyMoF|8i>TX z7=obVK1)U7%*7C^m&YP|V<#;MgPNhwro|OJ_hTRo)Pdo3vfe;ORDO<0l9E!Th z)AImTm$khpV+UZ7!&IzIDFz6LITmb=kv1{w7FXSJ#%xr$aeyJjP^RRgZVAB7bJ-)A z>#ZP~8RQCKby>nkiBe_D8Sy~{a};u|$}s41B8z%FB29cb!L{fXZs`SakEirf9#vSp zI^4JyF8Z&pQpptbns9ROW`IA?E&z|M)5h9Ju{WzELnPco1h-Pc{XuNyLu^h1sdssG zFZM!8o0xS<&1zFYa%@l?NymDsVwKRBBhq4Cuy!NzSttT-HB5mwBYHETw{rBhOw^@7 z$m|*kT6F6DmC6B>$>QEG9zCnX=1=p}u22_FB;^8Tt8D)H^9Aej z(AIvD6>S*vKaU21kt>*MYxx;$7s|v)od;>h3~}KS#Utm*q!_7TjL(4vfUll96UOBMMC0vQVvzILg|ee_82luuy# zqsQyHQZ5a|_5ezMai|LRwN-<8TWdS_l@+Z7hl~qS-xAOkfASF%14W1L{B0Ep7Ejd7 zk71#a$D~hSIwh!ay(8>Pry37haRXh4#X+<3M~&laXha31$a1SsH<2nX zOD7d-n36H{PXc-vGF+>Lk(YYx8(jYf?p1>waB21ffeGpCzh*)6SL1@Yf-|eO&VUV+ zjQj4`^vY6(ejunU{ge1T^gnkL?j2n6eq2+ry`BIF}LT|{!!q4mXg3tZ6Q#%GCtF}VlBQdtX> z+C~$V?$gAx$L_E8%g>*4zj{3D4`R+Up4oefQz~j`&>NA(-7??=JOc915nn!4et9YW4QOr>*bu$yz}-FmLei!xI$TWl0~G_svjZXt_tf zd3;=*hq^{Wl{<88?y$iGgB6Ok##x)Ihr^UQ8BKcA^7<@bygGMc?Cct1K2)k~JV~;A zS2yg4ob7=&oBI4VOiVu=+2@L%b5E&mPR)p4{EtpDou6GobffjZD#hIT+UR}j>Bld! z&=f%kQv_Xdi%e{-;L4NhJc?>0KlL{x$1{TFONpMzt18TgL&d`+9x$8kQ<48GEjR)! zZ_+Sc@IkUR6>Tb0$y6xtwb>(tKj%n=M~zAr$j%bqGSL&ow-ha!iYsL48Kxj^~8 zu%7ubth*#w2*Fd*>X0Go3Dq2Fo(4KFbbF#?DV3=4R7VU`du+;jPh-xLeoiG|qvl8o zQjF6-ZcLIYp^8ButLL)$OE-6+Y5}V2qeK}phm*&KHMQ^vE8j*M%IK+Kg{IH7O-HQqF%ITka!?@b z5jHJ#YvwA8|w3Wc>)*X{R zG3G2eggZhw0l;9afWHt z4#v6iLqaFib*jp!U1v!Be>pf&yTdr6!fhwd{)70l#+BD6YPW%QdqR9v7hB<$fb>L? z$s7URDqsNOmm>qB7EKq-tvdq~g3R8fk(#!0G)7CW?S(1+A5BtVX z&T>;_n1alAY~5qFL&3@YD_3zoqV>S;bnmgfo}2Cws$yrrB*Lsh(mB_&Z+1VLw63ZM zritFHjC!@{J2lp+c_tkoxPR^Xi)83fTGrOfdtufl+9RZd80RYeEMH8}ft(^}z%mBU zSU!kg+K4F?+LIpkIWP$&NwK2ceUa-X3)wvV=YycNj9~XONw;r>3CTzYtWje=hbZw8 zzqEN~M$isX(t#frDy8S~k#h=FG?;uw3gp{4w8nEMyRoXJ$m-Rh0 zSHLyUq?K6DNkP6ZL-M^r^c0uAowki(OOPwwt( z*3QVkhSqC@7ag#Mk);6$ya9n)O!}yGwq|LVEOI`7`Qpf0KEWQ=)mr&Wz z6kD`xZoA&X@<$u1i~X}DO?}qC@jqT%Khs>rEAmW7gbDKzk7#C%h=N7DM~hNa-QuTS ziqFkl>*~eW7x5YAY5r9h?QvIV`DxhjHnM#UF;udyT|d;%U%%q^(c=33>N~;JU%?)2 z2Xyhpvz4wcZm*^!%PKYo`>UfxTC{!Y1)1Y)lCIeCB4;&@HrTng*);|K(DV{^*A?~| z#EN_gWt=+M?%I>LUPBY;M?!ZVlhzcoyTFd{rr?i!4bFJ&>WAY4E2b=O?W666$7dWS zqZP%Fm$i2joxAmh{Y#q~-*o%PU7Oi|xT*`@HQF+CTgp);nuecj0+}=d)FaTLvfc zy_`inYXzuZq^*J{2p+*!{wEYeB2PCBq0tN@w3a#N{rWoj#$V=yJVcZ~f3I`HcCq7! z);{b0gw2`{j@{z%M~|d&jhx;dpspRcPCy18$hKPng3FsAYIg2X8siv_PG8y$cS zCugVamUfGEe?D?uC#T0tn-RqhuW)hx6oaz|K$?3)t*(+TeflVP2;pRzx6M1^6AiKp z_#A+xe-`Tb=PUHUMdo$90PT4<=BOJ7^BaRpKCwDilZzckT7zeP?Lb_&wq1XOB|uVT z^xx#wtloWou-#wCS=_J4`MeI2fm_`P80)@|g2$&wsQJ-<1EJrjy;hFAcC=XVIY`u_ zFy2Gm1xR9MY^L7&5Ph8-dIMh#EdkkDJmqGSi~KKZKg}c}=5sv>jwSBmQ@pA<5ed-G z=>j9PCRdM-_2awq_+e^vdCbZ7+V!yrd5uoy&h^Os-|X6VxE>q$!58%zZSft|8hlou zKK3sxH9v*#^*CunlyehAvEV#D%B)Q_9$xoBczf_!Uojfzv-aQ)Zd*8GUB{ST0Uip$?Zh}5qrUhkVF^V)0U#yT4j zynJnk`EcQ}}=l*b2BoCKD9d~3NUhCdNg`Q2uZ2-+F8=~az8wp z;*!2Q+5u1>`I$S&+|z;;Bi#%SOY-4C$aO(jl@!?(-FsBLuM;1E06^@m+K8|1tUW$s z1F$Rt;b~ypX&8tChlwasHTbPAB#zcb%b>qv)seOa4Cdv64a zZ)Xih8`A(mMWli^iHSS6EmUh>f|$zkSG%6Cx@o-YQVmy50kyGc;N5U*yvP-D=x7a}$ydV3_Xt#D%|UcR<`yuYIWKK&XvhB8go+ za+;f8zRL!lL=I1r=b`;#M@4HiS^F59Cb>~R*;%Lu^q<5l@R|4L zM}-|ATVL#0{K(bD9f5ZdYb<)ysdzGf!t?(h_TD_MsiS)szc)J}gv+7?h!_?X5HTQP zP}D4ds91xj#Y$^}U;zOmqDAYHg-yj01T8LYgGC>@2dfratqGu|iaxlsrHVEv^`UBO zP}JC3{hhf<(6-O_{k`vh@8|RT1(KP2@0po1XU;5V?woU=YwTi1)RT)Yb#?tmNU$kG zdBp~($wBhmm8$|<$FK-TN8IpJn`80vL(5vP7(8&!^yrMkFmrt8$%kWuE!F9{k~L@{ zP9(}nc?VkJ#?fm2t7O^JuHP6MNlrTRIsSNf1k?xm#?!NVERwz#^!uvQ^UO82nAiTO zJnrKdV@vJ^Kg`!VhjS297F+}>L;4xcWxr#XbhOMnFa4KQ;*Ve9Xw}XHWz)lmQ3h}? z=g0%=Ey#~iApd(2GknEpu$eI=$yBF@OM*PwEwJ+CyOPy&bf9Y6!;OB0gq_<|=XAMe z4Wx*RIOC6t9v&vELl1kI$Vf}RAFP8(D6<_7tHeyF#!oA#W7=aI3wBWI$BR5I~0e=_{krYM?JmK zvCd(BAtbGD4DNR{>DQku3Fvb!q*wfBTBe$|O`HgWisr_}lEN!=KPP2|L`C3}FT{Uc z6@zTyA8cO{JepP%{q|i_V}0&SXMYSnFijnTWYg;Ir{ce;+Pr$a|mi@{pUjw zCuDOr4o!MxFHCxn!Z8w#xa45fpN=kY&3I8JiT(BB7uD(aF#D1XanjG^@&Rz)5hD_T(fTwDz<57R&X`XBQ|`M+3jh_`adA01&MNMdyNVL!+_?JTeaJn1Bs z_FepnEQR{Ez1!PmKuddBVW7NQSDe! z*NouW*9w2c+zlSX>mt{x&gmCM6Z;VUM#x`O@h<*Kt|XMe$F)qhV^1LCb@9)RiGG?x zJlOT7m>ge*8TTfW^R%!3!NUvC;&T8xWYRR}Fbdl**^)Q@ zI>b15Bx9+`(NZ^7kMIkPY&q7WegER8gA&H`nXIz$@2@rZxUGlq7UemL@TAn*Zz`1q;q-7S5z7n-YXTr>D~EA#nH&dLB;X4Ku`pxMxevCO(gJ_L_3@m9-*BC=agk& z5JDUTr*YeoY3q%!u?)r`x)b1LVNlBv&Qy=|#qfF+R4awU&5+gUpb~(51(mDXD&`*H zs60TwSQ3d;EAJ$NYGrvBLQ?35^e|rvMo1RYRvNQAwjm^~9-xOQnWmlA9o;p<0%wH5 zH54Ej1d92-uY_P_<8)OtgE8A$gK}1Q4uaBV3T1kCv~i{tfTy_hDbA?JNJi%SN=E^3 zTN45n@4&o|a6a=q21lnCQsmvy{j)Ik;__k_vGR;55~0yEiUq*O5YEQ8#Q<#cEN$Is zUP6iMj#j4#*ozr8E>h(gakK;~m@*pC>NM?rW43&k0)QjEs#W2UT#t7ogF* z8Uc5|WCg9%9v7gqbqWGLH3o2&{f>a;?;+p^UeIKLn^2S0%b|T4zHFegVip3HhoR;R zr|*M<A&pgBo8SDh*8RKjT(0N@LRIqJ4QgCPe3*mgj8!FhlR|~-E z`3P9gh6<|Yp`7Q1L(aNcbU>r)0|B5hZ5YtG;V?Q6zE~2L@4IHK5b#`q0BoNiJbQ;# zw(e9O(?Ubky$lp6e}IZMy@rbJ84I~l*CRYDKSOxl9|ni$HD4p<>3$h#%Xq?00z8+P z0XQK-R5p&fncif~7ByP{ch3=yY0G{fD*z68!g}tw;fNqCe3l-mmEjUbkGO5rQxAg1cZGJSgZVs zD{zZ^BLY5$fOWqkJQXLzQ1ovI&xWTYA1*<7K5>QaVBDkuJbxdLD#d2t5YH2`5M$_& z26Z`~gIcXrNk9uqIHZ`DMMbhUz$|EVx(}!zvt7p!>?ea4OJI!Z->!;V<&$ zk0g)Y;h}0XgWJJGnytk$F{4c-lQ7^A0O1XX&!Ujw83oHMoS`DJgjG^dyOS{vi0%4x z(Lb63rPLUtvDn{O38w<87HKmLRE!Siqvm0;D&u9#FnImR&g=!fJBxq|aX)PfCNHDS z%h$IvxbKbV#?hgyzp5*qLV8|0xj_c%TfT#mk%Mq90qJ>lP(cgPO{(O>KjZ}Jikgu~ z&x>FiKWX>h+ZxtLwF3(2pb*Ag*Z`K9N7w<);Z8lTwS?<^!nK*KfRUXgA@#hb8|mv! z%*Ajh8|itq06Ndr6@Mw6T-xe5WL@Lc8t(gJe9Pzwqa(`k%h=EEoHWDC@b4hSpGZ>~ zPX?7{tHN`%X1E>D5CVYfB z>bX6oFRC=}^v^x-RB8ShoPXkf!l5iuE8I+|rRnp9aA=^Q*GmBkrtp$hp=3<-Yh9oo zF1$)Ko`mBC8G8C6xq$bwms10xGyYak%kCk*|BupVi0|_`C+Bnn+fC98Z?b2Xk8~I2 zcylJPK0>kWUYu1lY69cmp$Yz?JG8|u3{(w6ILq}%Q|}lHB@$_upOzx+a`Em_m7rao zuE{#tFl-r>d9Z2g6`)0U$F?h`-Uw^Z_!oG+xCRO>==IqM=jAUE$#gn8^$>McK)}KJ zm@d519GqagkUuucXMd{SeupBhRCeTW%hpTj)tAyi1r=#3EBxjqV#694`D4%fd^X@W z-~h}3K-RV&o2q|rasUeb0dPOf_{quKzEd0fk_t(V`j~Q6&t`XjubsG_njmg>DE#6j zfX*c!lS5lPGic-nVWuJhcz0KQN5x2DH^C^=D!>L-(>Hbyj?5CU0FH`KH#W{#4==9K ziAYIb#X4im=zyaaYS)R;?G-BqPcgV(pAQ%Z z+Lq9!Q51&1sFb6uNzI42(k5_YQ4-$JqdboAG}{~CFxdbu?_6S&4bb;3G(ewI-52cbKm(BKzI;&k zeIL|)6{FW49E*km^@pZ8&;S#Esh!pU4WRdWLEZP#=A~oKz60vM*AnJ;z`^(?QwB6Z zT-dO*7aE{!7HWWRKm3^e&jxU)`+htB$S0-mb!_>#1F%C4paLyk>HK{968LvCz{jWo z6l0+QKD4qwvpLj#y8%$Uz?7Jkkd)FRv7rnhRch_o1 z1N{1z1~`89#83mQxIZ2>Ku7zTuk8&`=c$$)z<8r*@1x6W#m40|^@T$X}VXKC*7E8kKMBqrhruFsAYlYwdJvwp%d3H-7A~0m% z<)%|dcn8&?BfRk++QGY+-st^K!3#>lEA2|c>4%(3!u|u|-r33T^EN)$6)sTY<#S>4 zCcU0~=g1hRMoPL*=e%dG`>RImcdq|b7Uum!S-6gTwGYa|YyY7vOn*UH_*B5(b!vY& zz9@`TX|_#VktTnx<$LAmpTp4Z)^SFJL*@3p#jw?Y-j9Ag=SmLjLolBkcX?d7$$y`{ zvR`l5^RWZ$?Bege1Q+MVz#ENvc*B%C%3jWq?`RdNjxvuFmQgvnjA_5Z`=B4bcy;P? zwdJ4ub1|~CX@wOObZp`Jl_P&L1SI6$F{%5{$;O#VMQ;B|MmyD6H_G?hRgr%UJY3tLwdt^f?;{zwgGJ>SgH-6_#5Kc1EO~V zB_2erWIc!vzAj*N#}F(5RM&-c18_ZU9av&Qs>8>S>hP@)FzmP1bN%A->Bvsc2T+h^ z0TT1OWTBdq~i!meBFMamypr2O&!ZF@gd-zS+W?@!wO z@hu)f*GBco*DsTARAkVz!S0X7m-Efg%(Mh-FY=r=Cm7s(u=^7-91g^duag#WUiw_4 zOJg*^>KxVuxoQ|JB_6OiYecbf0xixYjJA>9{-Weu6={eEW}sR({>QO7$f6V_iZtl~ znw49?nA9-VLLvk2HYsbV>1bu9FS}wge?*-Eap(MhQUcSD-W+h}f0jZzKnf}KtJH>8 zI;`|qK?-SgOVRM*-!ZEo;bOiXq!8K&BV}xpLkdxV6hd)Vn875kQwkaDoPIVcz@U`t z5r-6#LrNiAQ@hL7cT~Iz`2AA~`IR;qS(`v-KC`B1xEsa4fblIB93T7`jGEGh*GfJR z@TLf8{bGA~OPHxbCl2RD(S8#TpqU9kI{_4wXQ#40=PXsxzLNA%r!>)~fO#ADUyYu> zs*VmB(!JCgpglu(w$YK{kA~XFM2qTdi|lV@aKFObBkXJFLDV=bFKDLm5;?T74;=s z>q|hb7po^8 zmYdcM4F70g_*asCdWMmav3KrJ7kSvR)v})AT)Z8vcnubBo9S?z-}Q3|XAM4ldb5U_ z-g$C4DZQItHGs89HpfP)AS*}lR3`vQadBms8GQykxjOgJ@d8x+-e&2$Pz0e`W5v%7l+vVDWhitQZz zu$NgpQk|;7KmltbjSA`IVr#?L2_QQ1-A?g zNsucqj5JqDGC>dIiFO+y+gQh3n{SZ^JPbrKh)QM{i8e@bL7tZfL(KRplIOFs)PHJ@ zXk_d9nQxJG{80M{Q3+4>yT+ey-0b! zxOC3^#0A|BJ4KC~UzF!hMXtR7^1NN}oBgg0|HVZyUjT}j<}t{0C2d1cXLJ?rbBBS4 zuMQf!`k+6psr%cHyT5I4ac-yVd3(AGcaC#A#rL>+mM~MF4&CX5er&sCOy2g<{-UOt z?~>9=4>5=Ym0~3U<4=ngMxsm$>Hruc%lfB;mv6C*-r$r~#4mxY66dl*-T<7;*}N%TE6d7RzV{ShAbd06*(GVK{(n}3IFU~_&*z=(v0NA z_Xx)1?+V5$!;fT+J>n29vJ#IRmJfT?>;wPyQOGnFjY5O${IU30*i?Ax05k!hVOWue zZ;gkqW4MZRj6!9fHo2Z|+WMuVzZBOXN&foF*Y;<>a?@$b=&QesLMz(FJ4c}(uUNN^ zl%H^nLeD%o*!iqN2$r3b~j;R4&p+!I|*EGhLr0oe2H& zGL5vwxD3`mW43GB+vCvdYYRFjR8KB_AJXX0?d@FM;}AMF9$%c^3-A5Af5Xm;YFE5G zXJ~1knO+ft*TOmLP*UXBIA^g!4ez?H2QL(v92SDUesu|z;ps)5{nC-g$kBPE!t?fp z_zz!79Lx9E4Gf>;6!H)=hcp9;jtZXgcN!Xc3PMg9EZsAYQ?+v!|LhbHMkf9v@3ex& zbFlh3L{HK`ADz9j$<*pFv2^^Z2%W1ePADxFolz`!(JIk0r&XfZ7wiu`Eu6oZtn9QE z$EcbWop>dZxok&WhGe28|4E7?>F{;IVsG!~;>v>pQ7N1zJLxnyG?g7#9~;#%f{2-HH)nbZSY&ryTL#{dN)`lgUx#oCg4Sc znu|90Zz3Z^x@n{|KnfG1NNHdcDGekTKy=uHq=A=^G!TKLf#FCR*oxNjiAWjVmXhbXyuA_atrOGzLNFnU-I;iaWN5?nfi0mEBJSg|2tWdr0XnU2=-BOy;= z4MH{46TLo4(oTW*cu1IFj6}kOd^C~ijv zGV!qxk~!QlWh7u;O4kd|Jp^oai~f=J5L^@l*7lJd`bq-WQEgYSI4QI+SMPQokJ9Lv z(d%DCBjN(jwI;~NZ{<1N2hvdOg9Gb*9p~C=y*%Kk!f@%h*(Yrrb8>s%^qAH^ItrF+ zM^OOkaUyN#09=-D_rdv9cWEwxDd=2&(UqsN;A2U|1jRpfHD)O`iJ=18c5g>1$w|C# zAUhY&T5?<{^zxuzAav6N(ewY7xT+xL%)F?th2wTr_Z*RkgdU9%a$>YG;w^*sX)ZEB zZ+~NcV7cmDm zJqf^Tqld&n>}3S1x9dE@tCg5`p7YAUEX@$!m2gru0v&k$rJ}jhIl#yq<&$(@D}45E zqROf`p$cW(Bh$S&%sN_y`rQzM_NNBVb8i2J)&v{+Bry)u*lEvlzlmt?zRe1>UDj(# z&>s{_RHlO>Exf0KauQOY9K?I*Gp@KOSCyZQ73Zuj$XqjNoKgi><8oK5ij5RT3bAq7 z1-ZrJR%GU3;tziq{pcg4D{Q*RzYqDKm31rE2M_ajzGy#>N#a z%U_|i-(0m~Sur+l?gV>bFZ`y2zua&*a=5on zfPH|j;nRSw8%NsVPJs_n=t>29!ASrLBmL~5%@;eG1MoR&toaET5+3x$K0wzfJ-QBp zFM{6!K4(xk4MMn8AaaC$j?mi?{^o-nRYCf7TCDjV7Shq)n=^OLSR@o@jO3teZ<|K{tj49L*>VF?eGy*STnMwCgMJa zN7utS7zWO<3hueu;ZH*dRV!$8To*wIRV$bbA&{)#CKzBx^eBW7;hn;=w}(m<$Pc z5OzRgqUSu|Z!v`8V0+j-%AOvY7Xuc+fPFAveJmZmT%3g|AU(Q|;^~k!6p$GS@#_$N z1ou%q251A9WZVMr=?)l#<4MPTg!e;7oPf4l?tpt9Ga z?**8g7ht}8;ePrH_e)-gcf0^2e<9EJUx;H%7Rp5_(%j-ziG{^QD^zQ-B{Q;%Wh)9Y za|^Sxl57i1SKMY$|cWhslZhd^a3 zRu$XJN-QZZQa-<&m%VJ2Y<1D96-6@(a~&Wp4-dMUf4SPD2V|7)R$sA;+Dvh8<=3X~OP1CH1dG%-akEy&7;R&ZQp7i4BkzW|j$5+w5_&r558JW$$x$ODny`GIM2=rampsJ?bDT^JVTxNcl#zmL+P zalHku(OAp^r23)lV5){W$o@ev=!@nRn9snn0P;W~;DFf*gZKmIH{13{L#D^J_-RYFuRg~7u#D@wLU%ESw@&^u2(#a<& z6e&E(g1E^RADH+s2V!%ro2Vw6IIznm3hX$s!n%=4vElJ^t(xdATZ{(|@h+QiC_Js$ zqL`&%E6_80C?Z3Xtx2z%VLeR!Y}_xH8!ZViW(o2D3wFB=Q*RoD4W#4kHk!Ht%FnHSFCIXiNc5p|DFvF$k?GDVe5EBPp0;~X^j7zo{M<^T$TWuU;tBnO;8hkM$ zf_WYn4aM7SO=@kPDNinIw}k>0A^7M#ReE#YEPPYovq$o~&3OxLY-|gL!PP7`N9cX~c$1yS#4uvKt-vs5GpnPZ@R6hPZE*gr{2A*ID2k~QfHf`VzW)FKD zVW%TJ<_JF~!*-iMbG#pOvmQ6uLOo2j5D(RiF8IX+cv#B`T%el4%9Q3@%-yQ+%sZ{X z?|tPNWF1LiD=81KRkPt&y_E96l(|)TTABDTpQ24S+xXDJD%@;~!0`tMRRZfs%xr_Y z3|VRM%a458T~Qt@!+6~F)|{E}rJ0C(s& zdIIA?OOYTcEa`Z^Rs8JHM_=Ot>v1O!)EOB`ZZ)bLBE(Za*GjOzw_zq~k}&VAEx{C> zo0#LWBR7{@^FgkAO;{eM=9k?5obPNbi{UoaAOC~e_MMH;e+9N)KfTT2(e-C-0?Sz& zM~~OFoVc9S0{73_c!sk!%+PWoA<5-7m7vrHCo${TddwRAJ9_}fSixa=QbL%E*MbA+ z?U{Vfz4HiulCS}S!l}pppiSo1&rV87I%^{g*zMDpE2Q=Qoh69Q4a*Bo!u7mp zq8`(`*P~|~{Z(6x0khJ6|8f9x$E;5@9`#sgX;N^PCxo-RuG&H@%}MOt-$PHiX5(Wf z8N4X7;hbwW0p<#KV?18G!+|@Zp*xHR^{RMFOwy(xMa~OcM?rZ)9ud$}q7Y|YwF&gV zff1Kbt2simLZbkuR|@pp9*W2i69B(q#TF$yIvL$n#3=0O@Q>X@yULFl?%IP} zpr^a40>U!rHdn%R0Cz>L_UL>{67jARYdn&B#dS9p4Ada-$-_$62`A^{6W*0RJ|C6D zjAZs;7A&wRK$jt#k4Le>em@UXz)>2`|3Mn|0KxFAhq0ppMhztvn%u>#$3t_kKz#(+ zN$h%!AF3U8n?pc-IELFUR8%i7sA0zmUJ?N~OE0v`LagrC2TA>(6Ll-BxGQDvRU60B zdYd-P^)}6Wb;3SB&+U*)G;1&Awu>jEcinfJ<^mzjm&_+6$#b`-e^J7`MBzn9Px17h zm#{+`-i-+m{k?!vn}nx}Q46`xFp-^b^D5XD(O7F6a6t2?FR#F->KA?OyEgiXqR?8YW0C&2IH^QcT>w_f_g z`4(s?b`Q`)Gro2&TR_SYc~aA_+-LQkx(vu?}S&qJi%S4lX89xOAsc7CoLsQ7n7xX)i+7; z^BfB{%Bx=HPrnT!5A-{-9#ddEhkAI`GehwtHre`sg@}C{r^0@D1}n_3*mj;hz+)iX z;z`^%4%~trxc%7-xS8Ddnr?Se-sd5_I!U|)LwNc8AK=CN-^FWM_k>P#82u@vijkAZjuIl`FCiy!CBRA0{Y*xN5k(# zCAlShIe@cS0|M6V^H}|{99_cG952hhq}P)0T6}k9k`PipdxYJQI3O7V0>(Xn)Fs$* z7)ghu?8_ew2=MfzXn^|dHXh?TAaFe(9XwC@8;%u5Jdd5@nU95IR-JlQPGSz8(`ED4 zcjeUP7;e-3hUdM18|PiHd7J8TzXY!6I58K-Ys4R9j5Q$%@N|#5LfQF!F1?1fo$&|V z3;ID6ew*&W^7G6^;{;ZB)?G3w<~kyYQHy2>Dd4#G_D3*2#3TqN zeg*m6@1gC!YUAnYyS(zK?@->o3hA-EXzZrfiU~Y)+!ZLt!v*-jWq_d5w$pB#*__*E z8t^X6S~zPa(U!!hVeCe^KYLVon_iD{x93euxYt9gXS_qplP5(1XFhxM+U+JtvoApq z+d`JjbkGPpft?6$7_(3L_%7RYH&u-)EXY@m(7(y=x0hxNDP0A6K)nfl7+( zado)KR;q{VS?2pnkelG$*uONcKFpvx@>Bp za zu@%CLj##zOYo#6TGhvz|_HSXWBX(DK(Ghcx@+xxV7nSCS&5f#c#8yOIbi}HoyjD5# zi%N6E{vB28h~1642(g&JGaC?gqQEnoP#6PPP9m`sL2No1L-$@L@kRHRkTG=c4H9#7 zZxb0q_ueM!fbP9V#?ZYl$l9QLC&(DO_XAlkbnhoJhVDHgYl!YWBV+MV2>UBk<^*-&kj@pJ~59-Bq zDq7d0@U{e(kZb!?Bz1Uz)PbiWse=Mi2Vf%dAXnKGwAMjVg*_xC4z%`(2FiH+ucVIS z{d(Zs5Dz>Kt&#zAtb<%1e|vDQ6^~ApwdQ#!sCgHG@1-^uVpakfH%V(b=6E^M&CY?8LX`5njb(zIEK(cSR0P-G=De65SE-MS z^EkoOTN<2FLb2Ybc*szG;yeQG;U4JT-JyF5xF;d+z2~@x`aby=gy&I~VFQVj)@;NV z7vEIdVuZEuJ5iVhzp+9u_?;xYxK3>o32WguPM8M2lZ9UJJ4JYLt=bkZtcBmH!Zi4u zCiH^e>B5U8YMWSC3%?R!8vIIyUhpdudIIIuwgdsfg)DInS^7&PCUZ%w%9qhJ^qO*JhXj?PY{6va$yQ{R1 zi1rq-c(d8jMU}~VZ-FeSazEx9E$vI@>T81A<&soQRj=;nEws2KMk;Ksd=48T{*?l3 zr`zj6PmmE{ELokTmrd@Ji7Kg6>SX?1GEpOS$|19;lsd)O7LVN|xOar^KV!rlIrqNM zy#RB+C+FVKbMMQ!1q!aUi`y&as^b8-Qx=DnPB|v?uh+$w%1~COwkeIeDP6L-4w-)) zbxNab3N|Qke<0_YEZnlpMJ@+>S_dcY;+zU{l?)_N3OavI#QN=B7Qx0jSlQn<& z!R<96Jh3SEL4te3$VJFoQ9(Dv?so<51p@8^1@|Ud?tMM?cYqAQXj4md@q1-)T{8bF zYWyXtkPDEI#MZ^=RWmV(d#}L#KXUFMU?N9oJP^45EOa;d>D%H>RR51PQ|j8Lw4lgT zz@!rwUqV=k>Sb|xDvENb>sS@Vii%iXg-XF(Q_ln+F`5xK8~B)Z#A#)~%?3A%B;d4?e?b{= zy1}gz54ar2@4$rsT(LHksa93IkwaajuTbTntV&8MidD>Yq0F^8x*|nIaSl@*(AN-f z8t3)&j<{^%_XYAVH}EfG0oMXY^k@Q3O9Cz%_}zh^xaI}`Jq>Q%4g6L!A8Q?Pt-FSEuoC=kJS&VfC^1A^~TyRqp z(5mErPa=N}3R3d>dq?y&xV1L~bej37Tt&bI$;i{ViK;eKsPq-9LYeDwbSu>r>#$P* z2}$sgmj!$)Cg>03_x18mYY--<0gVQz5&tHhPA#fumMC-+RTV`g%r_unWCA8}Smipv zip5+NS`jN`mgMNxu$b$_&#Af(NXm!OubCk$w@%H7Yp7~YdMb1hM?b<2n?orI{6n|g zOvfEDJ%<+8*cM-^6B&U4@TsM;$wuHS;9KY~&-v5L1r`F{1|K^=gArzuC4kR=CAfWm zV{+(9qC+UF_+zrkE!3%XI^gy=qipgasu(&Z^ivM%EDG*Dg8Qo+G5lTVIAZsof!pQW zJ9_S~T?_#Dt&0KOxmUr(dQne=-ggtaHtNm{D0EQ$w;tUh6ScI(|91wyFLv)0a&ME! z--UvN+(9eq$k*lWHx*n|uF(A#10ZI>#W1#Xw8hm?r^4`Jl1;^K03;+)yB84L5{!UO zdQZjund}JA@dxE-sJV}Q4DQ6K@kX;>i!AP#ZVE)Yb#bOPK9(>QuqxHX!BF$xdVQ)p z8l!~ncNJuBHF57kogj)8K~XQX3pS%fE6I zhF)u9Ght41fzYc|Tu-pPv`VQsg9n|3> z$SR}N1~-<%&yCUsy|-t|TUD;5eJR9X8z0|JVC+s0wM5FP6jH=$U-0vj5i-YPRLV3s zaP*%TdZwTNT<$U|%?cp|x}iWXNMv(z#Ji;&E|od;AXY=u@%25`X^xq@EV?L>=2%I&aZlCvff-me(+k4u8nLtyjq7GpbGr@Hh^4hxuo{h%c;= z-HguN5~{rSQ{5xKUfIsgl~M|?lH~!osCLIB)(Ic4IQ`}}lP5zKla>rNCmWPPo*j{= zd+zy1o58}EhZHcdKm|M-R_Pr{zIaO-bAgA8M^esuh(o?i-W@cn{>h}DuWSov2T2*B zF@7Az%QMpwTx#9DBEp}$U z$K)O86FxtjB3Zq|QQqgJX5wr}Y?-d{yF4&)>?DcKEO1GW!#e0zwMV*?j3Lo^cHr0#tlT~tHY)?$HRlJQ+A5ksPdlM&4BJ=w z?WVMAJ?#fndU%VZVhJ?mGsTV96EAqDw)UL}yE{=kf$+%Gl`U=ah4Lle$ox25-TdYD zhBYytxQ*USwr^?0sa{26@als!y^D@-8--73#vXrwx6E?T=y(z_CWtb6j1(x%VN|sB zs=Y_MyZx**X2foqeghbV&#h=PKMu+9<($W7ZdFuz9`>$iQwRmO`4V}#8K3=Q5NF?^ zaXQ?0f1xkqJifs-O2zT>j?@LNGpvl`RG1-O`B6xs6dG0m0CoRXr3l+djrfE~Va=R5 zS*|N>4`KTL3+s=r!tm06ofJ}{x&kn-h;`zMbvewH#)>I9I+YqGK$!M*#U&NsoM)06 z{&jBaVVLaVu7i04b6+Q978#hU1WcF>)`*$*ONbOG-2ZmDQot-BA=eSiA~h3+@O2mo z4>Js8(#7~3Wp!W7@Qt3AKZ6yhY0Up`+lUu8)l3}Lh|knQqa3W`x{Ko+Ko^Wm0U+- zSb2OeMl-<;@*{h9C58!xikllJFbN!wO!^Ag6%xWz^ig!kU?ER)6e#R#fZ{kq#dSe( zjG^Mr;ViYYfbw`4X4KDXw+O>bL&g1D1Q`$2ZpL4V3x?u&L&eqnqqyg_y8va;hH7^k zqlp0<^5f}G+d@gjuq+L_On`56Kt12rBSl~3GJ3`-n(X&snV8!w1F=QDF&Hb86J@D_ zvU$R?G;!H{dD#L**}@i_&X;%K^e}lhrEI3WiB>jSZlaZ?$h&A|bL19U*-LUOt!%Db zO)pEAg9iG`Mx4G_ZlRaGCb!bdmdMo%@NTD%DVv#Qh$)+uW{fGDoo0$DOG#staZ)?x zmE8%GcYH{pe-bY5hG0&b@h1xX**Lk{LMdZK%KI%8IxkXQ*-N4OM#}3U@Qai;LEs-L zZ-IaxDer(_M5MgCms0k!9xwBi8}Kqec^6(5Ah+UWBjqg=dW5_KvJq=agTkXH`@xSV z{IKB%=&=^&i~^vaA2mgvMDdD|@I>KnEX`3CEm;MpHoQt3t_W$ZrUT>7{`yhpC!hYh zJaW!w`E7(Z)vKv7kT?+iRrC>;R!ad-OI7;O%;x4D8e!C;iJI;m-=5un{HUg6=>g`R%fvBO9An~$I0arC^Vs-f)LsNJ)c>z0nC`mXbR zWf9)s$!1?B;=M|z+hRFf?*g7**lutt&r2bm3OJ)#n*@xE)}DJ}%QeX9bYCpzZSOh6 zQw4e=WLpg;zxxF~Zbq-sK`pd0ssUkpf9f>On!%mWaZJIWk^^&>DF0(+`x z3l*ltq^3<=lwO|OUA{8CVr_SY1|QDY&QmNE)@bH4w)-Z(u4m-w8Oznp=1YuP|CAL% zGd`SI&sVHcpT`$6w~t7E!>BY-KfWTgn1LQv#lEI=Nw4?OZO3bNd|QxQAGW*cgWVsy zF()K?OsKO)(^kkeQ@R;s7ffRiZ`k;8(=~aOg#y+xi!4Am4q>e0Sq<_VDtz^j$l4+h3cj& zfhwN>Rj4lmRm@`%*l++NTmejvz&a6F4gx!jz!oF0aryPUu3!=?6L>nujO$j1lJOT?qBydP;J%<}5AA zYu=oEUVi3vgxUgs#-92wp=K%HquS)RshRahpf>ra-ltH#-z4juPZGl$B{7@J&7+0U z-NJ6#&H`ROh8XCIivg9HA@CLRCJ$iy>mL_)U{hZ{jsd&9v|~AOUHF*p0o_lGY=nI{)OE2 zNP3j1>=on5ErF5XXKW#-s9|`1Gc-cPzM=)A850L@F59{0RBP3*4Rj&^tWx4Wai>N-$x{XpTp11l)HFwW?x`XuGN&A&vBK32alGjsC?qej17 zpRDxLZRRvWz4}fT`v6DOcPM}w-MpC0rJpZfmHTG!M@z@9idyPAWzU{y4t-wPwzHp} z9kuP_&TWOW434oI77N$}mYUz*%U|Y=Ppy=RO53WWYUbJ!=BoOY9J}NULhJ;NG@#Wy z;#>oNnUGF`>HIsXQ#)i+tEf{uOR8Yw<4qQGZ8GdiFxRQ5Yf36qf(qYG4E#5>~}ZUPV!T#oBsJ1d_ll+y^GuS)*olH1J`2qLcjXQKAitb`9*~ zFuvELjk7q|IfCDoHc_2@hpufr6#7IvgpA6LE4`n2n9vofL2Msg+M-R<@8u!mt@2(JYX3w6}BfP?}d#jd5EJT zii$T%m?c1Gr2xbBKc0?g#Mq|`M@QYQ7cYhP;LVZiy7CM2o`N}t%Kx(ztYz!pK3|6ACf$DFN z@azUG{tzYP5)7Z1omz8u7tZZga3XW=kWR>q)w-VX^Hh?h6>gOZo_YhnUF`n7MSE(Vkmo%av{25Xyv3w~opfg9i9NwQ>mJS#K~ zoSn&Bz`qau0?P_MYf_~IC*K@HTc|2izdMvrv`yjeOgK+gQkKq&t!pV;WTh@bsJz01 zgX`$XIkwYBQ9efCMe1UO!1dyCfeEyIkU#bYq-v$2S;1PGwxl~+q>0b>-KPjR!dW18 zU(ASTsuZ{>)*?aXS)$?Pk_Fd9E%w$~)y~-6nC3w@Tb>XFuRSwd9*r zHQ#@7rTGzZHO1qY%DGE1#xvx!S1H8)NaiR_W#)2jwt#Wf?zpL17R9(s-?m>Nj4e*4 zPO!YdPFhALFh>}#%56lC!p#Jn0iM9kkc%k3z{!K(NVL@0?k)}Yy4t~s1hBenA~WBa z^qz^^^+M8|61|gs&F&8sZbRiYP(ufCf4Pe1FQ9Ee`0gX1LRFMdSfy7q<5G+bio4@!=&;wvrvFd=$c?|VEEbie-R-tluD6eV*zZ?u>vAOS;FK%)0 zcUddKAJb|$w}~LM;Vdy3%Pqy74`2^a}7StVTUtRc-Kbc2tY3i>YG87F#PeU==_kO9gIH2|%uc zvk4;%f?B)z_+FO|8rff`!TrDYS2b+_ERImtLVv}lLVq<(oE>PX6TOn0@h|n-|ZrS zHxiZYJA2(J>%khLROq>wF^`p;c}BsO%mllPK$3B?a2kvX>1ATbxtX}swo@`30e4G5 zxw1Ti^#n{Ux}uy*0bX+9&iy zd~@KQ6JK;6;cL)_R^0o*5FIKmofj&u%nTJ*9Sq;m8oFy=*dEGQK9n`TE(YrI19sntdbFLzbfot#~im9V5pPu zYz|OdYb@v&GnN`1fCA!5Id_?yamAh!u5B*pS2JD*yNZki0mn3ro2O>llF51D6}75V)ba|PxAFZW!DG4riJl!MyXE?4fC4YCnkxUYR)_7|{~Pss<*HOM@L7py?!Hn_?{`8m0h}uBgqOe7_f_4_1CA%u|z^ zvy&-%yQ3o{F9F|+#{l0Oy@2m6z+1xy0nBxMCYT{I&&~I37hqe*QGIF3=4`nRFDVrc?d%MG?475`cxyFHQ7qXoy=Y`d84|}`SaK^sFaW+M{vc zx>_ZJHO-Br55mq)ADIWxr{qiJg~K7oN)4r5z^l`} zT9Qe`FvGfHc`!jTSemdZUZ@!SEywjG#?mU4>^?V!FPbuhFv+k9odR5P*0`CsH@2$U z#&#j6<$GZbHmO}Q7MfcpqgNMV_$eQITK0?SuIvqbGhe#gxt?DH2;aYRN-u++oXC*9Ns>L;cP`$I46nzo5^2bkcx2ujJ@vn z^jxy>%<(V;;2u~bTbC-CYGttgMaVIh|Kvg0v<`bV26vJ;*vVGKe3SbzyfvKWjkT6@ zLvYXE?W8Jg2T~EJ9L{``jt6TxxroDXsfg-Pu}3Sxmc|Uve6`hebkuA^XLQIm@No`8 zvZ+$}q1sc>jWs|Y+Ns$Rn3~_mYZ7@T#)V>~Zp3yak}NRc^{EOYPBDX3j)TarVx=b} zo?jGEhqW?T)u_@^tXn=(0A4e5DBv=!epkxg#Xwp~63!O5&F9Rdg`X3jtVyVn0j<;q z4%A;jQ+tF^bZ!Le^%e<_3C$7LC61+_G&epCk| zyqqR`JI`=ES$JR{2KgtK+w*7fHGpQqgdRZ;a_gC%4vFPI)TB~a{(^YKuq<4ms|Hup zffiT5vFo5>r{YSNCPsW?9LP257>0sMyI|YuHX=n9V*v-4AiMDjL${s>Uy+PYUBR)Y zfMyo>4EDub&TPjPArVG1S1yaZ4oHd0ddqhT-N2=_^_)O(kXI$$CWsZYwiS!>IRBWI!w`m&SzSNqVi~m4 zjSJ?a#e(AO772lB z7D|m_!TfQH^Hz)j@e9kt&fdn}m&IU9$i{@mY?Amvw#$V*m|tKfuzJ3niC;aXxKv4N z#wi7~Hn+y8pe*5;E=D22spCWpG9vmI5$%jJKBta<%AZ%LFiLzo%n_OqmvRRyz(!;k zvJqKeWtb_faoV5*eh+aiop>#z$y(wb_Lya$3_Hr+n~wFyYqxB}!}T6b;w^OI`(VgN z8~vP!ALhWq(;}`PRjJc#Y1mAitkuzpPn|>@q&z3$dKwUs0|e_6aKQk3ry5*5=N0cJMTiZRQh z&ls5R3z>C6y42O4?F?41CudUkjCb^4?<&A55z3=YX(LTuBTcmd-Ugw(h_^vu)if}( zF>uA*D1SUKdU6kO#|2vGj$|awRq({+9p0wBE-c`t9foBgDUBT=YPPK}T$PEJ@?7!~ z7)|Q=21?j)aZ`<=MdNZ>(PBopv8CZqd5ln~hJ) zS9f{%^t}OHvK$MgE(B)o00QFPPhn`Q_i%$+Cn(*uizunQLW9R53G}N}Q5lRt^59g( zNAW`c=3zv>TF!tvhrtNx5?0w7z?sh{Lo}WX8qM~>l6QWRup84@_w+K%GoXY(@8m#U z6R#;%G)v3r|x@+p)K&x_WP0;?Zi(aN_*n z3x`LSAAdGo07ser?P*sYd`G%|1GltbV$0p>v2Wu$|49<5Vm2nSHmqo*R?NKuK3qnJ zb=fHa=5!u0rm9(;HzrM->wnawL3r!Va+5h1Y#j*++s8w_F0EbhJ+%zd6^UL%b)o~+ zcL=8sH1L+g)p6RSHuH7XtZM%+#6d0z*~Hv){w80 z{B&T7fh2g^?Js+|q1(mt83UKr6}C~ggb+I<@rTb{xvREg^~v3ZQx$?~;5u$?I&uhA z1FmcDI{fiueMn_p{{dX<9dqGERL=bg*yZV}y=U45+p1F%LLRqDSnR05uV!*XG_r}* zS1+#nlPPdGXel4B7i7n z?U3Dz>yjVh3U5=`7dY)dPimhy!lg~nW+XNm!TL=vCCMT`D<0YUoPIZsT(!H0ynf}_ zW>+5ICEMWlVrxxuwAQN~X&%UvrA!F5*b?O${{mst?>SlNzHNuXL5sd%aMrk$baoaS zZm-;?`>~VNh;)_JBiT2QBQEF<4+?9kGXX964}*noQCvv!i8jU6yujQOH;kW`$g1^v z%rUc=fuXDCEPgjC>ff8LRG5+9nHkVC{vY<<1gxoR`x`zd2_b|4VbUO=CxA9s)PRUM zHh~aP(Z-=xtE~x&Vhb9rV{fm`fPjh`lzMTf|7fk3_S#+?YH4pP=jrZerjx=zk9(hM@o$B7X!p~Pere;~W5KPZuaWN?HC5!x>7Cgx3Q;UDcC+C1 z$vc^|N8yBN;p}SU86K3{(w1sM+8e=3*Jli{aGz+VEGYc9J|SgI_^9qj2EODpUp_bIO<^f@5RZH~ z28uZ8hsVbSk-yE8=x|J&yT?c|-%?p~6W zQjT|&_07UQ_j}$if7r#lLZp)Mc~Xu=<>i}M+fV7fZs7B`mvW)@)S)S%<>v!YT^h_i zJ67m4Uxm)>z}Io3Pqs4Cl)^K8g4NA$&fY8x@;0B(Z~b-PI&W+9_VxZg=VEsX_X&c1 zHR1i&H@(exI@D=R0^*onx7sgQ*P)r*e8(E1LSIb|y62_(9G-q(Iw$%aO|B>HDTe#i z*fWYenZvicrEb~87pB(vTsyrL8Jr~et}QBbK)+F&&UkyKQ74Pjy`9+6x0XxOJxRf# z(_6DwdHb<`t0tfKL4R{0soK*T?tV5mvy}I{*BCpbL-9rJZy&*yp5Am*WA}D3*>6m~ z;N#Y@@BbS27~eRpeSJ-T{*aE%_14npt@nGUHD4|%yee1*{!CkZU#?=onCp|P+?W49 z1i6ZB7vw6|QIM-xlJ?2QSs+(QQbB~$x$*<}K(Xy1QNJ^Mvbev*ocnQ$*a`{EdCmn{ zT8wDmuDm9@2BzGW%G>HO%^*>KX$A@P#!7yMQy8fhLOp{L`vMRbDtF}>moX5?{F8u9 zodo6ZJ(S_bcEghd>}+=E1b% zP{{+|l)C}km4MG@0(0?S3D_M%x%*j3BF+&ch|FJ3nEQs3JhTS^U(_Mj;w`j2;pjwC z%P-=H<|zbRxsrevhXS*YBh;vCd`(30>xhw16aZPGf;2XhmuIP7s~XpiH(&b5jcnbZz=w@6)~1r?k) znv0la{BSreYc)cwrqpXO@y(Bzq!IUAt*dolCojcEpgeG^%pj;9JP~-1Novh=9&!8cY4> zELjl|us=1cQByes<{x>-@GCg^4|*0#M%{a1J=F;CW>_x7fqvHEDh6hd5k_sAY@ofl@qOn7wbH~aZo z(+XJL|7K|S4PU9VA#04`CucDN-g%yH;*c-b2;dp z6kPRN-%A|B`;3fbc@*#V84?ITsMB9zMKEc)B=(D08B4zVN?bG(YPNOKTJyhwklLs`SPL-@Asd_nNp&C@E zdd&xBnF9?f6{nVjk;76HwxGWkE#XgVy%+(T-{$FSbgm zWa4S-omh#9G9m^4XoN_#BI}8~PF$5cXh;F;Za}QIt5NYU82qO}KomSl zU6Ahw!`hxLx3XfRcgxKjyd+sZoMdNM1H0?wjl~;GQS0;0Ni_ zHNNT3>tfN*N`r@vrPsYJ>O!;zD~KuV`6n@LJb6~K0!C-&2d-T-WOQob%6JuKk>f`F zSKWmUU&kNyHjd+B1+|Ra4`FuoB<7@V(JmG3Cy|XC-}v140rovwF&2?k&xvGoG_{uY zJ=_>P#~Cp`_vBXgs*l8ov^DS`?R!`!(SBb#y8md=v|V{Eb_P2nyX9``+;N#WhM9r8 zZ*Pk9I;c&R3li;hRaRSKX-eXFxWh1wKk}MJrJ(Mi^a0q@%Cs^%~y5}S>Kr*IL zSc1AYaI*K8R>jpxd%kDgPjXP1M%!(II_#aTqAr`YQI=YgISSPuI5d;mzQI}?`TTQ{UQBhTn1}NNP8%|U&oaSJcqETiqk^ghl}$n2FIj>w7=s|7M3Svv zFb`J(P!Mv>1qBgaL|LUa3U|7C%+Fjtq{%)wpZ2NcVy52e*&DeXWo}y;&V|o;l`Y+$ z&Zc}${nXEAMUCUn-R=S>#o^qzmo^okx{S8uygA!5v7&OLVHM?8jX|BZOsx`K?#FIX z9A+dmznMb2n(u2+ZqxV;RT%~D)N+`|^q1&p50NetM_R)7%ZJ(n-{*xTmZhkQ=c!hm zRjr9jT$Yl!eqLg!Epg>o?17FjtV=CajTsY`1&O-)ba7a7-eIAieT;Q}^oW8dCWJ&l zR)4Heb!Nd7eXVi45dbDe-0cw*V5IS_t)i$htHMYy#|u?+#n>P;p^F?}4KQeE=Bvf@ z>2#s$u(+UF97|{y?G4iV6_}$(G-_kswT>h_duu^}|9sBB4|Z+F8^l1{^^`XDkO=T_ zG*BG&7pMPXgFm5q+MFexSshtgJAn~Tw!Rft*NTA)-=_s*1@XPtwU9t z>JtCfn)p`h!(UojgH(5*O{IF=+8U`^WNq!N`qJ7OtGZ)t?WS_u1>HE${409kDQoPz ztY0Ix+q$~huHbd_z$?(=0%H->t);dr_G|8@$1H6EbBq0!GLSbXXfOh3pkScz8&d;8 zr_A7FrA` z3ZV@qw3>Fbt(wk6Dv#FPj&`V<(B9*2#@v!FSYX(0p*gCpxEr(ggTS3 zXq?0!5lidwRX`jwESpOiywBbrh7|J8G94?a;8weY++H}vd%AA zO6&?Ec3Eg|hp!c9*#xlbX`Wq{_Tqj{5dgI3d9-J#>!pgJ?3QB#+JQXUcYK9=v7~~~ zhVXTxj}L8ztvk?O@|1!XZDz?~dC+^USIyk$ ze`;xG))hVj8a)hY^fdL%nB>`EtsPKykZaIGXJJmufdYO{v}oBAzEwrz3TG$Z+NLT+ zvM=;dn4HuY_`Ukh)n1|Em_mMVps`^q`VZfjet*q9h;$jCDl?cCZB7n-)fieMCSs{4 zjD*HqtrY7&iyxM8jie+~Kw$6CdhRJKf5mEAcXDD1JU~i2nNhUhOXn5t@=4)N8^ka8 zcnzO4((u9F4S>&*cAhK4cp>TGoC&5R&hx-S_=UB<7JcN81PnjSz%1dFc3$Rn zhxqkx z%puIB%ZZE*l7nU)k+GTQMmUkNFpkK0lz`iK%*Ie6BZ$#{yS9Zfv&UqWv}a?po>+p>s^CIVJ>sYMAI z;+r8kct-RSsvv)vIEFclr*KgwKej!n+Zz<2vqBAIOhwl42t9N_5-Y|Hh!~&z;`lL< zP!SomoL2|I9I&8L$E!8Cp>32bBHiA%#zaUy43@HwV9OF7eV{aJojIlnlSC0IT*_*h z0%#+dEMs_`Mx!stES~Q41Woe=ImI*0m~|BUsaTsym@5%Ow=m5>?p#Tcu$hxVk?>4$ z9QK&`QO;rS4|k*DdO;n zRw52*hEi_T`5v>o`R9k6BE1xko-v5otR?ME!wYhMUc)#&h1V^H64n}Fnsh#NixtC` z8~y#1=%SiA(ipB8S7Q(CGP2er!W{CPIU7S#QaDQ1c?hDeDK8`o=^o6f{E)<$BP8+ecv)r%YC@D^k@c9~(WF@Hr(?nhklJA}Jc^P3Z zzKQX`@6)VZ8Dm>ZJ|+xd$Rk}Qj$!n;`_@yWLnf*!3L`D~0To%=3K5j2a6yMmOoPou z7xzJ_l_k~Ox<@1pUcJ+dY}u%RqEzm~p~37Pn&NRW@TtW^WegV`^g`7QmmD1=svsz9 z1oW$-IfW0ZZiJ}Ghijx{(h$*29@oMLp)ztrU-)q4Nd7$(Vv!>4-=1WqN`o=rRvBe` zZON#iHi>{=3kg9t=G*JO4lV0TX8>p%gZ(*g*=B~q=ieF01r&v7F$AeL=%VUaxS`lV zy5o}^9wDQN!&z;_d5}M%E@ezbrnVx>)PX<#9{wc2pX)F9vpI7}JAbtGUjB$BYX|v; zBVE&$%)+Qj!E2!ZAl?>p}}Gj>mj5$zIBA-?$y0EV&~$6vf<47j442sK87`rLBLE zPE?2d(9%kzS|$jtI>UHUqIU5o^Ry_t2xrEp(}e2x@^pkH-s$);jn;;=ZeA4zi3ZY4 zTys`chK1X1)rz%M)|AAJM-tbLP5hfJacf56`n8Ezm~ClIbjJ03IfDe>S3iuiagrI# zfw;;8OAf?s|LC0qamCY?0B7_-Xw_8m>oFL6;niK)XdEjDD|CsUaYE^{MjKt>kzqj5 zFSFZr1loJ(13MwIIj}s5=(}~l6J+2^K92swK*8a zp!*ZesmvNEj;U(>v5H=VfeAWlQ15Vgkala+cDqOla}q+D;Lju7CYL&0{ywDP9;6k5 z#4=k~AJU22c%)Y8-;L7eeMlX*JV<-OIrwIe{uhvTmhwp7Xp-)1X-7J>Cr@dE0H*>} zKBT4E$$V&2T~cFRqA#?9P2xjO*?Jwzc-R-}v`*neFJ|I7V=1k9I_9- z*p762Fpu<(5hnpiRgy;vwyTdQp4+T zqd+tI!%;eFNxU*lIkz3D(d-HBF(xdbyghVUlP5IM8upNhlq`7yW>~^_3`x7fdY);A zou%=F_Bj*Qi*1K3@WQ5qhO3p{(Bj~}%5YM~y>iYOoO&aSCT0(@5HrL<%pg|cz)@qs z=9=XWMRGO+CFTXLHC%bf-RhD_n7fGvRbr`V$_&`j9PkoH>ry$%3kEmwq09fPW%-sC zIsrkUqM=3)>@G=QHPa6Jh{FTBn_Ia{?hRdUY;LMeI%s=Hl`oTur-g`=4`E6e)cuQ$ zUX2;O(khHA-^^b5X63Z><+ffI6oSmG3kq92egxBd^)v+RbauZf{~4VouRY)N!IZrp ztQ>zhY@#;jV$hE`;UzG^e0|_fr+$8Bz#+=DrRk~xAus8uX36sA!frg$&P6J zRJ~i}>QQZbsp%hWgU~ALn26h*C)TdHSRA%Jxy#lY@l*sdP2qfNWa;wRs<~ZuXuE7p z<^e1Ecb=%-0KnJEyZrq|XAj^q?UP2o{B6-A_KKgW(&tlUQG2>|^3lQcceHtg*c}#_ zy9CQgM0sQAJZ6=5E9Z2-r2^m9&+#`byqNOV)%Xh!J9*J1WZiy&DqfuV&CuKi!3ti) z`OX?oM^1e!X~+B4suw?4Un{wt`>}@-eNO_;Uq-XdHwgGlBw=pgfhY0nDSomyo8LX|O~B3k zQuI9@xHAD4@e9VeJa8~&>Qf$=Uy4rTSC?0LV16muzymMgf%(ixptMF$^3mf2Y>c*MqwsN= zIM^t~-FG&^cZS8@s#=W!yeKTV${rV7WlIUhXev{^JeFkBjw2W!$B(0pwmNs%W3nrshSXqxnr5$k@6M!aV(8QZ0ZkP@h-LZlxHu2{inQ zC8yd)+4(ayq@LY!xP35H@Z&aXQ(Q!BjIZjEYC{)ve}njSX^;)N&XN-hcCVyy%~oZf zpEZzm^;R^X`Eyb;9R_;_Yo#P@vLU%tY6{B~pV81fn&#BEaEjxvLbTmap&B)xebL)? zKlg2LE%Dbswm);!Lz?eBTfOC808DZCIh_i3w9zJP{?NL_+eT4;|G15s{houwg{t;^ zs&wyD8#Pg_H1Tb;f^T-IR4W~P8~uWsT_)c~7xT?-E)UGN(PO;0XprP4cBuTVPZdP{ z;1w7Bg$Ttpmt&ZDxc}OJ+*3cUPMvdbPeTJ4D_S>}SqXn~dm0kb#);fJ`pTakGjQ9x ziJygq|ASl8yJ)Cx&cT)8q3pVF(g0gG%K+bLP>u^r{+_&uZ98|+ykb`=zR+ghwy;+? zxE(vI)49&;9-2GqImcJFYr4z5<`c%uPotz8D_b=hnEV!#bS zQzg4EDe~MPZH8oB(exs?io4e&`KR#Xz$PE2hn1o0X4GuS@e%j>r=pyq(#yhl|64oW zO%DxK4>(*rs_59jnLFgyV!rgnN-~6Qf>Na1w4&+XE${l6lh(LB;G5v1KA>6W6`{)E z6I?$&LY)4oZYz~%$Ls&5Z?<&!3nRZNSby#sjC(5lh0!~%t@Pdy!n{qsNG^_Jb{)df z(**E6w;(+=zR(hn?sTRw5#PuURt3^{o1PJu@`6X+_Z5ds zPVqjcgT6W5=QjXX?tSir=QKnhe^*$pGb6p>X%Oap?R_>P?I!QD88EMTpXvUgH!k?Z z(?obyBVB)Q_|Lf0**FTP>lJT!3l5K2yw7QPUgv!_mMH+~MEPo6wV z_?cPe2S`O&CbBzUH)qjo570Cd9z5jUcU|R6W%#qYIqgoVd`^Qr4y%6Uq6$m{_Tlg> zW_oPGD4$a*Ur=(|uYywBLww1NgImV=!&7;}#?LY5U0sUmWo`bf43e(P#O z$5DxIbVrls|52^^>(BU;+K7ZGKB0HSc=nL6k!0~;Ab(Q-y)P&y;nY1IyVB!Q}yKb2B9y z0xPACz;*0p8|$}GR?c27V(;DAay^L0^r;nT2Lx9d+7eyN<>ic_O(Z+?oqzACKa_nZ z-&nhQQkQc00N7*+*;t;T`R;EP*LVI(`NlUcvn++L@rJLYa4q8LOkL!Fw6xmzFH289 zdMPG%+hw^?zM(W@(TNcJ&OaTzAppK0cRQ{`9#@ak(g$#L<)NY{si5n^Ns1fe`gadk|@l%|L!{fnG6DxR0kH5HxhsgKL7GnX3R( znDOYPEa~p7clU?uXM+lAL1TZ|dFx)Uo*q8*^76rt_|P-6H!v>0pRbJI%YkeS;{G-@ z(oD@Ik?H-*0=v4bmddNU*6 z6nt4IzSp}i(Gt(}1}*Rj5Gc<4LGoSS%=huli&I>jQM12`9=Yda8?~Um3iKO%ZRlWk@T79WUJM^o9r?bwqf&^}4X~-ko=@vK-@PxKN+h6TbU; z!0tQxVcJjqvv%K~#)i?Kvilz4vHQNg-R}F?U)z0;>tOdi(PQ_W{GUdDn&7o2&aC1} z=2w=O<*-pzlIAQiXZtUNEp6E9hK=z1Ho0Nj`vUBFGh{#efRap%^R~TX>#Q*k8unKE zFOifGDoe?tZ2v{hl6j7jG+4jNE?LN2)ONkJHO5j)2Eq?%yVh-ug;jF*nOGPLzeq-} zf(}|^k8Fjl@z}3wV^3IOVF2q8%aQeQ4)&^IV9uOOm^+bZ*QR!>+a4?CizNPwDu3H( zcWzf$0Y6}hCF0LeLITb9l*!QT1SpbKYW5Ahbto6k_z+WDDQw!DSx9SgN&2>c9hx~otVa>fyS zrAd4a#`s~84IAfbe`ZVwsDk-(nBKp@{Mw(uF?bcoj6PI9s1l~itplp-$)7+wKMPdr z&hQqgHF1q-6drqRTZ2&Fj#y()7|9qvOxm{>s08g|32G_q)2T}4!ivAw%zTNNyKiHj zH=qCCv<~JuM+uDd8~?y~KbhEHWG+dAjbGTa_ZZzrdsLVFj?sPI#(ykq2sB2$Cyn1 zq1mea$#|c$ou8H<@eRHaaqKbiHgBhwCf75YX>Lt6!_nO`;WlFimm?_-V3U=q9uhr$ zTh1XI_msG7kB#s+vJoEVwGqAoHo~{($a9_*88yxb#=>MD3gvVcB$}jw_Lxdt1 z|A?Q=E&dXI!${G&4La4zjIFYqWOTx{S1= zZC#P8`44UD3d{xnv2ESpS+nOq|J8|8N8DdsJb3D&=0H>3dBvz#-X!b1viD@K@3a^K z{QL?fn*(gt0>wuE6KZwnUXvrCDl~f2lbc4KjGh!bdBe)6$<4=4RhU$cp1hCdS<|tI zA1CmmJWW8J{>SFz{{fqm;H!!A$bZ5`xx8H>s$(KObMOVHSn6$RM!-v^M_PO?+?0UX>wU|RkF(7H>HJ4XKc4d9SVzx z7cUF78J&A;Q%B0h!bnU1Q|lgoMt-W4%|+ts*@j*tQa&~=E`8A|x5Ww17RXk>o|lYhlEYb590D|SCr0kd!`uvt1RMAR3$ zS$Gr{hlowm8By}l8@p$Vds-$OxxyaTWDBIOYHP5j+UgQTSjLFD<_9cs;-nEMPXYOI zbzfK}8GD;~xJ~#{o?-XawL@Lf3~iwVtdJM6U0~$KXcTuB4g9!zx_0=_gNqNu~R5Z3(D0Nl2V~@3P z6tjhoS>uUmukg!j5Kb_JJiUlcTPdsf*!iB=rh~TJE9}F~{%;QCX}uyKe!SzMRgcsQn8=e;fJiM4V$)F!$^y{_twv=b$ zLW*sT^~8Q7Np+xmwQYmpnPnWE5FG5RHQTw68GMDD*r_5lJpUg&sV;xY=rs?i+K+7` z{5NX?TcKYU#7?9*Oefehly}NhpH_FOHCP|X5BS;9UG&UwIZUCrk`6hKWR!ketdu8J zt_&Zq={)F^yvnajPJh_=&FP;|Zdf}ae^gH^;2$G+P47d_OI~>F0i$rG1UpiF+LB~j zkdD3lVoRSUV~y4w2(846E0vYA+g2K@G!N|+z0??HdozXSUukjF_*s(V(`u2;@1JvR zQscCeXn`bXN3>j3JdAxRf7FupJaB^#IUBw3<~6^}!`~?n#vzo4i6O{? zaSifdUSq7{`t2<`c0UgdB~cN7_2%Jcvgl~g zy--=?#p3nO=t&vXX-;#qoWPl|3VJb4-rXC!;ym@OAK5}{1eKQc;p~0j*l`V+1~1n z!aVki9PEoT36KNlc*=n)5;;)6h#Y8MG*%gN_7)|7gd9Xs7cJkpBC6sa-W=2*2lMjo z=b%Ee&-P@q^ebb3`LUuLsGwpC?cs1U4slx346IY$V|sm%bqk%kU5`VOn?L!e#)W3j zMB)tZ#nmvcv}efiNb0=aCyPB(p_Ol`E!CRPWvea;9^M0+uT5-Cr!!9&-H&Uq8H@2| zIwpSyqUGPS%26-)B@MkAKlE(;OwXahLMTc|H9@Af(m8iaU$~ABJCfweBj>Vl?r`YY z%Xsf^!@o_f!c9o{4^6K3%M_)%0wqHW53qmxjQivf?uaN=aOUVzo*4hoH*Ofr$B{=lx95iN?~a;_)3hLnwv>PVX2*=35Z@fmHoIl9+=t zo$>3%1IqiPf8vf`O14WXr@PLDh|cN6P0e6i>6vsvWY!DkCk}n``p{gdUk_!JX}@4p zrULQa2fuPht_uI2Og<22USZ4m7kv1cz6FZpQPzH9T{|1z1HxGUoTZxVqf^NYt z4+TF*QPHgWPN%yyZ1vYik@|#KM;jOo*dDP>sYPe_;y4>Wqnok4z9KvSh7Fp=w>cqeF88KIo1*7hl2`QI8ltt0-F_SeW=AkCwhiT%W0FXFIha#g2~I?MGzw z5y3c3Kw!fAI06i^UiDQ_ybzhOzISg^c`49m)@1Aj!HU4%ecp0k-1~6hdDfS?lc*bw z)}){N=o)W^+qF|l7KUlY4_v!fzLt8M?>#DHf3tWFPEVZg?IVb|w$iuTJG?pPkfpaw z-|v?zk3K3BVvqigZ#l6n0W3GS1{10>sfWyXq*tYY zEZ3Y!sTj%8q8-;4gC^9Lbzeh!Dl|(V|<9!y%Ik>P&vGl+of~t)@UnTyVGr< zMktZIAD&R89-gglYb?AARgxYq55V)G+GggvdoXAeayzgDTjvj4|F`rW=qxJs%nDsd z9pZ$-h2A^1*=V1y5Zn9h`}5uKOnd3HkJpQyK{V|PX5!h)DrQWFXA1L$Kd>RLHJb~T zjK=0@j(2aA@$3Wt!LBfEV~;b<$kWfu%kyk%)7vOhLBX79ND2y-Qt5xXf18|=-an0_ z>o@jq&9kP>UobDvvvW%+Fw8IaZ%NkEM499~dChLmFv2=qm5B^<1>flI+rRZlHE8d3 zKB)n;UsI=!&zd;C{gr>1kIhetPxYkeVTKt;q5r}Dtp)L&aST&{O7BaTN8I7(kM?gl z(4G%?8PflK9J33iKD(qacTT}n^Za?pn@&4kdq0s<;Gq58`M}Y!&U$nGu zDExa&Z=TJ3JlYe^@xCAG!!Q$pED&M7Jz>I4|0HiCJ$?H2d)Hv#`K|nrhi#Ew*>VrN zcgzbh@YU;hZ~iV$&nS1s(VnoT6$4)mnI&*WlkgjCP$x`cC>|ZB8Z#@ef?*<8f@S281*qR@Hu{cj)Qj zyMC+)Y3{qO+C^WC(^&46X)W(@dRF<~#TL!IJFo8N^nTvwm-qX2v+dZ;ChVJ;mHNE= zdw14fXE@NrG$2HDBZi4=5r%*gsptlLqTw!R;`AbAmOHXVBvI^d*8l4U8&b8O?cM*R zIVSK1%WCA0UNT8Fm!#}2_!mzCU4c=hcg6jfa?4$*k$q9HZg-SMJ655&9KbdyW@%Z_ zJmq>bXx@x8W2zh4IA=qf%EFnL4HBKvq}Dl2f(`7((9D?qYMn8c<%Hf{FUk$;ru=zA zJh@Ecb2h3?w5r!t!Ai(+l5|a!yJKw<%LU}G$93Z5y*qK&E!X8RUmwFzZkg`jnW5-v z&`Qu@=$KzF-@J?A?%k1IuR%_IP{i|~Q$#^5DA4Lt^zU5}tbDRfw9-R`VSn*m311%9 zt{J@L(a@G|VL2b1w`3lO)%?DvJ~2s>{f_sD>U(!Sz2>3!;5ARVQ+@H3yswO?rg+Pz zr{g_Oz0!QY%AYlQ>QAq4nILQRv4WL)EBG;~$(Yad*qYD8%ds!~Xba<~zrhGfGb;D9 z@k~$Aeztq8{_}r@US=iuCd4<^lJ!X&<4DK%@(hBiOYXNZ_1bGh68H!HDmrnozcklQ0rN5$#>)u;TY`YjShL{jE?unZ&x9?g0Jo`+hp+7{R#ZNgMJx2b~`?46S*i?Oba}9S6klmwFjy-pH>&>=X@s+ zy@Hk@zb5Y~(u=Dq^()b;HLU^hO!s?tMAsPAyr!TVrBZ6?z-2M$k%r~oo!eI*z1>;E zC_lS>&%9Wd>Y$unL0F!#26>}U#eVEtOBREgQp+c8j%uoh-PbGisSZI^KL_*usuFhN zzw-Tz2K^^(3QOfMW{svgObmZ2PWl6JBK}mIu6!J3zb~b;1ODr()LZ(J_R?n` zDE)hPgq~OoJUDr4&9*-k@0*_~S4@X^3;$HSkAD>}?N7z~XM4PkV^qgIe@ondw&(vM z#`!-}BKMgC{c|Njqr{uSOme=ZaryS|eLpLNmJH2h(I>w*Vsa$|o*ecvm* z2tMWqW7i#CXe#Q{;a}YA06R0?A#C?~&u_n9;6lzc5h|Qn`_>JQ+T@x0Ygh2MO~DNL zL8}m|Yw8DKi~D!oif2Xxpe8dKiU#ns%@mQ2z;^qf%HMMbPPzu};4|)ExHJE)t#$Zc zE2>Z5$rJysa0uvcsvp#t8C{w=q!OOIvHxE?c)NXQh0x;9XhY6$A>SCtd-pje_2EgtRAW;nQtE6FC$|PScy(`RNi*^Xbk!ZP$ui0z-6JF4M_!!qMXZ?KFp2 zL4_b9jiWhBCqh=x)HXJ0piLw(p=5!8>R>hvN3q6MRPV z3%Bc)@Gh50s9g1fz;oz3fKe5~LEAG2F*mu8TZUklJNP>I{QIShvVh`4A*vHH&d8~B z9KqL&zgIeZWf)XsAM`sq9myf6ljo|*QE+PuRVR3tyUv9aa>2KZ#8}j>?;OED7=oDx zlrqYMgO3T-!GJ`RwkGkJ2MZSw&uBt!aUox;LtI@P^@CkFQfoyeA5=pRLn?)X53!nK zL{&QUJAT^_{Vnhoska1Q(2ytlD=mc60%Z`y8o)#!IL{ZK^?&r9{=cgCB+q7&qDytm z`k>-gUU#EOY}s2oQEX&i3ldFZJ{E6FwB!lTaIW3f#Xke!1!jAYD1w<;Z7r3$v3a|e zSMDI)j$jPX?YbSpF$&%jyePa#w*k8>B5Obo*{bjy`9`D7q6)Xov@t`%1^F5BQ3~!` zme>E7g!uohk9cQY47|XEauJXuu=5zrx(uvMg|Rc3-CViI5;O5vF5j6Ib(UQdlYA2g z3)}A?#8nr|C6);JFI~Pvc*9sVq_H6sI4yEU6wK%ha!H)Px?RQyEvi@Km^LtzE=X)C zj7V{?jEOK!<3=kPF=H7Fujhv1plr?7xB^jXPdg)WjtynR1M?VnZ{AzHDK2}IZEl=w zwPSgyT#3_I+k4i{$l5tpA`&o`DG4fnq|1b%v!YsIcmk%p1|M0ZS({QLzw z7>QQ&1pEKGUd&eFvga~3PGecl`{HsuBor9EFBauzEF)ySZ<$@C5(^0}=qet}YrK0H zAX_q+#2Frhiq;}yRlM4EPlThxre&4YoL$~FFs#wU@>+yYG+uKiO8 z|H<>3*)@$}THr;w=Z=t92GHc)2#Wo#VhFM$aQ&!s-U zLCDduD*jTmHUMRS_f59s!UOcrWng#0`z>?J07l^SzF3rxf+G&^o69jX*aDS&&jrmR z@Wa;z)aTzuMepSOrf8+}JwEx5Y{@lHPEtF%iU5RA`hDEEeO^t(^2_4S7HQyG8n{Q~Hl4=^HK56sKA!O?4WC z(ln=8C{1_5iRVCPlTbR;*&>ua?zH$xCpleGwNp;5mGpyN!~MR_(*euD(~2i5PklLM z<5R~)EN2hOQ(M4eDx#!_&n>Z$~+9U}snk5(c ze>g#0*D(EaQSReC`v2|r1@XLdDdz-2Tgrh>7Z!doPuTaI;9T6gb-R^@nkg?X*J@u` zb@=m-UYwi#?91oA`{KfS@g4o+7xexq#hrS5nBVjDpw+L-reDm<&+{u9p;F~%w&ciN z&~<6|E^eufLI?xr;6}%9co%nR=u5RYT%fCxIO!uqy<%h``_{+@gh_aF+&t!j07g<|eS41ok6=y+B|F0)r23mj*t# zjcRH150(va%QwFEQC&(-{l4X!1|HfpG(c9Zu58eB5thlSQz{QJgM_l6?WwL~%w*y6 zpz1W&Da~_2S#Wi_Y(h9@-FYvhO{-=6bZG!lyBBxsY zL7h%KE-Gh+`lZ?;@whHIPjj!=7Hd20$gj7U#>A6X=)djjzkA@ml+JzkRquH_vEINv z#(RT4(g@AC9U>`TUniix{*OKz&CLHd`%ng7O&r7Y#NB6uhI%rQg00fn1UglLwUs+0 zVWRX5vrGa1KMI&Om&;&~5ZY-;^_=KK$-)K~1J$&YNfLPe-A<;w^0mgb#z%|)KAdcE zbrKsJTxI}NO|oo;Z4IZeg;^jurfuZNXfh2s#q-DO5|pE-8J2yGz9V{dJ;8Se zjL()6!6SdF&2_3(ySKU|j7iUwss$QbD8u|EMHP_3Te`UNQMIZOr|01a_aWgP4yW;5 zGS?PakR8Y4waEZX9~Co&YYw$jmfM7bBoX~8?V@_CXJlJAe{iXKOek;jhxkc$#mH~* zG4fk{h5QyTLZ~M%I^2Es3cS4MX&cMcN|;bE9vA2;(OQjViilAXTdiVe28^#r8kj2| zxe`9~5}EmO42Z0jxy+gI@GN+$=@8qcLVhJFlM}&ZEGC$m!x`J5BG}n_KF%?bD@Czj z8Yw$y>?9Zry}TIcq9`bk%1ZTQ&21yBaHnybP0VWRRXzzM36Dv@AdF=q z^ptSzvzlBhXB&iHCG?2;8cCHe-9ABM53{{~>BO00E~v>_Y@8V-j`QN{+4YnrXhwiz zY=gU}*(vbT%gTC)YMnB-vKpS{EaY=-s~Q&5>rt+aRZ~KiM2DU=Z|~!m@{{7S@Gc`3RPmjJ)k5nQIc$%$g*( zr(YC8c;T@PQ*-7AKNP%Xwb8%G+Psd9_`w;>t1nq538p*!49i?H@#}`5%zmq7b*S2W z8G6dP)1u!hYbEdH)6;H40PnHKB7|eJ_1b`I#*f|NS`@RJYqXOk&*!RP{>}(nc?;w% zwd<83wxP`_H??m6$>K4RpQ%XsdO-H8epwIfyA!GTj-^WAZN9~!OjsGksSjF3rZ%$W zS3Yv5!UC1?%16wQU_Z;QhwKqUA|wY&wTDr-WwlA7zoZz#b@yA>JQ=9b`TXCU)ESbpsYRiJ!x#9HV-3bWk-IapzDKH zdQ7UI7fh1gZ{JPQ+AXrtdkh?WjAo(VQ;YveHcf2QX=_6IqIdrYMJ(4ILJ{kP=+zXB zc;~Vfn61WPvbAW8?vR_D`II|&<0Jt~J^HWvbn1_g{~A=|P-Kh^xJdb5K=~g;w(eso z5-t`#i)gD zW(nykhQoiXA;VWO;qX<3z(`a~E>j~X&(kpqi%!C_C@?LK7EL}~UXUXiV z^Mv19KVGMizdlIkH5-I_A-Z43jZzxJB81hC)th#bk)Iem3g=bPBL|yBq0 zqD0++-(_mE1{3@XGaB8z1zD4E&><4Fr^x>5_ClH8nybR+wZ{W?KT2@!CHyvNc)^5Y# zrz&AFAje>UUlFsmpvHQ%&MnYfIaO^w1s1|q?n9YJ7og`?)1+^8i4>1UF^vb`J?VKw z8|B<;>Qap6C(WmT(IPhfL!2#ZAYTntZ1Zc%F80UK*9%ey#s5J6Hpow=2Y=TBGc|vU#0pvb|%_ zMY7>5nuD3a#S2x{uu!{mjKSycKb2IEZ*Y^gcns! z#7A3TM#s^YAOp&ddWGRC=6Hs%qY+KARn#b~WBjKVksQp83 za5K3fCs~STzH;EaCZd`PzunoQ9#EbbbtFP5G>tCK92L^ZmVp!XU8C(43NA8w2C#n#g^!sb=ZqVl}lowOHG;AnF*0;R6P$FlsL5hr_uv z9GWm3k`Xx?IET=%+T_n-H2s;@51A?&Vie10WZf>uoJtu<-ObJnU=~jx%uQ0lJVjZF zMxG@4JA8jFGj`f1+beexwSTUiTmOT0{zrX=>3<_G?SFuax*}g+Mty39BA(I8ht(4g ze0|z;#)t-3|LP*~u4AZwe6Uk%KH}@tOdRmx`=7yS{y%`z@P7cO`cLAVi@d*xy#Lx3 z+8Bd6bbDf4&UhVf#Y{SThSoQ&RFVVA=$bBiKi{;He09F=-m&4qkV5xslWf9p?LmQ` zN$~MmNvDinBR^=9)n+%GeUj`6YMkz3AjgBjPtU#^yj<_Geo}Ly@|u&nQi5V*RTEk&hyp=tkZR4$2X|`laMk zO@aHhFl&(SZKr#OUyY=5j%d~jl1IQ`*-?F@U+8ctQ)+I{WLjfFT6kzbS8g|{7fEHt zURXZslda8>WVY%0Dn#w-xVdr1c8@RnOkSqT`8hNGT^L0R_zhLwfvy$R^CRkw=Asto0XR z(KWBt_7}95jc3ZgBjiS42vQub9$i$69#Nc&jLsW9jw^2F)-~tojxj3-PU%Bs-lH}> zR6Gnmd~@wN&z)%_{bb^MgLL-B-W5ICYehZ^bobq-H-`Su4uLZ97X&XYGn%)DKO4m~ZN*)4PhGrNACnj?<>4; z1%M-ZA`+Ng^AR>3a6bCzeS#M*9dJaC0dN|G;aqn+ee@pZg%f${TMRfE!hRIpr;px` zVZnhdlEP~5{Wb4>vG+dDdw&{t?2Z(wMazJk%ys&a+0_+c5rCt2f}?ji{-GOQcpIHJbZraka3_9l7kc>Q?#}GmiLlMW`+TDJ zBK#A*M%=sNuJOJP^u8zHj3b*KDZPvMA-Edvz1n+s;7;&5 z+zGx3v=iJu+$o&)SLp7*oxYpB-__pm9x$Ot`NiCLS5MqI#*=?MZl!nN;`85#G7u3Z zs8e+J*veuVv-e#AII^(|^?9=2$DjKq8+|-4@lMYNk>^~X2*LAh@RjWD(eqQlJ<=O~ z2+u9v=fS{T;(e|_cpoo3P5ifb!`B1nFmHHI!2APg5l$-WY2N3BfC=zElfA)sA5Pp~ z$3NNJ%fkS z&l-gIp8ItOKi=VaZii|j1UgwTDz9+Pyd{s%n*}3( z!yhoHM_&z|qX4`?y^IAjX5`I-4L$mhHGA5e>9c0fgmJp8dGqE#<6XC)u+WRg1JV(5 zW&w^pc!D$M%$_l8CM5+!cX{(>n+iPP-lTs0p#z>je_+Ck?ZGn>o;RL!?@5Y|&mB%x z@LBYt(DLUjI)->n{S6!2ffaeaGaVTZ2DiWZvd3FB96K!Ix8nXHxc#*wCEDK%o%GlQ z?SpLO(?ROqU{6Ln5cxp(eYjte`2d(NI!JgRoPYmcI){>`R;Q=_!8w$v)1Ec^&Z7L* zITShr!Em1X-PB&m5!T__j_vRHfODL@e+~uBk-z@TIh5Ym=%M)Nni$bno<0CC77qqG z%aRN0lJ~D)p8ue9BfPQ)BG-3yBp2sU=FEO}zV8!oK6oBR4H|AjFtk1GzGgx@u=nAQ z>=~+cpnW}X=skJ)Wqf-7qw_FwDk(SLQR!!;dvJwaFZB*)LMwyHn0%#!<6`*^IUc>V8hEqyOv}i2tfM<%rPCUelCGUH!lyNQvAGBv%L#yy zaFsDfV?5Xrcx=8C538#kyVzMwV$6Ome#4rqv#h%^^21t0A#9WO=`p*)z=4n^ky7kt z5;%RZ_Y8(m>3Q;;cMsYrZ4m^1(x!&c*l%OtmgBH4DO&HpMR1vwiY|*K zpWsY}WJ?d7VEt1Hc0JB}I1?2Cn|*i#ZwLZq8+7`y`o4O?zcS13vc~V^Npa;^{b}F~ z*etnhVXE~)x4076@f^72og0FXkds|nSXOqJQHs_J%TW^@Dt#vC7g?CKqd@bkz=qjf zf*d@2hn`cJm^^pnTi66EHt0p&efgp%WJsm`Dqsex$1ajZ^KE=4N- zj^k(pjPiI}x@MnV)I0JhogE2l3fO|2Z<5^=%*fW`x3B0f`|5_QE&Kg9;VF4_MmW3= zTJ_S)Rt8_g1Gb3n`Y~j+v#&0^jeUk4aKOym5HW3squuzjH4~?SCbWqHMT3GIm%o2R z(s)lTHQ^-DhxcB1s0q()*Uf&$>#eNz`&H6Qhqd|xS%(jc`mrgpN;YAk-j=cR@SO{6 z!mSIwT25`>R*h-lI%b_Pp3c<>I-ILnS^ZP~2Aq+RIB|}qmqq`u9wjGM><_#l6w=us z#eSwoa~q?f(=h^R;AOEa@UoPl6Ji=}#dUy0c-0jaZ z`fSjDxJ&(}_oe;!&k)*^(n(IIbj@B1*%4Y)kbexZ zr#1cS-c9?-U6B*tYbRTANA#iKBeo280yyR_nHp$yVdjob$3y_=r8Wbp12d; zF0A537LL%iZ?%8y(w(NO79F{0DI|>S0>Vn;&hfp5l6lSIpdj}d)Wmn{hIKM*bUABQ zGuo0QqA^+D%)I-IXqq7y@4j*H#+*qf>}4O`8Z1)}#k*~-=12oQ;^1x2AI$!S zT;gX?<2ic%t(i41;rpTmTTD2<{9f`fbVq7i>w1}*z7==g%u&nKt~jQ4P3C;{&x3=k z$M2h&cFE#tmA)07?L3ds1`=#(ueaB>@3JTDk}Z~YlLtNiu)TRJ)A{A5(MA%4I%p`< z`ROKFA9m!QrqU)am)(xx#dD_ih&6+b9E6A7~sRklTH`IBKHPm?r876m)2&Q>EyRdvIn)f3t4_vY^>zOUcQ zeqU?Y3<(rAPv6cAbuKk^{jB2+Wzfqx*X+~D{y*hTQnTU zclY_`-$cuXW2U>$e`R-{Y_6(ja`qQZ@Y_hkqEDb9i8UrP`ZQNo&>y4VNfdLUX zfPEu!l1#%_pcR~{7B)7_!dV(`k;uz++KNaczLMRR#S(m>e7eEDDP`xh3PoiQYR4Dq zX}pe|?i`GODOsTr*?Gni=s>RYXaJ^r$pgHDc$eQb-ObZu<^v{*Nr95`frq zf~sN-Typ{|#@)m89)mkRR$F4LT!}|k9--H*auQL+Rqdo_R@oY5tfR+P=?YIsZ=$K| z+$QFvH@UVkRw;_B#(jRQF{)xpQ*X|KgClC@@1-%m1Ub5}PNW`Hl3Brvfr?Yjf*q}p zkxw(I1kJ`d_dbt1zoZ$Gl)Zz>5tT41OH_)e1W`$%QbZ+)O45IlA~mGwQd5gM7E<&= zeO&dZol*Gmc~GNW^J6JztVeOxBp}wp*bMCVok-2~? zGH>LU-6QTI^Cor&T9EiYH!nq>yJIP;Ou!`w5j5&oj0c9tu#22FkPG?3>n!!gMZcMEt=0v=o zzv)i2F;wkWNlSL$FS2@p|9Kb zQ1XvyCFutG-Z*Oa!;130U$l27ccT^X%bs4qO!uuC}O1K>A(zf!FUH`{4C^$3LTe4LU~Z z?`w#yF2=Om9niLKv$|-@Pf?O3fH0$chTm?Q+?}7r$lw}7W4BI~q}A+H)L3iA;k3o+ z!kG4azMU~%LS*Agn4!}Q^y%2NYH)>zg(GL8Gj`Gv#_bh9I5c~zitTj> z=lAl$xsM86QrldV#KMeeYf5ZMB4h;V6?SS3ZjFpAW2d4mp6pA+6^pJ@rjM!dRcn#M zX}iL6l2oZBQ`E-sYZry*)GwN9oT5^wWGzWue%`4iv_Bxz&oBI-_!?B+*ZqOtp4{k58j^l%tG zqCrjXPgQ+^J4`f`#Vi*7tN?JVXk1@!%6Q>ulO^K5sE=GXe!&{7NQQwxr%R#@R}WZ*;w9vA^RE5 zS`F!z5zXnA0QnncF&8mQ`D@J7mVjpXIxrBe4gV|+-{W`%T4S{!=bz)Wz!szTo8~o> zGyU!M&*LQ4Uv7Up{l~is31RTx)^0aHtDtQ*ZM$i^O~*9MZ@dabL?- zXBf#a+II5IB8HenoT)~hSz#|XvGsYas;Pter3H4d)gl#Q*j&Wq@n&PBh?*m=W} zq4#LcFs7-sRhpUxX^^^JI@LI1r&Kk#ir!R zt~E2K8}XHk^(j^O02KNtq_ak+K&vy|kY;3txv3LSkL**Mx;PS_>7L^z#W0uMKe6*^Ku8g^H z#c|YwQD^k7S|iGZ2YptHSs1LqS$yD9t0vtdQ)Ia#6e=~2;J18Y*Cnf4@O1@jYK6Vb zeI_zT*?J};o@l(v|rGrc2Z3%Nv{}O&8X5# z(kiHoFsihY)C$`u;xH4cs2OL}L)XOSL*tAJGR?qrK64V%B4Rq(_X);kzZv9^uSqSw zHMDm)V-p>R8Ux3iK*DPR zcA#&|C}py3MPg$hf2(LWu6c6pQ`19zqv0y??GwdAn(Q-*iDPGg&)wx>fR z-8Z@G&Lnz{Ho+ktSL*SFABTOio{qM6yUxjfQ}y&UbLsV2EX`_2wG#FpABUGG7#{3p*-*)@CW9D)^%kS!oOsO2CBfh74 zINFmvoG11~ut)7syZ!d;%u3!nXc0*O?8=Y9e%f~A1UFp831`f2&=BSIhloXpQYxqE zPWABMCQnZNrnW@pH#qifH&-1um%?vuS6^64%{vyJ4EAKlU=KOTaaTcAws|*W-`2A7 zxVZ%OI9+|Ahjk+>>QIv97AMVct4^Yg`j`qjV#Z9JYARFKm|q1n%c z-}d8kC#M$zdhN)7mDWI)(r%$FR)I77Vi@5E_ zmG4`hMaaW7l`|lreBoXTE2rre-NT!GxQ8R-n$L1Wdw5HORl;y@6^(hAikN+!;f_Mw zb~EpNYZ@UX!){n&cg4cy=^jq=ev44nB}GW+YK54Fmga!F3jR71r0hpeQg$zF(sT{& z;lxJwa2yWz@FX-9gkg-zMMY)HO*Ny6YxZ&Cx3%Con$pOT(9_7XSUe+F?YD>|6;fJW zg>YXc;kPxf_{eO4JxH8;J?qLxpR!hu6b|q#jbb9(+#&)DE(t-F3`{R{&>`7{9YG@BA zT$NgO74pSF9EEbErn&*qgJ0;g?U}HxEVDSo@lXj;TD-DwQUKRf);dA%jB-v4zyn4 zMADr2O;x6jP?w=D-uTW9%UT0`PUc`nlWT`kP@Rq%T~`tT*$?f(H{sO%<%#%l!i47C zoW0Nzbu;hilaxfgvulLKO-Aj<^hl6`R0cU=eAxZF&6Jw-oq@2)@x=@l=dC%1=KOnY zLUXr2XE_0U^8`K}X^yb)wK2$<-E$thOhfT^mxo&TG9I2#ko3yHInGvhX&6ug{F_Z} z1s^gy!otXW=fpsAsGAZMM=mti68pC1l}D{9iV`OuYGFt;=HL_$IQmgFvDN++GK^|@ z&NuM=ESMytG_n$AAfu8%QnlroB@xEt?%%SJ%Dfj;kOqc{VuIq}(+brq#S@Bo=6p^m zMyEWCZh2-sqv&&^BU|?p>qysqxS~($rNC&le}r50*AcEe9pNsuj&Su1wO{g&BixrC zk8s_CEL;iqK8O3k^$4R+#kid)r=0%KaO5jh<;7DGn*OnJe`xYKk3&O47~l6_LlgXG zX!>JR`rktn9E3Dr?sJ$Au8*$FRZmc3#b5{VXFA(^0xEbz=Y1Ww)6_9-=~JkOiC9~M zFS+eIh}LYIVeHPVo{lXu8)sC}x|R4FF~5g-K+&Me@+b2(85I>zW@|DlUU@QGL82n21S<=4)ej%vZ@l$*7{RI$`RXr5^+BdqkMprnMVqT=}%_A{14D{;$t2xV4$(!ar*g;#%vd^`2{2>Ixpy` zA8rao=f{{O_)X{d$h2W}rLIrYaKm!JWY;UaA6|{whT7V8g9q_RLI1?@zFa(_r(^$a zT+!~G+wpL-<0HfKywEL)w6`;&V~*apXEIOQ(Ykp-M>mtx@x>kgj)yJY?S?T!+6}WD z%u19BrFb091EKZ#av$+s-jlk=x5JtFs&BtfT)Sb(u%3=!$4AA_cXq5y%;{(-?myQ( zzqlh?C2cp@XLoc@_@KRg) z-Ek?Yvv0LxabN3RJWCezwdTz2YYpn|3vMv=WER35xF2|AdB>dippJ|dQ_t&#+K$dF z_)q=aZR+_~VG82*(!)jX(td4YVxyX-Htoy4es9Va+IxNdo~9D)=QlmwOz$z)zkyXk za}pb7#CRMzjlWz5ZfXtVj9jzYzSbbL>HOC{r_~i{r}b+@BepcSO33b_xk?{Dv0k}>f%I{4ruISd^FIX$oNj`_P2(T`X{{R z)W$*YIZ20_2rI+m9!Bh6x5&5VQjXShOAZr)a*DMT&V7d9h?`M1<67iS4rb*q=};C4 z+;za*f;&c09++)#!@M`f*i3NTwbZtylK72KYj+UyG)|<2GmExPLURHys>c~U zTaF}Hh5oH#DCS5+_c^`xPIKLUuy`s^-kpBHysJYm&sXBlJR+ey^RDdMoHS2M#* zU3>NQ9htRg%?L(T4CbJ-`^QH;eQj^hQ8z}wLqCT*rap}hBUA5B`i5kvNXb@!H75+W^!tYAI4WRV0&uG)84-2ijws0nTEBCc*7bk zuBMHP*u^HSCQU^xrxTJOq#-1pbeeS2ccfKj?o=7WD>&G309=W$P&K`R?d3aZx9e$L z<~zMAsZ>$PHFJcxT2P&UzvtkBb#_0cEL`mXy^HSZLRtqB*q3PxnE%mgtETU?){E9_ z{VPnirvlHR6=M9t6L@DdRgyL?$!kinhAgRSkXowf58aBUaCN$IYK;sv9xtx3Lw48D z;WMeJ!}m@}hhNfH9X@wTJN%P^(B>@fxQ%*nf$*J<4L&&?mX`JoP0NWs4oA`#;Bp-G z*onRo39fws(~kG?5)6Hk#fCm7k)h9Zi=l7e#4{b~^Uri>_-8sYHlFE7OAPKfpB>y` z;stk{Qw4WiD3o-hXE}Fh7`EdDAJ>iyy)TaEbX;x`cDxXO0&Zt_Y-s838*%eU-$-=D zN46C9I11}~9Phl*G!<>JPMBfzR%=U&6Xswofyn3;t%3LCXplOyVn(I5itS}CxnN$C znUachR&qJ0MKh{S^bmzc9ofT~&5SvL{xuuP>m|SPdc_aFQ1g53_UrN2UWJ*8>5zu! zAj|uaf609TqDLg+qWZp?%97B$M@40Ygg~cd!0sb`!NxNIYHekoKQxs-B4Gr(FsR(3 zKbSy*sWic!{|>9XyQ+-|sx-`uFsGU_s%99|E2ZeAr5QP@Ok;W}M-3?t%Ph@D5BRfp zIL*G;qcf?61l+)Cd;h%nh1&4yaI94^KEMCcco%C^L72mOazC(Hv%}6v*Ft6(N#}0; zWp%!Kn$bFg+m+f#S4-;?b)D6^5w>&DaGQ!0Gc>Y0$~Ms4Zf?K7@1)^FsJPK|zW z)hlXk%~T_5C?^jKt3WN~j2S|W?wLu-tC*R(YH2m0A2C66U&u?t{8XAHfGFH$og`lI z;7hsG!pc;bL8G&%cnb5m4xPx;(#LaQ7jccc!ZAx^bYA!Ib>eUlSD7(l%<-PgVO1YB zIW{ME?RhfK&dm`b-KJM)OMTUYw;RVhRnJjpA5HGsA}7`_To2y4mX7!iW3Na~u)5Jg zP>(PMm62e!GDDSVxGF!Dn04kiC$60VP+UcKYCNwE}f==?!@8vr<5Ue z2;wQDbE~fuYb?Gpjm1xcv@^VE<~WFoGfP7-_dKx}HD`dfoJzmK;@3Rs!IbblYCMB^ zb-M?B{!FAWw0}kq>86EyPiFAY>uN!YX;J&8ejeQEHu6mtTYL7iqv{lzg?F<*BEmC2Lk5o`% zZ{{*A{$dhe#Wgteay$7YO;R4+Js@PPI~)m}7c@-j+TetEF_XGph=ysmPSv9l?(|dJ z*JP*#)$qk(phc(|g#Cstm^E<4>}jZFpeEEZNb9K%wRp%2@YkD+P=%|cD$|1re$PJ0 zl$jop=bpCsY3(pxo0Y>yEZLo;m#gJhk^2htF&ZWNEm#9EdcZ~My2K(Ra9vJa?RQ;5 zLM<-x5!he$-(2NdUFFrFrg-8mhd9GEgjY*lq^^fzhf%-FF7RQXhPoN_U&2a5`low5 zg0dmv7JSvA`dsBpm8IxlCQ66q9<{9+a1*X)o! zau1LMC6QWa*A7+fqo?C}_+4a1sk z7*a3H;v^AOhau;~QNIXTMm5O7TZ;au*-k|5U3@Sh0Mbw38iDi%uZ1jMd_?jzXcq`p z_t8uE4RR0nXfAlF&-P2XKWZZFxkqFLK|Y`)|KW*c+g_YO^Bxfs@<=FMIE_M~p)mUQ)M7d_Ts4IGNTq+fjpW2!1D%4I@Ly>1p zjPSk?GZx=EJ*_k9uIpZU`1(5xR(1%=K|Q+OoT|7*oMs+&F!M`kc_*E>bTg%MW`Azc z7zRE=u(#)c+tEjTFQv9AIoKOF?3pH)(&X+SYfp+-vzFEd8&=I0t0JF~BL;HIAWd?& z!&0O$_Lu~!y;L7R5C)6e5``D6wL-80@$KSQ&ztR|axUF$d&WuPrV_WsbL&y6kyFpP zSy&lLHEIw&gZ25|3iNxh8UmbAuEcE$4$8l*0rka%oY|OJbwD~PuvW|*p09K;Z{cO< zaC(Wxxl)L|ZAcjogOow)Fw2{hyK`bv+tgwz0dST4szQq;hemma7)V$QVt}1m-HNWc zwjPg5DO#9$=r^Dzz;-n}NK!Z(lDqw9rM8vQeG>Mle^&LXW?6zDft*e!1J9TsRnB&P zhPo63Sw)Ne0Q<1RRx0tVvQ#|F;;TUn*YS<^n1Mw9peIopKYKXrJ4s>?LowD5u>(Mo zOC=XlFbnI9bk8}Jf~h%6AqDp4Vm>55u?+F$lsH#9RiO-oDddV!MVM>VS9Ub--E}mt zU5rv-*QFFF{}FLtmQ_!)5jgNm)!UcG8xCgJo7f|?w{oD z)!wR({K$1h$iOpi zrq3ZXTddFXkW(}i8!^AT(V_Y;;rO4V1Lk(-&{X|zX+h(UI%5I*h^P;k168g%PW2n+ zKxJxM;G{h`Pt%p@Xk9Z+Ww$d~#jWOqr?!;|MODMl6B?!x0Q;Ssa55ZM?RZswDt@(} ziUoAG8rQhuM$8+jcx|`yi2pHj^~h|s^bA(7B9`hxbi7gMAp}s_vEO0WE9#~a#D+P9 zI-nM_nPN9 zLdb#z_&!J$-qn2u?=n42;0~6Vrx0>3g^;Vsg!oUuJFjZ&EW*28k_0@j!270ggv7=Y zQV>JPk5Txx@o0SSW)#lx4q13OArC_FPOF@d+L4589YIJw6kBb?OH^gU5T0N{J{yWI zZV)zZgSk)PeX&47?ghY2Q0h-eyB{H`;Dj&U(*~tJ*jEnnW$+*9hv2;dP=Xhny}>)! zGZGK3coMP#h`~V*LQ+7NJ7z~fJh<^hD5z-~|g7Jwu$3=9BWV(c^rAAnl02`mLuK@=DQ z1fU%+u6+wW0&fEYSO?~UNgxu)fIaATAfyFc0w)2!ZA}c|1+WOD10|3HZ{PrawI}2b z_!fK&j)L8w6zD-N&;kum06FjhP5|rLfnG$bHZXu7FFx1df4yU?(U6o51rR7i5E(AQh-UG#Cl|fjbxg_@Ea>5yNKk z6Sx7s1{Z+|yax_}J)jblfMW0x$OFqjHkbvbfr%giM1xQe1Y|%8=tsnbfB=gCn}om} z&#TqmVj*V4445lU;DfeYX~I15bR zL-0O0366s!;9YPC&~IzJ4fcTD;B`<9D#2@DJ17OOf|tP-Py{xDe4qm_g6F|nkOx+Q z6<|473KoHdU_O`&wBQ*q3p@?dK^m9}Qo&@943dBvs6adz2gZUiAR0u12oMJF4G=OM z3KQy>8N0UtoW@8JpDffNh^uD}`4?|z7Z0}ufrU;z(s00Dn+@tqRzE3klW@DOwX zEX$B~a2H^TpWFerK`Xckn!&%o4R8&7555E6fUm(llE`f{SQ}7A+7@P(5zyv-5 zr@{N+6nGCD2gkq>PzT-thrj`_59|eRfj!_2unW8nY5=}vLaIOocny?;?VuEtfLFmQ zU>n#9HiIIt2^4|?pa(jz0lWyF2kXIFum(H_R)dvb1$Y)L2TQ>cun6RU1zro0Ds^Me1HrL0p7q9cmQ|c1_pycU?6Y>F2ET` zzyKfyj=%xf13MrD0>A=3-~ldR00Dg*$SU|9{08XM=C8m4egWO!5qJn5fG%(!bb=1h z4(q7y7#lApmH@DsQVZh=xP-vq7W3{B8Kbr1;wKfhn^w z1SZAXh8IkVC-AW04wK?$Lkg2J7!0y85GKXdh6_xJvkfPh6bTq$LkyGRXu|;}#omSp zCdJN%5GF-ngM~@q+u*^ZaBXm4QvUk;tNub$IsC)T1f}VRQ5b)s8%yRo$o)&p-+J?x z@A^{y6?gC2@2U1vbdwn31B-74AZ+6WlnC^GCGi({6Ie-DbSYEl5Wp9@dGof; z)%~B;Ur6)KqgY1vJ1+A5jjDtqNeX@rFB%%}3Jap3k?t5Xwon;Ur}WsSjH-j8FYXiV zclBcE5`zl5PO4N){IgXz*ljZ4o_2NVd!QK5A{U#jf$xAva`D4Xs#)!(X25N&nEERp@N+E!*8Eo;c=b^xPQePHAWvJgj$HEbyprX8k&#{5<#{{H`zrBn z-Q{`S$Lsbk&#NZS=3QP5dQY+nmW@R#iEz!@qDZ-5ov?^Hr7K#KBv?~hw9-%%86?O{ zD#{~w;=S8;dFtxDe%R%BDc-wbm)FHzj?FDzU)6iv+2z@~%kiS#>#JQ}S500&)O%gk zd0q7Jyu`?^w|HHZd0nsfyp5+A@2j=&)Vq<97v&;^K>}TF(V86Y8lhl~k@~(iryx%# zSg#P6JR9^hoMf)|9Uss0Sza{oE!3m)dhZ|Ny{{@f+v+_pS^d53tre{PGgaG=w!0i}w|HIBdm}xsw9u$M zNzce_oA1*cjF&+I4dS~{y9k|yCJ4-vB7;JA33AKCLe=6ns_d{|8z1B( z`cDOi|C{nc8Vh1CLnmJW)g}2~bQ~VjkAZL=W1s;s%Gh68<6}-1ME?ifgw}G`E)lo? zhjMo=78)71osFS^KTDMgFuI-%|?Eq71Sb18HbWat(b=<$`JG>>iBWKiu@MG#xJG^y+s z%{hUN_$&M_puG5ap3_rlhbVrf_qwX3!ikdgB(H@iGV36~I>EZ2q7_LH?0#V`%9Z^o z$qoOTfLj`Z`+M?CD0$g90Q?OE7v^u9K5*BicBDF;;g@RT6 z#TG?XUbOC?rIZ#xlUGAMO4C0UK%-#2uxLewHSlZUQPGOpqBSV>lA`r;!78i2>yiX7 z1_`hy0 z>Y2pUIB_Xd7-bIU3TurLsY~G-MvZLz?hqG;)+Fit3Q2?uXCX)LnHn0e+ieGBU&7sX zOoWdi(4oO_{%tjzC$^?CU8VSd$G*%es&+D3%ezUen+M`-s9%>vocKlqWIq_6?*y@WJV{kh-rHj0YTlLTN{HgjN}{Iy%3AFd!qF?>IPr5YHz__26K0c`+m6jL zt3u0vZO_y%$d#&)A!O)h+KhzarzHgn8T#R5<)CxaRUKbfnES}0uttBx7 z{3NH4=OODAMeB0}E9#2IphnRN)}oTjDOkO>Xk8t5v=09Z9A7{y+9+P%Njr?FpjOrj zR>=hD59TQZ{iirsrXBEarz>QFwN{(!C4!YY0XlK(iPb*(m~f<#JxZN=pb)u*O;zz^ zPDEZpbennPQXmGE^^WJq7?bvH%pwE{pcRDM9iyu!nBbELm&<>sPiqLFqX|gf7-O>G ziM2Av!!~OMdt%HaCZ%_j)di$J#??MwdJ;y4Bl_#t=t!51=#MIp>>n}Evwn?^bj(11 z(k>G`LP4?q9M(0%DO|ArHpQ+%s2-mwYhnpUXS)RjlF;a=u$`F59H1jI+ZkdfQqbiw z>rdVq&6m-|66;UeRmXv5R@<4wx`~X?Itro}HpRZ9BLz=l=bfR@wb(2|y=TZ@WB2wT z9pt+I2lbft3cP#S|C6^i!Mn$vOS?Kb*f43kM-%g}-o5#k#B}!HZD}aOG@~AtX_EZA z-pg&os`>I$(Yjg#UzAas%NLE)qCOGrmW%diL~rGa_8LU{>qLi|Mejm4On9w=D;ia+ z<%&kv>bRol+FGt?Y;7|)C_KH7kqHxILf^%Q2FZlZ(M!a~XWEBVh-5<1h*t#%qXo4(zI$tB%;dYvmK#(9;@<(-uX z6Gr~l*%JQM7i(iq{jmMn@Y2t#!ykOMEs)#&*~F2)A8c<8d$48ZumcA!zn#Bn%gLv* zcOHAT;qA?n0^46b9W(d4VyR!)*4iN7QlZe-=cQ_k)7M1q9Td(ZNgBZ-Fw zjh(rD;r;TBaf9B@rp}OwklX@X0^mgHkF8d~1B0|4Z1-p!!bbaLg_s@Or?2~*q zc*@(VZO(Tm>

    &=S^_FnN;Y@Y~l%>o5$(?kaeHEFyMAv?XPvW&u$&iHTHUU-FMuK z0fA%d9>_l9dJh;ETix0GQNca&hB4T%a8&t`_-0I9oAzz4Q9LZ>%1@FS?h^6ZXu~ah zg>Ibq=cp?;eezR+(LQuU z@k#l=IP2_B46i<+`!0W`eeCd)$H-UtvG%t@t{h{qMuhy{q_$ z(=IwVO!toBy@acxvBSTA|nBdcUHM<)&i0%)q ze!H=%VX0{UP~BU(uO-Y9We>fxM^eU_DC!Hk@&dZpjZ4tqVH0OSg$5 z6-5P^YIXS>p~y1C^pfrm#v(X5xW!=v96o>UNCmZOU38hO|B} z>!^QU(CYngeXf}~DA?z{ZN2Fy{Z7HN-h0-`ZZoe6BE3(qHQcN(7X0pYeU0Q__3H(< zynf3wT&rIyIOJ8EC%ejI3i7+WjJ*UTirFt6>a$yfDpf=8aFRdrwJ zqXjLVohx%c(}xHSdDgC!U(^o~tn+MK(Rse!U9iBja7E);Ml1;TJe^zHptlqFcs_hq zcZT_$?eIAGto9?lh5g8*b-Ct)_`B>Ok3Gv3?=yGU7d)DmDc)nQvr9c{mnlv#SJ+sO z=B0|G%q2F&qjst0Nc;u%clXvM+IRJ**>?AXOLE_-Kgl+`cP`c)h(E+0c0akec7Odo z_6>L4V$<94HEf>yg+-lj)mO4P?%Nm1-qOFyj&X0!QM?hqjUC~BFh{pLelzRiZdq9O zIoC9{})%Wc~NQW>Agu6Jvm zuX#;Bn|;>p*!B)JfSK?#XpQPL8$zEZi*bk+5=Nh)^hqK3|7v^?ui66!ukk-!CZefP9 zyQIHmH5S!-v+JZ+vJ^#nPc~P2EURu)ygR#4x;;z2DPGFPNjtT*1&o-Dls0N*1&jkb zLRzP-&1Xbxpwyt1KyYUEEVL*83Cbj`}Z@hklXuay1t?C&R@{dLo`zob9=F!0&? z-OJn0FE^Jjzq4TZE%ox7gO;DUz2x+XCGT%q@?QFqW06Y^vrFFjcJaZt7Vq1%_^tHC zdjc2lVi#}tcHs+eEnK&0;hOY?t0Nb#U>81nd%@BZ3l^6zScp%Ts~5~2v_RWEFYf%j zF>lR_&YKsRJ})A2UKl%X6s5lWp)kB?0ht*{o^_2H|PAkan4Wk=iEx1^JBoA7XF+ww`P6#@vINtoONpBtoP>6 zI-WS|Xuzz){8{hbntABsnFrpSxo_jlx987%GjZk{0W){;XTEf6#)}`%c>ef|^*d&) zeQrkH^cky1%~&~bMlOHGv$xWheVo4J&GbbZ({r9nUobsAdsO<|f$3TN^l`VQjs1Aq znB&u8c1(+UZd&B@X`>RSg$GOv9XL(?XzGY>riOexb=aFzhi;r2^xV|I=~Mj^r}_m< z_2EyIJxcxKa_aBrQhWEL_H0kJtWNFDPJN_GeGrk_<(k^bOYLY)xpz6`?y;1%Jt;pI zrrcSbayu>MmMZ1Ph?JYIDb2i;Gp)%VT~0oIF8PB!$)~m_pIn{%UUu^FwB%zE$w&Q@ z54$GUJ)HP%>%>EsCmuXD@xY#m`?gQqyL#f=*%RMPo46-p;v4=Gce_rkP6etIjhwRv(*dI)Y&Taya@GNe{~j5t$nB**Q$)WtQ>nzIp&x$W{(o{Y*B^E(b>w# zH03CjG9p45?yn4URfh7EBOfM=XiXS?IU(d+!mwir!Fv*hZchj*On7Q_LSS}6Kw5&o zD#0%z!Ph@wwHs559U_zQ*=J0iuS0Ligtq@rUDVhAu8Vr@|3nvcZr%S=x~N-C;y-m! zU#Rz*Bxxnk5xvqNnB8!_OVRwpSJ&@cY>jky4XTn`74%LWv`0rndvv}hv`5E_p*>nA zfc9tu)gFC;YLA9qDp-?4qjI!tBdl$2fVD|ku=X~!mPV}wQ)>gMYt)*ST02Iq&8F7g zg|&hhSYv2#w9st5QYQGnu8VrwF(`t*L{&|vLDjVO2vkkWU-V!nY@s@*H!|T=b@Sj8 z?~RTc{K1jX_eY1jyX1X^DbLeIA8hUhvwPV6uEM-;qJxR=YMFsekW4+ zqU50T58Z&@pz(Tg6I50QhRURMhrd65s_w%N>rY)i_34L)51+d5&8en0kMB5Tc=Pj( zn-A|;CRAnd<3(?n1RJ0io4fg{{1Q`6RbYQjgR=}Ou#G370(;VpEm;FCrUB^=2dy?u zb;TRquFaC(*i=7oPtMs+(YunvM&0H zZr;6D55=;geF}v_D7sAS)Z|VmNAU*sC7yLmp}H7nOYVNxdA*)$8b0e7?+rEB1v*~u zsHF9sP?y&`O7nt&D$d;CSUx1pYD$ANFmun|FRahyhKd$w5^B#nCJi;l^Ygz5bC@kp z);f&8OXqAzP>%dFjb}afGP$S|?wac8#R7>&B7{FIt3JqqI>X{*>0Yv>z=I7gyeTiJ z=Y^8`kod#g{7#3_k~%Gd#}2ytT`hY=!Mett&s7o@`npX4^&1?QY3!FO7^;`^J!(xf z`0jT^a8hGW!=|jYUr?8M*7GjM<5F12HhHqbakO-$0@hx3aac{(x7^`}tB&&0eU>BW z^&=5wC>P7I!5qtMbVUwoIHOyXi zN0NuUlSZnOXZ1B#kges#K)I(+S)qQ*PkXOx-S(1KE=HC=oxj=FbcJLIm*xnh2(cU7 z(9DDz4&`nUgG^k9O&%Pv;{vyX!;JyW3+zrl%~@Wqs|sjl_mc;TOI-PY`dH@&#TR}I z8?Y@l>_OwDd7n{b;~S92qcuIrt>cPPC&b+x=d?m%Qm6vma%aaK>fN5bnHf+J5f|oE z(rPd830jle^T%oxPyQRUgN_T87UGGOuA9%O{#a$%p1pqKs}XT?w=u=0*bQpc7x5tj zeI})}3ck=i)9~2Ylb?H~wA!bHUzv0B>&T92rLSguW7CEW4aqOETl-yV^;@_LYDYbJ za!FIx+UxPci$6!);VN9IM&6#SKgOQhIH`M?krCYf`h(O7x23hR&lR&bC})2?e9|Az zJzus=EA3OAizi&CXEuG}Raje{QV>T}PH`)I%FaZ6p`3jo`^P-DT2kUB;}vA#SCULxIED1WWx*;l*YDAppyFGQ8Vg_eQH6zOq2&SLsO4 z!dl7Mp^86ToCJ)6s&!;ZpXYa4eENY#qr?`X?|)tN&(7s7-(rnVpXV={>4nh6I3$XD z+m;vKN;Ncw>95U>`>=O=tKSK!CSpUP@Ds(qIqsIN@R7gzuj~AOjP+_ymo<|7l`)RL z5=o*3Nr-%>dK$6qnCk4MdK#(DUc3{g{j84aAJ55$#>H&Ld#T$+s+d~oZoODg3oVN; z%6jU{^{)BjsFp)TlPBzbqM@=A(5;zn)V%zk)iXA;@w4Hqw}5oo+!%r*(!J zb%xpNHZTga)nCyTx|%HH?L_FO$tlay1sEISE&`C3~40w#rnfgm3y5DiG2>W zL$%KpF9~!)GVvD*yd-SS8FtHnZYatW{;DP2OZNUsb`yC>bAih?X~ZOl{Q98N4Oy~{ zLwJLNv`2a86?V0Du0F253{~8U@L?-6xvjPwd$n4>qhHx`{w(u__5(dgrUh>bzqqOT ziYqLf?lpia^}8}XO!jrWDrsJS`qAf+epGe0tD&J>FH-cUM3xNu0denfI$->{1!}Z)p$# zJ1)FLYkTsa(_lQ62NmQ&XZpu9Fp0K?B`cuU7MUK6Oy5g0ec>5aIG~+odKb;~;x5xJ zWV-3kOg~67-JAENx8^ACoI;?mYp5NdU|STlU3-h>x99(w-|5fAQU&15-{YlpLEg65 z{UvWtA)8%zT8TX(k8SfbZ%czV&JB9GA*d)nXp8&a!mhr)mx83uuO@1xn_f=D-iL9h zo@8l;_8uch1-53hv~xhvdnf_rBAyb&Voxo4r_OzX+~xlX@mY z(Xe+N*TVrVo5mhN=^T#6bh+041XY21LQYl_)=hUfQ|Z~t@j#bgP;-M__mW!foZJF? zQ?g#GkqX%t^WzshRz}_^=#hy1*vZg&SxIgl6L&x4n|6z(s5@ zZ_8%)1Ts&+^S#38C3y;2sh7mC^jz&CXru4ehVfcuoBTVII1c!v5pRr4RxcJ_n)k|B zlc^>{hxo}^bU+%T>JoAZKVuAx;bp){`M2 z+rqD#Sidax8`ggpl6HbF-ckQWm|}{2ZX;D#|Gbv{co;Ss$ljF*j`Eyd#y10VosnaE zRcO~Q)lW3W+rfHLCbBO27;mJ*=?et3_1q+7G_dLRBa6PCacJo7ya1sU{)XD75Iwor1ka7wez>E2;_8B-A zsbR9E@67g)Mb-0vd{Yq{d_i!7X&E{qXe7TiS05E(DY8$~-W~d*7t}mwku8VqrOSm4 z1l_c-5aawi5prn|bLZpTuWgwVH1)y)yAyhm_9|}~w{S!)kq2w+ZZNz2f`oueQ9|BZ#9ZG`*^fb2c(s z^@@rM^Zj4DA10*xs%lZr@;o)dOFxdz^RAs8w+zkbxFRP(>|fgM>T@l$$+oPR{bz@u zb>u4#B!k1AUSbMMDogF%Dw|-+deW=;egW~-G-dW2+u%}3`z_5MJq)?f`lR#W#l1=0 zdv4h&roUHleEIZ#4eIZeBys8p?xhcrS&lUcg3!vK*OB+)fLHpUa`|_tUEi=Qv*^dZ zC!MSl?m7!RC(ElAlba*+{Ta)$eN6EgVJWZqBwyfJsz_t+&rUoid->H#D*v8_c%dlN zn5*!$Q_Yur`An5HoT)tzm!D-e`%8Aj$Bth9jqPa7^2@fPUzSxf#frpnx4%9$P~iG< zrc=YBNu?x2fpoI9$+QIikL8nU|>ArhcD;_TD0*8Xoe&ksGr{&sR0 z`Ds zy+3AT``9VDyxc_lO?<20j~oa1mqI{}F}!x8k0-}KAA>!;A>=s~V&E&mTNvw-SFUkM zw3kVur%}7LDNMJFOKQALlw-8&ZoF{Oa-2DYh^b!^tz-XZyD273mq4hXG8AApHOMH^ zqd*Z44Q4a<65I*Li3HaT)nQ`|g#u@=YZR|iYIqY~jNnAzkBX7P-Y@6W*cbEx9jul_ z9Op5*!De?SwPFTMpreM3)q+v2C(W#?Vuo5!rV1OY;KgBK3zOOQiWDV5_3NHS%N6UZ zc`@QQ2KOOEa@e8@d7IC)f$lu<%c%j|bG0*PG4@G zC`C)LBZVY-L40&N-Rg3sB;uR~jt8h83({Y(uhB8w5%8{sD{5YM20Da8Lr{*C^><6pQA`dLPhIbSrE00xONaFI7^IRMW-5i=4aNtYMLT1|It6*FM5a(aMls zJ%n*TgNF_-y0}?MrT5^K1vp;#QNbvpF^s^Ysi7kHx?bIGl&e%~UYSh+_i z)=&cqe=c?rUYxIbeW0&ctcr3FnlOlo9lMl@QSH{nh>DvNVkdp1`D6ROr_DjBBr|lZ z74Q&nDby5#^N@JU!*-6sF8Y0ZI2;}sSnN<&$w`O{(eAzY^vQ9_8Q3Y9o`3xGN#trg z{S-ca2FXi~hu44nG+ZC_H~M(t(dVB&)ts$>kKf;gkDKN}Yw^#j?!>Ev7)~R6+-E*? zvQPidr%&4IcL19}2hC=C7!zu@cVDog>W^0kE+ypl*{ZZX;EOR6`VKnMTE6*aLJUra z_aYv&g;*PunEEKOJ>c{AIS&$Q*K}QiM*=-o0gu{*+#aKEpn?8<%p8TyRn(^ORRlYY zkJBXsAa5v*Z;4+_iNyh#wRW-d$2Zp#V(5R_J^y@ba;I7?s1VV zCjXS^KNSR11@sX(!-&UxN-4w;fW-9aj#l7rN?d#$J^t~zh>E&JJ3FUn-vhX%CC-zi zTEX#8mjJx-SI@KP(Fx$z-tm6`eCNO?JK(_pa0Pv|7Cq*y5!jHCbotC4L=|iK3bNxa zPx6ZzMSZk)x0#SCt*Mn>ig6cvVjW^_uXS&2@tu>sik69qTPN|Yin7UKAI=?%&h^dZYvN8tIMs;@Dce-xE|oLA!u`UcAN z&|IQYbQ+mzm_k;ffPFNvwwdV{R4*&pEryL$dI{k!q|`G+TNTL;izWG<2~j=kWR;S# z^`g=&9rq0T-MomkXY}h+Xnr_TcAi;m;8qF32vwCp(VX8FWRg`FUV|8xpA*mCZf7sJs9oyF}^po#F;fRN$#H zVd_NYEKY{q_ezd#dF;hgin%Vgl!XGpc-VCIJ3La(aua8b%6}iRAr*H1xfIdEP#Hv8 zZ_&VDizkZ4;`VXa#FzmlM%<5P$MjmmY}n<^O$k#;%Vf^2)Vk-F%OYoD4EqofHTtr?M`_@C%g^lE_jeXiK835{?!{^aDMzy04h93G# z@36@Gw=wKiDrO&^T!jJ8jPI|I*clzdW#=)b3wuaYdoE27N3_XlVGc5>QeR^)9i)&j zsvW{hjpQHKLlWX-a;c{uu^20C&c{a7%lgs>3NqXS#=*YQg1nB~->I%vuJ+bz+;4fA z@{7Bdv*XNu3Cihp9QIrTMt-FbDZ>OxkYe#2!4_79?7Zh_f-=|$tlxHi!s_8l6mK9m>wdvpHOgl+=_Sz1O| zu=)rd+w6MfspGbpb#=`Lr|KOODJjmc(-`zgrXr7bw0JQ)PiIJ(prZ~pavrxrCqshO ze=wUTsQjexPBRqV!!A;QHCj^0`9C_M~;O6uM z3S~l}3*NF%G-jMw)FfueWMA#j7^s6N%4z2}D>*MDfoXR9`FWTVZ1Pv7wkZs~FTo!w zd@efNPy}U&uIe{QL`}pFu6un*F2(JZv=;;+4v!VYiMfNXn(`!4=1y4NO8l?_XTl#c z?O{cGpBnqn;9{e^#@%@)d1wqtCtTUW*Zrg_A9)C@B&8fMQV;Ty?;cF16!s@mQLr?HB%QRnEk@b%p=~Z2DB+; z%wIkO4+P-(034mz;^$IZpOq(bGfrk3k0xvHOPGg_ZIR@sO=wToO4uFg4GMxv5%!-2 z`cg}S_yDHvFUZoX;kH5|GlZ>{>FDO;8-Iz2Y&21L8FsZY9kq-Wj8_||EBHXF9CWzk zhE=QdrzDKj<8DF&zH*Z>o_&xHTEj?SLkMkDl!Qpe*xVbBnJ#75rt7fiCMGk+((XnDFd(*(1O_+c6GYh zk_AgDea)Wmkw_iFzT%oNvLdQugPCf)Ee+ATsFu;)*x43+wxoFp`z!ZgG18<-u{)y@ zw#iBipkp7Kc_!Erd>>rkjjwp@l`VeizC;&F0jVaIf|94$w-ACXTv`C2O@zJ5W8BCB zPwH(uHRoy6EcaUmdsWEXk?~^ldKn{kl{j8(C`f1Iu9W6`#-s^>#n%Y0=yJsco@4fs z@5JccdUkfD??7z`gm~-@@W!yqHL_XmO)`5`A~g)o9obqXM+M?s0Yx zQ|-s8rc=aOH7{=Q05y+wt+k#|<8SNr6bYRw{r;mt9!;Pl18}o(UU-8MZV?4WdsRwA zQfkL8kB%809X=j9xTxV&1!sy<)&inZ$vEM!^2Yxrz-R_xxeUK0YR<^n{iO=ulm4JV z#66IWlVA`y%*$1YD>2-)%w!*su=}i-l3#`MDx$=jP!O6)X`rOI_;IMsRB-|k9bP8O ze@A5q;-We+hcuMu)&l`}cKzq`Yx{-N?NC?My7YYcljmCb5`9->Q zhuZ4kqxz6r%Iuxa%a=v)KO#DI`-X7PSi5u8!(~Muwx#ohAosITIK-O zhqb-&w#)h{Z&42}g2}CmW89Uua04Umuq?+6&^pBt{JL&ezCAk>r^8Bx%J(-jLpyqd zi)K&{1)+WmAC^+K@YVa)N<`+o%^urV*{!B$2G(`MVTlK%EmF#keqP(^F?Kr#hc1&P#1cw-7}P**xEgYTs`WsbK8oAZ<$#d!6w%3l?3%mCNK zM)f-MI<=9ebmJs*5-F4gs@E=*c(G|a=!7aTPNwZCm6BI(p`}@1^Enk!QtG^fQS>BV z#RM@)-y=A)VYe7KiawgNkRqNvS;K`|3B%VKa!*ht3~HPyeh!5ORutP;tD|eLaKvN! z3Hk`e!2#exB^4a6COf*K8ntK7MD6D%^x>E4z9!1V3Qk8rKLZ##ysB7G+&($cIQAeT zgaHOxM+8X?dP;M+5(8_;IxqquqCJAQ5+{UGG(3GG4F8*D_^ER!o(fRCSl?hF^Tu5qpl&5Xg^vmc0)+imI#XRq(sU5gN*VoknoK}NXQ(7Bdtqv zL$ZoQBKWF_wO1B-oW2_3bH$T|9dZ+k=3?;4qy7r7V(&caP4w!SrxLJo^e)ulc#>~> z^d#B_P*Aco2vVtr5g9wSvg=5)8W*euo8tV@(7^Fc?2iOaVcG+NnBF&+dCoHFT=;qJ zr(@|S3~tVRF@qK-<VMvN(tS*@ISD!{@UDJNol)>BYbt_^dfs1&A<$;9y}&?awOy z6z({ljW9>>WpjAIB4QjH3qNE9Nf+zZO6>ZUxEwB>YEFeM3Y*hHWz5ghjhct-unH{% zYj1^1l$X}S4lz@pEExPDsae24@1CMb{Ol5SBh5nKYN)%D(n~dU1#cZ2@=^nICz?1E z=lL6u<|C4Pd2>i=;{HAG1XG4znNrE2mznR}C{4gXqvNwurBOR(G8P_iHM#Q+c&b#D zVu~yGDN}U>j}NdIka52=z#`FC^kVjWni#K}HCM9BC_C*d)Nq~kE>VMf)-YoTqzTQ~ z0+6TZs!ci|X02*iH&6r@4o*Vvavdzl^f+uqhKDC$^Zd&4e$#2N0D(@m>FN>ueo8Az z{hwW`74s}}i=rwSRlQUm0whPtK^rJ`2op14qDYFzvgR5qZJ5Z2NsEaFj^wD-U^#z_ zrl-w<>7Aa*_~U@9-qSX{Bwuq}2ubLAr`+mzcK?N0D~EtIVur}rc&T__UEl;_s! zQmgM<(X1GI#m+L5w%W7g%xX1kx@++c_S^&{W|e2kd-g*dzHf)1Si2}ua^)Z+kY$tg zcy`OTt|YY-Jr_|xnGla_b-ATiIjIx+=?2-9NktTPq!K7km0%T7mFsUca+-tUis)!q z*Sa0-iYVdijpW)cK|=mJ$M^Cel7|H;3WMr+H%Y%V)(9|dn9I}Y;B0zSjk2nh{Gaz) zIM<0CSUQA%%YZmnx_VB1CgR-6A;H4t7eA}cOyRzDuyQVT#{NAG7BSe>;z1tBWwBwe zVd|!K68G((hDq%Q1`z~&F%4NpS! zB;73a4Grn(EUaCpbyIh4vEbs$6-jv#d&gfyO`|&J#ncLi%MjserwmaYCqo1oUm}HdhCt)&Ef$Tk8L6-Nd8ROnawx=V#PnWOshA3+ zoN!f_8)zT~;(Vo`Se!43hd-vu^C|yILj7F_0A0!pB=PXaR9(U6E;Cp!$bL$>fS(M) z$Gj1Km1%%qWt!HdGEL`NoAw2M!+KlrJI;d}OkH7PWgLH|owHhI;Ldf|egDg^_c+WW z;bUs1O#+mJ-RWV)(6bd#7I5?^e8RilR_@VRj6jd`V zu8FsM_JGo>1bBAHqYWYX1^iw!+?2q`>I%8GqKG|(;<;=yH6Y$pKuN}QNTFA|S7m@1(gDqr zeD_fjATl!>->!tMc4>7V$P+9>PB}Hev`P*WxY}2z`Vmr_A(^kt{K?oS!LWtG)*!Jz z<{zzLo^q!LtV`vX};Kru)%{>rKvpT!_J;r5B@Zl$M`!XjN!2c+0 zL~SaX5M0|>L{S7O66_^ym!*4^E15KgHs!)fCiv)-QR)uV)n00JfS20;3VUBZ7NkpM zJQaL))0L~4HB7n(n+kTy<8X$kNx|%LN0}Iq(k@EXhQd)=6~4#l$o%W1N*TdShfrKu zbwK+)v7PxmwQt8!J?CTJeX6sNls#6??sfUtl?BL`P@G;C3gJuH zdx+RHyCnOT&eSlzGM!CSB?z8kt$Uqgn_Xflu7L@C@cNKCYX62^C*n$(?s~$7#;*^l zr}is;AhuIniR!2OS7z2a`lZhK!o-JBg(fR!zagOT%%XbG$wy1Q_Z7H zXMW>e@6-fJ(QsYWukAv=`rxNC@uoSVI=pSBZmWdxgS&#kUIOg zmzU#F=!>s{C+GeiUYn+KOsQI5>=#9-TEg@lO1r^hx-(z#Vh2=8yj*^t4erjZR6JR0 z0TchC7>K}z(QYHKzjz4COw`{pH@2Ay-Gtw-d{a?iX?DbbHWiy>LY^UHP>d{BAqCjF-~z8*HR!Qz?RI zqA3(i_jh9KFwZ;yGYX>cpNs+(daB0Yi5mQaF;5vWp<98S1T4AflDUDC;-gOMOJB{~ zcm)4DIN~R#0(S~KD56FX)&3LMFD0ES$|tIjXGkb9Ajk_3P}s2qmd1`LL)`7eHVCNQ z>*q-&RZO{@*f^H9uoMS|qJPWNaA^x0aD}egJY0Poi&68Oo%a|Mi9HZ^68vfoBz`4m z@pZEas{iazTxlQXq0uqD?2!uz4w;L+sfl148ME|R=vj0SJtuICr++i6-a3SMVs{@%J3GS`b?PV&)TL=%}ts!jE z${cfvN@g-Fww4_Qx@S6*O}+~xkk&QK1FdVAr*$#R)4A5q`>b{Kl-+cy?B?%G5tzu4 z1H|gY{A5KQgu|Y)rpY!X>am_;neiOcPp_OobDy7Q-m0|i@w!3?a^RF09MG6BAlCX0 zQ*oVv!p=&pbjwK!tV{wZNo1FEN91@KfS9*I)1aNXMON?foXB?qzQRmpz%{@qNoBEg=jPf z3L9ZjwDVz6V#8ojdU(R3Y_={6wZh(X3oQx)2yD3Gd-{!&3VoFh8!B~|J(Bx zvd29=f%H$dXQ|}E0-|;aT#a=#&nHwI2ahcL5IfUC69H;6EYjm8F{R;@Q3&u#h!Hrennk8&L8%rQ|0R=2qH_v6{$`UBe1iaO| z;M6pT(_fKQrUYB!nob8{RRi`}qL>Aq&OgH2pRI3axkE)Dh(j%dAj%?2_qK)03ZOcJ zB9HbvhZ3&_QJ$=DRr8cDnR`4zj?a5)vP5+v#RB5A(LVK*BrsfafqCCPMpp9@q{+C1 z#=k|Jp~Q*MmRNR1GF5SgR8{h5{W&G10J5KZ>Hz3D^QA}xw9XVn^j5x`w`I(-q78Iu(7}&ih<(vU0nW_)C7kc)JO-h9AZeGstAW#IJML~#Ox1vrVrLV zB1*H^>zY*%mp40*p@Aq&;CX8aI<^t_0x48>e+-9xWvs@6?G7@~m-Tdz_Ey>uI_yDq zIy@0^-$|7dSaT#}6$WayLyS0#B5OHYlz{z&Re%7t}d(WhE#O3el#lhtCqJ ztAKlRSDM`x!)qaW6`hZLj?N5?3a~Se6%LTO70D}ZRaJ6J5*_}KmB0RSTpMUiFI%J?SfHM8LA= zidpVaX+F%?FBPJ9^YCZl3fguDAzt{8N8MoEb7CKjgQeAqQOa(9>JfFhLtBLIp$tN- zQ8h0j^v^N6OH;PC#y-uY4N(3vTxOA9Wv~?Ag-#tx7%mvYKT@dc6j|Q31Y1l z1QQFi_WAvSepTRajK505l4Mfu%;4@xl0!laNJ5$$)wzO-t?zl zak}fuIN~}bSywvEebG?eOS2`M!Q1^3EgB^mopaz$1i#)%Q!8fRYjZmtd>2xF3n+ae zhM5D}I#=;f_Md~w%-_=vDt6K;F>z;zX1V!+F&N@D)tI2=0kUMO(+(g7DLrERp#SSb zu~&$&v8k0xULAR6W)iN|83wUm5pX=ucZ7o^V~^{8f~R@|QyI0hvi zP$Yb?6FSIs9|gpgOZ zMXB;og3V+F)BU~S?7G&0-RV7a2+{Tp_FSQVAPK!{a2m`9VG8=yNhTVLbvsV)A1tLD zHjdT5Haj8rttz*#W6&{LlrMS8n99oCOCCExM|M%bvTQ#sKc;F%Q4!I(}%)FU2V9De3aVSv7ogK{S3L0j{RWZdg{3L zHzubcgq%tqNM?)MIphgdn*swL5uH&AoiTM3MO3jFV}0c~VHjJ8@jMuYhB2vLQ-?|a zf<3Ni9eWSe&2dSCB0@#c#bG>d>M#@<&_AR=tj)B7po3ZJOQ(qsgTHZW1qJ~*^CjT% zEW=-7HXM#5u$emNWXGRWA&xgxqv#6_8pqW;)dT7FbT>gx<(}@h z$ma&?1{y4|0o>;3@urx;uwkkVRE~#3uX(a==Z4(^S&=itDEFhsw<+XoXL>d4s42dE z$gFcnCskR_e>V zExnJH!JIpuT!tq4ddE<-4AtW+JH*|F5X)@KfT>mFS>g~vL$R#;WIF@#EmnA>$Bop- zv{FYZ2U90dVOeC{?T#6duq=gssxtF!8l=^4lwq;GATwnrc@&{ti9r}{m=7DaIVs(Y zm~=dr&xrIvu{!a43}RH(kvNLx_Eu4ZJ=@ej8ty^3$VtL@*so2x*s?>=HP7e?O);?F1wJ1v znS<R6kKo-dNmb*Uw~-gRBH>IO>lBieDI5-a4>_ERJx z0TbSLcYGZ=dp#ijv=ie6VKI!r?!w;~vIOjJqg}SR6uwak{=s8tn4W>&oBlG`&aiTrsB6;4*tS&TM%?+vRvS?V37K zwM!7305#WX38nv-MeFLGsNW^LfeQtw+2!83-$VYudcDa0=TExekvuIZRfXMsb^pKj zL}u7sNiC5CUZI9&*j-H3rMj;_*6w`_OzY~@z-6m(t`pkm%+C`WR@=5s8yg(Sjgmx9 z5zsvq$G)vy*}7WR32`c!c0P77-s!cmQ}TiZS6(K?;4W`h>1vp@d>+=!1PXklpqTLq zM~GjfbkTf4Q!n!uV0Y~edPNsn4tkakgf(kEu%bX_x<-ny{X5pkT@*Q5*KvMjx)PWsM4*Of_;E9hCVdXxMEyd=b*z45c zsJm{?xv;nID3W1y!?7AwH!@sVyBcwBfDm!6ub&Ys-lMAiO7yp6s%Wi_+T?iSqv9`` zdxB5yYJ%FRHaW(~Xn(SBi?3@|a25@(gV6swT1eUME?T+lJq@%GZj_^wdKv#~WGa2J zHkV~m1;mVw8PwHswLAbFvb&~%!7OI{$_5>Q`NO^;#4llkW;f{$jsrtz44mL6n2i_y z3{S=AseMl%(}Vs-$Q{xx)OmtvtlSkG!+uUZeM>Kh^K_GYD$y%8rDrpGm04d6Q+gUp zN1Rw?&R4;09Jvr=rDle1gp6g!0oxhtGRPTup8alsq)6AF=y8kV{xXRX#E6lX#>#bb);2SDI=+>P zU>9GZLoyV9D-r`soSx^H=i*$ksPx-N=f9;5SCsKx(x=fWCC&YsRHZ#N>l3M!z_Yip zpsr2Jz~Y*DW@?YMCm}hIZ&irYDOOWOXYD34B)t0y>kR8$oYQ4B98QSdm%*@U4VN~Z z!i^3>AEHHJbvCv=eUd`?)odXsBS{&^G;GVLL6EFyc5PAhvpWd`XZQv+ZI-Y1#;e6P zLzpJD*~SntiGyS&CWvE#yu_R<+>33D0(mjHBVO!E-B=yLvC7Mi-Bx)yL6IfsHd2wi z3;OQMHzki3{AATPCh?!?AC6JeM0Jy#&pr`At#!fAcp9bA5JygF#9kB4Ia1lfc;}ix{!}oy1o(| zsiRvGSXdxDaOLxzYOBN094kHayD^lv9oD-#OU2_ z(#aq}lP6)0 zPoE~t4o=l$A~y3U!1kOl_Xh5G^*ScWqzdX1} z8|H_&RXx3Jgm`tI(2J070N#+ucuyBS_$^#}o52fzJAOPIrCc?*t>MpqWC#oEQ@mII zZFFPPKKYjFc!w9GdS8HFQefazT_rv1Xiw+wU;OH@P=%O+dm@A2$W z6FFp1TgMcYQNaAYI}pe?=8Vi=ckn{07nmjs$NE~l5Y-ZAs~5r%1%cbNq@m%q%}8nL4V;G=yZFDl2mPRHEpY@%*du1_vTL|{B%CP45T z=@j93gkY=#mezM|d*XP?z&r)jAoSC45+<8cXf14}q8)CgE*p;!mP|kh6Wd9ISK&PD zIdH3JJK|Q=_lR4KVI;SHBm|1d^QTmDrcaLL_TtBhOQP=jnD-I1XX+B?7}-kGW)*wB zZZw5z)8dju4ruYW`#_7=?pL_(*#CtVU)9VZwYcIebp;2)X}+$eDG(gUV1qz*?dcD> zzvl(PLbRJnES=b#XW2Z+9OB~e(YteDla&T}XJVZ9SUiHU$$8A|5+am26>I7#rhT)P z?nukgPiyHve``YluUd)0zj!9pYwt9{)j7Kf13EMd9)t-t^?+Mp-JpUL{57c+2Zf!|KU9DdvhX>+3bIAT4&u~%+S7-C$2w3H~uv}2N2XZ9oI4+ z-2PwycytH;T;}%GwC3>ZO9pN0~3W*I7clYTV;<|bd=}7l$z!#o}in4*6V*o9T6|B7x%+98ql>p@lJqBIEDEJ8)n|Z ze<8*XH{bd20$tgJ#uJZz!BE^q*8{xwTg$c!Q}rmOKY4 z)Z_N#RU9=Sp83(%cfVcqz{u2aXw%p3G$+Gtc?p~!k` zXzTtCR8OL)xE zB71(&EazGq{gwHMGZ`ObAg~*)V}GHJdpFHqN6ga zgy!@`)rzI7w^yp1V;n?mMd*hc$FVIr4>LZPE!=62Y`If4bAV-xrqIj=)-Sa~fis-{2XpCXxST`~%i)auLsU+7|Hx?5yA_XRj(b5xMhO zZv{2$H`m|2XFTgp1gVB>eoOtfPdRk*3< zPk`S|PRCb6>lS}_W_A~MR1|qlc!(G{vZe8CQ9@Ak=8h%fVcb$*wJ-lptAAL3vV(Wm zcWKBQt%xi`4AzU9OOH0bS3^yW9ue0Rotg#jpD1lNDdV4%Tc^400B!Pzw=m>_a#~>? zFZXQ_uTBQTzBhq=60)0oLHT-hSogb*31t!y|K~riB(9BJiFN6 zDt6D#Jh!!7k@b%a^m@`~(D(U6O{ks+R4kct?M?ny*rx#_Dh}H|+H&^UV_R1*%m1-; zwKDU2n`mZvo>Ybe7m-VtootnuCuiNAM5>$4T)%OvLzAzRC1M$=Cm?~u$oF{UdS?m3UVbhX& zR1XNA2&47<0AgD=lc}IQ33cI*|1s^v#x^h?_bM!HmpnWZpa6)G?A%|_%+bkk8ghTi*=HZ*!tPtob9~H z=NruaKZNh+zlzx?j@?|L+CCBL%baz%OpIUi=;q3-t2A!QO=RdkdG)sF#0i~s?r?z^ zU4nd0jeYoauI%RN5q*W48Bfj@b^MYt?UI_^&4qtb^1l`#re|0koywz?i}m=8Cor#V z6;V!bciEJEWP7msi>u%3?ltzR6UTz-BP1liU-yzuT0!qMhN~>XD!&P9I_p9lDmC-T zt72#4SNyJDoPS?~S-v*=M`kr~CN)d1nYk0D1ZqUT4_welA?y1T&_|=I(|0O!zMe3G zy`|d+tU%Lhx=%-(8M z4IeZ%lTmWnOk9&vHa)=aq(7<3=^K+5Jy31EQr&pM#p#RpaS#8JBz)E#)<4o4tV%ii zL6V;&4k*)M5r=^r8wXmHbkV&x@2=r44!`lvnL{tA*f+<&88u}sTz>6#7ymI0)q1IT z?jI&Jf=28Byef(sX4a@WPLL+0PC4{5&n=zqImj~GZ*m$}*YIO_eD_>s-=UwyuOc() z1!VvdQKYz1*U^i}@wWKbf4$*JcBH}P7ZsH*wCYYN@ScBukUW+r|9x;~3-1fc-&>lq zAmKBiA9PylA|339cxV%{556^^r{ivxPjevP-hR~1XBDwz!Jv%mUru(~lS=}<)hrLp zGO#UXuDG=kM(*t{xAI$<^|JiEh^$5qS}tkhUs-kZ&kADcOaI%K<;0DLv5~28TJ|zf zUDQwx76a7s(5~T47&05=N5^@?7s#N~t`60M^249u)cq%ndUx$Xy1{C%8p|K`jX;-{gF9S&8@^d!VDLWM&C6eWb8>b1+Tq@O3NJD> zm*jHkorui)Rx*TTYOJ4iWbUF_WS}$iKFQP42Vl28OT*F$+jZ3~H{U(?{|NlQ)}eMGgZy~JlC)+&*pzAwBbQ~r8yQZ+Si()&BMw(hc9L4<%d(Fzo<*l zG;qP+{}L^1g6ALNFJ$Mh>$@CUBWWVO9@N^BJCUi)*69w+=~47q|ATQDtfhlkExC5n zwZ8(@rpn%!^rJ=RRDAznHdYShl&UNa;L9C;+OVpsj!-OB%rr$0M?O%1uLAtNW45B=3lcoH zdUtT_zz&_7e#k6?TZA~IWN6Ot;auKzmI-EPFjg#P|Ma~o|PS;QlJ!i?(L|CU`l;^Ykbw++fs zLZlCYty3GRSJ0jeNRu$o*nIO8D1n)zakdr`nKbE($}G5g{6nUN!JZI$pisS0(KJ}mXir_DSjFS~lZa!K#CuZm-e|+=4Bj(5d)~UPW`-QTa{N~im zG3?cuFTbGww8lTg$a3BqIAccBzXeL(m;V~sLo*SUxbgHUZXl4)oj)k->~@P(-KzMh z@y9P0rQ)3DssD3P!gHdxHH?dS8^IOvk32fOu_v-|k*O`L`r4t9Eoi5txe!1KTjsN~ zMw@mzS=4Y^twfu{_cyHeBJ8>U}+-Co8+;P%UklvAI&CN?azL;O?%ah&%kPTAZ zdvYK^N4lW;&bn*=>ykY>ZF9*ge&q^c2gHff^BC(VHl8f%2z%*&@sN((FtrRXPzHH@ zTon8Mh|iAC(tquJg_oSJi0Rt2@C3!8t(Px2i5D#(EeSlYdH=+d_yDDIVDDvh<`<5V z{*P8YFj#?H@PX$&+YQbA3zj@Md$uoO(KW7PLGs#dE=GoR)6gxm#og1+sr}4eXN{LC&{ZGdHhrHQYyXK284H`cp z=H{OXNBld1g-^Y(R`lr>|F2Q7`GG%E*OPi^=?njCuM{FOr&Hq+8ERELEqBiBAAkc- zjXL>R$&zwl-Cx|MTz-U#Nq?cp2D-*@Nq3SD^RfD z;i+RBA!*>>MlN!&dAOiRZP6h6O(+^<*!iZH?XUMgEV24sXRICHTbA{X!X>w3v={!p z`s*!*u3>rBZM*do@4%4Xy!0=y#fv~LZPR{gt)cX|%VhOmH4ENc+Dp>=TxT7hDNR+6 zBMc%jm(KM?dSD+>w?FHryv+GoLG}ByuJ^pw^V)q{;gug2_yjM^t(`$1P0c!6@gd*x z*Um7x^|OB}Y=7Mgo2j&XJ1l&>70&x)9F;ML+49=6<-5Q{;+30Zvm)uv(YzFGN&#? zU`vj5DhnhY&`<2^JT>k-QoVX*JePwK0zj7?%B4gnV???^z^Ddnn`}#^`tUv-4_F->N^`pdV91)^)k+3 zHjV1KKh)pj!8^XsD|jq!9OLfV`!%HV{&{cI^)hnCKCfQg9aVo)Ci!kR)$hFTPnYZY z9<@LGGeXdDc~99NRkeJ+oB!QyrG_H&>LG-VYzeC}0`S9R0`Apf1Q;Q`bJHbDCD0;kPFb3rKD68>N5MJ>;B%xy%{z?@}eXmsi_6)&4LKaYM0tN$t@EB&iEseZMRH;T?a?`#zUX z0^Wg@1WC0a4>CXbN>=^-j{oU;QK-B^OTtA=0s4@I`Wv#{l!=(!f+bq#sXU)&=$ zFrDbSK*?Xp)BLBem2P7C<5!-IFP@*oJS_Y(@9cYi_mdAPc5{09O=au+nCJa+Pd`|2 z4NZDu(`O`XGQT%F7T@&~2t0q@(%HcD^dH<|`JV5!|L+>~xzq37Zi_Uu^Uq%|3dbx$ zH^|Mhp0y|E*wn}#&pQkDA7ZC0@*6H^)>~P;5T|^HB<9`^Jh|n9v})@4 zoYsv&78d?={j(M;oF-1yUL4iSZ!@VT4lGcAov^P@6qDro+3eg(?P&RT%@=#D8SFRlpi;e1$XD%!3cH!rW+?1dhF3vR zS{K#V4I$-G?N9~oYxYOkRg5d~p6{OFtA`#&qq@G*B2?E`=wybHaU)O_xQ18-Dn@6Q zo^n;z>qg*w_og0DGA?>2{b&8m$}N~<1#h)eU3Cd14gv2NLvWLrUu~M5a@Eim_58Lc z0dj2rZ$8q#-pB(qn@>4sJyVbmo~4Tx(NZ-Z5O*%@K*W%4#n}Z zsfmEb1cY-F0@e>P_MPv(qBj83I_O9BGZS{93BKqC6Qry`z*;Gwk>8Co9eR#Z0?rA- zWzaL10XS=RBjBOV0Nh-FsIhMn!a0%y)%HYV5%ByzsOKOAY}${|c;bw3-idlHn}T{? z$w4?zM8F*gIC=~MmL5dF{agT8@&f{Hk3+z_5U?R00pATkJtrgJr#~X#H6(C30ye}W z;JXM|o`isx^aWt`G6XC zaBU*$c`yQ&&qBa&5pYcz0v4S>z!eC%`3?fsB%z)ck-%99_ zWY5W{=WQe!ixKeZAOzfifVF23@Ja-1d`b2^9rb*J?0E$Omi0$yv>{-@c?8^sfGHml zuxSSB8R}!e-=#7fK36i;2xg!FF`mIlpn=?(sGl1mHllF81T`5(Hfc{mO`09aCP&C7 ziVLVoO(5B%HW)P#ZA49&i^(RYG}L6b57~rpM|_1}MopqeGZDW{fS;;MxvJYN0Y1$C zj)yqMoQ`Bl5=b_g=Z+AQUnPLkXvyR#k3-nNfzqwyC{<*W!VJ{J7)pwyo@^reg`CR@ zvdR4cXcX-(vdKr@z9f*TIpkc%lcTKgK%?Nlp(eD0WRr0NQ4_@>)FeL{3PnMg$GPNO zz9yTTC!1iulhdzbIt9&lmxiGx`k%=rTgfKo`KSq8Jm}+A!AtQ(qY#bcD0j(G8ptN? z6=aiBWRs>$vdIE+l+|Pt{2n=%KgcHXaB`G0!3yf55t|Q5!(X_<7Nng77{h zL@*ammIP{7-j85IB}~&5vdJO`q*87z#z7ZRcG2blVuUw|*dHWfV_0bQ7Y$~E($n6S zfHGlLIP{nfO_t(1SeK(DVmV|J{5d)OIb;+05L7Kw*GM+G@1TOhn2K+3(4V`{sTH6c z-h0!RfC_p^RD$kW%aVXPoiLO=4%VfGEVk+5h-zuxT82ZZOy7EPl&tPZ(`w%k9Z-ev zM-~MbCVdz?A?2$0nM47KE7_4659_i5*8`8;QDZR5v+hXI$=?%5Lsqen0_+%u<|2NL z5X;}t`4qN+eR_(l-*Q)ydrMsFF8?JY9w7 z)|8|?QH!C;a36XLjM9llq1`77go=lwQ6RYrQS2r;O6_Viitl?hQqfgD2(gZTNW?l= z6d0v;IJ+9=@)3=a|Jsqd5ZH1Jn!e;8wHcZ`vmo|~U>EeGb&-fY9nP)=5mQB>QCys< zaZsvMho-M&=9yvj2MOul!0Jc)%0Q64IA|&Vl#-lW5QU_2m@^gT(zYATWw&D<8fCQ* z%>^6bi-;`bp!%h;lMrHxby2uOQhuB>LaclbuBj=Zc;%tFGz;lwke5-u2(dwAlPi-D zV)Bhqh+<1Ewd?nyQJTH;2%uOyIf`zSFJ92EW;6$_%hbv2$soujQ3jCxa%Z%Z?fVhM zn){QZ?CFCjHha7;TFOkaiF^tovVJ?7e*S%OE*%HZD3qb(T$=l!xdjYAZ}ejq6}$OTcX{vb)Q3FIi* z0caG%6p~`!lcRLRp;53yB*mmIh+@TuNQ!+;j&dphQOxueNwK43lNDbfinaepQf#3M zs`g*_BT2Djl44KEQDk3}6gv;oN2woVz0GM9REyD4|DOS$(S_n%Dot@bD0a|I-Vq3oi-2$`N1MPphLd%sn7pYCh9gXT?v%u!vK zwG+K#g{70~jZi2}M=4P-Pxq(AwyPk!Oz!UJ5HplcCOGNM3P?5_A7Dvt z`#S%7LxJT^TQ*$;#m)Q}R>Z`vpT0n>mRf>yPxp_WTAYgzOK}3kl>MZBR>Z2Th`psE z#Lgka`sOAo)>>)^ut25Ry4AT2YwkKUknwx@+It& zs8YKv!Y$Z_?L7%*0JfQuo1#li>1GgI=`}JM?jYO%Fy>x1=cwGV->+g~=E!UZA|lv)JI4 zK%MdQ952kz2TBj8)UGnfX5@PvEP~81kw327f00k+^7yxO9;i^kVdivHOz53%I9ZKA z;f>GT>u6n~8VE>O5{SL=!Y11?WUBl=bGyvAu1S~MWN=y({eEWY7B@bm@cYZ?%+8R8 zwS|zGoA0h<*ALx@C&)Cq{5J}yXn+lCN0m|(+z49%4}rje?hA5R@l`^d$eZZ{*-fZQ zcS4DiyRknyeT)Ap1~L^64CLKNe@PkLLLP_9o>MH@P!(YvOLCyDH-tXDj4jqv`&xUc z?R>?W7?k}L9rZDih|Em#*wpbhGd}MXoD7qNe~+=Og?}x3oUwpQ60;Ym)*7^Tkf1$| z6giD`$Ue%E;V>XmRYSUYv7|kkk8G3D0r^4=q%j?e^rV3_vL8uLK!`N9C=a=mhma=U z?Sg>oNfnobOlmt9^<0fqI&Bd0IwA^?LHQH;JVtLcbZs>9xKvV{Z`5;F46=jA5E@!nWVssrkP)ATde*N;Jul}&&&vL&=dKaR0^USuXgv^c zxQP0{@$SA)dcXK|){Y%Jc3Z`G!tY2dQOw>E{oyQk@2g&t5w3sgFS zNN& zyOG8vFEU$zJTZvc#!etP4dMQ)i&kAq}~ZKGixl^JC=(%h+%=lE<@y z6{{Wtr3lasqwJZ)rU%xhlJRv0Eo3kc*uh?IqQgapXu{6?O9E-jA;jT}$+ls;p8^8!L3Yw>4#ARty;5 zLIYpWcGcW_uoJ9w2Hj8eJ|aq{^i_G>hXi8iuM=~$njvjKx)W)5t5vVGuwDh*Y{(}h zZm}Y-E#L);5zV6gY!>C~$2}|@$9U;Wi>87^$zQRo^u)Ffv(#@%k*p%=>C&c(Yxhg2 zUN5r?+0z-K;~pgK@qQ}UmS}H2}uYcgo_yD;t3$4q6S1nMVkO3Dk>_qSZz%ZC?J;zcyFCt5KyU& zN}bf(1WO%jwGGx<+S)b&>QFD8c&VjmEvR*@0;08=);{%J>m)&(vCqu&&-4ENc+Q8g zZ)>l;_B#7^&iU@OVc!Y=LPuEU7q4}=<2LxhaIq!~?U}rK{sh>r)dTO04#m zOQsC%+zWe88v$(2*2B>&*S>TN6v5)kNsgTcZX97$`kw<~E7*F3fxMuYg>mRC`H z?{Of0=ZfnQPVtA9Im9;!LHsCd;=5?NH0!y_-p-v4Ik$VPD`R_b0=hKm9%GZ7syka% z?kL+h+W3`clsH?dVCi=Uv`<~W4#v>^QiEUxcSc)4l=USTSbx<9oa0tVLR|2j3x zIk0|p-7&Dr1DS#KO2lAi|Izb*cGv>sd+6mbMg%Q)6+5^3Wk<0R2`9!(voYff2iGhtUhG1up zQ>IA$96jz=+Mspg3x~I{-!`o}11HA9&P5#wdI8gH^1nFNdu8*?B%-`E`(3_hZbv?!)#WX?M_s^>UUOU=ec!73uW5Q8L4mfUWj+D?<9ep=YB43 z;!Mqc2yEx4DU*-Re)ws=r#|-Eb}1ep^V%H`$(Gp_H`IG!CB7Th`@%wod2cOugVjwNE`L@r zD=+4a1@neX&b*dbiYu>9Pb6q%-VY_P8m_=&}zBagot3^5lD|jLdSBqY%r>Y+${4`1iA_akS?>&ST@zWbLxi^P`cxU^j04th3? zK;kt+a2?vn5dRs8Z~A~X>R!MK+Ge24Ymu{QG!p;H5Pykc#J_=JjAHI}E>poYB;JL@ zyOLXk+^duicviq z^=wDZvS;w7bm51Bq~AG*q0Ql?q6rxe?a=jJ!W-h?jEF&z>z_EyfiK%6f!){98CKDG`9OD0K5Fo6PAnQY=*F-&qR6D?qHxZ#pJ z#k0!4@EOVpg6+U3-xjMOk$jqHN>(0sW5qc3hiVF$w*&MPFq6|VpD&a+9@3|BU)HRz z0Bg2e6oa#=Iuf%YyMy<%%?nK} zXbpIa4_F#gjG7OxEzo3IcIRVjz$3xTSi3;$pQU5gaSNrFSQ8v77*VmP(Va06RJh*a z(c@gL2c)y3{J`?rRPNW}O^kxHV_R8_g4CYx$Af|<2=;5x9ts^&uUlpCAmvm`0Y7VY zF(VIp8eV( zj(uUQKc`;h*3x$wGjny=m4KX$=-EDbVd|9BEX9A(Dtkm z6}x4d4vAM>iK+}N*G1u$Q3>oX6pd^#B^+rL*b+x(dZ58er5p?x9TGQXB{*InsMv{7 z9183vMYSy1t^sot6^iFLZ2c!Eux{J$Mf>6LLE+GUwvUZUUQ)+mj`NaS>OJ|DTle8)#ZPy_yfU`rxn_E%|4ION+RKY~vD`u@Z7!#n!?aw$CzYq~PrDqG)pPPb zNR9*Ev%Bv_Ld6H3a2VGB>6FBx`4xWdN0$qPo+{&hGKQYg>39#Zjip=6X1RHA5fYz8;^qlRyuS*Iw&TYj zig`cKi*pIrjDxt%ABU|=p$2?oO2{&rkWay#D-wrh>*|B(A*aa2XcaBeB2ZuE@FKUqfd zukkCwrLU^ETjz#)Qptzd%&vmo1s0C4;sk@U5){W>o^aSb4GP(HE+aX%sH5QOp|GVK zdy<>4Vn_c2Qr~cALnfBnohclZ@Wjr$!|2Enjl+%)U(X1!qA6;|7xved{IY)Y&cwad zGv6BdcPetjKW4w_&iW!9Fo`1?0}|^|$V2l`l9A#zKG#<QDQQwbADUvHIpVIaI?{)AphdH$OaZe8rT$s6~9~<@;mToT;;dSOQ3*Xbq$WxEt0J?;>(Lo#IV&n2$ z&89+gK1CijNuC_b+BdvqY7OpbQBS=l(+o+Tz9E(){y>CvVQIY+m`bs%iK&ARv=j5P2eO#1Q1@b%G-{E^2A1^2`M@}jC@oL_w`f*X=sGFcZZR; zF^u;C!?}_0oI^-Xiqo|ZB_Gv5`o{N3!|%Z0?ojeJhLIk_=OJAK;d)4KgRl+KF^uUL z7CQ5L@V?NYce(#Po-z6L)~OVKeW-3g#; zg1E+hbQo5{r$Y+#b|l#0)&x2F({Ioo3_*lc2R-gj7>)>Zl)K1A8f1Zlga$q?7sH$V z9qBjVRJMA5xS#%y(=q(3ucMrgo$ea3<39X)f;8yFgsc!hz7H5Kgml!8_#|miLpTr8 zUHZcCi;#}(AQaNGApAU}yV?bYr$aj4_c%zO3*i(izO?{}bIPZ*Cp`{@_L^&XCVbKM>H zanxDT@S;1E=l=LUVt6B;5a=pJ>zuCI>CSb!iB31p=}MgLXFP{K_V65XT)s*g-i5dw zyvK52c!iU0F4Cd?p*_rpxamj-Vbm{%;~^dEzvv&NApyd%knYk4hKIv10OY*Mb;xT0 z7n*<3esH0y6kUcT8|vjVr)zS$I;WfEbbsTJk6wmyS6m!wB84ykcL=!mArkv>J-C=&?hGrP z?tEu_s52~Zx=0LvIqgs&=C=tzClFKZ17iiaVyJvPxPu@)5Pr}l33Oe82ml&>foy2g z6rc1$ouK_Nejku=3i?4d)U7wT=*Rnjct*y5i;$^MFy^g=c~gphNW-=p>+(b1(N6w` zC|K)bUZ4+$f}TYhNW;0w0`XoDFM_xZC>Q-L;6k%w{NRv>kcRQoLC$U`{YLQba>gGA z|9EHoJ>biMAJP{<{QFKCm=j68lO`MD3Y`9f;C~m(f^;#|@fi9+2eM>BV95a5b6l1E z{94HCil5!jUkZ_~_^N*X6aD=2`|(lsi!baKk7w+<_;mK8@#^Q_+^^hk`uWfH%loLG z{~6GUizm7+|B!xuvbZRxXo-3?S^Qj1R(g8=lJe!HIjO3$j8au`nOaqvQ@jMy)Fms) z;%P9y_U?G=1wXh^hRaoX=21F&<`Nc2I z%PF5yT3S--h@F~Ko|a#nldj4yO)4o~kyBcp11Z20In7lSXO|Q?2r;ZEROhMEOG}pI zl$8M|vKSYSqm~q97Xk}sD5oeZCp$YQdsIG8LJp%FRhB&2fgD)k1kQN)|jj zUy+<&o|jXall_=@rmC>8WQil}B6q|rovJD-Qe~8&)T+`9RTf#i)afsABw^IE>TFec zPEuZJNs$T&rWLPXWOp!}vZ}mPwZu^yM~t)TiBsps#DYjqM1qw4BAvoGln?ZoPsr$q zh8)glCtrwAjETu8d3L^o8g=PR>Qll~_yBv5{h#Zb@{|fgT)+0xCk1mO(^X5Bf&gT( zV#$)_Mav68FHEps2D}FuB`8W?4o9FLjRMvGFR}BARHfy8bx=GZ#ver^BP{U=;y#5w zEgJRbYVepd1#YV&?uj}9&Emz``76runFo}x=+R^1=*L%dY@94EK0ZDMBFDzytFh0Uj`X z_FW)e--Tl%EbHKM#13~~oju5K z8W%=k(^J~)@p33jNj>Dm&bNmvd*uG=c8G&gnK)|9o+%g~@vGZ?4?9cAx4pO%x?~<7_K=alTo-aM_^oW1;{Cahd(qj&!JbDmx`_~?hhoURm zL)Bvf$_@{C%CMA*ZX$T}Ky;gbN5+)_FTrihkG!77l<{@KvP{5x$gl2U>Yk}X? z9g6#HDrm{n>SXsk_q+{*sLwrrHk5}$JOAq)3AXspKfOUbdp~{jU{z0>9eN+M!jal` zyO@ThYwsv%nSNqycOxLq;fsVg2@^L2;vBwE@NvZ7Li^&#+_tlOIUd%ZG*rW_onCTi zv7bOobhowH!K`-o5BAs{0_qJ0Q~mDZy)^Xuk*LH*@MLG_8{45JKsRn zlGnMfk4@p#K6((*4XuzCyxVT4VSb0UN!skRn7@m)9jP8Y@P~AXGhGSk5+>c1%I|jD zg>CAYdw)BGJi=idj+7aIE*$70#jNeTJ=AvY9gS%ZvejxOVAkQL@7v@&WZF%Ce zcWy;3_O>wcL)>M{KxW$ULjst4aov!ZWVt*RB5-EQ63W82Zr}ITgKr+q`hIfv#s8Y^ zF-Ma|5h)OU00bU7nwjh1H4Nct!?q||In%h}nDGGk6%KLZ2ZV4oWoaZ+SczLb5?jPE ze(`+C3_(m*b*jOSPD-hMiv+|ZUP~1jyu(`36?3#To%$a(a-vhXb71m30ux?fHBAn9 zR?y_@$}s`I!@1~xBH{9|R%!5cX;6zc_(YxO4QbF>ZE(9Xs7V{#rV1fteBKIURVm@G zh^$&|tcug{R!3GXORa+caWdYjyec)#vmo*Hx**aNe7Vl^lp>_54q0_{2A{PC->3_^ zR_A#_8+^7dn7~O2Ya)3{b=Ar|cA23{omW+w$6mFns$9*3_|94RVxiuapI~qGF}-|?&?(DE0H`HTy!B#ijc4B zf^O7#9;ZTXQWBs<*}A z&=UfZKwG&9Qb~hO)djU%f;#Fv+oeG_sNg=WR<8lw=IK|j;+2_DpDR{j)m-}2cme?V zB==1_o?uVqvE}V@31u#nY`cmPJYCRP6-XP@2Fx`fP14{tkQsCW_u_HgL5D`v+bWP# zQdN${p$=E@d8PlPz@Tf=pmtzILM}_83Lz&Hpvj;%X>dDb;;r5fZGek6LdILouY$%9 zr>R;AH^o#{3Yv`Mtw^m}k;h)SiU)TVQq?k^2Jf;S?ra$}8*D0iD0GdyuXc{sa!DF= zNfq*R<*Wv6ORAPL!ec=a-kMd=NZ8Bv^U7pQxyGt;8wl1*XlS?BI)hGVL!jw))P-o4 z0VQOyRK@Xm3536f&s!Z|Rf08Vg-AWiLDfMT2M|B?R8Hqx@s1o@V!{jRk_z~+N+2b z{j3ySXUhG_Ao>+3LkMS5g+5_d(s)}^U=2IrJX;>k6^AAmpRY@U@4*26 zL{E|MR_*60gMbpU^wxPcQBMqykP(L2n~IPVsu0asx@xtC7njLi83{u-de%ahH?lSR zQ7Scbx~C7_H(>yW(mR7sLC>`WwRPgq-KWnu@d-yiI-<>FbqM3cr^qfV_f6N06Od^z zui3xk!B37>$TqrL;lIIM5hG2H;BSgiWlC}qZ9qac(1c6^Hzu^&oz7m*@eQl5 zfPYsj>I{B9X*D$-6)kD7`7sDiEAXcM>WN$~BC!KlVxr$1povP|N?Nr)MC5ObRNYmD zrjEUtHB`CP#)((9js%V^#zhH{OVSE}I^iA8G&LvQ2u023ScefTfC_BMROK|$bB zwr-;+8hvnC3{`BFlJOFvk-o;`5Ll)#SJIwn!qPYc8tLo+Lb)FGEry|Nmb@?N?~vpQ zL6WBiKKD8=9LhOb#%Z$b8+p3>ol}S2?Or-+=6i+BVn4R;{(7l+U(6>lN8MSyg%TZG zHHc%iHoUHtMK2huZF~L8({FwHk@iyKsYZ*&RMW8jqun1|vOu7*^;&%)-)~gEmwiEJ zFWs;o`{1Lute>8F{i8G5n!5F0M(>!u6pjsK2doKregReIBM`KU6MQ+sc3FJ-5mjD& zo=!8xmy@=GR{H)~_F;m!@x$10AIE&;**pZIYase-4)uNnziq6-Vs>Y3pDC6V=`=-< zw3AkT$Dw|Lq;U$1MXA%Qw{j?7y*n$83#q~ger7VT;ROdGJWk3yFGdvKl$HD%F0(W#ec1UzS&Zd`GKSqHl*Jm(l6mYx&+s@) zJ1JxT=qZc0T#;|pdo~B9eO;*%MJ#QW@#Y;-8QD?7IANJ=gSAq%W3Q(^dHKqrf@! zJaCqk0B7G1RYv{W7iFic_ZnnN)_S~oQC6?>E0Sa=2JB5?-laQUnvcpYRJ~L-ud+^l zz})cd2OrgMftxVX9iA1iZQ%EdF?>x>OJ`87A2q2uDZZk)2DZ`SV$rxv2(xv!SaeS# z8Y4`El}a$IS#xD>44FRg6nj!@(xe*pq*JSEUN1Er zWnRTHudBVH-gMCzaZB)JSUyUFn^YmWvJDfDF)NHC?1W>m?0{8BuipwKZ*3lL9Io1V z<1|&U6jm!?*5s|Qy8+vknySUH&XzDMPNOyo))qY-qMt3W%3)`<;xyx!Y+%6`1QQ!R zZ>YEz47i9H53@M@Z)}dQb*z?}M?;~%=_a1XrIPS(`Bm!7s#3MSJP${%a#+Zkssg^6 z=hefknXVad+0jXhU?DYzj)a*K7x8CdWvLCh)B)?l;G0xPu4GQUIcdT!{Y22KiiU4& zY{b64BKClnlla|^Q$uPM!)lXNwJFiHNeaIyTCa2&OMa10R727`*tIp@8oKqcN`9VC z0>Vgg4KYA!2b_`V!oJ>pBugO<7_4qsE0O~uHdXg~h|dzv-sd;{Y0{rRpRN;DLK>7-_oXTFk~Bd27rcNEW-fQpUVrJSc` z;#e_ET)gfRS%cDZmfA032qz{>83ZSw?U}&o0L)}P9`|FWd?Xh(D0xkA4olvjl-y>| zz3C!2CRfa@Q*xiv9Q|vjUy9Z1e(WyRu-~jviWq=Va$*GMqV%j_|Jo+^+yMVpzAEPzF{9U-cGm%K#eDH`*JL)JX0yg#urjGXa_)QL&J3J&2?dVxMV z^WlWUyk_?B3ih~@;%QmtW~rFB4E6x&WDHc}DSn}Cl+E@aKCS}C@=nTm{-Dr5BqBPf}r zB5`Tg^l7avFBBSWRc{y_u?C68w<0(?mB1l#ac!IAL#~95p4%jz!WpPJs%jcstQ%dN z1vjIDYLngZia#^(l?D|nytK&?o0iq@7SXXRW8QNTTfgw&7nzXB(<}Cj|6w@J zBnTSL5=-Dz1%HW{OZ}*o-5}f_w6a!mys~PSVN*Mt=OhAcMe|?NNjR}GJ)CVPJYf;t zkG=H8B6!c))OOA=aJdz3FYtcxlG_XEG>jxKZyBftf#MRXzj*NmoQ+ZnXP(q(*U(&P zZ_7;RC^_a%Rg|5Tkn4U529wb(Y++nN?fS*le~W4kFluG#QZ6@up99SrrF+Q`k`sMN zd}KWwh00wju95ih_&RIAk-sg#gPIhlVoZuboS*#@Awj^`DFz*znocchb^G$PPrX$> zCDf!nwhN9#svBe_H4+JC9n?~_Fe)&lBXsPgB`v0S=w4r$Cc{B%mQmFUD&y38lksDd zHyq=pkfpMJHt~_Ut@;-Rbpl{_Pog@7KLr6}S60 zoA$R}YqfS6s481pI%w?{h4#2l7QC!K@CxL?2oq2>h zO#5x4br$EYYzuC!;woD#sFe$vDL!M`dd-8bMTfW;%8+3LFl^BVafSr;F>Fmuw-z!C zTajT4b=hK_RdGM_wI>*wQnrqRvr$mkF_takU>Ggc!_hwM3H<5fDj>lR5@KyzOuFw3 z9$R+~G3m7%la1{2TlBm6KWoGA)D@v6iV8e0v2$N_-tBu(a0ydz8y0+?>OKes|CjyA znkduGYrLR2{%xJTwOWBX-lcd050F{IhtqyEJcau|6fRxo`ebNA7+tSIU9VJ5USamt zCZEcFLf6V|^?q>)2YDN6Tnx24fuZ(gV7S@@414<+mcY#$%rIPo3|DKOS!MREn==1N zhWod*3`h}fWW#Ay!mgG9aNg2?iE{()YrJ$mz4{cPz>Q<2J$u6U)6ZPfUCVX1D@~!^ z_sRNu%Atv`b}&0e*|HfHZl@fuv#=)lht6e<)Md{- zE$h>C=Y${Z-kEK2Y*$Oa`0=Mg?>U*dec^|9@;(zweWNAGFE|f|S^mN|57tGv>?Ff+ zBJ?(=?aps^OX1{<2R!{hRpR@fXAVw%%ZYg(GGYf#IfwWD2quev_(T!R*e~5Bbe-bB z$N>gYzghW8?4L&`wS~yOrNch(;+Fa+RI|-0_PsCW-RZmG-^BjOV;f_gw)UD+J%9e^ zcJj>!rx&xXI#VZ=yoUBE#vXcDn|;7#XnOI*gBnKRU{U$_2oov@PEvVr=!rJ7?uG9^ z^!A8!2spWT#`;)l8!VTZeI*&-!oCtCY*+I=1zQ0HHxWZ7dBWf#65L}O~`pU?p;)jX2CYOd(3vkGiV4)J_s#brG@cfCrbfmA8tpaf%7}w zM%aKimNlm>=2(gnIJfbWRVT%PS|BbAqk*`X^H;DG^r{Akk9qF`F($K~ZHuu_H39KJ z_YBoZbC?#4dfCF$fp|CP0BB>I9Jak2@YxT$_2wgS%?uMj3YlveO$b2!p0dwnfOtx> zxH3Iz^PF>W9sPD%M5mve8$CHm<`eyk*Q>pg_g+0Ji`uN>T-bRxYQzp_lio5)o@8wL zXp0UFX+QA*&cYQyx1^{*l79A0fFab(`T_+{yO<*)HEp}{ z(_w!j+j~UF4)w@3_Md?LHb)NYDzqxN=5PVOAN4%mQH-~F; zx@M=F0WN&3D~babNQ-3PLfbC#bH?9=0LCK*72{9AKcqk4j5j&sE1dCJ&iG7ce1bFH z-x)6iVc;ED(G3>)2r)5jA+YxVUL9Uzk+(4nR~?4Gf**ViEIJG>h*ESATwqaTaK@K9 z{=6Cs#zsqm!=YO`JA2Fpa8kF7Tf2p7UOg}%SyJ#33W?7B{UO8{x zw3&dDWUz7QS7c|;D_4~Rt`cyP&cu1kmIFF7yC1UBi4;uEFDnO}W`0RA0H79^l>-`Y z@shlyi*r@^g#ei>`4<$Wljmb(TY91DkI|L6463p}@coPeLf5}k4|^wEQ!+lbxhV*cN_o!21CQ#ZVwr(Sw1uVCp0a%kz% zrPMaEBB=mM(N9m3gS0$7csx4ZI?f{H!Bq?`XKec$bZg1HSy(Utd3fx4gpayz*1xJ@zT zXEsoIWSH=Cn|+tqW;clmAmI3)Q?z<2fu9S#$AuaPeg2JIs6j;Djucptr=SLMZPAdM z^ZAfo$}PN?;w0aMp)1n&;>UoG!}NN{!#95dp*a^1=W%Wch#`@4>299eEf4Uqzaz8* z8I>}HZ<9N9n06a+Y13~<=e64TCNiwmE;I{m4NKKasfTWN$t@irw<<_0VE9_?@#64~ zJNZk+vV2G*uzwZMRWSwXeAYu~_qVcv!jG8yg(MIYByP3Sw7MX^0kq-F6%O%{V#+Cv ztJY?7VM@tQEJSdn7@^Lhlxq!i9*K0+H=>u~ra0@{_%HRf+}*6H%j4eSlj=k_sAnbI z?+WsySBsgj#watwv!HZw)NouQ}F+^U7|T{4>CV`aJXa0G+*udWbG;plw9B|h) zsmYHX>;aS<1$_Jr(t_DHl_IxWU#s1Bz*Fr`!9((!2c(_03p?au%D^&kZ(UF$qEL8C zDR75-_vpd8p7VBzfn}5yPzJV9utT_$7#u03J)S$BZ>TF!7C7b0745__Wl&~z4-NHF z_Hf>&nO?G}hoT+GILF<0>HAclzPTxJTgGlBqn6n|$csC0!7en7eJ3(y4se;=Ln8BR zf`i!KkZT;nJEkYjC^U>UdKxe;3TQHIaXVyiujboq1EW$bM1FJbG8^GQ9}Vi!q&RS; z&u9V7)YGt(3^|8ujkqcWm;(#5)(=jbnH4_t@+blMPD2GJK4#Qii9<#bTx$ z9+XI+6+C+IYuD5H_H;S!_suRR-(A=uuXOPNh1=03aQ1-qE{bM%2!PLpF7iZQ=szd* z$G+`{c@@@}|1tLMFE9uHN7%O@2lnk+ANH;EU$Adm`eWb5JFss6v2$YIUJCsUKMs&o zP0IgabGZMHVsnmXGmtm!{{eIUUj^pWyWhcX#HOhMCU5xu`jc361u$hcF2KQlw1|pi z2oM8wTOZzv1L&;;0Fhbr3AN4f^#Cq&0Lqf$4Uf@eo&N^BM)0e4EnCK*(%^$}{1E_u zQ3=PACN#1q)#?GBHXc6l9!UxWg2tpkbJF+KRrf~ zxz)X?DNRxv0mCbUubKmHOlT{EuiA$As%p~T}u;JG&%8AuxpAcCGu^F@Z7`> z&LxNGEgVfy=B4nN-b2zRgH@1}7ZC5XgKTWlG-Se~lH<})V^6@N%#AI4jh}dzi`ZdQ zq!phYwQ_vR!e*H?V!{!TWH3`0%F@;giC!Byg-BXsSm~k~cx)h~b{NkB4&k=@v6bk# zc?tkM0kXlAcB3ZRkhhtRNPiFai)-@J)VyrzAF=8`?KqbSh(6k_!_Jt zUX=+-!jV&s07(h~l$YEYaG<=D&XC3M4_HIc&Je)Hxbi;mmIKP=DnN4g2tc`91qfGP z20B*(l?hpdqj53;A;%Mz+!=!6f(b=CLr|PZL&VMy6vyjd+_!AHuRex0I=$DOA~Zrr zo{A5vl}r7oS5kUwuuIh{#B@Mk0d@YnZ)fFKSCih$q}5PS**dgQ!GjoVZSp-pBtvH9Ik&SMxQ%T zpPQtwoUYHEr_Wue-J5)4#JupR3pBZqmQERiC?4pZg~Johzl!MsVF;k4t%O z=yONwytXcU9z?mN_ynYal)0d)q#~0jR!rOgVVmL>=eZoH>-K)K2$Zb z4_%a9(sH?&+N6ZYb_rxrh60W)IIqkM1T#g08W1^l?rhAUruTijv(+jLpTyDvMMHWy)LqHYvjhJ$XA>E z>9c?xOChPuaNq0+R-cn0#2bE zfk{)nyS|hQ_F5dZ+9wyh!U&}n?Ca(E5$l#9$@6?Ak5SkaeoUIBxodJRP8i0{GoP$6p)oYkcO0`55c#M#SLfF;l?G=Aa? zLSmyHIjj(OS+}da&=M#Z>jQ4-d^sBHqu}Fds?-LYhjG?|eg5_MiSwYi8tm`+>+nl! zA`NB$pXc9Gp450);oA>$sc6Q|3$*VkO#6oSrcC?Zby(WJNrUarD!g0C*d&8^Op^?U zCMn}XTiCP}njjdrrnv8OTJ{KMz0U--EDXwd0RXAXv$$zm=^*GlsK*tx_9LT%y}ypk zElWT%eyUVPjf@^~-d$KJZ3OG5_}y3K?%ag0qG4}1qya#=e?Q!>i;1k78(EzdxnXZ) z&DqF8D)d!iP;oSzFak2aj{WeAqaT_%)*V7)IP{WcPs)w^)|}^`f9sqlYh2nme$bpm zGhjn1p@N$L*0^e~2C`j_G%4JzU&TZvDW^&_%Gs4Mc5Gx4uoyYUn3Gv;0aIyE`Ft5* zHYsS%LM@n&jG7|5WZ}Mqs;cr18pOYUNepFh;MCRC&IvxE~xL|IZ!=&g!|G3dy(>MpoGpT z7C?ecXxSq?q!ySQ{dp}`dxlTfm&D@$4KUV9w{jY!+X&Kii0)@=);}j-@4y?)uFTZ9 zWgrl63CVTeJ}IDB>YuJco zeYIp}6?4$;{1h;7x7-ZNE3NMjIDi8=HUH5?oG3) zg&oOR2M3%naEpE7Yk=YypqmVbZ867xJjaX}9%yK|KuQ3*Fp5(LIEVFe7%@JFC%Ns? zAl4iZ1}+s1|6s-K>UZuCg!vEqU7;2Z*_i8`13jVN+5T#FYn8F&I&Z+Yd;6xp+T^AS zX0UH;S^WA?NpT||5TuzpQ9Fxa$>D)sWz@)k3RBK}$9m=lc9>hkpR7TduWW!ttt;-CZEh{}7 za`=zWgYj$-80&A&;?z>d)k!ukjCSg9=rUy;+ydzEnd%J|osjeTx2*0jH9UyK_O9oj zIOi54#c|;k4ewLv7F`-~_}Z9*)({QbP1i6qDe#^m#4#%a0MO8xM0qMAHBEbj^^RE) z$RqC&nBL1|FcCubFVlH%5$sEEB~H|sSSwTKtzStLZoLMW*O9}P3dg)oJl+B1ICfs` zlt9SV%X?1)VQ#c08fI>&(znz7D#VekdxU#wj{}bW`WE(A0rXds#|IXszpeuuww&Uu zjj<<=YGHxE>_l1DmlnY>nTH=U2_yP(Tr@p{h(4FiFm-(?6MZK4@Dqc;KM>Ies1}1D zw2f%_adLiUC(HVLozKv=ZJqvK)eRhFABh^!kJ{fn8Z_Wsog&bq>JR%G`SonKH z!d)U2eP&R^izA_p{zrX3X9xoVvsZs7_L!3fUA`Q<{KccOX{VONH(yKe&yD@++QaHe zV;y6~0JFXNM+r|W`CB<>*He4*w?ePb%mPivxesOBr;Y``mnU;%ARg1-hk?708wOoF z3H!SO`+LU#z*+H`iGB%A^qoT8#I~4&3WQX}^M3{46LZ8*FWQdRhajZt2D60t6D}d7 zek|zYHHkJLeioMy76A?ji=?oGXdZz}2m^Cy+EK9vuuKDS32`rxz^Xuv_$!%63rmO# zQb0*1O+@^au}UXGS@BZQgv^2Ga9>Uiv#$c*AK^L}rd?PH7iyU~xaKUbgI_seGP_OJ z2*XIYgn3pU1ka7OKpAo-KoZagZ8hf@v2P zu0*lNK=F!31!2Qr7g?ihF{Q$1%@%pk;RURiwryI` z6(Wih!{DbB;=YXWI&bzBKq}|4)h31PezrwF!N?W>T)XnNs0$`=Q#26{Vq4m_sf71w ztZ)(=o*)n?O-WjkMnLzO2@qr%?;i$k7U8BS_*Z&`<1|_{)XqK(OXV-+ZszdcHAV?X zDpPsGku0-hSsK*9aax;X6?~;?yXo6)Du1Oa zgds0b_`e9`z`-l86QYE$?FIL6ObU=w0}CJ}exA6?fwIJ(uOpm~X~Fe{{XQb48_HqWxKmW345GGdr%nvBl^ z!Lp>mUttY1h;V`%JT7F4fmwpl{Y^PnTD<|bfXwECv4k>{Tvq6x%i;{MCAUYN=KwB! z!=-K3kn5l)tlpYB+_qsgsbOie3aIWSpN)qJ;~7dPu!KIyj;vZ|<_XBvHidKZ5aE{H z@v&Abwn0@+DV{&Vz81-o8m2@E$HmhssQdW=r+hM??sGTrbJE2u-w;^XDc!=jsn8hG zc|}sMB=LfDjkEFfSVrDZH7d+DXm5vg3v^2z0CJ0Rv^w$IZQ3DoL&M=#G(n@|u2H&g zg{trelV;sVFwvB6srQ0a<_j8=?vvDy$<>s^J^|mJT57u6Cv)H&&} zpRfI57EC$=>W|NvLAVVZWsM{p_Zoy8tBmGrpSMXR*>E@BT?WHS!QPRrS9IUcr6u*g z8pQ+(Mui&{i%f2~*e=@D(fU{cKh7D{r+|{$^|Lx!RDOxYna!T@s)4z(lf4@hGAImg z5{uh&_l;RDMWnkFAqy#ZQW35Ckg-1~F< zi@XQ@*f8*YPPQzaZBCmyafv0y?IelvHP^^s%NO)GrD5=zPJgt1Psmyr>sK&q=?jCE znX~F)H5=|gMxPs&>O2+Y^Z2il7PXf1w=(eMY9~(ojcq>OTS-*%wXg>!1|0 z7jB&W&EzZJ{G!VE-RGCTcZRJidN?~dh$9nk>2yref#;Z4_dl{?D`qch&GuF)POPG%!DcOOiT&dCPL!|*9iPS#00-75Nk3{|L^(vJGazvoa2Sv{usxQ7Y};_HLDyzzz)jzwE6rT8~5xxH>vjk;YH5pXDTPbCbKW=bgO5kFWt{ z=~w!jfXZ5 zSpY^K6dyBfJRA>(a3~x8|8HT_=fcY^_^wry3NCz7ESd~17-=Yqcg7C~7Z%h-q2P+a z6@Uwm%0*}4r5nbd02kvAgNyOy;KDk)2=VNgp5{zPJUgbN9c4^E3op%>{NQ4KGq{+p z0~cPo6%~UEcBhKwf(y^@MH9e9`WSGL-Va=)zs7c?p9L55wSbHH_JIo+)*>Ugh#TJu zF4j*6t{1o|&Ts;_SpPV10pD6Q$mt^Z9K%iU{D3av+>u{4xXABCaFJgD%rzL!1{cF8 z;NBs<+36abZlTkS0vGv2fQ$KPa4{b~bht3;XPy2V5IM-{KM(F`2qR4<$Trd$e;3@} z&<}Bl{|!JIkPY#~XfGQ6nCmM1clj&(`B(Mx_qSu5)Gx2G9}QyZU3?n)`RDfY=l1hw z^y8D&&kt>^kIxe}S(8f85b;wC5>G3epPvIJi2GTLcpNd;fdns|vdUqf7>QhQ4lA#Y zjD2xvvY25tb9rI;+>(_}d&L++6S9wEoQQhJm{Xp(JU2I|)Jf`M1t9%-h(ga!&M(R- zE(6THlfaoXskB7xDC$43W{h&92L4<4eLoF2g?K_Mk8K`5X#p8Se`wcjdQ4pO zzs2X5my{HiInen}vs+t(4T*NN0}lG1a#hE`xfYOyF7zwr2Th&1{u5lj7&;l|hv9;; zJI)ltAsPpVe~-(@{Nf>C^A-jlMUk+iUs0LR9E{rArg42f~7WddZ?qA^lPcIjqc)giKlHLPaYhGm@EAQk$ z_IB#lyfQL;_RXtovTgRw>t$RBV~Dej^nRn^gMG|xTEMOI;pf4A1H)fv6ia9KQX&#g z-3fBnE#*ICDOeBrQ`~PUe2H}S%`XJ66JLA4sbhePm-lYf_}T{)l2P(r1Ngid-)8W6 zGQJw{xih|v;B#Yq)!?HTU!~^qD$KcFLq(5B<_|k}5v|LDB%+|t6-(#Xhnp2kO+AKB zs9PH;>W-ML_+`By>6h08|B2sfCuS?4z^#DBw*sEt3g}&{-4A{e_yw62_E0l*OGo{0 z(D-+tK7E=0V&=am^IyRH=P~~|%zw)9KbG@GP2!{biuVAy&L?kFPkD4d`n}IO5)06J z>L+m5>OXhfs}D4+JMb_c%H9e`CrByy&)N!Qd5{R3J<@{rm0i#TI|YO}tcO%K`ysVN zaO(@v?3*p_yGe*0jM|MTJriQ*g1Zb{H*nS9a=jaYD4T-Ukfi@pw*k#8|NG4QJ>U2L-}AiayGco(}$0U~Q&yy?7o)X>BAfSBt6G1miPt_Q?i4~V%Q5OX~s=6XO( zqzLM3p$C@ykw`@KRp83{qp-<)cE9Oe-XGgoiT!;z1HTuvNJtm9jT{U(NOmJ7QinwK8dTr0@@{25JO&vy>U$g&7raaeyM~|fr-o6)E zQk&L+=!4fzOO<3zK@{6584iUt*5m@fiz`(Xunm zILjy=B<_~2GVfm1&gyH+ zxy;(H{%ydsI;~H;h8#q_e;fFD&0(gO5e@QW%z&DQqEW1? zj~Dw)&(A!FL5U__$JI421@U`5f_M9E8+U;9;K|LEL0S`8!|QMt5xpK>NzfsPncQ3& z6xbsO@U4z$zR0SfA3@0MIZ=k|i1FE6X6pMZr5^~AL2Y`VEi}fiA6#&e))y_y?8qU{ zvRa!j_^JJ=X8Y zzR893{q6$+eY!%+{cgXYMoV{L`ikzJk9GIEGZc;RK25rDsrwjQJ5Bc@VpaFATQ0I1 zI}z_YD0PJcRwK01LEn=XS&G6~LD5}HJmV#8n|nNh(@O+{es_6;A_K3Jr;MVJDrM1%Y) z@vB(tM~dBg|0-8sW2tZ5(OxP5^e8~%CIWaDl8WrEo?WHF`U)nu26L-7N_jhRxR1lH zK>|7=pljnogRq}p2k&FPodg1-7K3~V^rAW^)zM7QX1mm(!!Gsgn%oAZX$dY5W*(%j zH$bRzQI&t4J{9sLG0bIlnlq~gsr@>IA{5gE5Ws23YdC$(Ap<~3xDZJ_PQi!J=p~L4 zE_aI~x2^<3APA*t1KAwW!AH6trt~t@agigdj?|IO3eb1b^-O{=+Ig8(+suyH5Du2t zOJP*A)7+QYWY=YOvRzoGy6_21azTgXW z@cjz>__xgy7GD6rP-6Tvs7Kq!fQ@+g{T_$t8VkBFK**%{Ro$mQ#vzk2%=c}ci6bFu zE(FKtcnVqzy4_^EM{}mjQ-}sUbP}ZZz2Ip)gUk35e$RUvE3w|2|#}t0KYXJ zs0DI9pl!V1*(-t4@)H_kyl^r$&(e&gB8{k9MN0t8S@PWPoa zaOKa2+Fr_A(S0EgFrSCxOkCWsZ^?+Sz;i=$(ep-urTZF*+Z7A+@s%eA>Ulcu3WR^{ zd1E$qtKorsGID{MFQwx$EF)zAwc|1}7IAUIzK9VYl#zy0sJRs20*qU`FKx}~&gCfC z3S$hYc|P=_VTHHd`O}7SKMiAP3ABX6P`-IMhXcCC{O(Kp3p_U~^1CnWhxq-tgvrCH zIG+~>rva+NYVBU3S=DW|V#@9EthWH=$_G5LygrXQsn0{J((n7nZ@hc!t;=kXdoLrY zD@t9^7VJ*w{_!esU;*82F4^ElF`4cP#t*oPm)i(OT$m>T53TdxA#H#wmihu5l3l2C zE+VwN&bhoC6Oklmi6z8zSurn(Vu^(mnqjJ~^wLD2*(HSCZqTPWQT#jJU1 zv60+C4Dyw@l&zAYg*flaFpr8GJW9{K`tR}VTMiOe=|Ss3_5ItWaI3(vhjk~h+(f{F z@Zsl24<9}JJgi6dqxwJ7BTI&jD{<-nJ{#)TriIsr`v2&W{a;|?xl)NjoEOZoC$O&4 z|5)S3R>1#%s_|EO4R?``j@Rg4KCD>=V-4#d;r$z|gG5V?m4gmaP#}-b=^7p!5fndsVvb4-; zBIjHF(VBCpK(Cb;DG4!8z$6Kd2b#(fC7)?$ry}Wr(J7zan$+xwCQnn6@FG63 z0Id-?btknvnLX{emKP+6ww35^XnAT1Hs=37*Y(-&-R}Z)f^Fsn1W5Bb>;_$*zw^N3 z{R3SYk-#P|6GYncFm zRscLFAS7S{Offr9pmhR(c@6+TPAwAwpa1~A27n^~PyhgKoC5~f0RWS@<3vyixCAXQIk2Xn?*VD;E?7+XwE#a53&Cq?VC9duIm#a+;z zA#UK3D#5z8}_LMQ$VK9ztxd6tIn^pq6{AA@zXWu@%>Go~^PfxyGP}wyH3|pW1 zZv0D?(v@X!K7C?J%7-bT@BL}g4oj>w=OLCto8JzoBITQ2-{L#47BqZF9=4x+ zO@dZNqqUW&ZAd4k3ZFJzNeOn0+N+UjNJc1Mnct|{T58EMpW7$8^?`BejC%C#3+LVIzDOVv&9a`Bo>5=wQsHQN{-Spzn-;d2E1%#kbE>FK zs^rF!Z7$6ZrK1|jtUaybZFV@OTLH#Z1tB#pzUyha1)sNfzjSI+ufPhFYz|95Z zLqN4RKo@|MtcHN#(Hw-63wRy^9KTsS1#Chq6~bi4^2tuiQN1JsA41!!aVBd{Nz0K0 zkdsi7Y?hH#V|C|6C)-OXdrJggBRQ!3D@Ap~E2s-zinj_+9`znylnRVd;}y?>P0R|S zy~OrWi||`%I8~B}rc#369<^M8bND)u#fO*Z6IwYH&Oe?;w{+CqtEEL-{3~o>U{3i& zEeZ+FGXm!+fr3hlq)?Dq1f^eHgiF_!;U*u%$`lQtOraxlakgz- zwuv~~JTBW}ob5y|+c`MfQCzl>I9q?5Z7BZ&)^g_4O?dNUsF;@eEBw(evZ3~#c zZrrk6TPEl2T<*F+D^|5_snM3r@gILq9(`#4)tDtYF)0&WCuSWzv2U}(w)JTHc{(t$ zMZROy3PbFooLVJZ5>QL~Lp3I(mksE^#;fhA&*;b6z@TaIE6JLGWJM$SO|<_pK7f?o zODp?E$6s8UUGfPQ#8pjhR3e;G#9Iv^XS^X6qD1&u5pNrWoE?IJkk^Y!$B|2tW;Nj! z?fC-wG)qz*;NKxwPJK!3tOi5SSR z$qQu1Knf1Xvcj^s7^9jM1FG9w0h`vcHpH(k%RZCj(1(#vQoJOmjs&@JowjluNrXXl zVVycnaVn%7`D>_SLj4)J15Dr2H6>H+@aw86nTCHYua-P!ZwV=%DTOnBDnX0w%~zbs zjKmI3`on;1`%6%1n@_Ze0c|1I)tR~=Wo_&TZAx(A{cy(HuB z1!wCI#oSD9%3C|{`U$3u;rEO-8OsF9DV z8d_cwWJ!;=ms00>`;BlKnZs?TZ1-bBxE-w8?O*(Gu_fsU>@jo2ZrzG}W;|T%DYav` z*wbL?IPu|PSIFCki?yoS!Cdh>0;_hG4bFR(Omz^?G(aD_r7KX>Z?tCF(Xuf6U&AC> z0&TA7$Xd~gfTww2h~7ON4&>?=l;M$e-nIE~$u_r{A8{InmC=8#CcKf9PIT`ssMUpA zNjh0!B{le^O>Qcii;c_Q^%-?0X>ZFYC>PAiw}})|yq;=@N3`5B{iVUyLuRi%-*WFk zzw&#pRS#LJO&P0O=rYKvA4!$EKcD`)i_>H3-a?NP;?%Ui1WmDJ4*n@K{byC0+;W7M zB}@oX-k*ORZRq;^+1m@MKlY;?ORqruAFhp9tzGchoFjzlrv-xK&-f{(ddw5gz%}SYmHz$UyDtsatQ}kJHQjsF zYdAP8f^TAaeg$p)%gR3x5-O}^DI{S3R0nz*ONeXuK<1=p4iNH@h-R`{(EdAH)^N6& zgYRXg|K{pQTd(~23qSLNif3Lql9~Rj3$((xbEmH?npbi^dDV_QG+gh$to$R-Y^08l zmdO*p_zNKLYo7=0e*YP$ad`DGS}K-)H9h93Q`fm;qQj=1t8R4b&)`SQ^D-q`R$PJ6bHKiuH2kKl8w?fEvrP#nbLLlndIg3Tg0IhL zCH#V(ssoOd%GyBl#?_Txbv=@z2p`6yldGw?r7^K4EzxWz8Z>wD~yoy=G7S3CdE0Q$H4rl z7`Si?2JXSY`X~(ChJnGjG6oL7z;`*|85p>S1EysdSdD@0CJelt1D0dpEEUdq7MJr@ zoU@h#j^%RZfOl}fff#r#2b{^}%mG_C-~=w`RGjlW9B>E*?oz=?_p*Gf&RF=81#&(N zLVc}%64p>;nKl6K#i~x0D11!!eDqBK{w=4y^okRJ2V_`VdIk@)m&(%sc(cqGA2wED z;JIp0XEbi(&h&0~18|-ka^5``o0`6q?!u>@yz3Zz2T!0NgVQC(d=u6&HTt|DhT!oG z7-q+)$~{=>-Us%3yekt>s4?1MJyMk&sx-EvBvy})=}9Tc>z)&(-r#KrHgzC{CnpUR~@|w(_0&4XBK|dRXfcTnkck99eF4Nm| zii%^C?WQLjr=DA;Z!t%F{Moc~SxnI znLUpm=GY@jYSQ^zECj(9lZvc1AM5<^3fG<#swDLVnlEOND3~%6L~w;cI!UlmCz|-9 z{_!54e0{vl^1*JByfa%b`toWCdGI)2mSyw9kd(P(?DaxplV7g+czmw#O=rk?9=R`k zo2~u4Q+%{3AV}~!Z$ld>orQuRo$bHbvY_md9z&d23+rE_2{(h+As z;9gW_S-_uC!A~#9hr3l5ZJOhMLnnQ+X+PY@nH`)m(OEX7{P;dFi{SIPVwH`*R?B~} z?ANH|WBsfKXX#SgRnennpQOe|D}<4&$V-Ieh9av(@=dl~xk$LsvCJYI7bOZSecZC? z>gLC^Py;-O?(S|6d&Ze#E4#MhBUpGmwymbOag=CbOOu5HSy|~Es|Zo3+DmOP4!6yK z5qZ1?#Gh7Os#dgZ9f()UoVM0O!V;2`yCsuI?mCasm3zpk3ixQ?gAbp_GRz#^cdSTD70p5?XXdi{>4{8C@#!+uU@1 zODJ5Q(~j@i_A6`PXRF65tv0`*L?xOrB`5uxmg05ZOQUiENA2eutM0TD@`%W+GM6j7yEA5 z0|qHx0bO(BUxg{Q)3C-UPlaXhcrr(9m_Y@RS4-&x8hFKlORm*wvPAfi64qP^S2;@7 zM%zn*2{OSPD9duj4pXu%?tKh1p=cgnj5fKeI2Z@OXvYl0pqJ8s+CM0H*_AbF>eXAh z;Wx=8Zzw0vZ)YSD8kVE{*P2~bLrbm`!erJ&-kbz{%?yj2Puy?lb=MOmi>shD3MSgQ zn!iIf<9+?vw5DLmlf21|5C<0j!9sIH+&hU$QXkjX4?(OsT)hes%rV z=X>Jc>WftiV6y=<*LZ~FaRP5TH1W!Qg*P2aiL!;D{=ZrOI4~l;q>XmOC?MDpaK?4; z1ipR@_R##g1Y4$*+9aR3ByCPfMq}_n_v1&%#VvlTQ$J}79=GgQ?WL2dO2R56vq_6Z z|HoEmsd?Un>n2fcauTLc;Wbs6U#oECp}??3(I30Yktn3$MM->GX!5s9R+%fCg2^ZK zM{hL|Ekd}u#R7W4fGbhJAR`pxxe;zS2lm^fjd%WBr3|6Ufl9vCHK{bQ+y(-by=d` zO9ZzJ85a4!_m=SYKRxE7_Qt=bA9npIb=Y+@ec1K>oMG1o^M+j?J~8b2=&51XpBIXP zURo+EeaUBX>E}UW)$9$)OW0Mf5x=6QxM=hl+Cofa)SxA*hfutH%KU&5p3z(p;t z@?^Pe&IiAX8WDE>@>KXfSJC}--825W|Ch_&y?5Tj_ufryYFW@hnKHceKa9S)P_{@{sy{gI2t#&NG>Z&o}MJDx-Rxn zYED?{cqhL5>ZjDSUmzp*W!{T`$L7f{=eIHAZAaaGtHm$RU0ODRieW)Bc63|Xf^x|T z_pi$BowW~n?(BQWbMKUw?vsDLV>wc3U-`YPYS|T{a=1fYEAgRAj1&1Uef!s@;njKe zb&gDR-+tupr-qjNd<~WD7Av5$-dj0lE+V(dresa{u}Ze+0~=n@U0Dx=k!fl_y2%T( zs+rjAF_r&0yornc`-(Ux?t%@*C7(Z`l_W{TSAAZL*3?E?@Nhhm=c9n~jlT=Cxc{lI zhmepflsv9!8X&6J6 z9mFQrv<=Iec_b&jAD=TVSUG#{^$CLLh;pY_E}sSRHRx(K!fFlQ*8^r@V6}4wn~c~z zm4v%{khlbvMmb7Q)Z~xDi>{lS@H*-`HW`r}i5Fc>MlCG5eutGdT>%6D|BTJTz%4vr zj6$mS3wM`z;Y+z%MI zX*34@5d#~y;uV@s_B|M!iI+p2vl$HB&MoJnd;wS&i-A8?qo|Xg{1)*)8x@&X!lprmwz;H4;T@$5#-u z1#y3(bjHV44sC$t$%vYl)#J+5`*lB+@=er}PqA zCEj~tdf=A^O_q63Jl1`4!5S@l$c<|RN376j2rq!}aX1`)vA)ez?B;;KmR4 zhgHkCJ61SVtAgd(tJW1}tI(|3*r9a?Z4Nr zS_JI}Nmp2=N46tZ;b?Aedc8Hwg}!wNS+dmsEM_F%KaE2oOR(D2!{$itSbh?3hTXcVWIFF56{2-gM7mNMdSlr6UB(G zN%yw$+k!VMnrzIhfk$aqA40#see2C)6TEkT5}eh?-p;~~Kim~yzwP69w9EA(Y)fkN zx2W)YT`oUY*EVrr8#y2`U%7p4to=6fW4m18EnR!UuiSQzz1wvyytj+`A>#6t+gHYp zcNca!$9lTZ)YV4#%I))Gi?|ZbkIm+Ok6}N+Yaw;gSkJx6Zauj1O%=wA)-K<0vcKYK zxYfbAglXy87XJ7x?UPq-|8?x2y3h_~*Pa)DfBV#%LAQB+_+A^Rz1Z4Ci=XSVa5eGV zTfyap{T68JpS#>*s*Cd5s3Dlv=8a0EIogbrP?De0BIuvA_QJV#R%f~lWx;(eb3W+h z2aLW%4v_PF+&CP&a5%0{=G{rFalGFkuk;wi`L^-;A_`CU@_Aw_@hIPd`X?3Mhts!6 z*UnPoG6!srXY_UQK@Vm<^au6nfHa!dS<0gsQKx}-HgCZoPc?JkYV_%Wpk)gO`FCn% zqR!7&=NrGFM4g|nN$VT^c)-|`eVrk#%>mIH6QJfaN|-+=8i3l#pI_n;=aJ0H zsI8>u-hr+{BT!waH~pS}N>7Kjv#jsGPrr>ze>cpVzVx5c{}|TJo|pXl^!Z%+wg_+f zoPSE+9?{O41aMyuj17cJ^0}LYVm|2Q1wap*b@}*q9#`K{o3XD3`S+3%JhF;SmivG6 zn+*>hPZ)OPMM4dfumLnz#6T4m!Y&?^Zbb>Hm%nCp$-aFi1F;J!CtBY$@XxKYQr1Sp zoHim+)IVwcZo{36v)QrK1UHz5~>lq8Vzwd^A zznI~T|9tqjIrOQu=Tbv&59Md`=HptbLo}3xmZbW(2?nJ$-~Ka2n0l8psQ*l%=id3- zxCI9pBAIaG8o|9f;?Gm-&mlLV&Pq+Z(9UWAM+ubPNW=wQOdVK+h$%V~&njnS+T(Zh zA^e`-^CQ?;%ZfWpAP>SaB8VwOeAgw&6=+YP6AU8Tflh${N?Ygb-?JW%Q(V61p5wN# zf6_W)TK_r20Am6S3tlj#4(QM#=n;WtUo-BRHa5Zznm)dOaZa=AO&i%CwT`eKXTD%t ziFP(9a-)XF5GEKCDsD8ZHpYpWWL8c?NVH+#76bW;P}~MnBGcF$X7VkLVciii>^BLJ zV3MGd^jkAdu<3M(evKm9=Nwj2%$Xi{c%tcZg2CXh3$7y_C)CG>A^J?b)bPC(@z!Ak3Zpsc%bX3vrUYp8YX( zlD#XdB2ThCGNe4ovcw{QxJ684-4fJkLppSlJx>shlWd!e!~f)scYpOqAIGe|pA)_9 z^R@a~$x%eJe=jY7GyL0XV1~ix_<7B5FkVec&%Fj)P432gq4{30xhHf4BXs?C-QKy^r?Xubd~yTHOUt_cFSw`G;w3|nmCTQ9H?DBS9p z>4nA+xOETUz3p4{Pw*f#_uR1Y#$oNX$Xem670m>Fnx%;gz;DLbFR*F^HKph(RP4H= zm*X*{tmX|OxbG}i-Nu@OaE)WD*6)w0M)4=uH2$nU?NAxe(w<{BwS87!EEfVLkj18b za1$7^Mnh;Hg>fUVDK;Ui3QAJw%rFv-aQ~9itzu5GX=OyuuEA5Rg|B4PjxjrVRt;mH zskOL53oS|}+QGLP29lE?51xj3-sG4WQ>?ULKap%E znC$m210`KxgPJgleeSq@?M9=jfyf}|>@T_AT_L=HB*vjCr z4*dhVIft2dm_ADeOFptXd)5$Mf9Mb}#5lleF^5%~jKk z1pJ|}*am$k2{eZQuL75IP_X@4=m-uwr96yrVo>mJFuCc_|2h_li6TZYZsXl`f0Q@u zOBJ@!OcBfqPr$5D*`ch%bPxK)O)9wmix@;loq6-2<)Uhx;zr(6dF|{HwR4bHmDzD^ zE$E^~q;`r>l(oV7loi_G`r5iD%x71gK9T_%h|cUFloKra4taK(zR>aon-+-gty|pj zF3@?!hwbca0g8^Z=36;^QUdfzm4`ds8{0wKlx!9={14x~uce_jYu>#N5_|l+_mil! z=J^JsNo&>_l)LPP)@F)9aiHh=PFi!ip~Ubxo2G7UCKIt-`+Yy^c@mkc6eW7P)kPPtp(lYL8c61%XM zMpC<>Z&!w`n{om@`eh89F=M*?!GyVh*q$+Pjq_ulANWp;_(p;6z=$she6A5+82FBj z_!Qu?j`&FMy*=U!w$rOr`BV?zm#SUN(&o$#Ctv=wunl#JMM_50H!DTpzLBqFpsg#2 z>9ueN9~$f5kYLi(2-+5zUIYncexcC)BD24fM_gnR5NQ$>iyfdl4O-4iD4vxD4%JHg z)qyTKMRryYpncndHE{iVkCLdf1PS`jWvi=zyB9^+fxig$0<8aJ8c}Gt{4;6tnA3)PG zFdou>X0-zJ`7OYw3k1p@KA-5}6Hl7Noh8KQY=t&`70(X0B~^<}DF={U%jg-R$MvJY z9pp&a&$sFr$IM8(o(XfH=%?^qm0}UJOx>Vjnr3QNDVZp^;ZHNfkHdGx+E*P4cHp`g z`u5I$z>f=!Hf?4HJvPFz5O{-@4c3V-rZf^tKJZu+OZ0s518L;7W%g8(Jgn~xcictq zP;?5Asy4Hu^SQI^3r)^Jz8ox!JdXzbXr>qOVs}Bm@WWwrrFY&~{SG7N89JyHvQDHj zc8Z9Y9cZllBE6#?^G_adQk8PY!@N|+gdG~=0FK#|>kfTY2q*Sa_Mc@J!EK=pH(Nrf zPEw+BL^IL#`cC8<(aA?JqJyAhU3xDP2nKnAw6K_Z6O@DE1259`C>F)o4Nyv~60ABj zf{r-ZJdv4rD6W3|{xOaUCUoa^CdnOHFX^H_jM@b)S|{zIrp7hUV6bdd7nL7aozO)+ zIl4aOt>yR6`n}HhcTrXlW?@Bb}+9JtpX2;B*@UY)us=GF0C)YGx60=lSAc%6(q zE$NXiYKH+*831y833KYOox;KJ91%#P}qHj^tWDS zXWLBRTL!jI3cEigu?-YC@Ygp6c{L2oQlNjnTsX*|&2*3=JhHn&BfF?s5m0lmoN(+h zsPQz&F+6OQUb-`d7soIifh+v2VW5?{T0h(RWSGy+9KG0*VL|Hg)|J)+7%%E~aDVUt zQ_%+uisooWzLVMolp+915umXznD#JFob#<;Z<1SU4Oy3fW@*`u#jJ`7GgTM_ZDhUN zYM+Ti8x=8iOSs!7ZS3s8HyL`Bg458K)zPqKq)jfi!bYz`;1+;X>0)zjH1qSlx4YNB zg)|%Q^4|u``UN;ETiBaMIJ3ndCp-l)rQNS%O9}`^9Z>4trX`I0Rgn6eL~(rg;u7GdveTkEF*epQD806s}PNXHzkt6 zn-o#CM89Eu0KAjdOX00r?+ly>uwTUr+hoX#5_P#0le1n$dh zt}|u-n4Ls)xLwD9{Gp3yoLGj|343ik+CfCe)D8Pd-e^Z6Lqv0ai?FwX7v*>Y{7o|> z>y!>%M+u6k1M4VMIJ`@!I0gw|1PR3;MM*%4T5orS`qiyJ7+e3WopRt68&X|nO*Vst zXNhyPvI4pl_FGqf z!CHz-UCW32eDUapQ9e~3wni`OUE6A3`y58@&@{N%CEH1uGk(7J&25!q zKNDR?f=v^(Lj!ML;Fxh;)SH*t24~#P_hC@ zZ=GpqJQsGilHL)09!4{1gmo34vd*&tUq_Th4|9f~&TQERcO_@^F(dK-&uWGlTj=0v zWakL_B&>U^`KTE45JF=)cM~Lm{5*cKhCw|~{G_pe@5XsU>_>QAGz_PJJuh9)x)O~Y zOWYZK@#ZYN#)o@?DQB_iDp)Z>O=jR0h_=tPG44FJV`lb1tbj2=3Vw{4i31EyyN!KLCUPfloU1RkB(vit z+&o-qQ`wWRYVy@~4Zy_TMzqGB(Pz=&nqlcG8hk58d@AtG9`PydYDdDV&V2N=0HlUJ z6dvEO=95JOEnD+q?Y~}fGw=JA_L=&D_h_8o_j$#pFTl<~e!iKFMPINMn^ZBTRzKk4 zVpVm;CNrzniLGLo-Kzl`;}0al*!yHiYJpqz1_@_u9j`M@PIL;ykdrJeiIZX0gtW!2 z8j@f{Sb`aE5`qNtC0k(`l3=#4QH8itLdPm~XYpp>@3A zozI)*ElN26yrq-y!+dKV$3^^rYsJ)Kt`%DaJgdPEc-C0pVhW_L!u)5LXN|S`0ndsC zo)rS2twXI=;a1Zj4P+hg!~VzDrNE85m>;Ft;u)14_*}oLC?6UJ>Iqv24DR^q|DeAmF2QM0Yq2N>2 zsW{F>bDV25$GJ3h`VORP1xkPUn#O^^3f%K0@;Xda8sO-aHtSWqI}urn_b22vD%cJ4 zz=<9+P#N3l2dxjc8~b489UBWY)k6)_n-Y9c96ey_qrrD`ByKeLJ{|EzfbaT-38WS#uT_1;S%uLtk?uFl$nh|M87K=kDnL?-Z2mXU&oR( zjJiHSHV(mXO;{=+KjI_^5jQ%C{uVB_33j0~dw3*j{nQJ{$mft34R&Z z7xYk^@RxD@#~+Fl{W7jE;-NU7U&i&f4aIqRL}m{;5)Zp~edXDJmp)xllL0UTYidi= zb0*v(UveuGzn@^mHr%S7(AWk|{oXLu4uc-i^;lA)qrp}j=H$TBmGvO25wMb6c@Fj+ zP;AZkgTP6uF(zR@$O8P2()WFkgU1J6lW6EF7(FG5(GC>@G6?L{%o(EfWW2Xpq}~P8 zu3NvK=$s{A2z$Da$Gk+7x(e1QYfc`5Iu5T>gm{!MH2J|O|AMVB50CPvxlv9t6~KuL zeipeSxN$Coac*N8XO=Nh4t2dAM*5gtLTikp5qj7H^;A$|80{h>rp*H#SPH!OcB~`X zE^mm0*|ESD;#N5{c6nXo&I_=XgFP0SUu=dFmi;is9^sZZAR6eI)C|#cv^{>mnHf|2 z^S$y80my;t_hZ@c=X)=7;N2ORbGh9an8gt>PIobVAhz&xZXUpNRBVEM|7@5EY61M@;`BD6ONYNbXg2k|~+`oIQG0^=7yXQH?3`)=v*n8E$1tSvT4t$g5j zxb?BPe`(z!sAE&GVglwTNCk6@W2T^2=QqI$G7*9K-F)cdv+P=@VM;MLL7vmpV~GxPM1qRq_~ICjFZ$Hs)k20P zy57%%G%#8OB&=~XuonOMUh(%}$4i(#zzprn5AR#kjDLS)?yv4^8N6B za%EEi^UNKd;0;FKXRrz|^^h+ztVvk`l%`d%;g+B8G2a9CeV#5aIqd2q{I+#4G)Ms7 zlby4OImJahW$p>q2CEXJT~UFlVEp&nI#N}6JWF|YZpmQ^LSnx^!Iq#qR_>KI!|b)CZ&15?_TSGc;(NL2y- zOgOg+dfUi-74as%-Lf^wbc7YT3HuS2bgnk(?`QhWHxav>FY@e3Cd-TbUC8bR809v~ zv}_v*ut9bOyhB`R@K!WgOsIa5DGgFlCSLv37bz2I+TsRG3}KV#4FGFC!R>zPyA;QkbZCK751B?D#VF4c2ApIcIg#%$3`d#g_YXLeF`e5~VfA zDy$X&WeBQp?XTRPF!qaXEeSRC5r7q@OrJK-9!d87rIQG2n`c6X4!%|kdRq~O5mjBe z9Y0nFFgfsu4q!++FFP;i{?akNkXsvpp-4Lk_PLVcE%%p(`hnf5>l&PQnH*l3t%Ux)oYHSo0v*zKdtk1Ie9C!c@vq6{*!fc4Fk`0AbK$r`{Dv(bVZ|c_AF~{N*~Cgg#A&gy=jn@4?A6snMf20=M-oHOFysK zjsbuD>0U)Q$Z>pO|4XpDfnpT)C|IRgY=uu;U~{#YFY`@-4j$M|g_8kI2;^8)9ep6o zAq#^&171jt1m=~1K@?p$?=+i>-el9X!T2Nujni8xSclqp)uZZRN3Pe(L)+n^#a^1w zL7M&_6!qRzR!C*l2HA0n0_dM%_=+KT9S48;2OCI=D4Jn~w$m`jy$QR0$XWzx3TYm! zDG595>TQ1!^0xqgZsdWL${&!jaNY#wG+PKIG*ZEJq4hz#_Ul3#WXAl6%YY+Wvgik1 zpUik5;z&Q*NP=76!6Srlwm{e`5TYM=J-{VVs2%T~|IVG>_e0@CZsz+neD}ipCcq`d zNerI-q8s004>rBURyIM~wIIR5o-pY8gF6YSL9Anr^PNYfCGzoz1F8H6VsdW)4D za?A{|15Ffp!zl@2J(mSGY~G|!u=uq zIv1XB81g^tm>F6ZR*zH2jEZ{59YSXx)_0T=A@$H=SungyWl4;_!w*)(rDK{U!;6t z_L0{O`)xcD{IU^$1yjLJC`5%?H?%Whs^xrCN5u_CS zM`g``6uim;OevyYQVOQTnqN@LdS=%Mr9^)CK8wsj@YNN*Nl39ZW+zagJrzcP8vEXZ z)ErF$UBxiV-#-YW$G4aE#kQSi+_St5*0pIEZNi>Eqv2nr*FQX8f7ZkY+uO)bUX|Wg z&&|*2eLdW~{k&;|=_{7Be+72P1Jo&2yc6f!nI4=1dlM&x^J+t^AF@1JSW9wL9>V%@ zdv!dpbS!vP)X9X5H)ZySg|O4NJmziqwk;YB-&(3g8O*C}!dbkV?n%-Opt*L;tE4}h zVi>UGO())$)ANmo4ZQY(sD-I_FF|?I!-kBG3{iTYLXA3K#=9f}Ugu`s3npG?885Z( z3{%nE$i!G{pE%kZ5FmQ>XfysseHL~*Cmcd5c~xw6O!b)BxN5Pxvd6=lnkTQC2&l+qszS8fZTlysd3#WcA=m4(E2ut5eT{WEoL~?z~wx5#$ow`YCyUDc{TBVryM#k$TMDW$MwzZk36su0N0vqIszbho22KnKc z4zmI5W+Qn&dggDiFB7^w1|+izr?k2Pz64XSd-_ZdkJk?F_j`>22jR=eS+>}PtfyHL zRj~$p^UIis=0K)|`)UN3vjfJo zsAq49sLpQ}$XxD3HiSa4kk1sPT*Kv}XxNQw66>9z(0D=fZf4C$3D8aiu`~%^)X{i# zodWhqB7h1)!9_9=_HYN@4Gy=j!+T`Kxc0awL$~8z+Yb^JqM*O@xW8mW{l)cF6==K+ z_Z86&?%}>lhrTR!L8%gNk6H3?Pwlf_Ctr=R=WDM^&FgW0VlsQopD@6voZG3yks^+htJqdV?!*sEQu-6gknz&@*1N$k(zes;A>9HAW!F4udJI_ zgp^;{kSdMqnIl}!5V2{{FH){w(0H;LRvpSc99?5y8uW$@f2;8Y40046R2RJyji0*^ z_!6_oqG--yA}nD$8UUvtCHX4qDlk@6WOD|C;uU}mMHT*nt8NI}j&Xa|9kv73Kz8`j z1Yb8XE`jRT0mTb}-wS5_14cgqo524Xqr3#D6XC_^C%~6rpRbumD|a30JpYJqTiEuq zPzKC+Hg&^g;N;OecezK`856>`V_cqtegaH7)AMwFkI%;=Ab7{~rX)7drGi|HD&HNr zHxyN3C9M3kkAmCICcNbXUov!7DOlDIhE*3+bizhE1cP$q?X|#q$soGZ9*TInj=+Mb zPClK)2D#HZC8Dob%7)ZMz_UmZQofC`qx6mmLj5-Em`c2u$L$dafL_Kk!FAGlStnm< zfUoO{dfcb0O~(ewz@ZTVU&p-|hVy^%Wb*_@w2K5h2RS4R;7gmrjxt9vVLLtn&H-m9 z2T3M+r(q$YaSsvnT(0LaJU%Tvmr=mHAHjsxs2dc`K^)CvtUaK50{DT>9&QiWCFzw& zWOd|3A_e9sL`<$Qs2rYwR}LNr3MXyw6~c*PTj3j(AKX6xN)pO=SpSkY`3~&DcM|+` zk9YGjTL?E-cxFs%ON8&O;SH$sW7Lw0ST!6TM6ro(ejO+(#1ft95?$ZhLvt_D=__@@ zZh^W=Z9VR-<2^l+)CLTkbNE>M9=IaOR87(t^=zfhK;p;zwKiF~Qlqo2z7y$<;u`UFx zT@VEi0>ugeJkXy=0uKdG5IhQaBH*#XQw|UQ!^yBc39L6^gQpxG*f~R$@E`)>;UVFX zz+;1_9G(hzD&Y}8fg;ebfgKXK|4a;d_=E5m0CkhWeQSYm2Usu)L7||x5e9dDg`)@* z3Hv#t5lnEf(FNBMV`QQ+upto#x*B6q0xXcmqeoymOGHU%0!l^`Q3{%bCZj3nQP=^R z4(DnO$b=Y_hBDA>G#73Onvb&3<8X`LVzdPP8d*>dXqv2mW19J>0IfoWXf;}ko<+~2 z-$Coj&}Ot1TJ{R6Mz10V+JSbV-DofR13G}-LWj`1=za8O)Phc;kI`9l4t;^XMwii5 z^d0Iz-KZbkM?WJzK@$FioCqZ%2!T-KL;Cvpi6#D0u=^vE2L=TN2Zw}&hAP6sMukU2 zMvbPGs%UjgOzapRLCapT87qD@SikUTME(&QtIJ45a5Un~G*~xSa(fB$LDL0=R(^ zl6kvB5;5H91`wZZ99egZ)0c}L3XcJJ(i|A!kg=)}i|A5sd^bR`8Vf7UH1pN)2 z=Wu!r-GEC{deB`Cr#u2|rvOeBL=>SW#uACdB;ql`NMsOZ;&CwBoXKnJ1BZJZP z&BP$DCR2_?tFEry_r|@iJaey1zkTtiOz}M1Yyv4^z-1^wSE-cd@(hH0eM+LM^sRz) z5tTHhnkbjV2+6Q0!HYRII+bUr78?Yzq@c;9VwPW0X+@enh&D16Z=kRw!}T<&U8X)^ z*3T=cyju3%Hi4cI%~OC>2Ne$gRLx>rID{R&L~mK^*iuOOtk-Nwac(J0^I2~#D+=8>RZFx4$=UL~L)%GnZ8lUxPTh^nS`lycG5w@1dZ+82i(MKKI9eH}Uzx!(B zXDyL8cSl^`?SHx?^0VEM7hI9wv_xL8MV?khoFV8-S0gXbk(XK`Za^v`>VgvrjcOyb zTMD6u8XsHXmS?T}XGx!D9k}#jYuS3z=XsrvE8k);_>$2jF(M|Bb7WXG)>~pY2z1(?;-_LY1O~@XD*WqkNqHD6dTaBX+}Be78lz z1CtZ}%W}97o!$888RO&%{?r;{c$;zZUjEc0EtAW!-PvjA1|_|v4fqaGx6INz+JKcP zpwBG*)-Jtcmaeo&d)lN|byC|D06t@!g370UWDIwdO)EFztX#*Z?k$_zW}MP$46or& z-D{kR?$QDMW~s|9?QRp@paZV9Nxy3o_4G);cT4Y@v7z(tT+;8`q$>fyEnVr7en&}f zAgZfJy3#J~vPkbhDip917aDLAIgFE`hBbWM(c@E(luRuzgF1ve_|uN)r+FJ2ej3WG=) zaiRnd0ie&%N+K^{?13yKtYMRc&9I0!h=6+n2&kw*siLALY@&ijMch!c0YO27D=w`;(Nfo7 zsp6iniDDJ4trW2hh!(9{v_2NA)!&=|`aIA3UcW!S>$|S+pD$M=$$ih6Gc#vq&Y3yK zdkWVIX;O=stk4z8Gm$o~UR{_Yr@{3#nd;@z!ko;)FaVGjhDi&T(`hUEY#HnqFI@A# zt1hxiqkF9hOzeNP$}-woIy{reLi}pzsBoFSa22=$PT^Xdw!+fynmF2eAr0oJe>1B_ z!l0)F9zY`6@-o$OBS`^HNmmF>)&eC$u%JTVXn7e;%4(7gGAmg>8QrgUxVNJ(gTOyL z#`sTxDsUbBK8n>QaO)Zoc#n0&7$GYIqa_gQg1M#h-!pt z^u?%=HKZ{+)S%}h3{fMiNg^;wuuvv46Dj)@hy7fFRQ(Sy8IjE+&~pjv?OWCMj+~$cM2s0Bz;8mLHM(iMs0movD8iPFqNNA$4$>y+E zV;nHgS910v5uyZ4{t4ZFMWK7K;p}6u#M+zkwqHgIW8G0Gj69T+=EB3 z&^%tmhh;O&lOdjTYkpcj+0MHH$`^Y-)RgP&ZR2&t3=MfQN8bol4!j8%rGkjDim@A9 zewsw9QmaXkdQFJEn_CMp*qe-vxWN@!@h~yhiYFD>`AKyohqO`-Rg*wfs7ZJ9ER~RK zG>K_zT4Ezbk~mvYOPs)(%^q2)iN7vsxh)p%Sgs2lzXN}}^!h%dy}-#oGSba0GV?G8 zb9WEC8yR$17||Vp@p+rB(MfwJhzRtf6GU|S`3V$lV$%eQd)ppD6G5@L!tbEwT453Y z(f%VMW(DCju!#Qs_p7&Msx_?BM>r78m{hAhtshJyF4=ZOYwPRbt4cf+luPurnvBJa z6~__?Af17iSd&P_6oP3J$qM_3|E}49{;R!QE{8uD$D3@Po`cDCWJ8X5h1{4UZ^_xy z&)m9_9zk<-v;ZELr$Ld2;s*=O8>j!Wn7j+;9o!R1fhyyHq!t`jX?H`Z4FNl|G z;-fVv=25_)DWbI_K9)CLB=oc*eBF> z)kW)Sr&MrCn?^VD2%?!z7Q{AoV(U?*k?VrxVMRx`05<*Zt%Hp6ybt@zIM>(qN^Y@MBl>QTOr4#e4Ld zqG&BkQSg=CLc_s|;}`^3r_T&f)Y{&LZOQBVWoB#G?C#2wOiJ#UoS6lxGonYI&JDeMr z`Fk9p!=C4xVtd5$n1%n3>xSt66fvDcrbUxmP2{?T7|9ayk1CVmEU6`AkkW>Mg)>DU z9N68(a61CFoeNbX8=YfFJO#SiYKm58GEv9_4-YAm3QN*3jE`Z^kfjeMTY~>*(u0Cf zDgmNnOyOQUyr%(rfww_zD!9ahmhi5z!paU{3TO73;I0Tvw3mow_+!%ZMC?caCOrbb z0x{`L64qvts^_6Jfu%E?*OLNxz`&(rFwrk0tjiaZZXm*ch{2>UNLYoR1;b;wxP^py zdtqk5tud%)5s(dLs~ha0Ky+AM(xz{1M3xK%`iXa4qwz7I-tywTDzh-s_nWyU-a<3{ zfmgw3Ukf?#2VPNwb|LN+mLCei)=3yaV)>4`qxmWzMDBY@n}*qmAQ;a%TYk$Dz< zfD61=?PMZi((+=iSx%%Y`Z`11jZ$KyfnQNyeT5PE{g4X5t*IC?56jD_yXy1r-KE-! zAWH3f;aye?GH>7)?^Q8{1CeXr3vu`F-K7)Aq5)E(zWNp;>iYqql+5gZ=Wg)efA8+$ ze{?sC!G|PG-%HoZmsGRJ7@t9Y30I)b4Bwdxlc1GvY$G{}C{#uYiHibMwnB43ZMN`6 zfhtSbq^TV)tXB~Og?TE~U}27mI9QmaQu*=-LXApTtn#Z+`5z|+R1^Jn)cVz^Si)8n zaj5XMN;OpYUPTNQCaF~we(`&Why4=wst)@l?#lAPQqxpGLq&bG{OhdN!TP;*1|^%{9-u?Tj3XcnBf=ON!Sg);6q;< zU{pjhg-wcDrm#g3$r83Jh-_h(f@m)^Dv5)HMm2GUFfCs-LztCMoGHx7SIrdW$gSEAtokTCMs8sc# zx`!n1=rm15MSU09XMB48;f97s6yKPPf+LNOse@w|6n=g6H<~amQ(M{8P4}Cyu&C&p zYfr5FCobA_^!iilfW^mtXT%pDzrmbb@;z(HmYY+y-m;PCS~v-%FN3$en)dB>&qksZ zd4m0sHJ(LBgW~U>w_(;xnb+Z=e|*+Y3RXMD?v%2-jqDeEo7W1P_hy?&v3*>*{S<;j zqRe4-hl5n?m{IPSMQ~bP?qrm?-4M7#9Nbkts7LAXLF_$|=rg0%Cq?DEBxP`(XJAuj z;N62m%qc-V2Zu)1h0b_5Jku+DZPe%+sbkFQv9IdJMR!FfMaRhNW1G?@cXmzrJ1sGh zG9xR0X8riNUFq{9ebZBX7Z|D8X6jO)`XJ8sPH;T3Y>;r9@6ppifj@+u{BtZ$Ck69J zAwtry2vTSqX?PMTERz(zngroBJUw<~CCrAT(M_Z=X3{u}k^n_iJfTe9ugmVZr^@dAgN3eci5jRxm3FI+A^yZ%_QZzNh=NoY=8LYPmgy||B9LUIEEHd z;OKib)Bgl(%L!&$cY0-aO7dBjb~xgj99iQ0S8278ac%AMdnMHZ!b5>U6oFI@?hPo!vm4{bnft1}Z@LW?erLTysMTSGrO6Ic5B6 z^+-S^bBBgT)G!k@tU(QbK@EEl*lGke8i5T0Fp&*_RU)uf1oi@f^%`VHE8;pyMce)s zy&^ra36j)AcGx0@yAaH4rPcj?_nqnR=jQ^Gy+v5>05fd^V2&CGm`xslxd&m!ilCLI z9$H1G0A{aX0NaMZCLl0x0F&DSmySVsZNmQaEn_Zzis-0w%a{-Co7#Q8QV`UX0A0c zgI2ei zuktFfljnS+)%+gHevBqJTCKup`&ZNE8;e%Ml_o2=^(9JhVd5wp(_v)>}in}xsv0gT`XU_I6VCP(&KjT}@Gvgu<6 znf=j#^OcMXrx!wjxU!ljOyBus=dbO%Yz2j2%KFsMyGGa9Y2Vdp|2XB~=1GH3p09b< zd499i&?6ViUZ=EeE*e^KS@%AruE%L+wX7GehcP!UOK>f?QuZdL4xfCxpkwHfVXgT4 zh8<4mVlRT+J|c_vA>|b!rV5k2Z%PLOo*$oK0N`W8%c`n={_dRN(k0Wm)}1A{ zFI_wQWaqi|!=<;&vpMx%`o_kLdyi}1yrKTK?J>CZt1}!kWt5TJUF?0r=g4_>Gg*B}^!-7!*`B$d&p=cQ>`pIPm>ojO8JT z*-O(_W~B#ZWXTq+m|jpWI%+`VRFv*KcYCrGEYZ>2IveKL|G(}X+J9hPU05hjDqJpC z=Va1WL#CNmn4>RrzB%3Ig=Hh6ONVm#9eg$nV*pd5Tf8c+wdk4`8)QgZ?>KTj&*^_ai#PgAd#5!HVd^D3iK0!f#lpq{GjpLKR z&%Yoc9Udg{b*PjS6Y||8ztMI|hCNy+@i;s!@X<8fXL>v((J?>4Ee*9c5{A2pws~Rp z;V~_HSKLJJcjJn=3O-#0?@E?!D!K0~zv*Kgk6^h97e3-K7y{taKa7ei=H3{w_$Iv1 zeXvO-_aRv^1;9=FzkQ6}KYR>{ksk_Qi{1!(_wfz|7*T@c=4+^5b zYGVQ4{C}H`3uFh@<_KC#@ip9w=J!1` zUFwmTX0^#iRf(~?h?vU~dMkki&;4JCtDjJFd8#J`tLO!DXEu>WUsV5qip%ktiZO2q z@Q`x_s=y$gpqe}LZr$jny3s}w1xvlh`b%Q-1l7i?#hBq{@kV%ncpZ^KayV$D(#x5N zm|VfXF3K0S5Nd@NPMT@!n`mQeP(?W&)%dqGS_I__is?|KV01i`hXU}}C_D!%o;y=h zKdx78L{;dZf0mG_g7RwPp?}jt)htz^ts;05#!AF$ANpNbf?I8CqFG}xln;D|8>B?s zCi*BA`sNm=vOZ3N;l=c5iD^uWTrIcB#M}9m8t3@%>{*|tE;ygDkc~W(!tT7Y=+*V5Wnpm1?<2UX^rWf)v&T9*yf>S zOL&{5tz7jv-FOi}Q-ksSGwmwKQYcgw4~5F&brbnXMy>RoLw1$pqAJJbk$_GSD3U~r z;F0xT>Os@=jv4p^gJTr_fbV27{J!aY8RJ|T<18xfC&O~*%A9h7o$_p*KnXeuj6u+~ zxRL=~8#W8dmNcQRNmsfDy5>1l*nH}`8@lFGJzG~cWNN6H71l>Vl7TG@jy<;pOu!#W zQc(bs)HH%5^)dLf^C`opk%p(_he8QK5l=C9rlDX_1@-uTD(Fa!K*|c`E#b_lV;*r$ zN`;Ca^SpSu_55K5t^^YVVOs0ulyBHrW1r?5$rs5g%4$C7Syy9rYs{%$YYJ9JY=yl8 z0xO){p`zBYRM};woVskLDM!7OTz4{{_F;J5q2!!Y7!?hSSN>|n)ulZ#OM&PDSK>=} zLO)e7`iAtpcys}jCK;`g#WFKf2N5WoPNJgHJXbe^@QLxVcz%-E8Zo}EnzpWjb_p?# z+w?ImABq?^6awSbSAp@CSYW(!>{IpFPSRKlz`q~4+IYwC1~NMB7mq^JA$DcgOH^PC{eoy z<2)#2mnYnpYZb%XMkSl1zN>vBO5Vmfx9jgfg1tX0p!kYwB~;3^8+pHl3QAz2LD9)y z?U|uiLHHyLO4=z-jIRxE=V%E~b528WAzxS$u|0%qXL0d&y5j4BSec0roskgi{^iKUZfeT;FBWHR0t(exkuM$+W4Pf>n{I@Acb}yH^qt zIbJgf#hE_%K_4=dCB?c~1!_`7Fa~00a1|d*S&H<veHUo{XRcgfaI&ocZ@Pg=HfhE?udZosKdf8sGv^|+x}0fk71dLXmJU^S?& z#d+Bbuo}}0m24_AJSTuap>`0pt+Ppo0?wcQZd1n0+;n(@;T3@1N>@{0F4;Rb80M0B z%U~{6?VWLUb*U|2hvkw=+? zKPwWH-0{&H`N#kNC8g8xcNf$Bwp*Sc>>j{HM>_ihw)W1tUC;7mSJdI=OGuT zbpjWs+YK(RayPiRDEFTyfp=|PS$NspeCarW-oc==pvo*Cd+iE-WjF@?8!U!hiTXc| z`tL>kcWnL8*FX2dNxpNb)t-@}@=K9quVEox!$76$Fv(hs$#{xEnIGjfOBE9N&_HNmpoo`9bDb6lP@x>TS#J*IM-uFf(dv->>QJTVGF6t~c z8Vd$)v{Zg0a7~IKJ90cLrRmG>ISd~*EF{%B0QFmol@W$P4O5QkWPrReW09|eB*WtO z@U)C*sn}Cxo$0%3u4&lF?ZZyUhxSdNBeu}}E1la{Hr#s6yk(5M3<|2mF~i3)>0E6wn`b_+cuO+Hvpv*5q1Cd69Re z@u;jrhZj`i+wvzA9&`3oDtlKx_xkO0RekgrUwph)6o)Dd_Lp_EUt+YSMul##7_Xrv z#8CpHhrNZm2A|3t{J`ZJ&0beIR14B~Q0(C9Km~-pqKUWX$^&J1^souDqgQkC6OECf z+fn66uT`B@^gjdRlvNrN=X-Ap&dvxM==U2N96C__z#RUE*I%Xo&Ov`og#tIZ$lk!W z%XL}ses>?+V+< z`y)RUWVtoJ?hz{Uav9O|zQ0P#k2dyW@APViSPE6F%>I>BfLgh2?yD8qIgYyws=`Ol zJZP!!xwZFS+#G*OV3X#%n`LYHzu{A(<7_)E1tY((aohI%hqGJvlP!I$eBm`v;iZFA zlJ@TPb1zF7M9$`cS{+BG>ihX>8jb zt5Ec5Z2tU^6HUh58hHlGU@qi#i0!8l7`Nj;RjM4joK}h$e%4P<4jkf#pS?|!g_a^C zzl}|4ATlf!Fx2xO7L1ktw-}qo{C8=M8A1teeCXBq-y)y-4i$sh+FFIGIxZ7BY{qY? z?0J(c!vW)+c9Wz{e3vu#oz{=R?^Coh0sTU_8;TKv;p_(3&K#=1m_LNX?W)~nqTi80 z9lWQ8be(D?)Y1_1ZRb$K=`ktId>UZ_)Y9N{iiVK<$evZ{c)ry84D$p>Tfa-@s48s@ zxf_Xq=RzgzW-~(!!1aPAKs$o`1gh#48UgrE&i?vc<%5VjpnzeN&UQ{g9#qM0HrSXZ zW;w@r%8Q1mCy<9$rAvx1-!se*ZhieOr7saMcSoB6_$&InlxB`2AwJ9bj;FS0NZo8i zhIX^j=L|E4d$E2OVJNYzHAE4^v71A^jmS{AC?{n(&+u9ez>CRvReDVcA28P-%;Iq3 zp4O0OF*?Saf?wzvfO!yMa+Y(WS0ymG#zMwc%;^mCHMg~XSI1aHMo%m-Sn!da0>GYP zAY+=hp=e0dW^!0ny1tYcc!rr`t7+J!j3-us=qBKfa|%XSWu-K?3?>9+IZr%{Z5|SJ zjGR`LuGq;3%%^QD>UNdSASMImi3syNtN4^=QIHA9Xz@YPxIhj9;N6J9m$o1}!hF>} zs46)LNn@jxB&Aszf*6$e0&vuIvL68NF$064b~Pa94B}3}91poV^4L4Yq@X01$H`^|~847FBNe+b^-0168 zHr^LjkPw%UU>Q`;$*S#G#ncYCZ(p;FSc5F(pM2?4b$a!Q6EfrPyyh#DEweYerm}B`NK6!9*8oH-5{Y- z5*&RJtSLf?+i;1VNSSURQv4+Lj}jDgN@8Gs0*p8au!;5P<3>sJPKnNi5+~8qDcS@r zk5ZIS#-nUXsN_*LC)DsLl?hrG3Ozy3p~NNV?b9UG!@vn~yy)yOjGREq8ATLj=eJ8f zptEToKW>EFlUMpkiMfrC?T2X3AMHHnu%CBZas|aM}S@P8_^m_;2gy5l(v?eWU3}om{n_Xm{D#oG`L<^LZ2Bq&?8>nO0m2>6PP@rDQ3`?z{k2f{|gM;FXkFI*KL1 zBVr8bIMfP!uTZIjC-IqyZjpK_sCh2Isa9>Vgl-~aEjUpIE86_l`~-_JaKISwR;4I? z8w??zeZ|PIcPr+q)mCC$R3H*`6Tm){5ef*^63Aduh07!qWFksrBKdxtE)=Dk-5|+9 z7@?XRahx==h6q})3v;f7L(GoMP1`l%?+45$ny!=8nB3dYnrV^1s=)P^^0D=1qM}s; ziJ7{fzBSlBI3>C|u8@(oTcs8&#gz(s195r_15>pbmp~G!iI&IdR1#4%C-Zo%R6r7? z(br9M&|{)TrCzp14og@n397l|6JmBLt@V!H3n4$1B0lXnk=U1K6baih2lA=_Jv~)4{MThNxG>5I$6e{k*A8 zY!@1ASqNt}5WcbUK&wheXT_Kh5N9yjQUciVQxw-M?V(zH1fNbFAs9U7c5;jF zoMo$5cl!2)-5u1UgHZv|HL4Ry(PPW)#&+0wQE4Q#)L@ru`#O3AMC)NhaA#ZX%4BRl zBvp!~SccVC$}PDZx38D+rnR9^DG(!Zb$7$!7P&go`IY+En<^rC&a$4LQl|8GQV=X< zK-{d=n;WGGXFEAH`Cm#}!U|lAF;<4NryqYf#;c%Wkh+knr5Lmsj`DaSmr5*6prT~z ziMo8PBR`ciP6=^}c`%B!gCT^Iu=iXLk{m=4X)pAUHoK&|rjA@C$EPISJrP09lR3fC zTFNwP37tkhuU&IOQGkO*@ZNU@S*XG~cb5dGNO2I%Y`%3PCHu5PVN_^zU;aeD@h#7b zdKE_AOgW-2)=<9T6B)fkvV$gO9ulB@TGWg_-o}LJiWkKXhJS@LbfQ zQkpuvUmDaQVIXqlX%Knx=?<6E0@neNKeeronF1m|ibOucp{(5QlgN*Q$mPQF<-YwQ z*HgHhp9VzEpV23BzWUdQzLX1;-eeg`U>Jsgnox^CI?IFXt4lhlULwd%1TvbOFzQ>P z5k}M~;3;IJPA3ha%%=%r=K03e9U%HV0;#aMOEeEvS8ZZ|p=V9UTd*2+=p-X66pIUk zk3>x4o8=Vv6oPdR7!>nL6N@&oPo(2yAyTfB7nKeoY_SvCIo4)FuJ@Od0dHhuyVM?Q z!GTmc6uzsp>DBAAvl;~BUewJOX1Y2u`4NXE$J3(?4z!PEn-7+ogy{DV)B0{!>gU~5 zk;rw_`eZUmBp~2m7BsTS=p%m|O+3m_B#75`%cG>8Kuu4PSTyN=>q<(zzNx5QqlL&m zD06!U)e{H)agJK*XB$-O={0Q_jNRclqjvKS?e~z1+vO?n!k2pvj)Y_+Q3NXb3r;%3 z6+lijir-G)*RkSOmnl2690=?MoFIa(gL-)M4dd!)x+$lQL$6~^KsnR`TV^;@36V4> z5+c9vINR}An?1@=?hCF$Vn)eBEQpxKKqU_{olLq)Ja+$-b!83my6l<~fG8#i$ZhGjiIn4Sv^g#s_ZmFg%6yaWV%ukQly!E{?yJ6r``Tm7y_?nICCl)eW7xScUy3-) zR~@-;ydbeNY;c$*Yej!b237c=V5&|;G!=e%5xIr-Ygkr;Z0w7!r7=uflu#QIeHAZV zM{s}Nx{0*jeC=28pW=;>(hWE=+GMvN9_ACL>LLo?6AES5(y7vVy&QUqKe$qqZpYT& z8N3)=pXBBCQ9oO#0@ z%{tDDd72B~lGAYsp~W7GuzKi7_?bE^>bNb8))}Rl6787_>2<>KYDnoE+A`yIWX|A1 zSMqEE4B@Z{wUI6+J62lLg`;@)MRd(9VkrLg7b1g$)x6sdv#c_#TBQ0;{DvrkWX-Il zV8QK%UTe_f3Z)DA#|UwX9D3kDP4C50r*9O}0NY0)K^JUq*d8~D8e|npJ=LD4VPGk) z^j!U1IGE~5OLe82jwWL|`&g#B-HfuOFm5JKds86672Hq7chqIeXpn(hdO|$69o!Q( zZ?VB~6|jacmRmk0i*fXMoBg_)Iu3!ZDxcbSYnjvgYU+Yzw1LTHWMX)(yg_NZua$MZ zR9!_YkX(1l2a9281bl}PJfO^aHYH%S13XP5*S%cBY$6Y|%&;G+7iFb|#4y<~rh2Ao zq)4R9Afv3SH(Hi1X`vFziN;EPS~c0}`sBFd%+t0p3*%q!4t%ICW+vf zCMfe+t%l6$LXwFk+?mp-CDcOZ&L}o~Pvo`U=+EPk2K~q$A_>BZT~uDv+rZPJIaW_O zhEtuYuLVZA8BIet{_A1g@DR}U5NG1*xm8B@Xer@)g+`}jCieA4Q1>n=TLpwE#dvGcSpUNCR|h%@^o6jrkg>a=NUa`<)aIJ& zr0mQ|>_8!uogJYy?x2$$6}PRj=&&b)SuasThLz}{7h9QbhTJu|gOCe=PKl#FI=n|N z-j`&6O2W{>sHO)>&@PUS=(5B1S)kgzT`YPJ3Y;Pvx;8aj`AhP^GNQ+>%D$($Pb9DF z1Finig_+!PS_yq%Ip%MjBt5csN&0q}nD z*NrTfOe_m(vPDIYFCt?a4HK`vBdB;3FSCa6hz*JB-_V~Y=+85Dw=dSnQ*lS7(ys>X z;V8`7uqqM9#8aif6-ESH(W_>R3?OnOliS%0J_j5}7?+9tSpVE0C7KKbnVkuf%*KkX zE8N5QKY8-7X`9c;;xOkY+*T399OFJe50-swvsQ#SVewgHIoOc!47(4$y@FS$?{-%L${SB6NB2JqdN1&nNe>Y~`p+ zusLXbcNk4gR7(iGQcC9`Cyab}%Y)XH<0Vm{-ZdNwrp|dR%_0d5g427{;90Q3AS|x$ zs}#OAoruufwmH`VJhZf6$$z*#dveqCB06PNeOz&U=3v{4!(tW2Tp%7I-Xxpazw-u$%I}=>88#?mt zW)`36RE%9*9W!THoJZKvV<#dir@G$$afaJZS4-}6pN3^_)H@@0UiSEuEuBpzo!u(+ zgH7c3H@I%!-=@$;^{+F^XGi_h{@(l|P%MN9#ei9_S!N9}h)@wZcYm!Ye@rD&Sl{3W z{`oaeQ9BzhjUT0xV%Dh$N+DF#PK8Sp{Z@kTSv`W%W7gs5)+&OUAbgE3wdXUb`WCyd zVG)hiif<+J{OqYS-Gn8#Osxdc=8|bJ!?sduIawr=z(>W5q=ai6x^!FmXZ4zUBM%cw z%C14gk2bJE=+<5=ZGC)W7^iYv88iT6cGi3{t^XePfd z<*35=4#S-9i&|n9y3%h7OL%T*z2MA@?4h28U9^Cj*#{3R&T1Qy8?`31OHwVCz@by! z=5r|SLT*`YWOpel`4>+TQzkTihSJeiDiWphW=0#*QiD?ax@+T`Nu#CyJ%RWTXE{e<66%!e61FrHXY+RuhL-U7Km);z?&3%889&N#*cqjq+8Npp%}+bbX>$5k z(v4PXq)Ydm{uw~2*b^z5pI`Aq$$)5*CY`7St+zH|oRaKfE(sCaqM9vLGuqNx75scl zD3BmLMQHU>mt30ejy6g&H_J!|?O}f~80UjL_xGGyyY`R;9#VE-+^-d1p?xj;H~~l; zMN?l&t7fkL`X98%&j7=Xli3r!dg!qH()g31M!3kD@S6sef)f-waAb1rR8(*MAP6n znf{>r@o5~!G+t#5BUniJ3T|z>Af2d$TlL0F(1llmn@gU!A9s{9VO}C^Q9`|T|NW7o zBWdB41#D{mZBv;KJzrUHK^iXuU(TP-%gm%*w+9dYJ^FLYKF$N}FL!{7)I{(3SE77$ z{snt**lbSw)Q&!1C10SnT;g%|w+*oLoZ;_=U7wC`$_Ig z=!ry-YNEh_xO{j)e>gP>H`E6z{h8sF4*L<20mnf+WGG^P2V&+{uaU0U^+T3eTz?>^ zM$kGKBEw9|OuDdy4WajA>yvjjSweL<3lPKP(5NP}@9gI%pB<%VSY;~jURzSkvuD#) z$_Zt&=VjLlPCeUnJof>=-C=Hat?X2f|H-fpb?8y_F6P9uWdCBFUS9{MzbdYVKP@LAHVhLkfY$G%gw9^8J~HF_#7)rL7bb`BfXORn@N(W4w3kUHoc zX6R?EC5WDljO;k^z`8Gx=X*qMx!S0hax<;C-=4|#A=IuZ=%hgJ5ELs@lIU?PIMH$O zuusLDC6Tok8v`zqQFg++<=Dlh#jul}ge#uLTw~Mew_o6Z&dgnO) zv&*E6DZ2-|olV3a_cyoBj=DSV`EXeDf<0&RZ-|}X26#S&QN>|I=LVF-hJ6J#8;zIIa>{X@fR~AJX2F^Y3EF42 zxQw#*Ys;K+MR=G^rBKUNcWbSaCk@5uM*}X1Q&!@+M#EaqFv}tzCu^pmwKbvW$CNoq zge6Y~_ImGsR^>KBX`S;Tj^O1#H(3ZjafGu z`x~<~f77YU$Ly|h*zDdM>`J=e=Gy1M!#FRzaDUE)WBR1M=r#lYv&wzgD34FK-*_eY zi!K}k|7mF*;yMg}R~7u}_6IM8KmA*{-FE4-d(|n6YQ*i_KahJh61IMFufG(LSHxa+ z0{6N>1d@W=g#ePMbwChzEaKa5&av;`fZ?-QDQg zpT(_~axyQnVd_&!4sn=a{byY=O#%o`C@!$a{R68`pj&G(xK%MiUKX-7NF25hV`1H8 z9SWP-m%QM-5L?;#J2F|tu(c*>YTrpArDI~PJW8TB<&ciMLntn%LnHyt4)UBeHMf5%8$wM*ng_3w&wSR!r$!p~v(bIj^wUS%e2I(v!uT0U1@3q9jS zZ%Ah+M=0i;I??9qR{QP|OGbqob0XH5%liqBIIBPr9NAMJ&g4<6T21`l24ct%I^kTa31&;~pVVOn$Q1j6)Tu7<;q+Mi0k*tQv>+G7!y4D0W$>)y{$!(3 z1cGOR;5l2Q=ap1-6hGV&YTqpR8*lv-wk_cQ8!A1ZT4_O5?OK}h8CCngqcS~aD|?@z zF)Rz8-C!9*SWhS&?5P6kcLA+-tWC{)pR7#`NBTe89l*4ZWwHUr`}2!WDO zN^Bm#P_d*#npG(CP+tfDPkLX(Qb>NwO<|~nC4GIXIAusAQ90UIh0(_#ty0O{9v0F z+%!4v;-KHZ`Km7%e|B!(@2pS3c+sU+IELi2uIe}ApwGd0t(!V)P-y4BP%!S)Jo2;e%OF5CDFsRI@7rEpo6q8e>kNUI2$$HD7o)7O|(Hggk+0?&9|6uqc`bkw@ z(yKx>%;YFzyuh?Y+)IIDMt{IOu8w#XiMNX!&FIWghlC9~U`<2cuU)!J>ITb;$4*q2 zHaL(eLqGkyYUwlwZXrb2ihuFl=*u8nPZ~$3MZ1A!LB5VZq&pbGtkzA@e}DOF@0Y)R zUe0%H73*>b(uRCz`s!utpr7`o|J46MEI*7%_j^`b&WNcX1J$bF6hO`rFPx=Xjx2Ws zffgz#oE*_I|9!a!>>Ajy--K^`25v}iIYHw^)xyjux5J&g=YMc81u92?!A6eInIf2p z)#^lcCeGd`?;iJ$-8Jd14!0KZaA5>WE4|*D_X26EZp_H$&zj017Ck_!DOp#&>$7T# zG>~EtsUdB2UKT-~cme69^sl&}&wAN2V7;NvpyJ@B$g3;{+?z1(vjH2yfK@~=;CXn2 zsxSPMTN#*g9F{;W;9Vnlccn%Z0aygnXCbF%!e}HOGe|er+A`e|U)Nc;O@-<9;Ft^I z@>MY1>c0~6sOYdNT9_=dq`rz}l1cx_D1UwJwBgfK(6U$QPbCyBkcQ-X25(rztCZ;r zO#RcQQpzWk!ksfp#e1oNMNVg`zl_^|z?HhvxkiTfPsSo+`paFwd*(NeRpkxa510y?P*RC9vLQoiwb*U*+?`f@WH9M1#U!oxq$D{Hc!$?5N&e z4fFQjxA+;w{qYZZA)mTZvX7w5Lbfq{1La|3s$XBiTDAa%ehB?ky&sEZ}0pl1d`f=Ucw2bF9^y?|o_4(5%sB7@`m z`Ij-3@B1zJ3FLuV+WaeRhtRvhnchu-$GT(aKs8$Slh;$v^T^H`5&?t%YK>*A)`jkw z`c6Clk2e$by|#CR-)-&HCNPq2_s}$M!(W1s&}Gj+n)X%+NhM$pi+=I+q%A5YvK z;kNtyIma_q=g#4~&yUz$otl*QWR~vQ*WMl@4i6qrPWP&~wtjtQFWg%{KIfe{#{Yt-ge|tEGAMvB&RYFAr!dvps?v zRYDiw@Ng61{p`OMdyL@vTSPJ;>j=Ga<$)UAwWF+~MQc8Y`>`zcc=`L^6=!yG_Q#;d zOVnpGa}_K=-iBQ~^Aov# zK6wIB-lnlB_Wg6QM^(G}@U^_Q*u45vYyJ!qy&tdh#;$xnssr(s-OrnGecP4w^&wne z^t(@9XF(n}3ny{KKhqa}>Sn&%Z-St-kY-|E7wvA0ivJ)z_%^wsuP=B+e4{h{${Uc* z2J%Pe1^m3WQ|s#|TJh#bx-`VPc)ToaernN%o_{Pl@npVM_hc|t-NXGorir(J|Guqn z@GOEK_gAS`%`ZE`3Hd@lYURH|J*n3~Bq1*e6$0jcVC?n(?Cg*A^*3m`0$dI~11+>gzQFj;|m_?U|5AK!3~1@;N%R`z{9j9U-)%H@*brXD2GLxECI zRr1%)dG%K(xbB(sAenK$wLQ6P(u4hz_A>6@cTIMl=knl2vCL6=yT_|$=yc@qj1m;9CztxfKwby%JYSKVdj6tX8=c_(e`bFZf>1PDrQ3+{A9 z+w~pxYG6m-?qMW$O)4ezR>MKF;nr@qd#3N)+B#U(5JBqrVS^~{hg;~&hv#07UrOH+ z1e3>o@y|AMv}WqN@8-YN%52=mh9rNtwe>mX$l551+m2}ZVeE56(Abn(tC;O?&u(o! zOR!K_lbugZ41EtcF58b#%)dAG!Mmm*iI-moHg!$kwzaqKY+dOS-#CD{;vK>5xc{&0 zdt*~BkbkHj{gH2JH1%ERA6^BMddQm4e~O23#?Jk1>~iaEL&q>e-fBNa*Nb5{c#n_> zhuxIFj!n^0Zw<7ne(qIJtP8#=>iy1xbLX{JuZ5}0&%JidGEe}Qsgu6RLi&cj<89JH z>KC6W{q4J{e~eu&+x5rP*k~;3(#QT2cUyTQA{#+C_mGsfn#Vn4f>h3LZMUY_+Wi){ z{RvZ}eFvw*#!fr@$%nBXPXs%%2NEW!?6{Zb-XFU>(GE_RMONCk#K*<-0(j#j>3>i( z_R>3Tk*h@A?-lz;+q_0u+`gZVenKZ}FNMF#`2eDahrdNH&gjDvxo0V5ymF^Q+9Bpjip#QwL z=E^HB!$ZP(vaABx{dJms^jfzkZ@3;+^N4<*ozcPvu{VB}F7uo(-)o9}|BE%3^RY;K z;jhwnd!|K8!Xoz$_@2|h6B=R*nolVjV&m7DdrCV_ukSM0ZXD@JIpCb%mhoi^1c`7o*V`)(*xa~m ze<8TCWGff&5r^NDHUjCjtm^+nz}?98wlZuW_`7USZtC;9iw|tetJm8Ffxr3H;&0$f zJ0c-#o%AIT`;T=}Ui~Ys@ZaZ(D}QmfN0*@)r*H1K@+QC|SfaUxoKBy7mx2t}*~@(& zzjZq3>3A(R@BVwr(NDA-cw_0c%c>%?ckttv$ho`x1yXoGtl#Ka8~eWftN-bez{CFZ zKd=6}zMjsq2a*q*T` zp3}B7>{*|JfAjS7EV5)m-z>6xKANdM=F|6VNWtl9d(pv;17%lZr!0Q?wU?)&{K)!x zZ^{r_eXsWs& z8-IY`Zx?|UB|2(Rq9Dc*(3k@t_p|FQGvKq4|2>Vu4Hw2yfEt(NCPsQ;nfHvW)1Or5 z%E^A~FrN(k^}rS_R&VOP1;ywqk6#Q+B`#^kDO7J zF3MNHdCa4n8;!dNj>NXskk^qC*Ev)msYi!)r;e*I9M&mAX z3d#`8d^-~`vf8r}*qlnPu1e=@HV;3;Oyw2>a3Jx1Ylwb40zOM$0_;1XW1-!iMj&Gz z`CL^xR>BWI!#u<_H|{cpBH;Zoa-jJqx)gw23BX{c7tkD)O+HkWZYYt0G|nQ-vN6Q! z){yF0MDt&CIf%|fnVseQ%&P`y-arN+w{BGc&Hr#O!b!KgXpY~eu~P`aQoTAaGUap4_ZT-BnY#MH5^7(L?O&M!d4h=8%j6~ z_aP}Tm~Ia=n~GHcT#+CJ2E!3%PONfimh)p_4@kqEav4VO5E9)gdl(eLR$^;wNLK<9 z-56`2*%)h~S;zx2JSZ^Safd}f#z}h^6v8gmx2+-d({Lnb>qV)}(n%)3oa2XW9a1-r zQUN3QjS)^R3mrfj;=>kcBqGu6L6{ZOEj0Th%u^9&&M~A&83>qg0s$ZY0s)^z!1zog zjcx>7HS=GWF~sm<7Y!fKF)1$aG@hVhgUMEA}C21R*Abq|ha&+Gw9`Dl%lKLsiO z#6U#zCd#R*bZHeI$Qa_-1PnH+U<6x|S^%>PV@XQ0E|std&YlOh0`MLRXkFa5Nb43m zg4UIPuL4E7I13F*1Y-j*xBy9`JCKj`nesKz{4E;6HI5)>@h##VIP{HxspA+xvt$th zo-#xWn2%CGk>uYYIU5{dxRpPtK>6EeBhk%cfarP_BNeS5(hHc+Q?68{C!Iwj*n=<& zenFUT%t2(VWn_TzFGZMphX8}5CNwDgb7)ZfonTPPAE7~MN(RgY`w(X13Iv=N1i(?P z7T^mAc##t*QuzyHDevckoT)7gFe}bl1ROIIG57=lOD-X^I*u?4-dM<(hcN#Okzw3` zXl@@0W<`3BfVEc;@GGbNFeo1oaO-@;;CqBwzY$^nV8KkMqVMrI9j+@Nc>o9Di`4i;~~cdnP^0ejipJwrHQD((j?T<jqIx;7>l_ zbkKRuCNUb9X-uS7J5tbj><)W18jf#xni2b?ITrRGhtNR@<-5gv7_Z9~ zUS6kLco}NprQDhPEzCIITX&>tbHrm2Vx22cNTc}ChI!lu- zOB2ZfOOt*FSu!aw?u_~}RgoHa1R_Ey%soX&x-KwDC z@jc2Q%P0JSH)r#6eY%3_}NN#Mm>Q+Vz=3B&)?ZqyU7HxWb;OZ6F=ds)sjGILKx%SWROb-X z@&JhEk)@|Nr!j^>?&{PXL^;=~dSFo4q)7-uGvyp`nOsBpwWoxUvkK%zCEyR0z~^eQ zQw}`wq-C!4@&?KUnb@yMPyE8jSS~xodB|aRzhpRdqs@9IQCdJ$Uy3XvjnJuwCV!%2 zCQwq{M+rPls_T&303}8yg{o!}g1RHE2+R=j`4)x`8UH`Dy?tC$SMoS~@*YBf%Zm^s z;0+*xA_hbRMNJ?gTF|HzQL!Wl7At5(v}jwKknpBhqoSqO?gp!twzdVeELz(pfR}`}_0ZW4ve1%$YN1&ilD@=2lQ0ZIOlp^S~3b;6HVO zojl=6mckqX2IQo*jKzPgysPr{j>@MNl7v@KDS6kZ_9+jNr}S}{d*h9IJqVl<9Gb+Q z%Crj;k1KvCTIn@>w$~%aZT?7F1LfSFT3u@wFg2`Yv5Y^g!vgm!$wLv#JF3TvRx&sL zBf}Mq^MpIi)lx(Cmq};a(@v_=n9K1(R}pnr1j;c9cDLw3C(xhwrrpk!E6NIlRsIG z+bOQlKSS~OT>4Lt6-JtDNZ`+~rQ?_MF;f^21lnF`oRw}xDfo$-FG zi6PYIVnpz`nO9z{8i>%`8Uo%0uDpoX<0-HtV?)I5ahb{E%uIyUYXREE(?h}VnWAk9 zjy3Qg_k=>A7gW6Dlay;%rnj)OzZJI{NDho8nIk*1Iu!jIIpWoKE>=htX>kU=T17m0W zffPfsSJeqR=!+q+NxZ+;I5KjcqPpU{x7|N#SPi!@LpR)8dhvtMFQjtjl;IDad;33D z{Cz8YRpswh@j?x~`$)5g_TIp5u!OgjEPYbYa^q(yuf|%x)6hJP6{2fc(r`PT)-1Pt zB-9oMPtoyDIz>qp)eJu48|O~J)y9`CkDMoA%(0d;Jl{RkanbP0B2lbw4E5(_lKkG| z&y^yT*d`Rn!oRY|9xD_6;F35*mNv6@EH^}IvUGi{SS;i8jB%HrJ^UtIPs00MX;24n zzYAt6jwdYKWVq_L;;Oj{XTmg`RQKb(xP^GV4JZFL31Y*I7`X&@MJzY=+pw5r=Ff3L zSovD{xU>hy3^4lz;mtZ>ITG(dV(kzlKAMEw77B5P;fgzqRv9e7jT4Yq1D8->DTKs^ zASAXYBk_79CSFLK>b$`S#97ryJO(A#h9Pk`bA$0cB<}M@;^Ro%HXk{sGB+4?p0L)_ zMj>(URN!3kmH7m$$e8_BQV5DsfW-7B+*%5H#dcu z7tsea&WmE+>|ov;JznF|b9vL%KD+|8gtt^J%~!j_O|Pr7<;Uju?p5;ls`=b#NI%vy ze9$#2uwaneV@0>X_^93b8oczIsLApG*NMo?tptJzrlwMPI&XUZ*m$rOf}IPAyo1#x_5O}-U8ydkfy;4X_U}*Zs?AM zE#;e1`&m&{0=(hH3Kv=%S@nDiO}HUZi%0o>X>mPlaXsQJO%dIwRAiWMrG%!``@K}} z2g?VG4;PjvS;jdO`3R+OUD?meiQk;_>`mVVI(1~~=8vsin^O0*#&@*FqpiS5%;q%z zW11XdvbnBy@3jYAeU{BpWnTsvHqX!$u%)!Tq_eyP78GS!6ke=x%TA$e4v+}h@!K*Em18+F%-OJ<+ zB#6n%)BUm9{V`^Bg~=+g#z;DMVODz8ls;qPgJ)Uk1UCN+g$Glr_)2qWr5Q_A!j#JW z43ugXmMSebRMi@kk~>hU4x`0wq_q+hIKM2{c}paBT4wGtx7T!DBjBRlYDM+d>%7;V^-I*m(hAH3JsTG$pry>A7W7ELoPkidjF z%<~m(7x>(_s$Srlh}etq)e#q5?-8r*Y|o6;?G7ur+~86SmX0>Im6n*wcV2I!sqrix zygv03LnYn=v(G|>_^F%>37^M0c+C9m9Im{IC4sAJT~*xa{oEe!g-z7PzxP#N9wFqQ zJsm-Nx{@R>qrz0~3yon8^DfpGnMLnuCmH%|-ie);!)P!FH1p(|{ea3s6yjqjl!9-^birz|BTQY@t$UA#b^cJex zo;hH%X5Ty2n(H)NWW97YBr--MU=tb45%bJWj}z1AM}u7=Y>N<3@B%9{e!y+O5r20H zI#$qBa#ZlrEZ@~)KH!t#0-Jm7hcCAa#NNNw zt<^^hpSCCNkm@uUzfC-w_YI3316wI(-d_UGg%x-vn(T@DW1P4xxS=e-LxL>avLC?h zFLMCEoVn_m{o(~?yD7!pY74Wce1qAM`!Ji}Bnl2%Uc|}QD#FQk0Uo0oBXK^hW7YtN zkXY%5lkY8N4e%0kGV0FE)VKx!F9x^|X4U{VnKeKlbHagZfQq%qS>b`QJwW2N$;jDW ziE;)rYk*MXY{oNJ{<~Nroi{E;)J`uZ$fxAaxxF~AgtI1;CI^HiMH4++mg@qLl_ zTyP_Zu@E`yHzM&$Tm#fc;l2HChWIFQHZu!`Kakj%gPf^N3OG32!w@qIhPo77w{$TD z3_zKg1KKv`fVPu4p#2gLXjzF^z?x|&^RL1b$E|V4`U3r}cylwD^#xwY#`Og!UyXZg z-fXX_v%w$W&||ZMcu7M+!t=Ld?RXZw!G#c6^f>Wq^d*_Kdn#jBjhN3*-RcoVbCCC;P}SYWpZl02ZrQ3bB9VhRNOL<4G7 zc^3+m9y1J#e)LJtWnN-KnMZ)k;SFr2wDNL!i)A!g>337T=qHex)hOf6E#<+sQcD8IfDwEhy{-3 z1tj&AuY~ec{s)U_5W>D|7_^n+L3IDaA)!uxES{;3fYU)w-bI#ib8K^vy1)6U^jx5# z|H01}SL&OnAx)_jQcJAQuY!#s;ai6bB;cv%%u4TS#+}V?Mcu4wd`thsxHnj}0~2j|Jz z3g|jll|@$_ZV{eN1E-qfU`=jutjW!M^n1{)p03fc6ovLOOZbMNPVaBmH)aaoiU*H< zcvGZ9@U@~E{41B|&wsa09(ADQp{QP)H6Q9EiU?iV{uw&omY4Y#uKPHSnQofF$Nq}Z z$7#531@?eGvG;f+<^{S&&3ye1K37SLr#Zj&1ocmg@dBracox>wk3U620yzH&NYWei zc>JKxqN<>in%lwn9n4lm?@(+doC!4Oz4iq#w#r?^4Ta!SQXcii61B%fAs!+eI`)h5 z-8xL#+hR7tp8%> z4p*RK=v9r?8xz&M7vZ1dv@339z2M_U(Z~7#KjCf2ERoY#?K-)jJhO9CCNA`HN!-fQ zf=}(DFPfYbsbEJA_wpXFUWUH;0}OdIXUM*2)kB>)qppJbsV!Q~+MlNK{YJrSjM*|@ z${Aukp(!c`)VY?CUTx+O@qAl+KmJf4d&UEC#M9JHjA$N}ln_8nJZTuc1B{@D! z-Zi%E9c!|}poB{#6#*@46vn`qJuZ_9K98JJJHgK5gE@HoG2ft5WY~;6SC0a-$D_vb z%GmfV-aoY(hgv!&pY#fEb30WH9u_$p5^cUgUDjbwaGl+&1%H=Xucw_Jk7+Nn&d@mr zu6gzmLGZm`hYrOY`FEX>4;ycqx6>|LO1Eq?yKi;0o-dYkZQF+Jpt;E)7KzI&u6U*f z{-PV`jYHXoE$NY|TfA?*Tc43v<~U?+*R}a~psUW4+@ahDt83h3To~!VU1OtN4+F3= zuQM*PK%p_hy;T!BU}L4DxwG1vwO9E~7nNjp_JlATG<*3)ZDnF^T!&GZhL>BZNHnsR z+xSuIFOSysjP8dESHk-=ndw7oIDT4Bzay02>oL%}%1E}B3TTmRJZvvNT<18Dh1F&w zXE9v1N;5>klCoY~mP{^pLlf&0c-DF0^d%9X&3Fg6pM#GdQ2PS<*?|?m@Ku3T^UIc4 z-Vf9yDuG@wBCjqZgD8k-!x2X)u_%e-_MLSXw8T zAF&AdO9e-(6$}8Pv0~Mh2XwDt=tOB~tbroPL5=={Q7AYRzk-P$0igCrsWN1Zo)aF;~EsG0o`- z%Jd80r+%aMNPVMg?hY~(%&U8qelJ_til8+sVH?(KZ~*I8iX+#cCrZPqDzIlhB?LYH z+4^!WW;7!Y^t>e`h8+?$CuFf~K+iQ5T~*%?=vh2IG$t4ZlheL%#o0GDXyIq2oIpMQ zKgV~Bx}*@;m0vXdxM4h8gw7>DANL(~Nte9TA^_Kx^c?U-Avvw!SX3N0z4!NCX>gl! zn130#{?u>PrsCC3{|$#^rdY!kSNC(Tt5T9Qw(f3CyOn@9q4n&N3aNjz0$eZ|o3012 z(@n4xSe_f=2cB^ZEVwc9g!>D3QVbaE%7pyIo)g&bN^H8e)-X7Nu*|k4@EZ*qhppXq zeC;+odgX#I+h06m>+(B30_U7V8{~i3V?KgoV)v-%2L4F>-Ixzvv9PO*8^s@Oirzo# zJ+9-pnB!MaHo`P}0zlx@cV;Vex@8AOOv|0X9A>va2?ci&$+VB3!dgM4?ZvuPl8;K8 zg_9Fp{|M#0Rvy27PQ;K(ruj)ctL$tcEQI!_!MOn~v@RvNT_0gD{J|U6IW3LAd;R5+ zt@e>VlB)UaWfqowKX@q3Y}M?b0~*XOwY#~u*!sHRolvW?W};rXXWrYxVGh z{G{QWiM%IfMbk7YHi#L8w3L!})pH!T7;eI=CywYEpDcbPieyF|SVPY58xmc&yno07 zVRIiHa)mv`rvyhZ=ZgbkfDx>zyiz*bZ*{$;D63Cz6;ALpxUgVd$X=-g*O}VvGU$@k zPy0Q1fs2!cN|oakL8AuN$k18RW(XO7AtkgtDMO`6BCr^>U^<&iobF!K)3UJ0_9W1U zIhdupPgnshRd1VTd;8_qGj(Pc8M~~c9vZM+eacCzL}Sul9d@ug{z5hDaZ9;K{THe?&L5v_AH?Xh$DgC?#(wlcINIH$ z#C%n%tBf)3GXZiQ*OvHJpaaCLD~ch{<(+){%H-ki(8|;OYu*dEOnSkbp0U>j`n;1Y z&e%nn;X0=DxtlpJ{#S|e&T%DI7;DynY>wnS{=C{tIJwBg-Y`bC>2k=X&64r9D=(zJ z-(Lj=yu%-TKHWQQ^Q^~M9&gX>XcW9KlqK^#pJ!oj4E@h6RmS8uF8a==uyklO%&6^L z7LA6)jEOJ9N<#E)g;wE4y1p3&P8ieU44hdT4)So1Kd7A9s81ne_N)9yDKF-o;5n!BOg#2=~02 z97fO1)^&6J?YUbYd1d{jAUTf{-r#LViF%r6O&>TU(sR>+&%e-)`?uxiIKKZ~#~1D7 zxBf$D7(K;v_M=0yrmru$$$4o|;{csuW5iZj_fU`K%g=hpmF9H%5%wnVJ(}|awg`h) zc=|O*r@8$XE=LD(S!_G!FvWH2L0bs=3E?MxF_vsPt2U88Mpp6wgG2< zg$6gdiw?Pnq<^wgx2+gvy8OaF%hJ}rcmDWv z>d`+9{d2joTQ|pgd8Y4(H~$a&S<`n+W_md`Uq=Cc^3MB<(m`Lh|9#{?g4j*79=p=% z(CgbHLY;EB_-g)#_B?;Sod2xH3~Ix_VwL6u93@w=i0mOwL;KpiZ&}9V^oq&)L4yR8 zobm5!=*7ac+;%p<Ar6& zbIy2Vizt4eqy7;0rvEdSuMZQdO~CU-jlj0H(EmQI03*L3?!V!f(?}*Yi+AI}iOr|%S9m>} zqz}TQ*;8P&Dq^jJGf^2DCyl{_6Crcj+Ka@>K;(Qf87(ijAhE^^PcG*K182?)T*$hV zdE**`2dK&sNZhXi&iqE^Xx10SILi<_4^ZuiV8!U!_{|RGn6igpXgk#o#9t$4c>od@ zGDfS*x!0jkn~?Z2o{82cvLAHCSf=3tYCm#T4?~&n;Okk=n^-`}7A)X!FBD@c7O*|l z3Y>?!TmX})5W{O=aTOZBd9-mS5*KX46Jnj0<(nP07umnVIqnQ7Ab*id7x*$Ar3B*R zjFOL_HVPOwu)lh>e6vHAhXvfjcy@i;r4tMj$KnCiD`CKy^G}qy?;U(gyx4me6tIX5 z1w54A31YOkbb}Szcr4(9Fwk@IzmPL|4~ZM_xXZ8_3)nIf3;2@@XhS~{3s^D&3TV8G zGKc?N4+XsLedwDV+BZ<<##y=`XbXSHTNBQN9{xErIlgutSPQs$ymM*xWq5Ht58=_jmoO=`X+N_S?Rr z%m;i=zw`O2igZ(+`zc4Nxi{y1a?#~r<-n!~H;nV0-(Pw4|XNKSxiF3zJReW+W z>HR_>{f^Z~#+LnL0ygJ`BYCmjTRksc7K)_JnMN$zOf%IQD)a9N`NwT2VL;pauY0nZ z1k@yzF}5Ni)FD(eO9kaXkqy4(szTvHoVw+D)<<|6-?|+kG_R zpI+V{)0=rvBVT;>i$18gJ@v&bv)!uwIO6J%GwHT{DDPJ4t60|QJPzalAA|OcuJz%ZJu)2|h(l9iY4bzK=c&vuTK87$^x)-F zo;8L$%b+o^Az|<{6%VIpj9}V>*K_`pPm5F9o=i!Ww;KP`THkf**L{hpY0&gQ&X&t( zFR6=Ek*>iXGS{C9LCZ^YpcIi}ap-qUQvwC=>p2RagPz-)D1l2=D??YDIJmzur{$y6 z1!?d#a($9+TCbe^9SZ!87_>gX`t#*uemam*^G~X#PxEJT$kC^r!n+~=C~^a?kvD(* zZpC6AJm(fLJ7OGdBAeT9t9 zTe?b{3po6g*XR|xl6A{hL27OB%lRdvwYf`)R=0T7=$DtTCZmg%6t2)ZB3G?gQbI=0 z8jC~1|L=bmIeeCxkfJI%Ib3iAKG$4Lnra}o-HCxw;~AXjd+enxGS6-P6PR0*+QBwg%ff%oP3Bd=8teA z;8FgOuB7P@!21C|P#%PZfR6-v$yU-t0SsSe{t#hIkMM;Nj`Z+J=%z~}fd7c+=@DKI zc+_7Xq%Q&Z6~GVZ6X7L*rvSeb@WlY<0v=)HkMJ3I^@sJ+65`;~u!A&#?JbywJm-UO z6yQ@K9rZS8iUl|v@CYLxge8E_16T!kDZpNUM;P%4OM}T_8sI+w9~?}GZ!q}~VZR z1w6v=SC8=VVUBXv?IcYn;YC*Ku;=AO_$$Egfp&I=B2A|NJ_2}zF+IY~fR6=!OCbFT zfDZs3VZ)!Adq~BFs4UX1wX8>p+Hvv`KG)_nt~wC7w8a1I)vTf7YB58Qb)b*0XmD6kXq^U zdP6t`@K_J006!DpB)|{U3&KYN$l*g!{#!nzsXYM7A3#1t81q4RKj5+a>;FcY4glN$ z_yK(&yc2%oK#pLb%K*Btzmuks5GMsXgpm)zT=-1}x`#sviG}Amcw&3_2%gYQi%Og@ zdnh^F4*4Ge{eY_u@~1!f5Mktlu*IJoz6G$tk2E#-L;iqA81V>KNF4YD64LaRgpe}H zb3DS?fKNRF{k)zuX#mawJi?eB;hBIB1^5);=Kwqd@CYLwVFlpj0AB~Z3gAS*BaC>2 zV*sB8aL{hj6bEn=;1NbV!l8hd0^A4b!vUrNk1*m9cE>cJkITM}dg<^dP1oU@=9he* z*9*d5!4LIT15earFwmnOtV4k>#03HUfL;*h0v`3)40sX1@SXH$dPTT%h@;$Tdq~q+ zc=>vA$n$a|+zNOs=Muml2ly+%50o3>Lx9I}XaL^=a3kOc%7t(P{IFamctUe88VdAk zpdYyx#tVq^0eXZ{4+!7zag^(b4>>G^_!OY~3gVi5$cG3c9l|B>8wdQ7;EC<)b#F(y z40wVs{i2ax4n69FV7~E!_UZLpj|gA)B!^YNZ%zYgy5kA$!jpW6F!D$E0^qS77X$th zz~=xz(5?|a33zNjC4lb)xC8J5?Fr$p0FV7`0pME!J_7iG{)ccQ;9~**I^YihydUrg zWBv&DQ;u?7f@dt0XE!{t-X~Lz`rboBJA}9i)bsjA__#YEFntvz!V}wvk2^Ws3X0z| zoHPxEILe)Th%n}Z@JTlZ-EucaJDC{*^9jVg;`Y3qApDV-9M*t*pMFA`J{1$PPfR{U z82KQ)3-Drq3jl8cxDN0LBOc+m0FV8l74TaD-T?T4{(-O_@Tfm4;7tI(4)_6mB3ul3 z?2jJ-eht9O0YA_`5zYfVw##GSAPp7O)~(F1N=ZgLpTh6QK0u!Fe(7`7WKla58GuJJh2{x@Pui< z=&Xwa{?vsWPK5kSjZps(_mKRRh0p5|VGaB+ z9|h1MpZiUuDFxyZfo^~=!Xp8n4fwDFq$vjAFu)^>`64UP>~L0VjEu6BlTKK>2EK+^&=K~8#T>qO)XzXjpR z7>2Ys&Qv<-;X%|GhIm}BeG4=m(5@_p2|15pD6D#Rbc9mS~q2k{qY-17%~1HX!7GMJ`Jz&R;pVKwGTKU%qtt%TTffOJ826 zg#eUEmA`mtk+vkCJET-C&cFjA2q_0bzyylJ zl+aOe4Bvq$N5%amim5n~Gq_AIuhtglF+?d#3!y6JmK5hNf4QU}1@x=RFD%hQhK@>` z&rnUvFTv*WVx}|AK=T=hc&55}sTmB(|3nOG7mV%(2$P|)M#q)LGpXjzo%$>c39$a0 zRqkM_TDq!a1yDrC4I)QiPX6K*%U6{YuU_m>jFZ4AwxfkGNt|2<#XRo|(C8T&6e+ee zc2JfB5Xd(W9K_l|If%0(V!E@5&xP~6lIf1PL7DxPXwHffXcS15le0Q+>6%qb$6|0G z1arb5wu2B zxHR|G{9I_Ii=q4H6lzDWTD!bNTN;E|J)F*PgWIgFtjFh62?WWNjML7WpI zb3H!rFDHkoaR=y3il4xX>S|e){{# zyL>bEF|SW_FW&V+ze0VXKTUI?U!}0#gewAm!bqJr8I>KuptO9yI(CZ*f13iXcf$$Tc$8a8myMP|U zFF{yJ^apqLhr1CO$O^JazD615+zoGn*ubn5A<)gZyR$#S&530sPh#*9PW%MGj|2|S z)5kFQkxu+b$VUieywLBXc=~%NKw^MUf*=S}5avKwa+gFh`7=3Ccdbo84>%IxkV$yA zw29Fw(6S*N;*iIaI~a=`9^QePgY$9zY0i$w6pqZ@jx}0i=Z15b7`BXOCo*<8Vueu7 ztQ0n+>V{N8kQB9i4#GYV=0dm=!V+ir1car|a65!)XZR}!hdRS8j2zGc?uZ_S&&C@4 z^o|?a+A*+_BHTkMMwZggeu9`JKB~?wk5Y5Mjf%!n$cF z?QW13#+2~9PExD5f1Q5LmB=)Y{wWeRa8p!|z8A@KBALq;N+#N}rGS;NsXvl(6}bS% z(eh3GQPgQBZVVF_qTAFTO?k;2Ih1sgU6_OAAj%5U!B!Wu>Y-B6{!mSXW-KSjM_3|| zkYb4mNEb#8NGOz{jOtGI&I|peETHvt@SN7U6Vg$AEDx7X#r+hTB}1v%J4;oFw;r5& zKa;Sxli{uR!P7$X5Q9(LBg`_(5i`oC~hbzMIQxar74z(fDAH9B-_*7efJMZr$MupDhbU?*WNc2*eIE~pbg8~)=KKLrlP zzh;GD|GIw*xwFDYV(aCR(1?P)_k3LEH_dDk?0m7GD@F+h=m~JbG+norG0Ao` z9hOQ^2mSvUPo#mlBo?`vlFnb`)Ri`|cdcns+}9IFEef2q_?#Uk9U&p?hYmrsAMx#gG| z=S)vY!O*;^Nz9T2R%Tfa%>VuWC95A!xy&4V7AgkUQc20yOXFZt#+f=-EDznfW8dE2 z&p(~{ugSMB{%4l!Y<(Jw$bb;e42f$Q&CL1UKr1kWY*BV_r}L?pgsm)-csNh!AH?05 ztCvn?CvA02>ZM|Q;)RkIL@~uxsb(KKIi+eZ@sCOBO?5YK329d=XB%pIj8`{s6H@rI zVR2vwo&l#qncGJ!GucE}mef`1D8ZWW$~a4*Cmz_?NjO{JyV-jJ&)5R5*Gqfr-A)(+&(sHAum)a& zkE`kfPspSvS#)<#-~~Fc+a|pRsaQc5ERbnXCre(b0|~-M>_tFC6 z8lhmFLSU7)8c8+2VJJ+2Kz;d?NnOYpOeDf}Lc!Yj z%3@1poJ3ICAkavG5|Z@QyS1`BNLf&;GU!yj^g2jV5B!5}D1%ODgY@I*%C&kyTo&im z@XA+p7` zVt0R_cE8`rziM^=rPG~E>PVhc%aOOVO*~{s=tzz~l$>w~Zfhq`XyHt%H6|WXCNw5b zIFuX!1TDz{jmZfnV*)WvJenM^$2hUBEfG>#lLH{rPR;~!jY0{p66#K$dy(C}$L{_s zXT{z0+qpoAox$%mBjc9xJv%|MH|qkmA_l4&o^p?R(3`})fJ}V6c-dUOUDnWQjt>{PQBRb5B+aC^g|&$y~{LZ zwAh=S+p3ndne25m{S8-^5GJlFPNQmJkzP&1SvSzd1b4X5dF9+~A$v^l-xX86*~csG ztr}NTZyIH7ld|Ati)as5&-W*mR-skOlAI*H{&?!K=LPEGhAg5oT#;<62?G$n+G z;`xI&T4-hqlc*1h*%Q<+<5 z?xD7HBz`AhDL#myhq}#J#BiCM#*Mh85_!rvp-3=2>TTD-%2atBEhc7Hz0^FsHPWTvu)c$}Ft~dwd0Vwd+Bv*6 z%B3_x4Hrnfp3HPgx%M;9GaW9Zww-*Q?NOzmuL%`07n6Wd=+k{i4_Bx6&@4h?xkhim+9bkzBu(8BWS70qr;?#rAA2{Rjbm4t1^6;iuMWEoDwqq zM6h&6dt{rkiyraD2AzJ+Az{_<^zZa~x?zEk%e`k==1-})`K~MV!PKF>8h`iBsI?nA z^I5P zb;gp?%C(K0@p|}YbbB4TQm6Ym=<>v4om^0C5v-yG(7Dzq1P%}aMH-L)0$0+4QigIJ zB`DSliYWJWgrV=`-vK6_{Da8qR|VfcW=<%#%f{tQ35A_1{F_*(?WznV1iFqs@PSr( zzY%uDEax^{yfzz-=Lfd56^TuRYlZ&B{3Qp?BWwi|gru^6M&jPu0b9)<`0AORHKH{g zt6UY#oQ{yZ_gfy#%<2e9?)S1OW`B*4cpbDK{H-K4Z!pU)-=Ul>4eF%lD0C-wJCGuOC;O*_s__VPWVFu3|O6WI(4 zwLxzRA?0eSe73wiLtXx&raY4_pA*lU*T~{6RNHywFRA-@E>(B3%7fH> ztny)M_)dGIx`SOFsIFu4Mylab{wUZ0WJp*R<&6Jbr}?C&jQq9($6otKsrdSqtc9_7 zI#kh6PMSG|?H#LBj2!vuVmQdnS+#UszBjl1f}GoG-8cIC+aI6&BqS8MrY@>WQ z-VJ+X)V`Q6Vwzpp#YK`bj&>;5W^3ARkVnrSXXx7g?e}}XJZ$K0IoV>>TWXrh55M<$ zw-tbvj@~_mLZ6W!8=M}(IaG0WYxjMH{nDB4>nD2qkA8l5ukFjz+Yg^M)YO-M8@+SJ zGUMV=9RGFx3+A)xy+oo5RH8R`wlz-d?o%Wg8nKhEN=nfu?+p04!nSp{OIdgUV7uZ% ze;l&tZ26*}D&9Y`d*hKth}S{<^)TUXdpf1+d6%wYOVTKnOx%&B>=Eugz3AJ$r?-C# zD5W^H@yo;S6-hc28-QBQhh((TZHpxP^wdRN+tU}T`AgLN?$sC{ZUnw{wu*f_cUSLh z9QDOC@oiMYBmdceBZ(JQ+)jG7W;G>AG4KD8qbUw?N{vHGuiw^@rTjX z=TmiyN((e^pbS$qtq-rQ;p2bJS~(B3);bJ0vwVOvB?8V=IdHCN1dmi;_nm z*$^NzBbge>_9Iyql6`_?^SaEgCwYv>-s9{w^be_lZLa`~4w z9()*6a7LP4qWjU7FE}5VU8=ik+bcL9RKt!)-K!Hd==PTF5uF*Cy`TQP^{VLnsO(1F zvDQ%6A0pEZ$$xCkbNyj-p+wgsGP-f1(#}?}{63BAlG|Ia7D416apD4@7a=?u< zwASEXC}|#bL0;&0tX(AfAfjewl-mjr^)nPT3rds}2_;hc#zkJCr+Ou%UZvkLmbgRF z>ab{?ShQELXw5)hz7TaA1@tmM(167i$hwfM56RXc*;h!GgJkhYCIvDYxk)PB^40ap zCih?T?l*Lwv>kJwH!=H;?#niw$GpVs`?~Mjrh3eql>Jcmb6dH`yvc=<2R*M;x)~>D z-)YpE_Y|~QpzSKZ*zIOqGdqBPyERVSqC0KFf=|SPmkR>;*)8`qZF<+YgHSUUI8pQR zbJgmli%V7)L$94pSAv+eZ6M}J6!YI$`VuVt1T1|Zh}no@YLM&@l6525T_h_-vP2{c zihIDCk-bI5G<^9xw)RCY>$bF=UG%pH=~~@hL#@}g8EK1lDYpW7=~Bf`dY$+PDj(pt-1-8-_kS1Wlx_N1RKKm9#)H*F9|qVNDo z8c>ohl;jRd(vOn70)ZbOW{=y;R_}SCv%N;FJ~QI5>8!U`diLa%|7qv>&dbUkxALd< z)!uJsWiMX2r98tofPb*%_1rc+|2#AVT~9GInW1Tm8@1Nz>BHm1@hhRF?8253m9_#R z%Rjyd>fA2c)YWzCLiUAA9XGm8WS{J6J#}rLIN6Y)U3_ras_7x4R=xkOSGZ%W%!Dy> ztWYm)?~yL?VNI$^jyJW{B>6f^|C1n$k)gUFm<))BTp&y+`h`T<&qD&%ICWK9*_^yafAD zSzxO+Xov4y8+y_5x zX7?)!j~?3n7Lm~4+G%eg@XE{6prOFhxOs^Ta z+z|d$&oT|=8thp|d&p@{bVY!PxGnKF!I#o$IddP@191*C6p0-OIgdopT8ZJ zTKK1>!6pe_{CIOepj_ca1DIqGu7uTK*d1=3;2v(+9o#NdD1DOsYm*XcQ`gq23_eq} zKIyizig$dbFZG%Bq0bA4Yt!!4PJQ(BX)SD{l7BIma`mQTLn9MY)n!d(YO$9NH+l_%O%2{gSzc9hhl3GB$Ybk+F!OHdV=N{V58P=&B3flJF z#S%6b_rvyPg;MF>9y>d5T6+W;TCQ;yWzB9m!uyYhIIVK%q}INQ3EyDs_#4SZR1 zDtvi4s+Ru^csg{X*mwH#)=aNvyXa%P$cH|zOYZYqqGJW8h--qmHrg*US&Uwie9`lo zf7vIYr3T+zZEUy#zHHeh1Rpl#=jBH5N+1WX1jVelQ`T6x{+^A_VatSY_dWz!LI#DJqwfSap{E(>;nRfAh(iv&L<^ys;j|{wx>itR$>~`>aSOabl7B#vh2-j&xxvr)JFM+lPWur5? zvsXekfgLu#CCSo3+5FsS)JvNW=me`sjmpm z9qH-n!TCR8xnllaklq^k*Yy2H-?A-r!!^xYH7;ALHk(0dP<`9L9Te5HottJ+y5*R2B%Y%a6Lw5DW#xiflf-m|TP`>NiSgw7(ctfnX*=~(;p-X8g|Fbpn1e

    -I^9H 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

    4t-g=nQbW`CU1#=!~C;)u+=i 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

FR`MyFb-OTjTm)ob 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 z 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