fastlane_hotfix 2.165.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (868) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/LICENSE +21 -0
  4. data/README.md +208 -0
  5. data/bin/bin-proxy +19 -0
  6. data/bin/fastlane +23 -0
  7. data/cert/README.md +17 -0
  8. data/cert/lib/cert.rb +4 -0
  9. data/cert/lib/cert/commands_generator.rb +60 -0
  10. data/cert/lib/cert/module.rb +16 -0
  11. data/cert/lib/cert/options.rb +132 -0
  12. data/cert/lib/cert/runner.rb +239 -0
  13. data/credentials_manager/README.md +64 -0
  14. data/credentials_manager/lib/credentials_manager.rb +7 -0
  15. data/credentials_manager/lib/credentials_manager/account_manager.rb +157 -0
  16. data/credentials_manager/lib/credentials_manager/appfile_config.rb +196 -0
  17. data/credentials_manager/lib/credentials_manager/cli.rb +69 -0
  18. data/deliver/README.md +17 -0
  19. data/deliver/lib/assets/DeliverfileDefault +3 -0
  20. data/deliver/lib/assets/DeliverfileDefault.swift +13 -0
  21. data/deliver/lib/assets/ScreenshotsHelp +7 -0
  22. data/deliver/lib/assets/summary.html.erb +299 -0
  23. data/deliver/lib/deliver.rb +15 -0
  24. data/deliver/lib/deliver/app_screenshot.rb +354 -0
  25. data/deliver/lib/deliver/app_screenshot_iterator.rb +95 -0
  26. data/deliver/lib/deliver/commands_generator.rb +190 -0
  27. data/deliver/lib/deliver/detect_values.rb +102 -0
  28. data/deliver/lib/deliver/download_screenshots.rb +76 -0
  29. data/deliver/lib/deliver/generate_summary.rb +13 -0
  30. data/deliver/lib/deliver/html_generator.rb +78 -0
  31. data/deliver/lib/deliver/languages.rb +7 -0
  32. data/deliver/lib/deliver/loader.rb +55 -0
  33. data/deliver/lib/deliver/module.rb +18 -0
  34. data/deliver/lib/deliver/options.rb +465 -0
  35. data/deliver/lib/deliver/queue_worker.rb +49 -0
  36. data/deliver/lib/deliver/runner.rb +233 -0
  37. data/deliver/lib/deliver/setup.rb +199 -0
  38. data/deliver/lib/deliver/submit_for_review.rb +214 -0
  39. data/deliver/lib/deliver/upload_metadata.rb +688 -0
  40. data/deliver/lib/deliver/upload_price_tier.rb +40 -0
  41. data/deliver/lib/deliver/upload_screenshots.rb +333 -0
  42. data/fastlane/README.md +11 -0
  43. data/fastlane/lib/assets/ActionDetails.md.erb +106 -0
  44. data/fastlane/lib/assets/Actions.md.erb +43 -0
  45. data/fastlane/lib/assets/AppfileTemplate +6 -0
  46. data/fastlane/lib/assets/AppfileTemplate.swift +7 -0
  47. data/fastlane/lib/assets/AppfileTemplateAndroid +2 -0
  48. data/fastlane/lib/assets/DefaultFastfileTemplate +20 -0
  49. data/fastlane/lib/assets/DefaultFastfileTemplate.swift +13 -0
  50. data/fastlane/lib/assets/completions/completion.bash +23 -0
  51. data/fastlane/lib/assets/completions/completion.fish +39 -0
  52. data/fastlane/lib/assets/completions/completion.sh +12 -0
  53. data/fastlane/lib/assets/completions/completion.zsh +23 -0
  54. data/fastlane/lib/assets/custom_action_template.rb +82 -0
  55. data/fastlane/lib/assets/mailgun_html_template.erb +142 -0
  56. data/fastlane/lib/assets/report_template.xml.erb +15 -0
  57. data/fastlane/lib/assets/s3_html_template.erb +105 -0
  58. data/fastlane/lib/assets/s3_plist_template.erb +31 -0
  59. data/fastlane/lib/assets/s3_version_template.erb +4 -0
  60. data/fastlane/lib/fastlane.rb +53 -0
  61. data/fastlane/lib/fastlane/action.rb +198 -0
  62. data/fastlane/lib/fastlane/action_collector.rb +35 -0
  63. data/fastlane/lib/fastlane/actions/README.md +5 -0
  64. data/fastlane/lib/fastlane/actions/actions_helper.rb +185 -0
  65. data/fastlane/lib/fastlane/actions/adb.rb +78 -0
  66. data/fastlane/lib/fastlane/actions/adb_devices.rb +71 -0
  67. data/fastlane/lib/fastlane/actions/add_extra_platforms.rb +45 -0
  68. data/fastlane/lib/fastlane/actions/add_git_tag.rb +122 -0
  69. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +249 -0
  70. data/fastlane/lib/fastlane/actions/app_store_connect_api_key.rb +134 -0
  71. data/fastlane/lib/fastlane/actions/appaloosa.rb +266 -0
  72. data/fastlane/lib/fastlane/actions/appetize.rb +188 -0
  73. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +146 -0
  74. data/fastlane/lib/fastlane/actions/appium.rb +206 -0
  75. data/fastlane/lib/fastlane/actions/appledoc.rb +226 -0
  76. data/fastlane/lib/fastlane/actions/appstore.rb +14 -0
  77. data/fastlane/lib/fastlane/actions/apteligent.rb +105 -0
  78. data/fastlane/lib/fastlane/actions/artifactory.rb +157 -0
  79. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +226 -0
  80. data/fastlane/lib/fastlane/actions/backup_file.rb +41 -0
  81. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +135 -0
  82. data/fastlane/lib/fastlane/actions/badge.rb +155 -0
  83. data/fastlane/lib/fastlane/actions/build_and_upload_to_appetize.rb +107 -0
  84. data/fastlane/lib/fastlane/actions/build_android_app.rb +14 -0
  85. data/fastlane/lib/fastlane/actions/build_app.rb +165 -0
  86. data/fastlane/lib/fastlane/actions/build_ios_app.rb +47 -0
  87. data/fastlane/lib/fastlane/actions/build_mac_app.rb +46 -0
  88. data/fastlane/lib/fastlane/actions/bundle_install.rb +156 -0
  89. data/fastlane/lib/fastlane/actions/capture_android_screenshots.rb +63 -0
  90. data/fastlane/lib/fastlane/actions/capture_ios_screenshots.rb +61 -0
  91. data/fastlane/lib/fastlane/actions/capture_screenshots.rb +14 -0
  92. data/fastlane/lib/fastlane/actions/carthage.rb +230 -0
  93. data/fastlane/lib/fastlane/actions/cert.rb +14 -0
  94. data/fastlane/lib/fastlane/actions/changelog_from_git_commits.rb +197 -0
  95. data/fastlane/lib/fastlane/actions/chatwork.rb +94 -0
  96. data/fastlane/lib/fastlane/actions/check_app_store_metadata.rb +54 -0
  97. data/fastlane/lib/fastlane/actions/clean_build_artifacts.rb +72 -0
  98. data/fastlane/lib/fastlane/actions/clean_cocoapods_cache.rb +52 -0
  99. data/fastlane/lib/fastlane/actions/clear_derived_data.rb +70 -0
  100. data/fastlane/lib/fastlane/actions/clipboard.rb +52 -0
  101. data/fastlane/lib/fastlane/actions/cloc.rb +89 -0
  102. data/fastlane/lib/fastlane/actions/cocoapods.rb +170 -0
  103. data/fastlane/lib/fastlane/actions/commit_github_file.rb +186 -0
  104. data/fastlane/lib/fastlane/actions/commit_version_bump.rb +301 -0
  105. data/fastlane/lib/fastlane/actions/copy_artifacts.rb +114 -0
  106. data/fastlane/lib/fastlane/actions/crashlytics.rb +211 -0
  107. data/fastlane/lib/fastlane/actions/create_app_on_managed_play_store.rb +174 -0
  108. data/fastlane/lib/fastlane/actions/create_app_online.rb +75 -0
  109. data/fastlane/lib/fastlane/actions/create_keychain.rb +177 -0
  110. data/fastlane/lib/fastlane/actions/create_pull_request.rb +265 -0
  111. data/fastlane/lib/fastlane/actions/danger.rb +131 -0
  112. data/fastlane/lib/fastlane/actions/debug.rb +32 -0
  113. data/fastlane/lib/fastlane/actions/default_platform.rb +47 -0
  114. data/fastlane/lib/fastlane/actions/delete_keychain.rb +68 -0
  115. data/fastlane/lib/fastlane/actions/deliver.rb +14 -0
  116. data/fastlane/lib/fastlane/actions/deploygate.rb +210 -0
  117. data/fastlane/lib/fastlane/actions/device_grid/README.md +157 -0
  118. data/fastlane/lib/fastlane/actions/docs/build_app.md +245 -0
  119. data/fastlane/lib/fastlane/actions/docs/capture_android_screenshots.md +333 -0
  120. data/fastlane/lib/fastlane/actions/docs/capture_ios_screenshots.md +371 -0
  121. data/fastlane/lib/fastlane/actions/docs/check_app_store_metadata.md +103 -0
  122. data/fastlane/lib/fastlane/actions/docs/create_app_online.md +282 -0
  123. data/fastlane/lib/fastlane/actions/docs/frame_screenshots.md +349 -0
  124. data/fastlane/lib/fastlane/actions/docs/get_certificates.md +86 -0
  125. data/fastlane/lib/fastlane/actions/docs/get_provisioning_profile.md +223 -0
  126. data/fastlane/lib/fastlane/actions/docs/get_push_certificate.md +134 -0
  127. data/fastlane/lib/fastlane/actions/docs/run_tests.md +151 -0
  128. data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +573 -0
  129. data/fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb +725 -0
  130. data/fastlane/lib/fastlane/actions/docs/upload_to_play_store.md +203 -0
  131. data/fastlane/lib/fastlane/actions/docs/upload_to_testflight.md +250 -0
  132. data/fastlane/lib/fastlane/actions/dotgpg_environment.rb +57 -0
  133. data/fastlane/lib/fastlane/actions/download.rb +76 -0
  134. data/fastlane/lib/fastlane/actions/download_dsyms.rb +369 -0
  135. data/fastlane/lib/fastlane/actions/download_from_play_store.rb +61 -0
  136. data/fastlane/lib/fastlane/actions/dsym_zip.rb +93 -0
  137. data/fastlane/lib/fastlane/actions/echo.rb +14 -0
  138. data/fastlane/lib/fastlane/actions/ensure_bundle_exec.rb +59 -0
  139. data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +58 -0
  140. data/fastlane/lib/fastlane/actions/ensure_git_branch.rb +69 -0
  141. data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +92 -0
  142. data/fastlane/lib/fastlane/actions/ensure_no_debug_code.rb +135 -0
  143. data/fastlane/lib/fastlane/actions/ensure_xcode_version.rb +125 -0
  144. data/fastlane/lib/fastlane/actions/environment_variable.rb +77 -0
  145. data/fastlane/lib/fastlane/actions/erb.rb +96 -0
  146. data/fastlane/lib/fastlane/actions/fastlane_version.rb +15 -0
  147. data/fastlane/lib/fastlane/actions/flock.rb +82 -0
  148. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +64 -0
  149. data/fastlane/lib/fastlane/actions/frameit.rb +14 -0
  150. data/fastlane/lib/fastlane/actions/gcovr.rb +163 -0
  151. data/fastlane/lib/fastlane/actions/get_build_number.rb +106 -0
  152. data/fastlane/lib/fastlane/actions/get_build_number_repository.rb +120 -0
  153. data/fastlane/lib/fastlane/actions/get_certificates.rb +77 -0
  154. data/fastlane/lib/fastlane/actions/get_github_release.rb +166 -0
  155. data/fastlane/lib/fastlane/actions/get_info_plist_value.rb +78 -0
  156. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +82 -0
  157. data/fastlane/lib/fastlane/actions/get_managed_play_store_publishing_rights.rb +120 -0
  158. data/fastlane/lib/fastlane/actions/get_provisioning_profile.rb +101 -0
  159. data/fastlane/lib/fastlane/actions/get_push_certificate.rb +87 -0
  160. data/fastlane/lib/fastlane/actions/get_version_number.rb +200 -0
  161. data/fastlane/lib/fastlane/actions/git_add.rb +93 -0
  162. data/fastlane/lib/fastlane/actions/git_branch.rb +61 -0
  163. data/fastlane/lib/fastlane/actions/git_commit.rb +80 -0
  164. data/fastlane/lib/fastlane/actions/git_pull.rb +64 -0
  165. data/fastlane/lib/fastlane/actions/git_submodule_update.rb +52 -0
  166. data/fastlane/lib/fastlane/actions/git_tag_exists.rb +74 -0
  167. data/fastlane/lib/fastlane/actions/github_api.rb +262 -0
  168. data/fastlane/lib/fastlane/actions/google_play_track_release_names.rb +74 -0
  169. data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +77 -0
  170. data/fastlane/lib/fastlane/actions/gradle.rb +329 -0
  171. data/fastlane/lib/fastlane/actions/gym.rb +10 -0
  172. data/fastlane/lib/fastlane/actions/hg_add_tag.rb +48 -0
  173. data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +183 -0
  174. data/fastlane/lib/fastlane/actions/hg_ensure_clean_status.rb +53 -0
  175. data/fastlane/lib/fastlane/actions/hg_push.rb +64 -0
  176. data/fastlane/lib/fastlane/actions/hipchat.rb +200 -0
  177. data/fastlane/lib/fastlane/actions/hockey.rb +406 -0
  178. data/fastlane/lib/fastlane/actions/ifttt.rb +96 -0
  179. data/fastlane/lib/fastlane/actions/import.rb +49 -0
  180. data/fastlane/lib/fastlane/actions/import_certificate.rb +77 -0
  181. data/fastlane/lib/fastlane/actions/import_from_git.rb +83 -0
  182. data/fastlane/lib/fastlane/actions/increment_build_number.rb +117 -0
  183. data/fastlane/lib/fastlane/actions/increment_version_number.rb +180 -0
  184. data/fastlane/lib/fastlane/actions/install_on_device.rb +95 -0
  185. data/fastlane/lib/fastlane/actions/install_provisioning_profile.rb +58 -0
  186. data/fastlane/lib/fastlane/actions/install_xcode_plugin.rb +91 -0
  187. data/fastlane/lib/fastlane/actions/installr.rb +132 -0
  188. data/fastlane/lib/fastlane/actions/ipa.rb +246 -0
  189. data/fastlane/lib/fastlane/actions/is_ci.rb +51 -0
  190. data/fastlane/lib/fastlane/actions/jazzy.rb +56 -0
  191. data/fastlane/lib/fastlane/actions/jira.rb +115 -0
  192. data/fastlane/lib/fastlane/actions/lane_context.rb +60 -0
  193. data/fastlane/lib/fastlane/actions/last_git_commit.rb +58 -0
  194. data/fastlane/lib/fastlane/actions/last_git_tag.rb +60 -0
  195. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +155 -0
  196. data/fastlane/lib/fastlane/actions/lcov.rb +102 -0
  197. data/fastlane/lib/fastlane/actions/mailgun.rb +197 -0
  198. data/fastlane/lib/fastlane/actions/make_changelog_from_jenkins.rb +81 -0
  199. data/fastlane/lib/fastlane/actions/match.rb +14 -0
  200. data/fastlane/lib/fastlane/actions/min_fastlane_version.rb +57 -0
  201. data/fastlane/lib/fastlane/actions/modify_services.rb +173 -0
  202. data/fastlane/lib/fastlane/actions/nexus_upload.rb +230 -0
  203. data/fastlane/lib/fastlane/actions/notarize.rb +193 -0
  204. data/fastlane/lib/fastlane/actions/notification.rb +75 -0
  205. data/fastlane/lib/fastlane/actions/notify.rb +40 -0
  206. data/fastlane/lib/fastlane/actions/number_of_commits.rb +75 -0
  207. data/fastlane/lib/fastlane/actions/oclint.rb +269 -0
  208. data/fastlane/lib/fastlane/actions/onesignal.rb +186 -0
  209. data/fastlane/lib/fastlane/actions/opt_out_crash_reporting.rb +33 -0
  210. data/fastlane/lib/fastlane/actions/opt_out_usage.rb +40 -0
  211. data/fastlane/lib/fastlane/actions/pem.rb +14 -0
  212. data/fastlane/lib/fastlane/actions/pilot.rb +14 -0
  213. data/fastlane/lib/fastlane/actions/pod_lib_lint.rb +189 -0
  214. data/fastlane/lib/fastlane/actions/pod_push.rb +173 -0
  215. data/fastlane/lib/fastlane/actions/podio_item.rb +217 -0
  216. data/fastlane/lib/fastlane/actions/precheck.rb +14 -0
  217. data/fastlane/lib/fastlane/actions/println.rb +14 -0
  218. data/fastlane/lib/fastlane/actions/produce.rb +14 -0
  219. data/fastlane/lib/fastlane/actions/prompt.rb +119 -0
  220. data/fastlane/lib/fastlane/actions/push_git_tags.rb +76 -0
  221. data/fastlane/lib/fastlane/actions/push_to_git_remote.rb +127 -0
  222. data/fastlane/lib/fastlane/actions/puts.rb +68 -0
  223. data/fastlane/lib/fastlane/actions/read_podspec.rb +90 -0
  224. data/fastlane/lib/fastlane/actions/recreate_schemes.rb +46 -0
  225. data/fastlane/lib/fastlane/actions/register_device.rb +151 -0
  226. data/fastlane/lib/fastlane/actions/register_devices.rb +214 -0
  227. data/fastlane/lib/fastlane/actions/reset_git_repo.rb +121 -0
  228. data/fastlane/lib/fastlane/actions/reset_simulator_contents.rb +92 -0
  229. data/fastlane/lib/fastlane/actions/resign.rb +132 -0
  230. data/fastlane/lib/fastlane/actions/restore_file.rb +44 -0
  231. data/fastlane/lib/fastlane/actions/rocket.rb +83 -0
  232. data/fastlane/lib/fastlane/actions/rsync.rb +74 -0
  233. data/fastlane/lib/fastlane/actions/ruby_version.rb +56 -0
  234. data/fastlane/lib/fastlane/actions/run_tests.rb +114 -0
  235. data/fastlane/lib/fastlane/actions/s3.rb +174 -0
  236. data/fastlane/lib/fastlane/actions/say.rb +56 -0
  237. data/fastlane/lib/fastlane/actions/scan.rb +14 -0
  238. data/fastlane/lib/fastlane/actions/scp.rb +114 -0
  239. data/fastlane/lib/fastlane/actions/screengrab.rb +14 -0
  240. data/fastlane/lib/fastlane/actions/set_build_number_repository.rb +76 -0
  241. data/fastlane/lib/fastlane/actions/set_changelog.rb +204 -0
  242. data/fastlane/lib/fastlane/actions/set_github_release.rb +274 -0
  243. data/fastlane/lib/fastlane/actions/set_info_plist_value.rb +92 -0
  244. data/fastlane/lib/fastlane/actions/set_pod_key.rb +78 -0
  245. data/fastlane/lib/fastlane/actions/setup_ci.rb +132 -0
  246. data/fastlane/lib/fastlane/actions/setup_circle_ci.rb +58 -0
  247. data/fastlane/lib/fastlane/actions/setup_jenkins.rb +202 -0
  248. data/fastlane/lib/fastlane/actions/setup_travis.rb +57 -0
  249. data/fastlane/lib/fastlane/actions/sh.rb +71 -0
  250. data/fastlane/lib/fastlane/actions/sigh.rb +14 -0
  251. data/fastlane/lib/fastlane/actions/skip_docs.rb +52 -0
  252. data/fastlane/lib/fastlane/actions/slack.rb +288 -0
  253. data/fastlane/lib/fastlane/actions/slather.rb +329 -0
  254. data/fastlane/lib/fastlane/actions/snapshot.rb +14 -0
  255. data/fastlane/lib/fastlane/actions/sonar.rb +177 -0
  256. data/fastlane/lib/fastlane/actions/spaceship_logs.rb +135 -0
  257. data/fastlane/lib/fastlane/actions/spaceship_stats.rb +73 -0
  258. data/fastlane/lib/fastlane/actions/splunkmint.rb +156 -0
  259. data/fastlane/lib/fastlane/actions/spm.rb +138 -0
  260. data/fastlane/lib/fastlane/actions/ssh.rb +162 -0
  261. data/fastlane/lib/fastlane/actions/supply.rb +14 -0
  262. data/fastlane/lib/fastlane/actions/swiftlint.rb +240 -0
  263. data/fastlane/lib/fastlane/actions/sync_code_signing.rb +109 -0
  264. data/fastlane/lib/fastlane/actions/team_id.rb +42 -0
  265. data/fastlane/lib/fastlane/actions/team_name.rb +42 -0
  266. data/fastlane/lib/fastlane/actions/testfairy.rb +285 -0
  267. data/fastlane/lib/fastlane/actions/testflight.rb +14 -0
  268. data/fastlane/lib/fastlane/actions/tryouts.rb +149 -0
  269. data/fastlane/lib/fastlane/actions/twitter.rb +89 -0
  270. data/fastlane/lib/fastlane/actions/typetalk.rb +93 -0
  271. data/fastlane/lib/fastlane/actions/unlock_keychain.rb +132 -0
  272. data/fastlane/lib/fastlane/actions/update_app_group_identifiers.rb +91 -0
  273. data/fastlane/lib/fastlane/actions/update_app_identifier.rb +124 -0
  274. data/fastlane/lib/fastlane/actions/update_code_signing_settings.rb +203 -0
  275. data/fastlane/lib/fastlane/actions/update_fastlane.rb +137 -0
  276. data/fastlane/lib/fastlane/actions/update_icloud_container_identifiers.rb +99 -0
  277. data/fastlane/lib/fastlane/actions/update_info_plist.rb +143 -0
  278. data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +94 -0
  279. data/fastlane/lib/fastlane/actions/update_plist.rb +115 -0
  280. data/fastlane/lib/fastlane/actions/update_project_code_signing.rb +76 -0
  281. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +173 -0
  282. data/fastlane/lib/fastlane/actions/update_project_team.rb +95 -0
  283. data/fastlane/lib/fastlane/actions/update_urban_airship_configuration.rb +91 -0
  284. data/fastlane/lib/fastlane/actions/update_url_schemes.rb +123 -0
  285. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +231 -0
  286. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +165 -0
  287. data/fastlane/lib/fastlane/actions/upload_to_app_store.rb +67 -0
  288. data/fastlane/lib/fastlane/actions/upload_to_play_store.rb +80 -0
  289. data/fastlane/lib/fastlane/actions/upload_to_play_store_internal_app_sharing.rb +78 -0
  290. data/fastlane/lib/fastlane/actions/upload_to_testflight.rb +119 -0
  291. data/fastlane/lib/fastlane/actions/validate_play_store_json_key.rb +104 -0
  292. data/fastlane/lib/fastlane/actions/verify_build.rb +199 -0
  293. data/fastlane/lib/fastlane/actions/verify_pod_keys.rb +67 -0
  294. data/fastlane/lib/fastlane/actions/verify_xcode.rb +159 -0
  295. data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +105 -0
  296. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +71 -0
  297. data/fastlane/lib/fastlane/actions/xcode_install.rb +105 -0
  298. data/fastlane/lib/fastlane/actions/xcode_select.rb +68 -0
  299. data/fastlane/lib/fastlane/actions/xcode_server_get_assets.rb +312 -0
  300. data/fastlane/lib/fastlane/actions/xcodebuild.rb +641 -0
  301. data/fastlane/lib/fastlane/actions/xcov.rb +66 -0
  302. data/fastlane/lib/fastlane/actions/xctool.rb +55 -0
  303. data/fastlane/lib/fastlane/actions/xcversion.rb +55 -0
  304. data/fastlane/lib/fastlane/actions/zip.rb +120 -0
  305. data/fastlane/lib/fastlane/auto_complete.rb +82 -0
  306. data/fastlane/lib/fastlane/boolean.rb +5 -0
  307. data/fastlane/lib/fastlane/cli_tools_distributor.rb +207 -0
  308. data/fastlane/lib/fastlane/command_line_handler.rb +49 -0
  309. data/fastlane/lib/fastlane/commands_generator.rb +369 -0
  310. data/fastlane/lib/fastlane/configuration_helper.rb +26 -0
  311. data/fastlane/lib/fastlane/core_ext/bundler_monkey_patch.rb +14 -0
  312. data/fastlane/lib/fastlane/documentation/actions_list.rb +214 -0
  313. data/fastlane/lib/fastlane/documentation/docs_generator.rb +89 -0
  314. data/fastlane/lib/fastlane/documentation/markdown_docs_generator.rb +228 -0
  315. data/fastlane/lib/fastlane/environment_printer.rb +303 -0
  316. data/fastlane/lib/fastlane/erb_template_helper.rb +30 -0
  317. data/fastlane/lib/fastlane/fast_file.rb +439 -0
  318. data/fastlane/lib/fastlane/fastlane_require.rb +75 -0
  319. data/fastlane/lib/fastlane/features.rb +4 -0
  320. data/fastlane/lib/fastlane/helper/README.md +29 -0
  321. data/fastlane/lib/fastlane/helper/adb_helper.rb +66 -0
  322. data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +157 -0
  323. data/fastlane/lib/fastlane/helper/dotenv_helper.rb +50 -0
  324. data/fastlane/lib/fastlane/helper/gem_helper.rb +26 -0
  325. data/fastlane/lib/fastlane/helper/git_helper.rb +137 -0
  326. data/fastlane/lib/fastlane/helper/gradle_helper.rb +62 -0
  327. data/fastlane/lib/fastlane/helper/lane_helper.rb +13 -0
  328. data/fastlane/lib/fastlane/helper/podspec_helper.rb +75 -0
  329. data/fastlane/lib/fastlane/helper/s3_client_helper.rb +78 -0
  330. data/fastlane/lib/fastlane/helper/sh_helper.rb +134 -0
  331. data/fastlane/lib/fastlane/helper/xcodeproj_helper.rb +12 -0
  332. data/fastlane/lib/fastlane/helper/xcversion_helper.rb +25 -0
  333. data/fastlane/lib/fastlane/junit_generator.rb +27 -0
  334. data/fastlane/lib/fastlane/lane.rb +97 -0
  335. data/fastlane/lib/fastlane/lane_list.rb +137 -0
  336. data/fastlane/lib/fastlane/lane_manager.rb +130 -0
  337. data/fastlane/lib/fastlane/lane_manager_base.rb +92 -0
  338. data/fastlane/lib/fastlane/markdown_table_formatter.rb +62 -0
  339. data/fastlane/lib/fastlane/new_action.rb +47 -0
  340. data/fastlane/lib/fastlane/one_off.rb +45 -0
  341. data/fastlane/lib/fastlane/other_action.rb +29 -0
  342. data/fastlane/lib/fastlane/plugins/plugin_fetcher.rb +55 -0
  343. data/fastlane/lib/fastlane/plugins/plugin_generator.rb +86 -0
  344. data/fastlane/lib/fastlane/plugins/plugin_generator_ui.rb +19 -0
  345. data/fastlane/lib/fastlane/plugins/plugin_info.rb +49 -0
  346. data/fastlane/lib/fastlane/plugins/plugin_info_collector.rb +159 -0
  347. data/fastlane/lib/fastlane/plugins/plugin_manager.rb +399 -0
  348. data/fastlane/lib/fastlane/plugins/plugin_search.rb +46 -0
  349. data/fastlane/lib/fastlane/plugins/plugin_update_manager.rb +70 -0
  350. data/fastlane/lib/fastlane/plugins/plugins.rb +12 -0
  351. data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +35 -0
  352. data/fastlane/lib/fastlane/plugins/template/.circleci/config.yml +43 -0
  353. data/fastlane/lib/fastlane/plugins/template/.github/workflows/test.yml +29 -0
  354. data/fastlane/lib/fastlane/plugins/template/.gitignore +12 -0
  355. data/fastlane/lib/fastlane/plugins/template/.rspec +5 -0
  356. data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +188 -0
  357. data/fastlane/lib/fastlane/plugins/template/.travis.yml +4 -0
  358. data/fastlane/lib/fastlane/plugins/template/Gemfile +6 -0
  359. data/fastlane/lib/fastlane/plugins/template/LICENSE.erb +21 -0
  360. data/fastlane/lib/fastlane/plugins/template/README.md.erb +52 -0
  361. data/fastlane/lib/fastlane/plugins/template/Rakefile +9 -0
  362. data/fastlane/lib/fastlane/plugins/template/fastlane/Fastfile.erb +3 -0
  363. data/fastlane/lib/fastlane/plugins/template/fastlane/Pluginfile.erb +1 -0
  364. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%.rb.erb +16 -0
  365. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +47 -0
  366. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/helper/%plugin_name%_helper.rb.erb +16 -0
  367. data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/version.rb.erb +5 -0
  368. data/fastlane/lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb +9 -0
  369. data/fastlane/lib/fastlane/plugins/template/spec/spec_helper.rb.erb +15 -0
  370. data/fastlane/lib/fastlane/runner.rb +378 -0
  371. data/fastlane/lib/fastlane/server/action_command.rb +61 -0
  372. data/fastlane/lib/fastlane/server/action_command_return.rb +14 -0
  373. data/fastlane/lib/fastlane/server/command_executor.rb +7 -0
  374. data/fastlane/lib/fastlane/server/command_parser.rb +44 -0
  375. data/fastlane/lib/fastlane/server/control_command.rb +23 -0
  376. data/fastlane/lib/fastlane/server/json_return_value_processor.rb +72 -0
  377. data/fastlane/lib/fastlane/server/socket_server.rb +238 -0
  378. data/fastlane/lib/fastlane/server/socket_server_action_command_executor.rb +101 -0
  379. data/fastlane/lib/fastlane/setup/setup.rb +355 -0
  380. data/fastlane/lib/fastlane/setup/setup_android.rb +97 -0
  381. data/fastlane/lib/fastlane/setup/setup_ios.rb +504 -0
  382. data/fastlane/lib/fastlane/shells.rb +6 -0
  383. data/fastlane/lib/fastlane/supported_platforms.rb +28 -0
  384. data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +477 -0
  385. data/fastlane/lib/fastlane/swift_fastlane_function.rb +419 -0
  386. data/fastlane/lib/fastlane/swift_lane_manager.rb +296 -0
  387. data/fastlane/lib/fastlane/swift_runner_upgrader.rb +210 -0
  388. data/fastlane/lib/fastlane/tools.rb +33 -0
  389. data/fastlane/lib/fastlane/version.rb +6 -0
  390. data/fastlane/swift/Actions.swift +16 -0
  391. data/fastlane/swift/Appfile.swift +15 -0
  392. data/fastlane/swift/ArgumentProcessor.swift +89 -0
  393. data/fastlane/swift/ControlCommand.swift +74 -0
  394. data/fastlane/swift/Deliverfile.swift +20 -0
  395. data/fastlane/swift/DeliverfileProtocol.swift +259 -0
  396. data/fastlane/swift/Fastfile.swift +16 -0
  397. data/fastlane/swift/Fastlane.swift +9402 -0
  398. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +434 -0
  399. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  400. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  401. data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/xcshareddata/xcschemes/FastlaneRunner.xcscheme +97 -0
  402. data/fastlane/swift/FastlaneSwiftRunner/README.txt +10 -0
  403. data/fastlane/swift/Gymfile.swift +20 -0
  404. data/fastlane/swift/GymfileProtocol.swift +187 -0
  405. data/fastlane/swift/LaneFileProtocol.swift +149 -0
  406. data/fastlane/swift/MainProcess.swift +77 -0
  407. data/fastlane/swift/Matchfile.swift +20 -0
  408. data/fastlane/swift/MatchfileProtocol.swift +187 -0
  409. data/fastlane/swift/Plugins.swift +16 -0
  410. data/fastlane/swift/Precheckfile.swift +20 -0
  411. data/fastlane/swift/PrecheckfileProtocol.swift +51 -0
  412. data/fastlane/swift/RubyCommand.swift +157 -0
  413. data/fastlane/swift/RubyCommandable.swift +43 -0
  414. data/fastlane/swift/Runner.swift +275 -0
  415. data/fastlane/swift/RunnerArgument.swift +20 -0
  416. data/fastlane/swift/Scanfile.swift +20 -0
  417. data/fastlane/swift/ScanfileProtocol.swift +263 -0
  418. data/fastlane/swift/Screengrabfile.swift +20 -0
  419. data/fastlane/swift/ScreengrabfileProtocol.swift +99 -0
  420. data/fastlane/swift/Snapshotfile.swift +20 -0
  421. data/fastlane/swift/SnapshotfileProtocol.swift +187 -0
  422. data/fastlane/swift/SocketClient.swift +327 -0
  423. data/fastlane/swift/SocketClientDelegateProtocol.swift +21 -0
  424. data/fastlane/swift/SocketResponse.swift +82 -0
  425. data/fastlane/swift/formatting/Brewfile +1 -0
  426. data/fastlane/swift/formatting/Brewfile.lock.json +47 -0
  427. data/fastlane/swift/formatting/Rakefile +18 -0
  428. data/fastlane/swift/main.swift +47 -0
  429. data/fastlane/swift/upgrade_manifest.json +1 -0
  430. data/fastlane_core/README.md +79 -0
  431. data/fastlane_core/lib/assets/XMLTemplate.xml.erb +12 -0
  432. data/fastlane_core/lib/fastlane_core.rb +46 -0
  433. data/fastlane_core/lib/fastlane_core/analytics/action_completion_context.rb +34 -0
  434. data/fastlane_core/lib/fastlane_core/analytics/action_launch_context.rb +38 -0
  435. data/fastlane_core/lib/fastlane_core/analytics/analytics_event_builder.rb +23 -0
  436. data/fastlane_core/lib/fastlane_core/analytics/analytics_ingester_client.rb +54 -0
  437. data/fastlane_core/lib/fastlane_core/analytics/analytics_session.rb +70 -0
  438. data/fastlane_core/lib/fastlane_core/analytics/app_identifier_guesser.rb +64 -0
  439. data/fastlane_core/lib/fastlane_core/android_package_name_guesser.rb +79 -0
  440. data/fastlane_core/lib/fastlane_core/build_watcher.rb +96 -0
  441. data/fastlane_core/lib/fastlane_core/cert_checker.rb +144 -0
  442. data/fastlane_core/lib/fastlane_core/command_executor.rb +100 -0
  443. data/fastlane_core/lib/fastlane_core/configuration/commander_generator.rb +103 -0
  444. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +321 -0
  445. data/fastlane_core/lib/fastlane_core/configuration/configuration.rb +332 -0
  446. data/fastlane_core/lib/fastlane_core/configuration/configuration_file.rb +182 -0
  447. data/fastlane_core/lib/fastlane_core/core_ext/cfpropertylist.rb +23 -0
  448. data/fastlane_core/lib/fastlane_core/core_ext/shellwords.rb +63 -0
  449. data/fastlane_core/lib/fastlane_core/core_ext/string.rb +17 -0
  450. data/fastlane_core/lib/fastlane_core/device_manager.rb +374 -0
  451. data/fastlane_core/lib/fastlane_core/env.rb +9 -0
  452. data/fastlane_core/lib/fastlane_core/fastlane_folder.rb +72 -0
  453. data/fastlane_core/lib/fastlane_core/fastlane_pty.rb +57 -0
  454. data/fastlane_core/lib/fastlane_core/feature/feature.rb +51 -0
  455. data/fastlane_core/lib/fastlane_core/features.rb +4 -0
  456. data/fastlane_core/lib/fastlane_core/globals.rb +27 -0
  457. data/fastlane_core/lib/fastlane_core/helper.rb +437 -0
  458. data/fastlane_core/lib/fastlane_core/ios_app_identifier_guesser.rb +112 -0
  459. data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +63 -0
  460. data/fastlane_core/lib/fastlane_core/ipa_upload_package_builder.rb +52 -0
  461. data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +595 -0
  462. data/fastlane_core/lib/fastlane_core/keychain_importer.rb +120 -0
  463. data/fastlane_core/lib/fastlane_core/languages.rb +16 -0
  464. data/fastlane_core/lib/fastlane_core/module.rb +31 -0
  465. data/fastlane_core/lib/fastlane_core/pkg_file_analyser.rb +51 -0
  466. data/fastlane_core/lib/fastlane_core/pkg_upload_package_builder.rb +48 -0
  467. data/fastlane_core/lib/fastlane_core/print_table.rb +131 -0
  468. data/fastlane_core/lib/fastlane_core/project.rb +509 -0
  469. data/fastlane_core/lib/fastlane_core/provisioning_profile.rb +124 -0
  470. data/fastlane_core/lib/fastlane_core/string_filters.rb +51 -0
  471. data/fastlane_core/lib/fastlane_core/swag.rb +85 -0
  472. data/fastlane_core/lib/fastlane_core/tag_version.rb +31 -0
  473. data/fastlane_core/lib/fastlane_core/test_parser.rb +107 -0
  474. data/fastlane_core/lib/fastlane_core/ui/disable_colors.rb +17 -0
  475. data/fastlane_core/lib/fastlane_core/ui/errors.rb +1 -0
  476. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_common_error.rb +19 -0
  477. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_crash.rb +11 -0
  478. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_error.rb +25 -0
  479. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_exception.rb +19 -0
  480. data/fastlane_core/lib/fastlane_core/ui/errors/fastlane_shell_error.rb +11 -0
  481. data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +294 -0
  482. data/fastlane_core/lib/fastlane_core/ui/github_issue_inspector_reporter.rb +62 -0
  483. data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +159 -0
  484. data/fastlane_core/lib/fastlane_core/ui/interface.rb +205 -0
  485. data/fastlane_core/lib/fastlane_core/ui/ui.rb +26 -0
  486. data/fastlane_core/lib/fastlane_core/update_checker/changelog.rb +37 -0
  487. data/fastlane_core/lib/fastlane_core/update_checker/update_checker.rb +109 -0
  488. data/frameit/README.md +17 -0
  489. data/frameit/lib/assets/empty.png +0 -0
  490. data/frameit/lib/frameit.rb +13 -0
  491. data/frameit/lib/frameit/commands_generator.rb +140 -0
  492. data/frameit/lib/frameit/config_parser.rb +136 -0
  493. data/frameit/lib/frameit/dependency_checker.rb +22 -0
  494. data/frameit/lib/frameit/device.rb +90 -0
  495. data/frameit/lib/frameit/device_types.rb +144 -0
  496. data/frameit/lib/frameit/editor.rb +560 -0
  497. data/frameit/lib/frameit/frame_downloader.rb +85 -0
  498. data/frameit/lib/frameit/mac_editor.rb +35 -0
  499. data/frameit/lib/frameit/module.rb +42 -0
  500. data/frameit/lib/frameit/offsets.rb +28 -0
  501. data/frameit/lib/frameit/options.rb +112 -0
  502. data/frameit/lib/frameit/runner.rb +97 -0
  503. data/frameit/lib/frameit/screenshot.rb +134 -0
  504. data/frameit/lib/frameit/strings_parser.rb +46 -0
  505. data/frameit/lib/frameit/template_finder.rb +45 -0
  506. data/frameit/lib/frameit/trim_box.rb +35 -0
  507. data/gym/README.md +17 -0
  508. data/gym/lib/assets/GymfileTemplate +13 -0
  509. data/gym/lib/assets/GymfileTemplate.swift +13 -0
  510. data/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh +61 -0
  511. data/gym/lib/gym.rb +9 -0
  512. data/gym/lib/gym/code_signing_mapping.rb +210 -0
  513. data/gym/lib/gym/commands_generator.rb +78 -0
  514. data/gym/lib/gym/detect_values.rb +206 -0
  515. data/gym/lib/gym/error_handler.rb +306 -0
  516. data/gym/lib/gym/generators/README.md +1 -0
  517. data/gym/lib/gym/generators/build_command_generator.rb +147 -0
  518. data/gym/lib/gym/generators/package_command_generator.rb +68 -0
  519. data/gym/lib/gym/generators/package_command_generator_xcode7.rb +232 -0
  520. data/gym/lib/gym/manager.rb +22 -0
  521. data/gym/lib/gym/module.rb +74 -0
  522. data/gym/lib/gym/options.rb +286 -0
  523. data/gym/lib/gym/runner.rb +365 -0
  524. data/gym/lib/gym/xcode.rb +27 -0
  525. data/gym/lib/gym/xcodebuild_fixes/README.md +9 -0
  526. data/gym/lib/gym/xcodebuild_fixes/generic_archive_fix.rb +35 -0
  527. data/match/README.md +17 -0
  528. data/match/lib/assets/MatchfileTemplate +11 -0
  529. data/match/lib/assets/MatchfileTemplate.swift +9 -0
  530. data/match/lib/assets/READMETemplate.md +59 -0
  531. data/match/lib/match.rb +14 -0
  532. data/match/lib/match/change_password.rb +53 -0
  533. data/match/lib/match/commands_generator.rb +190 -0
  534. data/match/lib/match/encryption.rb +49 -0
  535. data/match/lib/match/encryption/interface.rb +17 -0
  536. data/match/lib/match/encryption/openssl.rb +161 -0
  537. data/match/lib/match/generator.rb +122 -0
  538. data/match/lib/match/importer.rb +157 -0
  539. data/match/lib/match/migrate.rb +109 -0
  540. data/match/lib/match/module.rb +32 -0
  541. data/match/lib/match/nuke.rb +350 -0
  542. data/match/lib/match/options.rb +315 -0
  543. data/match/lib/match/runner.rb +369 -0
  544. data/match/lib/match/setup.rb +40 -0
  545. data/match/lib/match/spaceship_ensure.rb +97 -0
  546. data/match/lib/match/storage.rb +46 -0
  547. data/match/lib/match/storage/git_storage.rb +250 -0
  548. data/match/lib/match/storage/google_cloud_storage.rb +382 -0
  549. data/match/lib/match/storage/interface.rb +119 -0
  550. data/match/lib/match/storage/s3_storage.rb +205 -0
  551. data/match/lib/match/table_printer.rb +51 -0
  552. data/match/lib/match/utils.rb +75 -0
  553. data/pem/README.md +17 -0
  554. data/pem/lib/pem.rb +4 -0
  555. data/pem/lib/pem/commands_generator.rb +47 -0
  556. data/pem/lib/pem/manager.rb +112 -0
  557. data/pem/lib/pem/module.rb +19 -0
  558. data/pem/lib/pem/options.rb +103 -0
  559. data/pilot/README.md +17 -0
  560. data/pilot/lib/pilot.rb +9 -0
  561. data/pilot/lib/pilot/build_manager.rb +546 -0
  562. data/pilot/lib/pilot/commands_generator.rb +174 -0
  563. data/pilot/lib/pilot/features.rb +0 -0
  564. data/pilot/lib/pilot/manager.rb +90 -0
  565. data/pilot/lib/pilot/module.rb +11 -0
  566. data/pilot/lib/pilot/options.rb +303 -0
  567. data/pilot/lib/pilot/tester_exporter.rb +58 -0
  568. data/pilot/lib/pilot/tester_importer.rb +53 -0
  569. data/pilot/lib/pilot/tester_manager.rb +168 -0
  570. data/pilot/lib/pilot/tester_util.rb +0 -0
  571. data/precheck/README.md +17 -0
  572. data/precheck/lib/assets/PrecheckfileTemplate +27 -0
  573. data/precheck/lib/assets/PrecheckfileTemplate.swift +19 -0
  574. data/precheck/lib/precheck.rb +3 -0
  575. data/precheck/lib/precheck/commands_generator.rb +74 -0
  576. data/precheck/lib/precheck/item_to_check.rb +58 -0
  577. data/precheck/lib/precheck/module.rb +21 -0
  578. data/precheck/lib/precheck/options.rb +104 -0
  579. data/precheck/lib/precheck/rule.rb +171 -0
  580. data/precheck/lib/precheck/rule_check_result.rb +19 -0
  581. data/precheck/lib/precheck/rule_processor.rb +265 -0
  582. data/precheck/lib/precheck/rules/abstract_text_match_rule.rb +80 -0
  583. data/precheck/lib/precheck/rules/all.rb +1 -0
  584. data/precheck/lib/precheck/rules/copyright_date_rule.rb +37 -0
  585. data/precheck/lib/precheck/rules/curse_words_rule.rb +62 -0
  586. data/precheck/lib/precheck/rules/custom_text_rule.rb +35 -0
  587. data/precheck/lib/precheck/rules/free_stuff_iap_rule.rb +31 -0
  588. data/precheck/lib/precheck/rules/future_functionality_rule.rb +33 -0
  589. data/precheck/lib/precheck/rules/negative_apple_sentiment_rule.rb +37 -0
  590. data/precheck/lib/precheck/rules/other_platforms_rule.rb +43 -0
  591. data/precheck/lib/precheck/rules/placeholder_words_rule.rb +31 -0
  592. data/precheck/lib/precheck/rules/rules_data/curse_word_hashes/en_us.txt +349 -0
  593. data/precheck/lib/precheck/rules/test_words_rule.rb +30 -0
  594. data/precheck/lib/precheck/rules/unreachable_urls_rule.rb +47 -0
  595. data/precheck/lib/precheck/runner.rb +197 -0
  596. data/produce/README.md +17 -0
  597. data/produce/lib/produce.rb +6 -0
  598. data/produce/lib/produce/available_default_languages.rb +51 -0
  599. data/produce/lib/produce/cloud_container.rb +82 -0
  600. data/produce/lib/produce/commands_generator.rb +236 -0
  601. data/produce/lib/produce/developer_center.rb +143 -0
  602. data/produce/lib/produce/group.rb +90 -0
  603. data/produce/lib/produce/itunes_connect.rb +139 -0
  604. data/produce/lib/produce/manager.rb +15 -0
  605. data/produce/lib/produce/merchant.rb +121 -0
  606. data/produce/lib/produce/module.rb +14 -0
  607. data/produce/lib/produce/options.rb +184 -0
  608. data/produce/lib/produce/service.rb +319 -0
  609. data/scan/README.md +17 -0
  610. data/scan/lib/assets/ScanfileTemplate +16 -0
  611. data/scan/lib/assets/ScanfileTemplate.swift +13 -0
  612. data/scan/lib/scan.rb +10 -0
  613. data/scan/lib/scan/commands_generator.rb +78 -0
  614. data/scan/lib/scan/detect_values.rb +224 -0
  615. data/scan/lib/scan/error_handler.rb +57 -0
  616. data/scan/lib/scan/manager.rb +38 -0
  617. data/scan/lib/scan/module.rb +32 -0
  618. data/scan/lib/scan/options.rb +445 -0
  619. data/scan/lib/scan/runner.rb +197 -0
  620. data/scan/lib/scan/slack_poster.rb +60 -0
  621. data/scan/lib/scan/test_command_generator.rb +174 -0
  622. data/scan/lib/scan/test_result_parser.rb +33 -0
  623. data/scan/lib/scan/xcpretty_reporter_options_generator.rb +85 -0
  624. data/screengrab/README.md +17 -0
  625. data/screengrab/lib/assets/ScreengrabfileTemplate +15 -0
  626. data/screengrab/lib/assets/ScreengrabfileTemplate.swift +15 -0
  627. data/screengrab/lib/screengrab.rb +7 -0
  628. data/screengrab/lib/screengrab/android_environment.rb +91 -0
  629. data/screengrab/lib/screengrab/commands_generator.rb +70 -0
  630. data/screengrab/lib/screengrab/dependency_checker.rb +58 -0
  631. data/screengrab/lib/screengrab/detect_values.rb +16 -0
  632. data/screengrab/lib/screengrab/module.rb +26 -0
  633. data/screengrab/lib/screengrab/options.rb +148 -0
  634. data/screengrab/lib/screengrab/page.html.erb +190 -0
  635. data/screengrab/lib/screengrab/reports_generator.rb +36 -0
  636. data/screengrab/lib/screengrab/runner.rb +449 -0
  637. data/screengrab/lib/screengrab/setup.rb +24 -0
  638. data/sigh/README.md +17 -0
  639. data/sigh/lib/assets/resign.sh +909 -0
  640. data/sigh/lib/sigh.rb +4 -0
  641. data/sigh/lib/sigh/commands_generator.rb +154 -0
  642. data/sigh/lib/sigh/download_all.rb +112 -0
  643. data/sigh/lib/sigh/local_manage.rb +145 -0
  644. data/sigh/lib/sigh/manager.rb +47 -0
  645. data/sigh/lib/sigh/module.rb +42 -0
  646. data/sigh/lib/sigh/options.rb +187 -0
  647. data/sigh/lib/sigh/repair.rb +34 -0
  648. data/sigh/lib/sigh/resign.rb +220 -0
  649. data/sigh/lib/sigh/runner.rb +402 -0
  650. data/snapshot/README.md +17 -0
  651. data/snapshot/lib/assets/SnapfileTemplate +37 -0
  652. data/snapshot/lib/assets/SnapfileTemplate.swift +41 -0
  653. data/snapshot/lib/assets/SnapshotHelper.swift +301 -0
  654. data/snapshot/lib/assets/SnapshotHelperXcode8.swift +172 -0
  655. data/snapshot/lib/snapshot.rb +19 -0
  656. data/snapshot/lib/snapshot/collector.rb +140 -0
  657. data/snapshot/lib/snapshot/commands_generator.rb +115 -0
  658. data/snapshot/lib/snapshot/dependency_checker.rb +69 -0
  659. data/snapshot/lib/snapshot/detect_values.rb +86 -0
  660. data/snapshot/lib/snapshot/error_handler.rb +24 -0
  661. data/snapshot/lib/snapshot/fixes/README.md +5 -0
  662. data/snapshot/lib/snapshot/fixes/hardware_keyboard_fix.rb +27 -0
  663. data/snapshot/lib/snapshot/fixes/simulator_shared_pasteboard.rb +16 -0
  664. data/snapshot/lib/snapshot/fixes/simulator_zoom_fix.rb +27 -0
  665. data/snapshot/lib/snapshot/latest_os_version.rb +34 -0
  666. data/snapshot/lib/snapshot/module.rb +44 -0
  667. data/snapshot/lib/snapshot/options.rb +290 -0
  668. data/snapshot/lib/snapshot/page.html.erb +285 -0
  669. data/snapshot/lib/snapshot/reports_generator.rb +139 -0
  670. data/snapshot/lib/snapshot/reset_simulators.rb +122 -0
  671. data/snapshot/lib/snapshot/runner.rb +146 -0
  672. data/snapshot/lib/snapshot/screenshot_flatten.rb +20 -0
  673. data/snapshot/lib/snapshot/screenshot_rotate.rb +36 -0
  674. data/snapshot/lib/snapshot/setup.rb +58 -0
  675. data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +62 -0
  676. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +219 -0
  677. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +200 -0
  678. data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_xcode_8.rb +113 -0
  679. data/snapshot/lib/snapshot/test_command_generator.rb +108 -0
  680. data/snapshot/lib/snapshot/test_command_generator_base.rb +128 -0
  681. data/snapshot/lib/snapshot/test_command_generator_xcode_8.rb +70 -0
  682. data/snapshot/lib/snapshot/update.rb +38 -0
  683. data/spaceship/README.md +183 -0
  684. data/spaceship/lib/assets/displayFamilies.json +181 -0
  685. data/spaceship/lib/assets/languageMapping.json +306 -0
  686. data/spaceship/lib/assets/languageMappingReadable.json +30 -0
  687. data/spaceship/lib/spaceship.rb +30 -0
  688. data/spaceship/lib/spaceship/base.rb +310 -0
  689. data/spaceship/lib/spaceship/client.rb +913 -0
  690. data/spaceship/lib/spaceship/commands_generator.rb +53 -0
  691. data/spaceship/lib/spaceship/connect_api.rb +116 -0
  692. data/spaceship/lib/spaceship/connect_api/api_client.rb +279 -0
  693. data/spaceship/lib/spaceship/connect_api/client.rb +216 -0
  694. data/spaceship/lib/spaceship/connect_api/file_uploader.rb +99 -0
  695. data/spaceship/lib/spaceship/connect_api/model.rb +172 -0
  696. data/spaceship/lib/spaceship/connect_api/models/age_rating_declaration.rb +114 -0
  697. data/spaceship/lib/spaceship/connect_api/models/app.rb +388 -0
  698. data/spaceship/lib/spaceship/connect_api/models/app_category.rb +94 -0
  699. data/spaceship/lib/spaceship/connect_api/models/app_info.rb +95 -0
  700. data/spaceship/lib/spaceship/connect_api/models/app_info_localization.rb +39 -0
  701. data/spaceship/lib/spaceship/connect_api/models/app_preview.rb +131 -0
  702. data/spaceship/lib/spaceship/connect_api/models/app_preview_set.rb +100 -0
  703. data/spaceship/lib/spaceship/connect_api/models/app_price.rb +22 -0
  704. data/spaceship/lib/spaceship/connect_api/models/app_price_point.rb +26 -0
  705. data/spaceship/lib/spaceship/connect_api/models/app_price_tier.rb +12 -0
  706. data/spaceship/lib/spaceship/connect_api/models/app_screenshot.rb +187 -0
  707. data/spaceship/lib/spaceship/connect_api/models/app_screenshot_set.rb +153 -0
  708. data/spaceship/lib/spaceship/connect_api/models/app_store_review_attachment.rb +71 -0
  709. data/spaceship/lib/spaceship/connect_api/models/app_store_review_detail.rb +51 -0
  710. data/spaceship/lib/spaceship/connect_api/models/app_store_version.rb +217 -0
  711. data/spaceship/lib/spaceship/connect_api/models/app_store_version_localization.rb +85 -0
  712. data/spaceship/lib/spaceship/connect_api/models/app_store_version_phased_release.rb +57 -0
  713. data/spaceship/lib/spaceship/connect_api/models/app_store_version_release_request.rb +12 -0
  714. data/spaceship/lib/spaceship/connect_api/models/app_store_version_submission.rb +26 -0
  715. data/spaceship/lib/spaceship/connect_api/models/beta_app_localization.rb +28 -0
  716. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_detail.rb +32 -0
  717. data/spaceship/lib/spaceship/connect_api/models/beta_app_review_submission.rb +26 -0
  718. data/spaceship/lib/spaceship/connect_api/models/beta_build_localization.rb +20 -0
  719. data/spaceship/lib/spaceship/connect_api/models/beta_build_metric.rb +24 -0
  720. data/spaceship/lib/spaceship/connect_api/models/beta_feedback.rb +75 -0
  721. data/spaceship/lib/spaceship/connect_api/models/beta_group.rb +41 -0
  722. data/spaceship/lib/spaceship/connect_api/models/beta_screenshot.rb +18 -0
  723. data/spaceship/lib/spaceship/connect_api/models/beta_tester.rb +57 -0
  724. data/spaceship/lib/spaceship/connect_api/models/beta_tester_metric.rb +44 -0
  725. data/spaceship/lib/spaceship/connect_api/models/build.rb +172 -0
  726. data/spaceship/lib/spaceship/connect_api/models/build_beta_detail.rb +61 -0
  727. data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +36 -0
  728. data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +58 -0
  729. data/spaceship/lib/spaceship/connect_api/models/bundle_id_capability.rb +71 -0
  730. data/spaceship/lib/spaceship/connect_api/models/certificate.rb +102 -0
  731. data/spaceship/lib/spaceship/connect_api/models/custom_app_organization.rb +43 -0
  732. data/spaceship/lib/spaceship/connect_api/models/custom_app_user.rb +41 -0
  733. data/spaceship/lib/spaceship/connect_api/models/device.rb +58 -0
  734. data/spaceship/lib/spaceship/connect_api/models/idfa_declaration.rb +41 -0
  735. data/spaceship/lib/spaceship/connect_api/models/pre_release_version.rb +20 -0
  736. data/spaceship/lib/spaceship/connect_api/models/profile.rb +97 -0
  737. data/spaceship/lib/spaceship/connect_api/models/reset_ratings_request.rb +26 -0
  738. data/spaceship/lib/spaceship/connect_api/models/sandbox_tester.rb +64 -0
  739. data/spaceship/lib/spaceship/connect_api/models/territory.rb +27 -0
  740. data/spaceship/lib/spaceship/connect_api/models/user.rb +51 -0
  741. data/spaceship/lib/spaceship/connect_api/models/user_invitation.rb +59 -0
  742. data/spaceship/lib/spaceship/connect_api/provisioning/client.rb +92 -0
  743. data/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb +143 -0
  744. data/spaceship/lib/spaceship/connect_api/response.rb +67 -0
  745. data/spaceship/lib/spaceship/connect_api/spaceship.rb +102 -0
  746. data/spaceship/lib/spaceship/connect_api/testflight/client.rb +24 -0
  747. data/spaceship/lib/spaceship/connect_api/testflight/testflight.rb +391 -0
  748. data/spaceship/lib/spaceship/connect_api/token.rb +102 -0
  749. data/spaceship/lib/spaceship/connect_api/token_refresh_middleware.rb +24 -0
  750. data/spaceship/lib/spaceship/connect_api/tunes/client.rb +24 -0
  751. data/spaceship/lib/spaceship/connect_api/tunes/tunes.rb +1045 -0
  752. data/spaceship/lib/spaceship/connect_api/users/client.rb +24 -0
  753. data/spaceship/lib/spaceship/connect_api/users/users.rb +80 -0
  754. data/spaceship/lib/spaceship/du/du_client.rb +138 -0
  755. data/spaceship/lib/spaceship/du/upload_file.rb +58 -0
  756. data/spaceship/lib/spaceship/du/utilities.rb +99 -0
  757. data/spaceship/lib/spaceship/errors.rb +82 -0
  758. data/spaceship/lib/spaceship/globals.rb +12 -0
  759. data/spaceship/lib/spaceship/helper/net_http_generic_request.rb +20 -0
  760. data/spaceship/lib/spaceship/helper/plist_middleware.rb +16 -0
  761. data/spaceship/lib/spaceship/helper/rels_middleware.rb +28 -0
  762. data/spaceship/lib/spaceship/launcher.rb +99 -0
  763. data/spaceship/lib/spaceship/module.rb +8 -0
  764. data/spaceship/lib/spaceship/playground.rb +75 -0
  765. data/spaceship/lib/spaceship/portal/app.rb +201 -0
  766. data/spaceship/lib/spaceship/portal/app_group.rb +73 -0
  767. data/spaceship/lib/spaceship/portal/app_service.rb +87 -0
  768. data/spaceship/lib/spaceship/portal/certificate.rb +365 -0
  769. data/spaceship/lib/spaceship/portal/cloud_container.rb +74 -0
  770. data/spaceship/lib/spaceship/portal/device.rb +191 -0
  771. data/spaceship/lib/spaceship/portal/invite.rb +53 -0
  772. data/spaceship/lib/spaceship/portal/key.rb +101 -0
  773. data/spaceship/lib/spaceship/portal/legacy_wrapper.rb +21 -0
  774. data/spaceship/lib/spaceship/portal/merchant.rb +86 -0
  775. data/spaceship/lib/spaceship/portal/passbook.rb +78 -0
  776. data/spaceship/lib/spaceship/portal/person.rb +62 -0
  777. data/spaceship/lib/spaceship/portal/persons.rb +67 -0
  778. data/spaceship/lib/spaceship/portal/portal.rb +17 -0
  779. data/spaceship/lib/spaceship/portal/portal_base.rb +16 -0
  780. data/spaceship/lib/spaceship/portal/portal_client.rb +862 -0
  781. data/spaceship/lib/spaceship/portal/provisioning_profile.rb +559 -0
  782. data/spaceship/lib/spaceship/portal/provisioning_profile_template.rb +52 -0
  783. data/spaceship/lib/spaceship/portal/spaceship.rb +154 -0
  784. data/spaceship/lib/spaceship/portal/ui/select_team.rb +116 -0
  785. data/spaceship/lib/spaceship/portal/website_push.rb +88 -0
  786. data/spaceship/lib/spaceship/provider.rb +13 -0
  787. data/spaceship/lib/spaceship/spaceauth_runner.rb +74 -0
  788. data/spaceship/lib/spaceship/stats_middleware.rb +65 -0
  789. data/spaceship/lib/spaceship/test_flight.rb +10 -0
  790. data/spaceship/lib/spaceship/test_flight/app_test_info.rb +40 -0
  791. data/spaceship/lib/spaceship/test_flight/base.rb +39 -0
  792. data/spaceship/lib/spaceship/test_flight/beta_review_info.rb +19 -0
  793. data/spaceship/lib/spaceship/test_flight/build.rb +242 -0
  794. data/spaceship/lib/spaceship/test_flight/build_trains.rb +50 -0
  795. data/spaceship/lib/spaceship/test_flight/client.rb +361 -0
  796. data/spaceship/lib/spaceship/test_flight/export_compliance.rb +12 -0
  797. data/spaceship/lib/spaceship/test_flight/group.rb +131 -0
  798. data/spaceship/lib/spaceship/test_flight/test_info.rb +56 -0
  799. data/spaceship/lib/spaceship/test_flight/tester.rb +136 -0
  800. data/spaceship/lib/spaceship/tunes/app_analytics.rb +168 -0
  801. data/spaceship/lib/spaceship/tunes/app_details.rb +147 -0
  802. data/spaceship/lib/spaceship/tunes/app_image.rb +51 -0
  803. data/spaceship/lib/spaceship/tunes/app_ratings.rb +58 -0
  804. data/spaceship/lib/spaceship/tunes/app_review.rb +55 -0
  805. data/spaceship/lib/spaceship/tunes/app_review_attachment.rb +49 -0
  806. data/spaceship/lib/spaceship/tunes/app_screenshot.rb +12 -0
  807. data/spaceship/lib/spaceship/tunes/app_status.rb +63 -0
  808. data/spaceship/lib/spaceship/tunes/app_submission.rb +161 -0
  809. data/spaceship/lib/spaceship/tunes/app_trailer.rb +64 -0
  810. data/spaceship/lib/spaceship/tunes/app_version.rb +970 -0
  811. data/spaceship/lib/spaceship/tunes/app_version_common.rb +35 -0
  812. data/spaceship/lib/spaceship/tunes/app_version_generated_promocodes.rb +28 -0
  813. data/spaceship/lib/spaceship/tunes/app_version_history.rb +52 -0
  814. data/spaceship/lib/spaceship/tunes/app_version_promocodes.rb +27 -0
  815. data/spaceship/lib/spaceship/tunes/app_version_ref.rb +15 -0
  816. data/spaceship/lib/spaceship/tunes/app_version_states_history.rb +27 -0
  817. data/spaceship/lib/spaceship/tunes/application.rb +453 -0
  818. data/spaceship/lib/spaceship/tunes/availability.rb +164 -0
  819. data/spaceship/lib/spaceship/tunes/b2b_organization.rb +50 -0
  820. data/spaceship/lib/spaceship/tunes/b2b_user.rb +30 -0
  821. data/spaceship/lib/spaceship/tunes/build.rb +263 -0
  822. data/spaceship/lib/spaceship/tunes/build_details.rb +184 -0
  823. data/spaceship/lib/spaceship/tunes/build_train.rb +181 -0
  824. data/spaceship/lib/spaceship/tunes/developer_response.rb +23 -0
  825. data/spaceship/lib/spaceship/tunes/device_type.rb +17 -0
  826. data/spaceship/lib/spaceship/tunes/display_family.rb +84 -0
  827. data/spaceship/lib/spaceship/tunes/errors.rb +17 -0
  828. data/spaceship/lib/spaceship/tunes/iap.rb +168 -0
  829. data/spaceship/lib/spaceship/tunes/iap_detail.rb +264 -0
  830. data/spaceship/lib/spaceship/tunes/iap_families.rb +68 -0
  831. data/spaceship/lib/spaceship/tunes/iap_family_details.rb +90 -0
  832. data/spaceship/lib/spaceship/tunes/iap_family_list.rb +28 -0
  833. data/spaceship/lib/spaceship/tunes/iap_list.rb +76 -0
  834. data/spaceship/lib/spaceship/tunes/iap_status.rb +56 -0
  835. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_info.rb +46 -0
  836. data/spaceship/lib/spaceship/tunes/iap_subscription_pricing_tier.rb +25 -0
  837. data/spaceship/lib/spaceship/tunes/iap_type.rb +45 -0
  838. data/spaceship/lib/spaceship/tunes/language_converter.rb +65 -0
  839. data/spaceship/lib/spaceship/tunes/language_item.rb +61 -0
  840. data/spaceship/lib/spaceship/tunes/legacy_wrapper.rb +13 -0
  841. data/spaceship/lib/spaceship/tunes/member.rb +84 -0
  842. data/spaceship/lib/spaceship/tunes/members.rb +35 -0
  843. data/spaceship/lib/spaceship/tunes/pricing_info.rb +42 -0
  844. data/spaceship/lib/spaceship/tunes/pricing_tier.rb +25 -0
  845. data/spaceship/lib/spaceship/tunes/sandbox_tester.rb +74 -0
  846. data/spaceship/lib/spaceship/tunes/spaceship.rb +39 -0
  847. data/spaceship/lib/spaceship/tunes/territory.rb +39 -0
  848. data/spaceship/lib/spaceship/tunes/transit_app_file.rb +23 -0
  849. data/spaceship/lib/spaceship/tunes/tunes.rb +35 -0
  850. data/spaceship/lib/spaceship/tunes/tunes_base.rb +17 -0
  851. data/spaceship/lib/spaceship/tunes/tunes_client.rb +1644 -0
  852. data/spaceship/lib/spaceship/tunes/user_detail.rb +15 -0
  853. data/spaceship/lib/spaceship/tunes/version_set.rb +26 -0
  854. data/spaceship/lib/spaceship/two_step_or_factor_client.rb +346 -0
  855. data/spaceship/lib/spaceship/ui.rb +27 -0
  856. data/supply/README.md +17 -0
  857. data/supply/lib/supply.rb +53 -0
  858. data/supply/lib/supply/apk_listing.rb +14 -0
  859. data/supply/lib/supply/client.rb +551 -0
  860. data/supply/lib/supply/commands_generator.rb +67 -0
  861. data/supply/lib/supply/languages.rb +88 -0
  862. data/supply/lib/supply/listing.rb +32 -0
  863. data/supply/lib/supply/options.rb +324 -0
  864. data/supply/lib/supply/reader.rb +41 -0
  865. data/supply/lib/supply/release_listing.rb +18 -0
  866. data/supply/lib/supply/setup.rb +122 -0
  867. data/supply/lib/supply/uploader.rb +480 -0
  868. metadata +1832 -0
@@ -0,0 +1,80 @@
1
+ require_relative '../rule'
2
+
3
+ module Precheck
4
+ # abstract class that defines a default way to check for the presence of a list of words within a block of text
5
+ class AbstractTextMatchRule < TextRule
6
+ WORD_SEARCH_TYPES = {
7
+ fail_on_inclusion: "fail_on_inclusion",
8
+ fail_on_exclusion: "fail_on_exclusion"
9
+ }
10
+
11
+ attr_accessor :lowercased_words_to_look_for
12
+
13
+ def lowercased_words_to_look_for
14
+ not_implemented(__method__)
15
+ end
16
+
17
+ # list of words or phrases that should be excluded from this rule
18
+ # they will be removed from the text string before the rule is executed
19
+ def allowed_lowercased_words
20
+ []
21
+ end
22
+
23
+ def pass_if_empty?
24
+ return true
25
+ end
26
+
27
+ def word_search_type
28
+ WORD_SEARCH_TYPES[:fail_on_inclusion]
29
+ end
30
+
31
+ def remove_safe_words(text: nil)
32
+ text_without_safe_words = text
33
+ allowed_lowercased_words.each do |safe_word|
34
+ text_without_safe_words.gsub!(safe_word, '')
35
+ end
36
+ return text_without_safe_words
37
+ end
38
+
39
+ # rule block that checks text for any instance of each string in lowercased_words_to_look_for
40
+ def rule_block
41
+ return lambda { |text|
42
+ text = text.to_s.strip.downcase
43
+ if text.empty?
44
+ if pass_if_empty?
45
+ return RuleReturn.new(validation_state: Precheck::VALIDATION_STATES[:passed])
46
+ else
47
+ return RuleReturn.new(validation_state: VALIDATION_STATES[:failed], failure_data: "missing text")
48
+ end
49
+ end
50
+
51
+ text = remove_safe_words(text: text)
52
+
53
+ matches = lowercased_words_to_look_for.each_with_object([]) do |word, found_words|
54
+ if text.include?(word)
55
+ found_words << word
56
+ end
57
+ end
58
+
59
+ if matches.length > 0 && word_search_type == WORD_SEARCH_TYPES[:fail_on_inclusion]
60
+ # we are supposed to fail if any of the words are found
61
+ friendly_matches = matches.join(', ')
62
+ UI.verbose("😭 #{self.class.name.split('::').last ||= self.class.name} found words \"#{friendly_matches}\"")
63
+
64
+ return RuleReturn.new(validation_state: VALIDATION_STATES[:failed], failure_data: "found: #{friendly_matches}")
65
+ elsif matches.length < lowercased_words_to_look_for.length && word_search_type == WORD_SEARCH_TYPES[:fail_on_exclusion]
66
+ # we are supposed to fail if any of the words are not found (like current copyright date in the copyright field)
67
+ search_data_set = lowercased_words_to_look_for.to_set
68
+ search_data_set.subtract(matches)
69
+
70
+ missing_words = search_data_set.to_a.join(', ')
71
+ UI.verbose("😭 #{self.class.name.split('::').last ||= self.class.name} didn't find words \"#{missing_words}\"")
72
+
73
+ return RuleReturn.new(validation_state: VALIDATION_STATES[:failed], failure_data: "missing: #{missing_words}")
74
+ else
75
+ return RuleReturn.new(validation_state: VALIDATION_STATES[:passed])
76
+ end
77
+ }
78
+ end
79
+ end
80
+ end
@@ -0,0 +1 @@
1
+ Dir[File.dirname(__FILE__) + '/*.rb'].each { |file| require_relative file }
@@ -0,0 +1,37 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class CopyrightDateRule < AbstractTextMatchRule
5
+ def self.key
6
+ :copyright_date
7
+ end
8
+
9
+ def self.env_name
10
+ "RULE_COPYRIGHT_DATE"
11
+ end
12
+
13
+ def self.friendly_name
14
+ "Incorrect, or missing copyright date"
15
+ end
16
+
17
+ def self.description
18
+ "using a copyright date that is any different from this current year, or missing a date"
19
+ end
20
+
21
+ def pass_if_empty?
22
+ return false
23
+ end
24
+
25
+ def supported_fields_symbol_set
26
+ [:copyright].to_set
27
+ end
28
+
29
+ def word_search_type
30
+ WORD_SEARCH_TYPES[:fail_on_exclusion]
31
+ end
32
+
33
+ def lowercased_words_to_look_for
34
+ [DateTime.now.year.to_s]
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,62 @@
1
+ require 'digest'
2
+
3
+ require_relative '../rule'
4
+
5
+ module Precheck
6
+ class CurseWordsRule < TextRule
7
+ def self.key
8
+ :curse_words
9
+ end
10
+
11
+ def self.env_name
12
+ "RULE_CURSE_WORDS"
13
+ end
14
+
15
+ def self.friendly_name
16
+ "No curse words"
17
+ end
18
+
19
+ def self.description
20
+ "including words that might be considered objectionable"
21
+ end
22
+
23
+ def rule_block
24
+ return lambda { |text|
25
+ return RuleReturn.new(validation_state: Precheck::VALIDATION_STATES[:passed]) if text.to_s.strip.empty?
26
+ text = text.downcase
27
+ split_words = text.split
28
+ split_words_without_punctuation = text.gsub(/\W/, ' ').split
29
+
30
+ # remove punctuation and add only unique words
31
+ all_metadata_words_list = (split_words + split_words_without_punctuation).uniq
32
+ metadata_word_hashes = all_metadata_words_list.map { |word| Digest::SHA256.hexdigest(word) }
33
+ curse_hashes_set = hashed_curse_word_set
34
+
35
+ found_words = []
36
+ metadata_word_hashes.each_with_index do |word, index|
37
+ if curse_hashes_set.include?(word)
38
+ found_words << all_metadata_words_list[index]
39
+ end
40
+ end
41
+
42
+ if found_words.length > 0
43
+ friendly_found_words = found_words.join(', ')
44
+ UI.verbose("#{self.class.name.split('::').last ||= self.class.name} found potential curse words 😬")
45
+ UI.verbose("Keep in mind, these words might be ok given the context they are used in")
46
+ UI.verbose("Matched: \"#{friendly_found_words}\"")
47
+ return RuleReturn.new(validation_state: VALIDATION_STATES[:failed], failure_data: "found: #{friendly_found_words}")
48
+ else
49
+ return RuleReturn.new(validation_state: VALIDATION_STATES[:passed])
50
+ end
51
+ }
52
+ end
53
+
54
+ def hashed_curse_word_set
55
+ curse_hashes = []
56
+ File.open(File.dirname(__FILE__) + '/rules_data/curse_word_hashes/en_us.txt').each do |line|
57
+ curse_hashes << line.to_s.strip
58
+ end
59
+ return curse_hashes.to_set
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,35 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class CustomTextRule < AbstractTextMatchRule
5
+ attr_accessor :data
6
+
7
+ def self.key
8
+ :custom_text
9
+ end
10
+
11
+ def self.env_name
12
+ "RULE_CUSTOM_TEXT"
13
+ end
14
+
15
+ def self.friendly_name
16
+ "No user-specified words are included"
17
+ end
18
+
19
+ def self.description
20
+ "mentioning any of the user-specified words passed to #{self.key}(data: [words])"
21
+ end
22
+
23
+ def needs_customization?
24
+ return true
25
+ end
26
+
27
+ def lowercased_words_to_look_for
28
+ return @data
29
+ end
30
+
31
+ def customize_with_data(data: nil)
32
+ @data = data.map { |word| word.strip.downcase }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,31 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class FreeStuffIAPRule < AbstractTextMatchRule
5
+ def self.key
6
+ :free_stuff_in_iap
7
+ end
8
+
9
+ def self.env_name
10
+ "RULE_FREE_STUFF_IN_IAP"
11
+ end
12
+
13
+ def self.friendly_name
14
+ "No words indicating your IAP is free"
15
+ end
16
+
17
+ def self.description
18
+ "using text indicating that your IAP is free"
19
+ end
20
+
21
+ def supported_fields_symbol_set
22
+ [:in_app_purchase].to_set
23
+ end
24
+
25
+ def lowercased_words_to_look_for
26
+ [
27
+ "free"
28
+ ].map(&:downcase)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,33 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class FutureFunctionalityRule < AbstractTextMatchRule
5
+ def self.key
6
+ :future_functionality
7
+ end
8
+
9
+ def self.env_name
10
+ "RULE_FUTURE_FUNCTIONALITY"
11
+ end
12
+
13
+ def self.friendly_name
14
+ "No future functionality promises"
15
+ end
16
+
17
+ def self.description
18
+ "mentioning features or content that is not currently available in your app"
19
+ end
20
+
21
+ def lowercased_words_to_look_for
22
+ [
23
+ "coming soon",
24
+ "coming shortly",
25
+ "in the next release",
26
+ "arriving soon",
27
+ "arriving shortly",
28
+ "here soon",
29
+ "here shortly"
30
+ ].map(&:downcase)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,37 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class NegativeAppleSentimentRule < AbstractTextMatchRule
5
+ def self.key
6
+ :negative_apple_sentiment
7
+ end
8
+
9
+ def self.env_name
10
+ "RULE_NEGATIVE_APPLE_SENTIMENT"
11
+ end
12
+
13
+ def self.friendly_name
14
+ "No negative  sentiment"
15
+ end
16
+
17
+ def self.description
18
+ "mentioning  in a way that could be considered negative"
19
+ end
20
+
21
+ def lowercased_words_to_look_for
22
+ [
23
+ "ios",
24
+ "macos",
25
+ "safari",
26
+ "webkit",
27
+ "uikit",
28
+ "apple store"
29
+ ].map { |word| (word + " bug").downcase } +
30
+ [
31
+ "slow iphone",
32
+ "slow ipad",
33
+ "old iphone"
34
+ ]
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,43 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class OtherPlatformsRule < AbstractTextMatchRule
5
+ def self.key
6
+ :other_platforms
7
+ end
8
+
9
+ def self.env_name
10
+ "RULE_OTHER_PLATFORMS"
11
+ end
12
+
13
+ def self.friendly_name
14
+ "No mentioning  competitors"
15
+ end
16
+
17
+ def self.description
18
+ "mentioning other platforms, like Android or Blackberry"
19
+ end
20
+
21
+ def allowed_lowercased_words
22
+ [
23
+ "google analytics",
24
+ "google drive"
25
+ ]
26
+ end
27
+
28
+ def lowercased_words_to_look_for
29
+ [
30
+ "android",
31
+ "google",
32
+ "compuserve",
33
+ "windows phone",
34
+ "windows 10 mobile",
35
+ "sailfish os",
36
+ "windows universal app",
37
+ "blackberry",
38
+ "palm os",
39
+ "symbian"
40
+ ].map(&:downcase)
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,31 @@
1
+ require_relative 'abstract_text_match_rule'
2
+
3
+ module Precheck
4
+ class PlaceholderWordsRule < AbstractTextMatchRule
5
+ def self.key
6
+ :placeholder_text
7
+ end
8
+
9
+ def self.env_name
10
+ "RULE_PLACEHOLDER_TEXT_THINGS"
11
+ end
12
+
13
+ def self.friendly_name
14
+ "No placeholder text"
15
+ end
16
+
17
+ def self.description
18
+ "using placeholder text (e.g.:\"lorem ipsum\", \"text here\", etc...)"
19
+ end
20
+
21
+ def lowercased_words_to_look_for
22
+ [
23
+ "hipster ipsum",
24
+ "bacon ipsum",
25
+ "lorem ipsum",
26
+ "placeholder",
27
+ "text here"
28
+ ].map(&:downcase)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,349 @@
1
+ 6bdcd7cca5e8cfb6b4273d6ec3efad1ceaa9e973f3d595cd9803a2b10bd2bd4e
2
+ 80d5286b2d57fb0f66bd8aab0d0f4387831ecfdf67a27662e0863e912cc0db15
3
+ 85fc17f7069acd39a5c636cd0a6530651096128da447959f5e250824857dc559
4
+ e9f152ccf708f9f7c4cd428e2351b9b76692fc53a9442a3fc9379bf596819615
5
+ fd0568e53f09cd0b8050b492b142f35a94db7f4e241a217accc1b2b2a4fdb63b
6
+ 4324678cdfdb108656fa26f186f9c2e743883de3d6673861876affd019375eb9
7
+ f713587a15dc1df7c9ae2b58832d8e65cd454dc97ee744b65039e5e84b0f7689
8
+ a7cc703265a09aa0ceedbc04dd9eb59c13658c36e9cf071e1c73fbe1be651006
9
+ ebb4ec81e4481fe5d8006cdd9ff0e45da07a78b63fcf4bc92d4f8e33135f97e5
10
+ b9799a4bf1121e9fdffa2c36a43e2ab6aff7b4b72a6ab97f13a087b58148d005
11
+ f986fdad5a18a23d7346b9a9bfb9674798b96a294fe76cdc127adb5807039888
12
+ 2e3ed22ae41e2cae4afff985df9d2feea444a7b019a988cb981af02ecd0db52b
13
+ 1be3c70fe71f301d585a2b004bfe1b659281346a567d6397de1ac0cca1fa1e58
14
+ 4c54f07432f827cbec4fa224701d8eeac1027f907635d4a03267775bce6e4614
15
+ 9c7c9920804ad3135fa6484e93b656d52fe60bed1b3e4145bfcf289084e0ac60
16
+ bace38aa4d2f7ad7e434b7d3ab8540ba9955abe23782bdb1b57c238a7efd6318
17
+ ed9abe013c9efecd996605f03b9acbb51bc12e15950b9d2d25db4701e0a743ea
18
+ 85c05bf85bffc0e54bd7c0a6dbe4a08234361511fb1392289aa510b7deea65ff
19
+ d99a8f5b10509c81a0f9e74626402a6b277aaec7bfd41e90e98a30dd8c7d69e9
20
+ 706ab4c08c538ca8d87837d357c2e156ef8dae78e634c37bdc1e1bde1248d55e
21
+ 17e167888de57af1f950e127887ec133c9514714a7a031df1950cfdf3e59d18b
22
+ 6609c6c68d91d8762c3fe5380eeb577a2556967389acb079e81248e749fb162e
23
+ 65922651b3dd892e6c01a8bdd99191ab1d9e9e1dcddda7186a63eb846d2944c3
24
+ 91e2b804933e6bcbf47c74e2aacc48197183f4b38c69c255baa6e30fb5a7ea34
25
+ 39dae8a4e3fa95232cbb84556153e1ec59c7119a62cda1c7c2b3766fd3b1b329
26
+ 6ed7c1cb3df3bb672b5e97e9dc8517aced554c8e578ca4fd0812a89a34485fd7
27
+ 8a492c4f0ecf1224a318875ccfcbd08f08d79af84f8e613f22a0afad8c4b53a5
28
+ d4ff487252522978a8ff05b9495c77e9ca3cff965a1677c3b5db84e58298df99
29
+ 6bc926508d9918f1ed7d68b44542dca152be99c7cd794b58fc93053c4b680e33
30
+ a3ca065ead65f40fec52db3cedb9f3bdc6506e7a73c6b6b372787d6dc808da66
31
+ 502bc981cc085b7304c232b6c24169749e87ebd5babf1c135dbde09cae59b8ff
32
+ d8c294c1a7db259c365cebe39f4ac3f73910e0afb68cc1d706fd16d244d6a613
33
+ abfc0b5d744cf28ef3a86c16d5875116d0fdc5c64951eb3741d84ae3cddf1fa9
34
+ 9e754e041135531909822a038b0e7562a794955ce4109c5c4acd8647ed8f9bdd
35
+ b4f63d53b08d3b621de799a9436b76447e6ee84635045ca7eda05656c58a5d18
36
+ d6f3e67fd0ea4c2325b55a5b6c8dc19e932d0206f5e5e2f66245cec98900fe02
37
+ 43a2695b5c2f8d00e8c0a91ebc33104691ca8c59704415e9389bde37de36ac28
38
+ 8bed5f675f8265fba5d4cc51ac4322bbb4d148143d5f1ae61852ab0c0bf3166c
39
+ eb13c1d47ffc957dc7e48d1334e5fb972a68ca2ca313223d0f269c2bad97490f
40
+ 54d6017efc42883ed28fda9743c60af5151a5fe67acb2ae7d66c824d9af9eea8
41
+ a196e4d9877646696f9f554a05d1498419299857046f315b7d195c4f93c90371
42
+ 231e535e450b8b4b5eb77ad8088ff848c380ef30e5ed86b269c123b75f4ac4a9
43
+ 2da82d0b0440e9f83df4c55bcb0bebb01a225a907f34ab073a62845054ceace0
44
+ 9a11486d94f89dccce4211ebdfdf49431bd936f9d0198a25ed10125900b76578
45
+ 60a62a48cbea19e0def473339b09f365d6f3264aaf6e4e612da9c0aae38b7831
46
+ 567085dc6ea1d2ea62d583ed979287235356845bf09949ac13bb3bc6cbfcb167
47
+ e2993098664b4dbee92d1d1950ee44516d943113fcf22e5bf9c7f7b6832dd553
48
+ 8e7bfef9146715fca7a1503ad46e448d6d108af9033d8b9971438c1d42a21154
49
+ c26d2c7de1b57692c880befe50b774f04d12b603cfe8252f2a066018940a2e1d
50
+ eaa60e795dbc58c4ecd01f566b95efc3eb897474f83bfa1c7353145e401e1c4b
51
+ 829017291df68b04037edbc66d22d30c6399fb3ecede6fe45f0fe4c1655e1ec6
52
+ d499b93a95c69c28d2f47b61c2cde6c39c3bd28c3a0c1eade515a8a1f6f97a02
53
+ 3ccd3caca8f7ffdbf0dd2abcae433ac8c43986f859a70287a6e3700e572517c3
54
+ 5d4be736ae0aab5404899e975aef1f63691fc1e0988e27e0f00d475d7f194447
55
+ 983e346e43ed6cb12de344917da131f0d96febaa90eff40346dfa73217be2109
56
+ c6d3b0988901335e5844cf3905777ccdd87099eba04df94a23716fc64940f271
57
+ f554f9f419c4e6075a7fb812df0da8b7f0e195e69a8cd3c384adfe9e5d077fee
58
+ 26e07eeae8dc04219391e4c351e6b04f29217eaa41002c0facdb8be447d241d1
59
+ edf1c410ef275d24c143c685f7138abdd27b5f95da65e25421880c0d1f84c046
60
+ eaea5e2d746b3695f466e269d71309484b13e1b8aac880207a36d45f4f139e40
61
+ c086d1d3860ccf9c3270f94886cb4a17ad26cd79cb5bb527da951aecde6ac12d
62
+ 24076e79643c17bc37a826fd7f9381fdd822e1326bf76a8bf6ad4669d7cc0043
63
+ d146986248111351e1605003c6a795ef9daea62a31c0bb9f0fc850d6fb983dba
64
+ 055d92837a484f4deda3d6ff9f212eaf00f362edc5c8edd3eec78ba42a93cfae
65
+ 31edcf09f6893f831cd7dc8e048dc35c75411cfa3281d68dcb060f41a310eb04
66
+ 57e4f72cdc6ca4408ee174065282e3f8f25bbe0d08902208969775fcb1909ba0
67
+ 5846f9d3d3ec5d09ceb878cf4a40e006a7415cfa66e2c1e3b703f5ea7b20457a
68
+ 9a6de5325ccef35f30d6673ec41e32ad5d1ff580c11d96c4a0562e479d2d2605
69
+ dbeea5834e89c56ede31f4c2b29217238576ccdfc85245e0c059b83a72f4395f
70
+ 5b7a9a9e58ee843e5909d3f00c5f90b639838af76d5f3358b955ed538fb813c2
71
+ be5f4d1dde0bd7ce89b0a0ab5739fc6c013c0e67ec6a56f90a7063b7378fe21e
72
+ 431ceb69ede327a3f475a0066a6a483ad3203db78a103f735b5f27ec73aaa2d8
73
+ d414bb518b3ca22082aa5498b6b9455bc1212374670bc6bc20999b288663b318
74
+ 1279e8c67cf0e8af8e25b8bbd87b950c396fb8460b006a28419cc846f6c39b92
75
+ eb4289139fb8d61b9c71377437f307d51c83664e56b6b2487be2a0244c8ffc58
76
+ b6a6a1eeddd14be3f9e76f4c3fc6b819fa71a43c2c07f02470b594478d2a87a6
77
+ 299eb8bc335b43b75076c9f25f01213838657e02a7fe25da865fa11f06684b76
78
+ 0c98f3137d0f7cb834fb1f0366799f39351c5c0a846f1fe9df1f806297b75c0a
79
+ 8e1c107292512bbb9ab47cda4aee3a966b3f3c626316ee7961f9fefbbbed0986
80
+ cb5cebe77f325e85bb761382f66f2ba85c9ffda73b2ba81ca877e947615ebce4
81
+ 789d505eef4c78a1537f950ce69bb92bd62ea38e029e5e4a49d4274eb2c77b99
82
+ fa130ebb6f8dc01b58d21de6eab033a0ec845f845b8345bc1e0a3b182cadebff
83
+ 8d749a52f4d123b906ea92b0a1b5b4189ed8c3c1a2ce1e7b5c23ded48fb87b4e
84
+ 3c37a76de8251cc5cbca2790a424f4ca1d4b4eddcbe0d8c2667554cc06403f79
85
+ ecae6af52ea295206df13f865f19d48348d5dc4bdcd5f0f8666937926edf16e7
86
+ 34de7adfb216d2b8b2c212401094e095cd466c73c2a8b78ced70652b98f367fc
87
+ 4044ba5bd5a757c6e77e490ce2b07c010fd06f115dd1288ff36b036c231fce3a
88
+ 3f424f8620627c2da217046b795ff089633b6a590faa56ca0a1c18af0e425088
89
+ 943f12359b5da759e5ea610afe0b34ed5802278dc5d2e032dd2ce97ca02fbadf
90
+ 35d2d3cc595d0ca8db7937efa6f65b94639248597c0051bd8e3f577e38ffdee7
91
+ 6650418d812244b6f02264f377479fc8c3f6bccf4966d4f12d5acf35501c8eca
92
+ 37a054a54a3a9d3c5387aa8991d5e2b59eb1b1bee4c26a77fefb5faf59def1ff
93
+ 17d726daac596bf6ebcf0e6e841b8bc8b02e003f1ad93cb9ec981a3462750de7
94
+ e0ac125b48261aa6147264a4d1b270b72e25b1bbd953d83910606375b69b0503
95
+ ea0e2f785ca7e11048bbd1fede3f81624f08d82a53ebab056e769b6661cd2af0
96
+ 9ab59f65398cee08fa512a7ee48567266ee1d351e2c09a0c42114cee87c2557e
97
+ 210f096e6e1c1319a7b196872fe3abefa12f39fda4e0e9e23d2b7cde5d104f41
98
+ 81999a70da6a506fcd718ba4170a271213dd4849f227da5f8f189a3f6d3f0053
99
+ dc540b6bcc0f2234ebdc0d1620b30ba8c35521bee4c85ba6ab74654471b46c92
100
+ 6d17a9c59b65740c3cccd6733041cc1e51cd5d988d790a53830317d0fbe6a533
101
+ c88180140ba930b55cd910bd941672970e84b1e6c8150f03be491acce599634b
102
+ c53acb191c734a332f451b7e6e045baafc121b0ff1f91b64e5a26973316ec332
103
+ e07caf2600c28ffb4247a11966113e291b180a933a245979ccaae949338f1e99
104
+ ff8be6932f4e0b768de0b5e4ceb027100373bab404f4a0d7f58347184dc845e1
105
+ 0f97b6981f98becf5720df7ba7bfbec9deb8c302c417aba1e04036126790dbad
106
+ 78fd29decf28baeec9a171aa1bb976ad779537599ce5215518255a42228b0b59
107
+ a038308494ebebd64b1765c1fc1d6454b893aed98b759a5f8bbece491fe54bd3
108
+ 6710222d74d930bc26e0e4fad4c8cbcefbaac7ae7b46c63fc482ec6032c26e39
109
+ 04eb306e90d809eef7e9eed2d4ca3fca6466b60bd5a10815ba8bbc25117e13bc
110
+ 2c47da014a8e6521cced48704ba650b23866db947e01b1e73de815751223d50e
111
+ 9dae04df86aa488e1ea50c54f82d9c2bccf3577b7c77fdfe1a60a9bc43bc56a3
112
+ 4e2f93fd65e8fcd1cfada825f51f444ebdef0173292714c5c815fab8bfaa5e9d
113
+ 4dcac36b14a72c64e41b7d03638899e01ff5d9bf0f8ed822cee40e0435180b2c
114
+ 5faa72938405972a574ce3b02fb698db3a2abb30119911c4552caa5896076fa3
115
+ aeb820a10a54282f8529938d4f9bbc4aac1752254b84136d0e5c2dd832abe60a
116
+ a6e909237df113bc6c754d7472bdeb2777b4664f1739f9f4bd6f3fbfb4668665
117
+ 48b369a1aaa8e92a1f789d6f8743abd55439d4434e99450622992d58754e328d
118
+ 9558491a75cd8fa3a0f83b513fda152fba123df719ac5f77f775c9bde652f0c9
119
+ e3015bc4a7a6e9f3963244d8e43371229ac8b2411a80af898658a5d42318c867
120
+ 5ba80a4faef8090ddac95bf9031b36fd029affcbbb3d7b966687e56be0d06dbe
121
+ 08c2d9cbfd9366d9acbace759b3839c2d8b25d115e884a4cdbc2d14ba0092949
122
+ 804361b60042b12ae6c171873a2f4933ef24dbbcb6ff7c57bb497116af6aff68
123
+ a163cb9b4ebef89564918dae1883c120feffb66c6a6073663011d4ad8b70969d
124
+ e11e85e6664fd203c3ac67a706b7969d7533209b67fe0ac98a60950df567a63d
125
+ cf8820c6016bbac82eee8a8d7d4c15169092286c788121ec172cf145c200c8dc
126
+ ea606def2d08b64ea3ee1aeb099cbb20a76f923e8a005fb0e5434b642b619ccd
127
+ 0a24b5b27c3f19d7b85e06e30f5ee4c8513390d8b2df909035bfdd8d1dac621d
128
+ e6c928bea11c184f6bcc7d94bd9efabd47398709a35ce445c6e67291db5a597f
129
+ 66f37c8d87140b68cc7ddf39f797ca1212918d94a5649e1cf475ec6046319296
130
+ 2bb690823d03de32b64c578984916812644e109104113325faad6351d352f937
131
+ 4413bd3d6bc82fb36a9054ceb2613d40f54cda27b426f77fe7cb6b58f27bf515
132
+ 787b4e18e3a886e573ef2ae501b6c6947d51c22a4945b414b80908a7b57c6fbb
133
+ ede03155c7536e1a361226e34403a43f06af4c34b6f61e7c8f9ac3d1e22496a2
134
+ 341599a9c57775db81cea402aa90515ccac4d26e2df5429c0513a1019782416a
135
+ bd90c7977f68167f37fa57dfa6f5aaffafb7e6135b068f52a761429889d7d03b
136
+ 9fa47f82e58e2e5c8a3606a3db64a1e614ea1e9e1cd081b8b0e11af4b76ffcc9
137
+ a94a92fdac9d6e0a7465811bc875e0e61b5cf784f3c90505a5b2d944e6cdbd1b
138
+ 3b15a7e086ee3ca6f0e8473a0c874b2c8f5f1f8d2c5a425de5a534daabf9d5c9
139
+ 5791ac86438225e5ce3336bf7784aa314443d86e009b70161c37f02e4822228a
140
+ c5aa9b542e5639c7291e3afa633b0c8a583a3b6da097c490d2e226874b8daf71
141
+ 8ec41bc7bc5a409dc712aeff23db9a30d9dd4f723e98f5cd65324958d98c0b7f
142
+ 2b9305b756b22b26fa87a4dca893c55f39004399d579bb12bdf46b74f109a9e2
143
+ 24d1443c868fe359f811c6c7fada5fbdda0a7bd72b06639db24ad9e0b50f8683
144
+ 8b597562c8df34b25f004dac4c3d3ea1bbbdfa0f226009373ac58442884c09c2
145
+ 904166bc854e93684d7f708b2f406a1bd54acb5ab6c04036353354803fa97ae5
146
+ 25e143aa21f2d1d5e3d7e1a0a56091868def17654452f5b00d156470c1a82fe8
147
+ 808c2221b3b1e15b34930acf37b8f39de1cf8dd165aedd5394f844f6e5a71604
148
+ d4e0b60bd4654b692f47281f14ec6a52be933bc68ee7c8e27e8fb9fe3e20d155
149
+ d708a039207009d669e7946dd540fe7cf920c111c9450f57213a45759b4b0ae2
150
+ 463955ac86ca0c1f1b230c3d0677db1132966978040e1081be66506460af2147
151
+ 05349b35fb8b5b574339b5efd5875c699434d06209a8086dc9a4b3e10c053628
152
+ 89221da8a8681efb976f418a5f133c5b4d7bec11c0fea323385555ac895b9307
153
+ 0b5e7e9041ade2abcfdb7a297ad8301d88f0c4130a60160d26c081e777fabaa6
154
+ 4f0f72cd10fd00388f3ccb7f9e63fcf3a836cc096a27045c988dd2088339c526
155
+ e1d2c882be53343160070548c39202ed25871849c820445a0194074a799ac7dc
156
+ 87d772cfcf4dd26724ceb60765ad7d593fa03cfa4bd48a3027c345934f89c7f8
157
+ 0c462f1f0170b74fd885522b947ede95164441357bee36bb344a69e0fefb816f
158
+ 58d8a3b034df6a6680bad30b578052ff2d06034c321dab9584e42cd4ed7afeed
159
+ e0201e00b773f0efa64d90f2aeded7d4658e0aa61df5e54fc495a107af6fbfc9
160
+ 8dc80ee63adf38709b07baa199aa3d9f7c25b990bf3b6f76fd7d44598a178f1f
161
+ 6e8aee59d102f84330dc75b5b7f2bbfca03b01b35ea6dcedcb0a0e1515bee651
162
+ c5b16d3a41922193c33b7ba2a298a8d906e25f9628da745f008d05bbff56ff23
163
+ 6f3cf81263c21674bf647c7d750b45a7c21392a0bacdf542203f2b3152425dab
164
+ f4d4c175a9f71d24ec1e9ccf867b96461a062fee910e6164fdd8aea80eede0ed
165
+ dfc7027894e168c3292c50b5461ef8ec635a5e04874b1e13b5ad7596a98f3bda
166
+ c55be07fc18de6e7e6919151059cac4ece6d102e5dc3cbb5a0a9ff5795ca3464
167
+ dc8471b126c728c557577971fc7bfb35657f419dff1d4b85e2aae9781017b70a
168
+ cc86205781253fbae9e2e39b27c8bc91932db698e3ad292b907bb115bd0a96ca
169
+ 1b414ddbbdb42cf57ee7ffbf5efaf454e83a0f85dbfdc95d9d1000091732957d
170
+ d5abb98f953dc5989736633f816ff5d099838af12d1831776aefdeb2840a621a
171
+ 6467bc523f9ce64981a6b4d42888e42a3d90f75ea1677c5b211451e5e0140262
172
+ 920ff50308f848e6e1d0cff3bf04aaf291284c3b7af8f5328458bcd15c90b27d
173
+ 79322029119727090018f3bd0cc5be592d278057a0f90073121c3aee20e7463e
174
+ cd16accebfd660bf221245ecc81cad241a006d6ffeec3a0a810453dfd0b5ef69
175
+ b93aad9057c0e39cb3fe3e07c44aba674165a744fb03243df663a00dd71e6ff8
176
+ 18eb676c8fa616f619fc06794b85c86576ac3c29cdeca7ad3e1754ab4596cb85
177
+ e7b25e6297326d559f918f2650884e6c3541e2ecaafff7fcc7ec4e2225faf6ac
178
+ 50758caf8689ee6d3abe420691d2df076afa939cc1c54572bc609d79c5dd2a4d
179
+ d799c81cf6bbeab94c2dc7953019e5356f0d5d6305e3e877af715fb8a9f4e533
180
+ 17fa0a3e6e94bb3cd35f1052a7d5648560657c1b88fa45e1a90997b4e57c47c8
181
+ 608b5bf065f25cd1c6ac145e3bcdf0b1b6dc742a08e59ec0ce136fe5142774e9
182
+ 3f1afae32a24931c6d58e50bfe74ea4994b95d97cda42578f7f2e563c65f762d
183
+ 77d761b24e41126a805ac246e09d603f9eef053c1cebd377bdc2ca4252dcc2b8
184
+ db56b95a015cc1056e60e8e576d4f18b647db21073c6f157fe5b8553d04389c9
185
+ 8b5e7b27f6dd2fd93ad455238d667238c8ae436de07bf218a3e08be7e46c3db6
186
+ 92371422cca91fdb59492bcbfada9bb5a34558f23a09b48d211cff115ed23eab
187
+ 2b1d5c4fd9ff27aaa8a5dfccf4f09e7eb1855359adfc8839ef30d1e2d8863648
188
+ a07f9451591423465c762191b3dfb1fb76f3da98db2e9064b406682ab215ac4b
189
+ b7504f29020be68108b402d37174eaee834d6a813ea84222be48cc494d05b863
190
+ 5dc5147b5e2164841b69e5b1ca763096a8b8b7a7c902e437084d699180e6c766
191
+ d69359728436256f505b3f19fd440370500b17af156c0d25c48572c75af04a84
192
+ 7284bdfc78e17e365704319778248b19c0e88417bd4f5273bf03cb9018a34c5d
193
+ 4928ecc993a69765646bef43d64952a079dc406f985ee696ec587ca6e623f568
194
+ f77d7859b45c9db289712104679a91142344e09fe8a3019baa1504e76d638518
195
+ 4bcc6fe8a6ca897378b891a78ef0556e62a155d650c9ba68fa8b9e7056a48bb5
196
+ a67af1a9bdac8712b37c11b55f3ff8fd5153c02a3837d77cd06252b5ba64fa8e
197
+ bd84528174ba6c7754adf91a78053ef69d40d9dee4d07f078876a5eac324da68
198
+ 089f6a3455b86e5d4bec183f71d48aa54424a0fbff993d70cf67c39726e6bc8d
199
+ 0e2b2527cd53a00b0f478b4391ee4753660c4ef18aa3a24b42f737f82fae0c88
200
+ cef818f5d3e9d0cfe3713e3d4d3a65c9180c9cd82d641aefdf2f12175baf5d08
201
+ 6dd6f9886a2ba576fba217827e2f21ddaa5c531717d80d176e9a0eea9354ba7f
202
+ 4e3791927a302e08613d932aa263fec502be72f6d8a0d466d09ab44fd9460c7c
203
+ 666c76e1e37cc0d8e83e96baac93ae12b43e62cd670ef74719c1b6e52f10dbc7
204
+ cf745f77084025340899ec183210adb5a85075c042b9b36495ec8ca7452cd923
205
+ 55747576547286b610e889628b275a282f0ee916319ef219a5cf51ff94ef9179
206
+ a13faa5db02db30132e7938bef770dbb45284b39e9f28f7fdad3e574720a6c9f
207
+ ff2b20bc1caf34d4e765d0737636673c08a6bcf62317ad5317eb7857558ccf1e
208
+ a9be3d9a4c369682bec34858e5810b88af760e61fb08555d282b372040189ae2
209
+ 5f3facd8ab627927a71f17be7c6a3862c48c8c86edac5044b8d08aea3b760168
210
+ 56cc5eec55dc58c7043ac724f962e41892ef591552dd023a9b81f95958bfff63
211
+ 5412f65a35117c9c7fb85922e69611694ef44f52ed68a149e8fb6451a69409f4
212
+ c65d01c220498d2072a93a1b5fa3d0bfb2fc29e4fd553e63a354e0ea0e738589
213
+ b830586c9ca9b3cb36e8ff7186454a7da5cfd363d607cc499623ff7cb2d0e041
214
+ 5d3be6f4cfa9b115c571e168fdc05da20fb1b4b1974ec096687607420a6f229f
215
+ f38e953043c8fec840863c9c16f179399f87a7b47c9d2a98943669839c4cbd2c
216
+ 94553c000a16366cf30b47e0b55f67dd8712731f88daf2213ce638e9dd25b933
217
+ 6edc0c87e7772089b081d67a26a70c114db381a59d0f112c039a4373e96f2240
218
+ ea95279b18825124ef8888a1459384e55a7b954bbb7da90d13dd7e7e31d30513
219
+ a0376ece8d1d3fb4f6ba486e597771d7ab033a8894cfc754395b1105a5471276
220
+ 21cbb80827831ac662bf691f6c74cd9ca5ccd3cd36b59ab6230c975fd1b7c4ba
221
+ ad311bcfd222942c0982fa2a514d7fbd7c69d9c2d7fd2f1f731ce6c9017bdfa1
222
+ 16a09b7ac1d8f492b2d53aca5bff8cde13bc1d8444b88a8ed4fc885a776508b4
223
+ 6c6fc8352ba0a7706ccf42798a4fddcd4bdcd1a06346838021d5db2f4d588018
224
+ 3b7ee504db2b57f8cffbf9c7add0c2ab8c0e44678f390504decac41c0f34e8b3
225
+ 2cb2d0b0eeec9df79312eafe8c1460f289a5eb5dfe7fd7aa99d3b008a0b37812
226
+ abc872e3a322dac915e132afed9f045206fd75611900578dab39702912a8ecf2
227
+ 1a2d060ef02640b6c881d0b95cc10fb8f0a1919fccf4dcb2e440cf5016cbff6f
228
+ 56d8db18e762ac96f4df8e116ca5a0a1d4fb1e19bd13b81c77205a03bbfeb74f
229
+ a45c6988a2cf78fef04fb468137cdde496e3735de5199905e131f2758464cb57
230
+ 79d6e64de1a4cc5c94fcaccc62bb42818516d19bf83c0990393073f8578a260e
231
+ ed7cd68149c6e6633d98a481b083241e36455aeeab394fe412d2cc7b06f29c42
232
+ a013cca0b992d963fa55036fc511fd60203cc6832998ddf0e67741b3a4536180
233
+ 40626c3c0a2969c8ae347b8da8e28ade428880cbf1a28f4441757a0536da511a
234
+ 1495000e906fae0a9024e233780f28db2afee28351ef759876ff8cb475154d42
235
+ 6e22f1b8178a6ba5000ffc5293b035098d208327b8214c0a523fde849824664b
236
+ 693338c2a602d225ab08ef98bdb380d2191c838c8387d3a1ed8ed15363fe457e
237
+ bd28bb6bf002dd38cc74a92e99e2203cfa7176646b3be41f425ae0196b62f936
238
+ e2a7ee541f13f28326f0ac701d2014651896d305e47bf58d83cc169e4b6f5e68
239
+ b359dc2ae24693bd9c7d3555cba18f88275ef80d17955136a7ac14c605ddd7ac
240
+ 89688d8ef6ed17ce15544ae1503b2870176028cc92663330791f88bc832161db
241
+ 3884d94f281f62ef40f1a41f2cdc1e267af47c6c4c70174688b6146e09fc8d2e
242
+ ebd058520e665d2ed0cb1e7fe42ce8dfe2f9fad83220d21abc82fe70491bbcc4
243
+ 69a3e2452cbbef0e81695ca39c452e28ec80748f6480f53bb24907a17a8a7cb3
244
+ 1efe26da389ac03e8dfb1ec64619034e2dd85b540cd8578335fd0280f00551e8
245
+ 4210ca126a7893f64a5a691948243d61fecd112e2bba7745a77c41367d7e9f4b
246
+ a8b8e6f12515915aeab88867ab7d0420e0c66a4df3ff4f55a2696dd4e23ff9cf
247
+ d79d1b30505d431705264c46b6cbe90ac64404b88aaad6471810dd44c3630049
248
+ 7f23d42198a3b688f7094df24f17a018dde8390869212eae9d5f00cebfac6457
249
+ 71f453558de50865fb6feec836f4ed868542664afac639bc070304259418bc52
250
+ 23759a2a9feff1c0c21f83930be32be125ac488a10ea8ab9e5cae9ce35767687
251
+ 206228a1437ee5b9222c7296559d8829114403c3bad862ec2e4ede06675c92f2
252
+ 36c37dea9ff960d45ea324ac5c1515ce55fdc31e249a65cba0621c4d12d2a5e4
253
+ 7717b949bca8fb3449dca88bd334e8d81ee323adfcfa4c5c4203a063e1994816
254
+ 19d7ecb53868acb260e5c60dcba93eb5368f6690a21bc03d6a5c60aeb04afb56
255
+ 99520ec4c46758a1541b9819a99687c72fbdf5abe5610ae827388a73c36400d4
256
+ 2ab7771d4a59ce92880c5e825935a5955f9fbc6b6e79a5b6ecb3385fef85f893
257
+ caf29a27720b2e7435af9bf86e13183186f0c65dc92fb3885aa182e97cd2ac50
258
+ 9cc57f2ca39c2d81aed7e3d82af0b5711863bd3403bb8f024c4c3b4ecf9652a4
259
+ 93066aeae95cef2d8d2534f9dfd1afc406346f17ea093bffd826639eb9c61d4c
260
+ 8d1111ade647bef0b6d09807aca376530e6ea96a7e277018dcba315bc782a1c3
261
+ 5d61898c6ff287cb854c554f7b42cd12f0582b83d23eadf5ae3df616b4a7e22a
262
+ f8f6bef4cf7c4c91f125484cbb8027e73a19c1ba916c1a89ed5f6625d04e1bcd
263
+ 86be583bf001425703e1d5aa8e3149f8d5539952f84d6f457777e60c00599fca
264
+ 6e98083af0e456bf1f3cd79c110db1e8c3cc000b2f5b2760b2076ca0c327a4b6
265
+ e83ed841145697bed75db27dccafaf0744318a21ac29fc80a3b543d770e63297
266
+ 84731f74bbe5db6b89e90b58bd9d366817d01f2ff05b6eeb6ef4aa51d9a9d2a2
267
+ 1ad75da76ec23141b37aa05b91cb1124f20c656e240bbf78bd04de983372e47c
268
+ 62e5785b87b9049540b7a08421cf82f68a33cb437824699b60e8bf0a4e9b7f9d
269
+ 21c063ffab9f97eae129f0bdb0e7a339d709d8c4521e5beef0e0994fb1fd175d
270
+ 87aa80ce38affed20ba0b899fcd1bfe26a8c612503502a8dc9e0e3aa60366bb9
271
+ e379815a0f6e219565101dc769143352bea4cf4627c816e2a63290e0ac2bb81f
272
+ c12d45049a1938064e87d9ee06d566f9f88a183b9001c03234832ae6a3e7935c
273
+ 59e785f1f554c714ba520812b4f1376f5841bc24542a00235ad50d8c67e8800a
274
+ a4330d6cf67418ba1945b32f2b9107ec54ecb996a9b43ca31b133514781c393c
275
+ 091c15e25d0e0cc2e8248e9394cbda2628c9d71c810e749770cec382ff53c5db
276
+ 0b4f4062dab7f186cefec13ca73559bfd272df2194bd38d72b21ca239b58c289
277
+ a007d548d991e8c3e780d6f7dd09058d604b3926824943a34a17dd8aa71cffd2
278
+ 7d63c4e278d7950c9b968d89a16bd653018b3d84bbb668e01b0444f9f8271b2c
279
+ a18dbbe5317dc7f620377aab43455d2e0f311e9da268c02d7115e90018e71dc3
280
+ 08628e746fc356235e3c4c0c98d14b225d15ffc5585baf39262540e074547b22
281
+ 1817779382936ea6f650c5cdef48bef39eb251f14e6f85c09a1d0ffe7d2433e5
282
+ 3c2b896fba3480ba3b0ae1e8b13e2eb93a08ef9a89bc53bf8647536e866a5984
283
+ 0bc51cfe253fd0f1e98c54a511757b099368e072b0d273804f1c647c245b3e3e
284
+ e9587d5292af24f40998007bddcbedb4c6f2dedb4287c6f7e8ad34b4e76b826b
285
+ 72dc5c8416ec57763f5243257ae5aa5d0e0330775e8d8d366d877a90b2a808cd
286
+ 48152edd41b74e56130d8f6ef1038447363848bdb34ab6eb3bf3cda7079c1b02
287
+ da6cae5d935b579afafe1e6873345dfd1ce1e2167751e157c0920ba8a90e083a
288
+ d42ef95b24aa73af9b6a71e2c27c3173282502171f4007ffaf8ddf382820271d
289
+ ace6eb047f53074d8327b056e8e824f2e6159db76b983bee5fca82441ee3b988
290
+ 9346e86e908ceeabda5f20303ea93dadcf8b9c0a18e07a40616a070751a1d9bf
291
+ 6011884a59c523cd6363c639ae689ef69409f85a94877b5baa52f5f650ad514c
292
+ 4811c5c00d9af8b1bacaf4248dc3f332bf2e3cfaf9bf5f25b16d1847c721d853
293
+ 1651eb64db0840962f21ddd69e6c314529ea328d069fcfdc9f0cb613d4eb3664
294
+ 6864f6863a6bad7a78d5d561028a3d20f97319c557e87c1ae37eb09a4adf3732
295
+ 98061f199c3b8df0c314fb49a6686174993d8bb18fc31cd5d759c27f42cd6136
296
+ d66bff5c471075925830c8a16e15b7dfd2cf04a740b3be93157a50937dd4c292
297
+ 1403298b9dc439f6e31d8efc6677ea9d0c4cb7662b572eb6cb76747828de8cf3
298
+ a2c8072c171e935a89697d02a724289f8856d920b06791739ffeb5fb0f802c95
299
+ a747099e35e4a09e2c6c72ba30ea3869d90c7042b3cdd024bd361cc181af3cde
300
+ 4167973a65bb1c269989525a9e05080bc60d25e23813ac26c68324309400c6eb
301
+ 2a77ea48e69de5b64e86060995e2412a7c4172c2c55d30bc06bea7e670b22fc8
302
+ 634a24d20423eff0985bc75d5bd584bdf086ff2d91f7902ef4324280ba42b95b
303
+ 4fcad6f30bb0393196b2a35f382f1e6d64c259378636421513d25904dd222861
304
+ 645a69527f332321a3b34fc9b2e3165d233ec4e8661a2e4f5da048cbc75f080a
305
+ b19fc975ce27ac89f86a547de0e9890fb559c48aebe4decd87db32acc6b36135
306
+ 12a0144c80bb17d97212a26d0cf3f649517e99e36429b4e95e3b8aa265680407
307
+ b09cb6e5397c16181e841e6fa94d4be290fb0b4e5ae66000b2351f8c1b768eeb
308
+ 52e72568f1059995212438a51113f45124c43178d89a78fab41a0610e5373b56
309
+ ec31724a9cf4f3b75d124140e7de0dff03e5f4204f0bbdbc581ec5948fb7ab33
310
+ a1d9cf0192b1dfcfa231eea6d7bbffc0084fc689fafae5b2de4b00599f3fb884
311
+ e5c4308df9f2d9cb7993269fb8af467d38e874c01990fa39735d613fd9557a7f
312
+ 4c805f242e7b17c6cefc978b3430e5804411f16df0e2b1e643f36e38fb6d10c4
313
+ 2212ce502e792ac93d09ddee20e6da56608eebe4f9ccafc5bd24e2c361e7322d
314
+ 42a6b1bfb41204676688ed7f04f3888dbef6da3bebce5c171036801d11a39529
315
+ 7c15ef34aef487ea6528e7be8513968659f77d8b216a23865c9322ffb7d73e28
316
+ 82fcad3eb76f2c34d416f4783653626d748417098b7b78fa3f6e936335baa9c7
317
+ 6ef20e1dd1ca376589faae64f4ef1c63774135e7c3a13cda6a5b53b37ed07b65
318
+ 8c19bfd5cce56ff9f4bf97721ddfa6f3f48cd4805bd3e3a9737dacb22595e9ee
319
+ bf1658dcfee7b74b3b58303f6015e4dcf8ad9d2a5b84c9d13d9fc16bb90cbcfc
320
+ 23840bc3803d4bd7d33e3ff4e9426a98cfc3d8d990cf032ec67a67d62815572a
321
+ ddb65fb747a947d9778acafd37785b6aae5aaed8d1ca088aa5d4cbc9f560248d
322
+ c2a73cda55b65e262ad673888fac3720155fdfb1f937f3a68dac48c8f2db0f27
323
+ ecee1fe2a6df72ccdaa45bf2bb873b3ca1d5c3ef9353402337d1dc57781a1c67
324
+ db061699ee4133492c771c147ee3c85efdbce78c8a54c04819a806a0fea3b598
325
+ 36017d1e5e788948123d32d91ef5640fdc846518d51293e4e97ab488e48d06b6
326
+ dd30e46291e01b4fd75af5b328e05987955fce24aea7f3bb2ada37d37ae79e9c
327
+ 5024dfc060ce6616feb5f446d2dd6b5576cf564afd622f36a0c9d835c269130a
328
+ 5b8dd139ca8ca21d4034e7cd565f7f07b11eb096b69c705a8227bd4128d40498
329
+ 92fe712b45ec9d1b8dd3f9bc1c2f57f7606cec1c91f67de3da4cb45732c77aaa
330
+ d788fdaa8b7c8f398db503a1aca964b2634930b11697530e44a9d6edec113ef3
331
+ 70b0f301e77024ae7cc6cc5799115898cfbd452fec2030b63ab14cfd7b440ebe
332
+ 0fae55d46b29f2b3f306ddd676b76497d507c6b13dc0925bd47cea4f8f54cca1
333
+ 9d2a309a130952dd59e27342b3b8a702266c08229d25131598b106c668596a38
334
+ 11a0f0935e0c1b365f38295471b9b9a8e1081bf10a4fd91bdb41729747418964
335
+ a3c9f10315e0c26353170f2d2197eac9d4de31e3d43408bc30e8d110e344e374
336
+ af9a766ec39b2876115845c29cc6c26aa6842243803f857e5377b84654102a68
337
+ 99b7beecf4dd06ab30f4c6752cde47dfb50f872302b33fbfd41bbdb2bfd0c1ce
338
+ 4f0558e61a9fc60765975900739d885f2ff5d64d0b727b31264085bf34e96f9d
339
+ 74cb57be9186851dfdf18a9c5eb5d5e9b254c36d6f8426acf4b0c6e85d771d26
340
+ 44acd8afb631ff7612097d832b9a76b5ce669ff898abbb2379c56611389e67f0
341
+ 75e229f2d71bcab9142a5309e9b99992f0ebf51555257caaa05442147c3b272a
342
+ 3a4c982e787da5c6b12626f826db90f4ae822c93d9fc33eff7e4d2f9bdacadea
343
+ 97861fc31cfa55b43a508961bd12120e10286000f7cb8b35d4c6272bad8f24ce
344
+ f2a60e984c7c336fe337f7dfb52bcf87f04393badd4b492abd187d6663969e3a
345
+ bc8059fe9118fcf7b2c20a0bf9fdd8111942f2cb4754b45fc0b16916ab679ddb
346
+ 9f02f229004cc97cbe3e41ad839a73dab5f68d4c296dd64055317cf90dd11a1a
347
+ dab70d211b90bf5e931b5626bc558850752e107daf995bf9e8cb1a08ca7309bf
348
+ 4efb200187aa257858d45bc72b8e590bac33db176aba6576cdd6623655a5a74f
349
+ 0be9b885f4a35a18f6af6b1ac0acd7fa4b19993999c3fbf66dd1e3e0c4c753c8