gitextract_f1wonv0o/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── pull_request_template.md ├── .gitignore ├── .gitmodules ├── .swiftpm/ │ └── xcode/ │ └── package.xcworkspace/ │ └── contents.xcworkspacedata ├── .travis.yml ├── CHANGELOG.md ├── Cloudinary/ │ ├── Assets/ │ │ └── .gitkeep │ └── Classes/ │ ├── Core/ │ │ ├── BaseNetwork/ │ │ │ ├── CLDNConvertible.swift │ │ │ ├── CLDNError.swift │ │ │ ├── CLDNMultipartFormData.swift │ │ │ ├── CLDNParameterEncoding.swift │ │ │ ├── CLDNRequest.swift │ │ │ ├── CLDNResponse.swift │ │ │ ├── CLDNResponseSerialization.swift │ │ │ ├── CLDNResult.swift │ │ │ ├── CLDNSessionDelegate.swift │ │ │ ├── CLDNSessionManager.swift │ │ │ ├── CLDNTaskDelegate.swift │ │ │ ├── CLDNTimeline.swift │ │ │ ├── CLDNValidation.swift │ │ │ └── DispatchQueue+Cloudinary.swift │ │ ├── CLDAnalytics.swift │ │ ├── CLDCloudinary.swift │ │ ├── CLDCompatibility.swift │ │ ├── CLDConfiguration.swift │ │ ├── CLDEagerTransformation.swift │ │ ├── CLDResponsiveParams.swift │ │ ├── Cloudinary.h │ │ ├── Features/ │ │ │ ├── CacheSystem/ │ │ │ │ └── Enum/ │ │ │ │ └── HTTPStatusCode.swift │ │ │ ├── Downloader/ │ │ │ │ └── CLDDownloader.swift │ │ │ ├── Helpers/ │ │ │ │ ├── CLDBaseNetworkObject.swift │ │ │ │ ├── CLDConditionExpression.swift │ │ │ │ ├── CLDDefinitions.swift │ │ │ │ ├── CLDExpression.swift │ │ │ │ ├── CLDOperators.swift │ │ │ │ ├── CLDTransformation.swift │ │ │ │ ├── CLDVariable.swift │ │ │ │ ├── Layers/ │ │ │ │ │ ├── CLDFetchLayer.swift │ │ │ │ │ ├── CLDLayer.swift │ │ │ │ │ ├── CLDSubtitlesLayer.swift │ │ │ │ │ └── CLDTextLayer.swift │ │ │ │ ├── RequestParams/ │ │ │ │ │ ├── CLDRequestParams.swift │ │ │ │ │ └── Helpers/ │ │ │ │ │ └── CLDRequestParamsHelpers.swift │ │ │ │ ├── Requests/ │ │ │ │ │ └── CLDRequest.swift │ │ │ │ └── Results/ │ │ │ │ ├── CLDBaseResult.swift │ │ │ │ └── Helpers/ │ │ │ │ ├── AccessibilityAnalysis/ │ │ │ │ │ ├── CLDAccessibilityAnalysisResult.swift │ │ │ │ │ └── CLDColorblindAccessibilityAnalysisResult.swift │ │ │ │ ├── CLDBoundingBox.swift │ │ │ │ ├── CLDDetection.swift │ │ │ │ ├── CLDFace.swift │ │ │ │ ├── CLDInfo.swift │ │ │ │ ├── CLDOcr/ │ │ │ │ │ ├── CLDAdvOcrResult.swift │ │ │ │ │ ├── CLDOcrBlockResult.swift │ │ │ │ │ ├── CLDOcrBoundindBlockResult.swift │ │ │ │ │ ├── CLDOcrDataResult.swift │ │ │ │ │ ├── CLDOcrDetectedLanguagesResult.swift │ │ │ │ │ ├── CLDOcrFullTextAnnotationResult.swift │ │ │ │ │ ├── CLDOcrPageResult.swift │ │ │ │ │ ├── CLDOcrParagraphResult.swift │ │ │ │ │ ├── CLDOcrPropertyResult.swift │ │ │ │ │ ├── CLDOcrResult.swift │ │ │ │ │ ├── CLDOcrSymbolResult.swift │ │ │ │ │ ├── CLDOcrTextAnnotationResult.swift │ │ │ │ │ └── CLDOcrWordResult.swift │ │ │ │ ├── CLDQualityAnalysis/ │ │ │ │ │ └── CLDQualityAnalysis.swift │ │ │ │ ├── CLDRekognitionFace.swift │ │ │ │ └── CommonResultKeys.swift │ │ │ ├── ManagementApi/ │ │ │ │ ├── CLDManagementApi.swift │ │ │ │ ├── Requests/ │ │ │ │ │ ├── CLDDeleteRequest.swift │ │ │ │ │ ├── CLDExplicitRequest.swift │ │ │ │ │ ├── CLDExplodeRequest.swift │ │ │ │ │ ├── CLDMultiRequest.swift │ │ │ │ │ ├── CLDRenameRequest.swift │ │ │ │ │ ├── CLDSpriteRequest.swift │ │ │ │ │ ├── CLDTagRequest.swift │ │ │ │ │ └── CLDTextRequest.swift │ │ │ │ ├── RequestsParams/ │ │ │ │ │ ├── CLDDeleteByTokenRequestParams.swift │ │ │ │ │ ├── CLDDestroyRequestParams.swift │ │ │ │ │ ├── CLDExplicitRequestParams.swift │ │ │ │ │ ├── CLDExplodeRequestParams.swift │ │ │ │ │ ├── CLDMultiRequestParams.swift │ │ │ │ │ ├── CLDRenameRequestParams.swift │ │ │ │ │ ├── CLDSpriteRequestParams.swift │ │ │ │ │ ├── CLDTagsRequestParams.swift │ │ │ │ │ └── CLDTextRequestParams.swift │ │ │ │ └── Results/ │ │ │ │ ├── CLDDeleteResult.swift │ │ │ │ ├── CLDExplicitResult.swift │ │ │ │ ├── CLDExplodeResult.swift │ │ │ │ ├── CLDMultiResult.swift │ │ │ │ ├── CLDRenameResult.swift │ │ │ │ ├── CLDSpriteResult.swift │ │ │ │ ├── CLDTagResult.swift │ │ │ │ └── CLDTextResult.swift │ │ │ ├── UploadWidget/ │ │ │ │ ├── CLDUploaderWidget.swift │ │ │ │ ├── CropView/ │ │ │ │ │ ├── CLDCropOverlayView.swift │ │ │ │ │ ├── CLDCropScrollView.swift │ │ │ │ │ ├── CLDCropScrollViewController.swift │ │ │ │ │ ├── CLDCropView.swift │ │ │ │ │ ├── CLDCropViewCalculator.swift │ │ │ │ │ └── CLDCropViewUIManager.swift │ │ │ │ ├── WidgetConfiguration/ │ │ │ │ │ └── CLDWidgetConfiguration.swift │ │ │ │ ├── WidgetElements/ │ │ │ │ │ ├── CLDWidgetAssetContainer.swift │ │ │ │ │ └── CLDWidgetPreviewCollectionCell.swift │ │ │ │ ├── WidgetImages/ │ │ │ │ │ ├── BackIconInstructions.swift │ │ │ │ │ ├── CropIconInstructions.swift │ │ │ │ │ ├── CropRotateIconInstructions.swift │ │ │ │ │ ├── DoneIconInstructions.swift │ │ │ │ │ ├── RatioLockedIconInstructions.swift │ │ │ │ │ ├── RatioOpenedIconInstructions.swift │ │ │ │ │ └── RotateIconInstructions.swift │ │ │ │ ├── WidgetVideo/ │ │ │ │ │ ├── CLDDisplayLinkObserver.swift │ │ │ │ │ ├── CLDVideoControlsState.swift │ │ │ │ │ ├── CLDVideoControlsView.swift │ │ │ │ │ ├── CLDVideoHiddenAndPausedState.swift │ │ │ │ │ ├── CLDVideoHiddenAndPlayingState.swift │ │ │ │ │ ├── CLDVideoPlayerView.swift │ │ │ │ │ ├── CLDVideoShownAndPausedState.swift │ │ │ │ │ ├── CLDVideoShownAndPlayingState.swift │ │ │ │ │ └── CLDVideoView.swift │ │ │ │ └── WidgetViewControllers/ │ │ │ │ ├── CLDWidgetEditViewController.swift │ │ │ │ ├── CLDWidgetPreviewViewController.swift │ │ │ │ └── CLDWidgetViewController.swift │ │ │ ├── Uploader/ │ │ │ │ ├── CLDUploader.swift │ │ │ │ ├── Preupload/ │ │ │ │ │ └── CLDPreprocessChain.swift │ │ │ │ ├── RequestParams/ │ │ │ │ │ └── CLDUploadRequestParams.swift │ │ │ │ ├── Requests/ │ │ │ │ │ ├── CLDDefaultUploadRequest.swift │ │ │ │ │ ├── CLDUploadRequest.swift │ │ │ │ │ └── CLDUploadRequestWrapper.swift │ │ │ │ └── Results/ │ │ │ │ └── CLDUploadResult.swift │ │ │ └── Url/ │ │ │ └── CLDUrl.swift │ │ ├── Network/ │ │ │ ├── Adapter/ │ │ │ │ └── CLDNetworkAdapter.swift │ │ │ ├── CLDDefaultNetworkAdapter.swift │ │ │ ├── CLDNetworkCoordinator.swift │ │ │ ├── NetworkRequest/ │ │ │ │ ├── CLDAsyncNetworkUploadRequest.swift │ │ │ │ ├── CLDErrorRequest.swift │ │ │ │ ├── CLDGenericNetworkRequest.swift │ │ │ │ ├── CLDNetworkDataRequestImpl.swift │ │ │ │ ├── CLDNetworkDownloadRequest.swift │ │ │ │ └── CLDNetworkUploadRequest.swift │ │ │ └── PrivacyInfo.xcprivacy │ │ └── Utils/ │ │ ├── CLDBuildParamsUtils.swift │ │ ├── CLDCryptoUtils.swift │ │ ├── CLDDictionaryUtils.swift │ │ ├── CLDError.swift │ │ ├── CLDFileUtils.swift │ │ ├── CLDImageGenerator/ │ │ │ └── CLDImageGenerator.swift │ │ ├── CLDImageUtils.swift │ │ ├── CLDJsonUtils.swift │ │ ├── CLDLogManager.swift │ │ └── CLDStringUtils.swift │ └── ios/ │ ├── Extensions/ │ │ ├── CLDTransformation+Ios.swift │ │ ├── ExtensionCLDDownloader.swift │ │ ├── UIButton+Cloudinary.swift │ │ ├── UIImageView+Cloudinary.swift │ │ └── UIView+Cloudinary.swift │ ├── NetworkRequest/ │ │ ├── CLDFetchAssetRequestImpl.swift │ │ └── CLDFetchImageRequestImpl.swift │ ├── UIViews/ │ │ ├── CLDResponsiveViewHelper.swift │ │ └── CLDUIImageView.swift │ ├── Uploader/ │ │ ├── CLDImagePreprocessChain.swift │ │ ├── CLDPreprocessHelpers.swift │ │ ├── CLDVideoPreprocessChain.swift │ │ ├── CLDVideoPreprocessHelpers.swift │ │ └── CLDVideoTranscode.swift │ └── Video/ │ ├── Analytics/ │ │ ├── VideoAnalytics.swift │ │ └── VideoEventsManager.swift │ └── CLDVideoPlayer.swift ├── Cloudinary.podspec ├── Cloudinary.xcodeproj/ │ ├── Cloudinary_Info.plist │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata/ │ └── xcschemes/ │ └── Cloudinary-Package.xcscheme ├── Example/ │ ├── Cloudinary/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ ├── Contents.json │ │ │ │ └── app_icon 1.heic │ │ │ ├── Contents.json │ │ │ ├── Delivery/ │ │ │ │ ├── Contents.json │ │ │ │ ├── Inner/ │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── ski.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── sofa.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Video/ │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── instagram.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── tiktok.imageset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── youtube.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── background_normalizing.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── color_alternation.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── delivery-city.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── localization_branding.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── smart_cropping.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Upload/ │ │ │ │ ├── Contents.json │ │ │ │ ├── question_mark.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── upload_missing.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Video/ │ │ │ │ ├── Contents.json │ │ │ │ └── TikTok/ │ │ │ │ ├── Contents.json │ │ │ │ ├── tiktok_bar_icon.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_comments.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_discover.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_home.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_inbox.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_like.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_more.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_music.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_note.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── tiktok_share.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── tiktok_social_icon.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Widgets/ │ │ │ │ ├── Contents.json │ │ │ │ └── house.imageset/ │ │ │ │ ├── Contents.json │ │ │ │ └── Frame_871_ao5o4r_2_viaeyi.heic │ │ │ ├── back_arrow.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── car-speed-limiter.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── cloudinary_logo.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── info_icon.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── splash.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── splash_without_logo.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── upload.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── video.imageset/ │ │ │ │ └── Contents.json │ │ │ └── widgets.imageset/ │ │ │ └── Contents.json │ │ ├── CldModel.xcdatamodeld/ │ │ │ └── CldModel.xcdatamodel/ │ │ │ └── contents │ │ ├── Cloudinary_Example-Bridging-Header.h │ │ ├── Colors.xcassets/ │ │ │ ├── Contents.json │ │ │ ├── gradient-first.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── gradient-second.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── primary.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── secondary.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── size_green.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── size_red.colorset/ │ │ │ │ └── Contents.json │ │ │ ├── surface.colorset/ │ │ │ │ └── Contents.json │ │ │ └── text_not_selected.colorset/ │ │ │ └── Contents.json │ │ ├── Controllers/ │ │ │ ├── Base/ │ │ │ │ └── BaseViewController.swift │ │ │ ├── Inner Views/ │ │ │ │ ├── Transform/ │ │ │ │ │ ├── DeliveryViewController.swift │ │ │ │ │ ├── Optimization/ │ │ │ │ │ │ └── OptimizationViewController.swift │ │ │ │ │ ├── Transformation/ │ │ │ │ │ │ ├── DeliveryTransformCollectionController.swift │ │ │ │ │ │ ├── Reveal Image/ │ │ │ │ │ │ │ └── RevealImageController.swift │ │ │ │ │ │ ├── Smart Cropping/ │ │ │ │ │ │ │ └── SmartCroppingController.swift │ │ │ │ │ │ ├── TransformCollectionCell.swift │ │ │ │ │ │ ├── TransformCollectionController.swift │ │ │ │ │ │ ├── TransformViewController.swift │ │ │ │ │ │ └── TransformationCell.swift │ │ │ │ │ └── Use Cases/ │ │ │ │ │ ├── DeliveryUseCasesCollectionController.swift │ │ │ │ │ ├── Screens/ │ │ │ │ │ │ ├── ConditionalProductViewController.swift │ │ │ │ │ │ ├── IntegrateAIViewController.swift │ │ │ │ │ │ └── NormalizingProductAssetsViewController.swift │ │ │ │ │ ├── UseCaseCell.swift │ │ │ │ │ ├── UseCaseCollectionCell.swift │ │ │ │ │ ├── UseCasesCollectionController.swift │ │ │ │ │ └── UseCasesViewController.swift │ │ │ │ ├── Upload/ │ │ │ │ │ ├── InnerUploadFrame.swift │ │ │ │ │ ├── Single Upload/ │ │ │ │ │ │ ├── SingleUploadCell.swift │ │ │ │ │ │ ├── SingleUploadCollectionController.swift │ │ │ │ │ │ ├── SingleUploadCollectionLayout.swift │ │ │ │ │ │ ├── SingleUploadPreview.swift │ │ │ │ │ │ └── SingleUploadViewController.swift │ │ │ │ │ ├── Upload Does Not Exist/ │ │ │ │ │ │ └── UploadDoesNotExistController.swift │ │ │ │ │ ├── UploadChoiceController.swift │ │ │ │ │ ├── UploadNoCloudController.swift │ │ │ │ │ └── UploadViewController.swift │ │ │ │ └── Video/ │ │ │ │ ├── Video Feed/ │ │ │ │ │ └── VideoFeedCell.swift │ │ │ │ └── VideoFeedCollectionController.swift │ │ │ ├── MainViewController.swift │ │ │ ├── SplashViewController.swift │ │ │ ├── Video Feed/ │ │ │ │ ├── Controllers/ │ │ │ │ │ ├── MainPageController.swift │ │ │ │ │ ├── VideoFeedContainerController.swift │ │ │ │ │ ├── VideoFeedController.swift │ │ │ │ │ ├── VideoFeedViewController.swift │ │ │ │ │ ├── VideoSocialOverlaysController.swift │ │ │ │ │ └── VideoViewController.swift │ │ │ │ ├── Helpers/ │ │ │ │ │ └── VideoHelper.swift │ │ │ │ └── Resources/ │ │ │ │ └── video_links.plist │ │ │ └── Widgets/ │ │ │ ├── ImageWidgetViewController.swift │ │ │ ├── UploadWidgetViewController.swift │ │ │ └── WidgetsViewController.swift │ │ ├── Core Data/ │ │ │ ├── AssetItems+CoreDataClass.swift │ │ │ ├── AssetItems+CoreDataProperties.swift │ │ │ ├── AssetModel.swift │ │ │ ├── AssetModel.xcdatamodeld/ │ │ │ │ └── Model.xcdatamodel/ │ │ │ │ └── contents │ │ │ └── CoreDataHelper.swift │ │ ├── Custom Views/ │ │ │ ├── GradientView.swift │ │ │ ├── RevealImageView.swift │ │ │ ├── ToolBar/ │ │ │ │ ├── Item/ │ │ │ │ │ ├── ToolbarItem.swift │ │ │ │ │ └── ToolbarItem.xib │ │ │ │ ├── Toolbar.swift │ │ │ │ └── Toolbar.xib │ │ │ └── Upload Loading View/ │ │ │ ├── UploadLoadingView.swift │ │ │ └── UploadLoadingView.xib │ │ ├── Extensions/ │ │ │ └── Double+Extension.swift │ │ ├── GoogleService-Info.plist │ │ ├── Helpers/ │ │ │ ├── AnimationHelper.swift │ │ │ ├── Events/ │ │ │ │ ├── EventObject.swift │ │ │ │ ├── EventsHandler.swift │ │ │ │ ├── EventsProvider.swift │ │ │ │ └── FirebaseEventsHandler.swift │ │ │ └── ImageHelper.swift │ │ ├── Info.plist │ │ ├── SceneDelegate.swift │ │ ├── Utils/ │ │ │ ├── CloudinaryHelper.swift │ │ │ └── FileUtils.swift │ │ └── Views/ │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Inner Views/ │ │ │ ├── Base/ │ │ │ │ └── Base.storyboard │ │ │ ├── Transform/ │ │ │ │ ├── Delivery.storyboard │ │ │ │ ├── Optimization.storyboard │ │ │ │ ├── Use Cases/ │ │ │ │ │ ├── ConditionalProduct.storyboard │ │ │ │ │ ├── IntegrateAI.storyboard │ │ │ │ │ └── NormalizingProductAssets.storyboard │ │ │ │ └── UseCases.storyboard │ │ │ ├── Upload/ │ │ │ │ ├── InnerUploadFrame.xib │ │ │ │ ├── Upload.storyboard │ │ │ │ └── UploadNoCloud.storyboard │ │ │ ├── Video/ │ │ │ │ ├── Social/ │ │ │ │ │ └── VideoSocialOverlays.storyboard │ │ │ │ ├── Video.storyboard │ │ │ │ └── VideoFeed.storyboard │ │ │ └── Widgets/ │ │ │ ├── ImageWidget.storyboard │ │ │ ├── UploadWidget.storyboard │ │ │ └── Widgets.storyboard │ │ ├── Splash.storyboard │ │ ├── Transform/ │ │ │ ├── RevealImage.storyboard │ │ │ ├── SmartCropping.storyboard │ │ │ └── Transform.storyboard │ │ └── Upload/ │ │ ├── SingleUpload.storyboard │ │ ├── SingleUploadPreview.storyboard │ │ ├── UploadChoice.storyboard │ │ └── UploadDoesNotExist.storyboard │ ├── Cloudinary.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── Cloudinary-Example.xcscheme │ │ └── travis_public_scheme.xcscheme │ ├── Podfile │ ├── README.md │ ├── Tests/ │ │ ├── BaseNetwork/ │ │ │ ├── BaseTestCase.swift │ │ │ ├── Core/ │ │ │ │ ├── AuthenticationTests.swift │ │ │ │ ├── CLDCloudinaryTests.m │ │ │ │ ├── CLDCloudinaryTests.swift │ │ │ │ ├── ParameterEncodingTests.swift │ │ │ │ ├── RequestTests.swift │ │ │ │ ├── ResponseTests.swift │ │ │ │ ├── ResultTests.swift │ │ │ │ ├── SessionDelegateTests.swift │ │ │ │ ├── SessionManagerTests.swift │ │ │ │ └── UploadTests.swift │ │ │ ├── Extensions/ │ │ │ │ ├── CLDNDataResponse+CloudinaryTests.swift │ │ │ │ ├── CLDNError+CloudinaryTests.swift │ │ │ │ ├── CLDNResult+CloudinaryTests.swift │ │ │ │ └── FileManager+CloudinaryTests.swift │ │ │ ├── Features/ │ │ │ │ ├── CacheTests.swift │ │ │ │ ├── MultipartFormDataTests.swift │ │ │ │ ├── ResponseSerializationTests.swift │ │ │ │ ├── URLProtocolTests.swift │ │ │ │ └── ValidationTests.swift │ │ │ ├── ObjcBaseTestCase.h │ │ │ ├── ObjcBaseTestCase.m │ │ │ └── Resources/ │ │ │ └── Responses/ │ │ │ ├── JSON/ │ │ │ │ ├── empty_data.json │ │ │ │ ├── invalid_data.json │ │ │ │ └── valid_data.json │ │ │ ├── Property List/ │ │ │ │ ├── empty.data │ │ │ │ ├── invalid.data │ │ │ │ └── valid.data │ │ │ └── String/ │ │ │ ├── empty_string.txt │ │ │ ├── utf32_string.txt │ │ │ └── utf8_string.txt │ │ ├── ConfigurationTests/ │ │ │ ├── CLDAnalyticsTests.swift │ │ │ ├── CLDConfigurationTests.m │ │ │ └── CLDConfigurationTests.swift │ │ ├── CryptoUtilsTests/ │ │ │ ├── CryptoUtilsTests.m │ │ │ └── CryptoUtilsTests.swift │ │ ├── FileUtilsTests.swift │ │ ├── GenerateUrlTests/ │ │ │ ├── UrlTests.m │ │ │ └── UrlTests.swift │ │ ├── Info.plist │ │ ├── NetworkTests/ │ │ │ ├── AccessibilityUploderTests/ │ │ │ │ ├── UploaderAccessibilityTests.m │ │ │ │ └── UploaderAccessibilityTests.swift │ │ │ ├── DownloaderAssetTests.swift │ │ │ ├── DownloaderTests.swift │ │ │ ├── ManagementApiTests.swift │ │ │ ├── NetworkBaseTests/ │ │ │ │ ├── NetworkBaseTest.swift │ │ │ │ ├── NetworkBaseTestObjc.h │ │ │ │ └── NetworkBaseTestObjc.m │ │ │ ├── NetworkTestUtils.swift │ │ │ └── UploaderTests/ │ │ │ ├── MockProvider/ │ │ │ │ └── BaseMockProvider.swift │ │ │ ├── OcrUploaderTests/ │ │ │ │ ├── ExplicitMockOcrTests.m │ │ │ │ ├── ExplicitMockOcrTests.swift │ │ │ │ ├── OcrMockProvider.swift │ │ │ │ ├── UploaderMockOcrTests.m │ │ │ │ ├── UploaderMockOcrTests.swift │ │ │ │ └── UploaderOcrTests.swift │ │ │ ├── PreprocessUploaderTests/ │ │ │ │ └── PreprocessUploaderTests.swift │ │ │ ├── QualityAnalysisUploaderTests/ │ │ │ │ ├── MockProviderQualityAnalysis.swift │ │ │ │ ├── ObjcQualityAnalysisExplicitResultParserTests.m │ │ │ │ ├── ObjcQualityAnalysisUploadResultParserTests.m │ │ │ │ ├── ObjcUploaderQualityAnalysisTests.m │ │ │ │ ├── QualityAnalysisExplicitResultParserTests.swift │ │ │ │ ├── QualityAnalysisUploadResultParserTests.swift │ │ │ │ └── UploaderQualityAnalysisTests.swift │ │ │ └── UploaderTests.swift │ │ ├── ParamTests/ │ │ │ └── UploadRequestParamsTests.swift │ │ ├── Preprocess/ │ │ │ ├── PreprocessTests.swift │ │ │ └── VideoPreprocessTests.swift │ │ ├── Resources/ │ │ │ └── Docs/ │ │ │ └── docx.docx │ │ ├── StringUtilsTest.swift │ │ ├── TestableCloudinary.swift │ │ ├── TransformationTests/ │ │ │ ├── CLDConditionExpressionTests/ │ │ │ │ ├── CLDConditionExpressionHelpersTests.swift │ │ │ │ ├── CLDConditionExpressionTests.m │ │ │ │ └── CLDConditionExpressionTests.swift │ │ │ ├── CLDExpressionTests/ │ │ │ │ ├── CLDExpressionTests.m │ │ │ │ └── CLDExpressionTests.swift │ │ │ ├── CLDTransformationTests/ │ │ │ │ ├── CLDTransformationBaselineTests.swift │ │ │ │ ├── CLDTransformationConditionsTests.swift │ │ │ │ ├── CLDTransformationExpressionsTests.swift │ │ │ │ ├── CLDTransformationTests.m │ │ │ │ ├── CLDTransformationTests.swift │ │ │ │ └── CLDTransformationVariablesTests.swift │ │ │ └── CLDVariableTests/ │ │ │ ├── CLDVariableTests.m │ │ │ └── CLDVariableTests.swift │ │ ├── UIExtensions/ │ │ │ ├── CLDVideoPlayerTests.swift │ │ │ ├── UIBaseTest.swift │ │ │ ├── UIButtonTests.swift │ │ │ ├── UIImageViewTests.swift │ │ │ └── Video Analytics/ │ │ │ ├── VideoEventsManagerTests.swift │ │ │ └── VideoEventsTests.swift │ │ └── UploadWidgetTests/ │ │ ├── UploadWidgetHelpersTests/ │ │ │ ├── UploaderWidgetAssetContainerTests.swift │ │ │ ├── UploaderWidgetConfigurationTests.m │ │ │ └── UploaderWidgetConfigurationTests.swift │ │ ├── UploadWidgetVideoTests/ │ │ │ ├── UploaderWidgetVideoControlsTests.swift │ │ │ ├── UploaderWidgetVideoDisplayLinkTests.swift │ │ │ ├── UploaderWidgetVideoPlayerTests.swift │ │ │ └── UploaderWidgetVideoViewTests.swift │ │ ├── UploaderWidgetEditTests/ │ │ │ └── UploaderWidgetEditViewControllerTests.swift │ │ ├── UploaderWidgetPreviewTests/ │ │ │ ├── UploaderWidgetCollectionCellTests.swift │ │ │ └── UploaderWidgetPreviewViewControllerTests.swift │ │ ├── UploaderWidgetTests/ │ │ │ ├── UploaderWidgetTests.m │ │ │ └── UploaderWidgetTests.swift │ │ ├── UploaderWidgetViewControllerTests/ │ │ │ └── UploaderWidgetViewControllerTests.swift │ │ └── WidgetBaseTest.swift │ └── WidgetUITests/ │ ├── Info.plist │ └── WidgetUITests.swift ├── LICENSE ├── Package.swift ├── Package@swift-5.3.swift ├── README.md └── tools/ └── get_test_cloud.sh