secator 0.16.0__tar.gz → 0.16.1__tar.gz

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.

Potentially problematic release.


This version of secator might be problematic. Click here for more details.

Files changed (213) hide show
  1. {secator-0.16.0 → secator-0.16.1}/CHANGELOG.md +7 -0
  2. {secator-0.16.0 → secator-0.16.1}/PKG-INFO +1 -1
  3. {secator-0.16.0 → secator-0.16.1}/pyproject.toml +1 -1
  4. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/user_hunt.yaml +2 -1
  5. {secator-0.16.0 → secator-0.16.1}/secator/tasks/maigret.py +2 -2
  6. {secator-0.16.0 → secator-0.16.1}/.coderabbit.yaml +0 -0
  7. {secator-0.16.0 → secator-0.16.1}/.docker/Dockerfile.alpine +0 -0
  8. {secator-0.16.0 → secator-0.16.1}/.docker/Dockerfile.arch +0 -0
  9. {secator-0.16.0 → secator-0.16.1}/.docker/Dockerfile.debian +0 -0
  10. {secator-0.16.0 → secator-0.16.1}/.docker/Dockerfile.kali +0 -0
  11. {secator-0.16.0 → secator-0.16.1}/.docker/Dockerfile.osx +0 -0
  12. {secator-0.16.0 → secator-0.16.1}/.docker/Dockerfile.ubuntu +0 -0
  13. {secator-0.16.0 → secator-0.16.1}/.docker/build_all.sh +0 -0
  14. {secator-0.16.0 → secator-0.16.1}/.dockerignore +0 -0
  15. {secator-0.16.0 → secator-0.16.1}/.flake8 +0 -0
  16. {secator-0.16.0 → secator-0.16.1}/.gitignore +0 -0
  17. {secator-0.16.0 → secator-0.16.1}/CONTRIBUTING.md +0 -0
  18. {secator-0.16.0 → secator-0.16.1}/Dockerfile +0 -0
  19. {secator-0.16.0 → secator-0.16.1}/LICENSE +0 -0
  20. {secator-0.16.0 → secator-0.16.1}/README.md +0 -0
  21. {secator-0.16.0 → secator-0.16.1}/SECURITY.md +0 -0
  22. {secator-0.16.0 → secator-0.16.1}/cloudbuild.yaml +0 -0
  23. {secator-0.16.0 → secator-0.16.1}/helm/.helmignore +0 -0
  24. {secator-0.16.0 → secator-0.16.1}/helm/Chart.yaml +0 -0
  25. {secator-0.16.0 → secator-0.16.1}/helm/templates/redis-service.yaml +0 -0
  26. {secator-0.16.0 → secator-0.16.1}/helm/templates/redis.yaml +0 -0
  27. {secator-0.16.0 → secator-0.16.1}/helm/templates/secator-manager.yaml +0 -0
  28. {secator-0.16.0 → secator-0.16.1}/helm/templates/secator-worker.yaml +0 -0
  29. {secator-0.16.0 → secator-0.16.1}/helm/values.yaml +0 -0
  30. {secator-0.16.0 → secator-0.16.1}/scripts/download_cves.sh +0 -0
  31. {secator-0.16.0 → secator-0.16.1}/scripts/generate_tools_md_table.py +0 -0
  32. {secator-0.16.0 → secator-0.16.1}/scripts/install.sh +0 -0
  33. {secator-0.16.0 → secator-0.16.1}/scripts/install_asciinema.sh +0 -0
  34. {secator-0.16.0 → secator-0.16.1}/scripts/install_go.sh +0 -0
  35. {secator-0.16.0 → secator-0.16.1}/scripts/install_ruby.sh +0 -0
  36. {secator-0.16.0 → secator-0.16.1}/scripts/msf/exploit_cve.rc +0 -0
  37. {secator-0.16.0 → secator-0.16.1}/scripts/msf/ftp_anonymous.rc +0 -0
  38. {secator-0.16.0 → secator-0.16.1}/scripts/msf/ftp_version.rc +0 -0
  39. {secator-0.16.0 → secator-0.16.1}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
  40. {secator-0.16.0 → secator-0.16.1}/scripts/msf/redis.rc +0 -0
  41. {secator-0.16.0 → secator-0.16.1}/scripts/stories/STORY.md +0 -0
  42. {secator-0.16.0 → secator-0.16.1}/scripts/stories/aliases.sh +0 -0
  43. {secator-0.16.0 → secator-0.16.1}/scripts/stories/demo.sh +0 -0
  44. {secator-0.16.0 → secator-0.16.1}/scripts/stories/fmt.sh +0 -0
  45. {secator-0.16.0 → secator-0.16.1}/scripts/stories/input.sh +0 -0
  46. {secator-0.16.0 → secator-0.16.1}/scripts/stories/pipe.sh +0 -0
  47. {secator-0.16.0 → secator-0.16.1}/scripts/stories/short_demo.sh +0 -0
  48. {secator-0.16.0 → secator-0.16.1}/scripts/update_tools.sh +0 -0
  49. {secator-0.16.0 → secator-0.16.1}/secator/.gitignore +0 -0
  50. {secator-0.16.0 → secator-0.16.1}/secator/__init__.py +0 -0
  51. {secator-0.16.0 → secator-0.16.1}/secator/celery.py +0 -0
  52. {secator-0.16.0 → secator-0.16.1}/secator/celery_signals.py +0 -0
  53. {secator-0.16.0 → secator-0.16.1}/secator/celery_utils.py +0 -0
  54. {secator-0.16.0 → secator-0.16.1}/secator/cli.py +0 -0
  55. {secator-0.16.0 → secator-0.16.1}/secator/cli_helper.py +0 -0
  56. {secator-0.16.0 → secator-0.16.1}/secator/click.py +0 -0
  57. {secator-0.16.0 → secator-0.16.1}/secator/config.py +0 -0
  58. {secator-0.16.0 → secator-0.16.1}/secator/configs/__init__.py +0 -0
  59. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/__init__.py +0 -0
  60. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/aggressive.yaml +0 -0
  61. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/http_headless.yaml +0 -0
  62. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/http_record.yaml +0 -0
  63. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/insane.yaml +0 -0
  64. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/paranoid.yaml +0 -0
  65. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/polite.yaml +0 -0
  66. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/sneaky.yaml +0 -0
  67. {secator-0.16.0 → secator-0.16.1}/secator/configs/profiles/tor.yaml +0 -0
  68. {secator-0.16.0 → secator-0.16.1}/secator/configs/scans/__init__.py +0 -0
  69. {secator-0.16.0 → secator-0.16.1}/secator/configs/scans/domain.yaml +0 -0
  70. {secator-0.16.0 → secator-0.16.1}/secator/configs/scans/host.yaml +0 -0
  71. {secator-0.16.0 → secator-0.16.1}/secator/configs/scans/network.yaml +0 -0
  72. {secator-0.16.0 → secator-0.16.1}/secator/configs/scans/subdomain.yaml +0 -0
  73. {secator-0.16.0 → secator-0.16.1}/secator/configs/scans/url.yaml +0 -0
  74. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/__init__.py +0 -0
  75. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/cidr_recon.yaml +0 -0
  76. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/code_scan.yaml +0 -0
  77. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/host_recon.yaml +0 -0
  78. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/subdomain_recon.yaml +0 -0
  79. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/url_bypass.yaml +0 -0
  80. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/url_crawl.yaml +0 -0
  81. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/url_dirsearch.yaml +0 -0
  82. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/url_fuzz.yaml +0 -0
  83. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/url_params_fuzz.yaml +0 -0
  84. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/url_vuln.yaml +0 -0
  85. {secator-0.16.0 → secator-0.16.1}/secator/configs/workflows/wordpress.yaml +0 -0
  86. {secator-0.16.0 → secator-0.16.1}/secator/cve.py +0 -0
  87. {secator-0.16.0 → secator-0.16.1}/secator/decorators.py +0 -0
  88. {secator-0.16.0 → secator-0.16.1}/secator/definitions.py +0 -0
  89. {secator-0.16.0 → secator-0.16.1}/secator/exporters/__init__.py +0 -0
  90. {secator-0.16.0 → secator-0.16.1}/secator/exporters/_base.py +0 -0
  91. {secator-0.16.0 → secator-0.16.1}/secator/exporters/console.py +0 -0
  92. {secator-0.16.0 → secator-0.16.1}/secator/exporters/csv.py +0 -0
  93. {secator-0.16.0 → secator-0.16.1}/secator/exporters/gdrive.py +0 -0
  94. {secator-0.16.0 → secator-0.16.1}/secator/exporters/json.py +0 -0
  95. {secator-0.16.0 → secator-0.16.1}/secator/exporters/table.py +0 -0
  96. {secator-0.16.0 → secator-0.16.1}/secator/exporters/txt.py +0 -0
  97. {secator-0.16.0 → secator-0.16.1}/secator/hooks/__init__.py +0 -0
  98. {secator-0.16.0 → secator-0.16.1}/secator/hooks/gcs.py +0 -0
  99. {secator-0.16.0 → secator-0.16.1}/secator/hooks/mongodb.py +0 -0
  100. {secator-0.16.0 → secator-0.16.1}/secator/installer.py +0 -0
  101. {secator-0.16.0 → secator-0.16.1}/secator/loader.py +0 -0
  102. {secator-0.16.0 → secator-0.16.1}/secator/output_types/__init__.py +0 -0
  103. {secator-0.16.0 → secator-0.16.1}/secator/output_types/_base.py +0 -0
  104. {secator-0.16.0 → secator-0.16.1}/secator/output_types/certificate.py +0 -0
  105. {secator-0.16.0 → secator-0.16.1}/secator/output_types/error.py +0 -0
  106. {secator-0.16.0 → secator-0.16.1}/secator/output_types/exploit.py +0 -0
  107. {secator-0.16.0 → secator-0.16.1}/secator/output_types/info.py +0 -0
  108. {secator-0.16.0 → secator-0.16.1}/secator/output_types/ip.py +0 -0
  109. {secator-0.16.0 → secator-0.16.1}/secator/output_types/port.py +0 -0
  110. {secator-0.16.0 → secator-0.16.1}/secator/output_types/progress.py +0 -0
  111. {secator-0.16.0 → secator-0.16.1}/secator/output_types/record.py +0 -0
  112. {secator-0.16.0 → secator-0.16.1}/secator/output_types/stat.py +0 -0
  113. {secator-0.16.0 → secator-0.16.1}/secator/output_types/state.py +0 -0
  114. {secator-0.16.0 → secator-0.16.1}/secator/output_types/subdomain.py +0 -0
  115. {secator-0.16.0 → secator-0.16.1}/secator/output_types/tag.py +0 -0
  116. {secator-0.16.0 → secator-0.16.1}/secator/output_types/target.py +0 -0
  117. {secator-0.16.0 → secator-0.16.1}/secator/output_types/url.py +0 -0
  118. {secator-0.16.0 → secator-0.16.1}/secator/output_types/user_account.py +0 -0
  119. {secator-0.16.0 → secator-0.16.1}/secator/output_types/vulnerability.py +0 -0
  120. {secator-0.16.0 → secator-0.16.1}/secator/output_types/warning.py +0 -0
  121. {secator-0.16.0 → secator-0.16.1}/secator/report.py +0 -0
  122. {secator-0.16.0 → secator-0.16.1}/secator/rich.py +0 -0
  123. {secator-0.16.0 → secator-0.16.1}/secator/runners/__init__.py +0 -0
  124. {secator-0.16.0 → secator-0.16.1}/secator/runners/_base.py +0 -0
  125. {secator-0.16.0 → secator-0.16.1}/secator/runners/_helpers.py +0 -0
  126. {secator-0.16.0 → secator-0.16.1}/secator/runners/celery.py +0 -0
  127. {secator-0.16.0 → secator-0.16.1}/secator/runners/command.py +0 -0
  128. {secator-0.16.0 → secator-0.16.1}/secator/runners/scan.py +0 -0
  129. {secator-0.16.0 → secator-0.16.1}/secator/runners/task.py +0 -0
  130. {secator-0.16.0 → secator-0.16.1}/secator/runners/workflow.py +0 -0
  131. {secator-0.16.0 → secator-0.16.1}/secator/scans/__init__.py +0 -0
  132. {secator-0.16.0 → secator-0.16.1}/secator/serializers/__init__.py +0 -0
  133. {secator-0.16.0 → secator-0.16.1}/secator/serializers/dataclass.py +0 -0
  134. {secator-0.16.0 → secator-0.16.1}/secator/serializers/json.py +0 -0
  135. {secator-0.16.0 → secator-0.16.1}/secator/serializers/regex.py +0 -0
  136. {secator-0.16.0 → secator-0.16.1}/secator/tasks/__init__.py +0 -0
  137. {secator-0.16.0 → secator-0.16.1}/secator/tasks/_categories.py +0 -0
  138. {secator-0.16.0 → secator-0.16.1}/secator/tasks/arjun.py +0 -0
  139. {secator-0.16.0 → secator-0.16.1}/secator/tasks/bbot.py +0 -0
  140. {secator-0.16.0 → secator-0.16.1}/secator/tasks/bup.py +0 -0
  141. {secator-0.16.0 → secator-0.16.1}/secator/tasks/cariddi.py +0 -0
  142. {secator-0.16.0 → secator-0.16.1}/secator/tasks/dalfox.py +0 -0
  143. {secator-0.16.0 → secator-0.16.1}/secator/tasks/dirsearch.py +0 -0
  144. {secator-0.16.0 → secator-0.16.1}/secator/tasks/dnsx.py +0 -0
  145. {secator-0.16.0 → secator-0.16.1}/secator/tasks/feroxbuster.py +0 -0
  146. {secator-0.16.0 → secator-0.16.1}/secator/tasks/ffuf.py +0 -0
  147. {secator-0.16.0 → secator-0.16.1}/secator/tasks/fping.py +0 -0
  148. {secator-0.16.0 → secator-0.16.1}/secator/tasks/gau.py +0 -0
  149. {secator-0.16.0 → secator-0.16.1}/secator/tasks/gf.py +0 -0
  150. {secator-0.16.0 → secator-0.16.1}/secator/tasks/gitleaks.py +0 -0
  151. {secator-0.16.0 → secator-0.16.1}/secator/tasks/gospider.py +0 -0
  152. {secator-0.16.0 → secator-0.16.1}/secator/tasks/grype.py +0 -0
  153. {secator-0.16.0 → secator-0.16.1}/secator/tasks/h8mail.py +0 -0
  154. {secator-0.16.0 → secator-0.16.1}/secator/tasks/httpx.py +0 -0
  155. {secator-0.16.0 → secator-0.16.1}/secator/tasks/katana.py +0 -0
  156. {secator-0.16.0 → secator-0.16.1}/secator/tasks/mapcidr.py +0 -0
  157. {secator-0.16.0 → secator-0.16.1}/secator/tasks/msfconsole.py +0 -0
  158. {secator-0.16.0 → secator-0.16.1}/secator/tasks/naabu.py +0 -0
  159. {secator-0.16.0 → secator-0.16.1}/secator/tasks/nmap.py +0 -0
  160. {secator-0.16.0 → secator-0.16.1}/secator/tasks/nuclei.py +0 -0
  161. {secator-0.16.0 → secator-0.16.1}/secator/tasks/searchsploit.py +0 -0
  162. {secator-0.16.0 → secator-0.16.1}/secator/tasks/subfinder.py +0 -0
  163. {secator-0.16.0 → secator-0.16.1}/secator/tasks/testssl.py +0 -0
  164. {secator-0.16.0 → secator-0.16.1}/secator/tasks/trivy.py +0 -0
  165. {secator-0.16.0 → secator-0.16.1}/secator/tasks/wafw00f.py +0 -0
  166. {secator-0.16.0 → secator-0.16.1}/secator/tasks/wpprobe.py +0 -0
  167. {secator-0.16.0 → secator-0.16.1}/secator/tasks/wpscan.py +0 -0
  168. {secator-0.16.0 → secator-0.16.1}/secator/template.py +0 -0
  169. {secator-0.16.0 → secator-0.16.1}/secator/thread.py +0 -0
  170. {secator-0.16.0 → secator-0.16.1}/secator/tree.py +0 -0
  171. {secator-0.16.0 → secator-0.16.1}/secator/utils.py +0 -0
  172. {secator-0.16.0 → secator-0.16.1}/secator/utils_test.py +0 -0
  173. {secator-0.16.0 → secator-0.16.1}/secator/workflows/__init__.py +0 -0
  174. {secator-0.16.0 → secator-0.16.1}/tests/__init__.py +0 -0
  175. {secator-0.16.0 → secator-0.16.1}/tests/fixtures/h8mail_breach.txt +0 -0
  176. {secator-0.16.0 → secator-0.16.1}/tests/fixtures/ls.py +0 -0
  177. {secator-0.16.0 → secator-0.16.1}/tests/fixtures/msfconsole_input.rc +0 -0
  178. {secator-0.16.0 → secator-0.16.1}/tests/fixtures/nmap_output.xml +0 -0
  179. {secator-0.16.0 → secator-0.16.1}/tests/integration/__init__.py +0 -0
  180. {secator-0.16.0 → secator-0.16.1}/tests/integration/all.yaml +0 -0
  181. {secator-0.16.0 → secator-0.16.1}/tests/integration/inputs.py +0 -0
  182. {secator-0.16.0 → secator-0.16.1}/tests/integration/outputs.py +0 -0
  183. {secator-0.16.0 → secator-0.16.1}/tests/integration/setup.sh +0 -0
  184. {secator-0.16.0 → secator-0.16.1}/tests/integration/teardown.sh +0 -0
  185. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_addons.py +0 -0
  186. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_celery.py +0 -0
  187. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_scans.py +0 -0
  188. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_tasks.py +0 -0
  189. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_tasks_categories.py +0 -0
  190. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_worker.py +0 -0
  191. {secator-0.16.0 → secator-0.16.1}/tests/integration/test_workflows.py +0 -0
  192. {secator-0.16.0 → secator-0.16.1}/tests/integration/wordlist.txt +0 -0
  193. {secator-0.16.0 → secator-0.16.1}/tests/integration/wordlist_dns.txt +0 -0
  194. {secator-0.16.0 → secator-0.16.1}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
  195. {secator-0.16.0 → secator-0.16.1}/tests/integration/wordpress_toolbox/Makefile +0 -0
  196. {secator-0.16.0 → secator-0.16.1}/tests/performance/__init__.py +0 -0
  197. {secator-0.16.0 → secator-0.16.1}/tests/performance/loadtester.py +0 -0
  198. {secator-0.16.0 → secator-0.16.1}/tests/performance/test_worker.py +0 -0
  199. {secator-0.16.0 → secator-0.16.1}/tests/template/test_templates.py +0 -0
  200. {secator-0.16.0 → secator-0.16.1}/tests/unit/__init__.py +0 -0
  201. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_celery.py +0 -0
  202. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_cli.py +0 -0
  203. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_command.py +0 -0
  204. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_config.py +0 -0
  205. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_offline.py +0 -0
  206. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_runners.py +0 -0
  207. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_runners_helpers.py +0 -0
  208. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_scans.py +0 -0
  209. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_serializers.py +0 -0
  210. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_tasks.py +0 -0
  211. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_tasks_categories.py +0 -0
  212. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_template.py +0 -0
  213. {secator-0.16.0 → secator-0.16.1}/tests/unit/test_utils.py +0 -0
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.16.1](https://github.com/freelabz/secator/compare/v0.16.0...v0.16.1) (2025-06-05)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * maigret output types ([#683](https://github.com/freelabz/secator/issues/683)) ([c3d9193](https://github.com/freelabz/secator/commit/c3d9193662a4272084fa636ad5ac815eddb6afc3))
9
+
3
10
  ## [0.16.0](https://github.com/freelabz/secator/compare/v0.15.1...v0.16.0) (2025-06-05)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: secator
3
- Version: 0.16.0
3
+ Version: 0.16.1
4
4
  Summary: The pentester's swiss knife.
5
5
  Project-URL: Homepage, https://github.com/freelabz/secator
6
6
  Project-URL: Issues, https://github.com/freelabz/secator/issues
@@ -4,7 +4,7 @@ build-backend = 'hatchling.build'
4
4
 
5
5
  [project]
6
6
  name = 'secator'
7
- version = "0.16.0"
7
+ version = "0.16.1"
8
8
  authors = [{ name = 'FreeLabz', email = 'sales@freelabz.com' }]
9
9
  readme = 'README.md'
10
10
  description = "The pentester's swiss knife."
@@ -4,7 +4,8 @@ alias: userhunt
4
4
  description: User account search
5
5
  tags: [user_account]
6
6
  input_types:
7
- - username
7
+ - slug
8
+ - string
8
9
 
9
10
  tasks:
10
11
  maigret:
@@ -6,7 +6,7 @@ import re
6
6
  from secator.decorators import task
7
7
  from secator.definitions import (DELAY, EXTRA_DATA, OPT_NOT_SUPPORTED, OUTPUT_PATH, PROXY,
8
8
  RATE_LIMIT, RETRIES, SITE_NAME, THREADS,
9
- TIMEOUT, URL, STRING)
9
+ TIMEOUT, URL, STRING, SLUG)
10
10
  from secator.output_types import UserAccount, Info, Error
11
11
  from secator.tasks._categories import ReconUser
12
12
 
@@ -17,7 +17,7 @@ logger = logging.getLogger(__name__)
17
17
  class maigret(ReconUser):
18
18
  """Collect a dossier on a person by username."""
19
19
  cmd = 'maigret'
20
- input_types = [STRING]
20
+ input_types = [SLUG, STRING]
21
21
  output_types = [UserAccount]
22
22
  tags = ['user', 'recon', 'username']
23
23
  file_flag = None
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes