supplier-meesho.webflow 1.0.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.

Potentially problematic release.


This version of supplier-meesho.webflow might be problematic. Click here for more details.

Files changed (1074) hide show
  1. package/.localized +0 -0
  2. package/2.sh +1 -0
  3. package/Complaince.pdf +0 -0
  4. package/GitRepos/CircleIndicator/.idea/caches/build_file_checksums.ser +0 -0
  5. package/GitRepos/CircleIndicator/.idea/caches/gradle_models.ser +0 -0
  6. package/GitRepos/CircleIndicator/.idea/checkstyle-idea.xml +16 -0
  7. package/GitRepos/CircleIndicator/.idea/compiler.xml +21 -0
  8. package/GitRepos/CircleIndicator/.idea/copyright/profiles_settings.xml +3 -0
  9. package/GitRepos/CircleIndicator/.idea/encodings.xml +6 -0
  10. package/GitRepos/CircleIndicator/.idea/gradle.xml +23 -0
  11. package/GitRepos/CircleIndicator/.idea/misc.xml +93 -0
  12. package/GitRepos/CircleIndicator/.idea/modules.xml +11 -0
  13. package/GitRepos/CircleIndicator/.idea/runConfigurations.xml +12 -0
  14. package/GitRepos/CircleIndicator/.idea/vcs.xml +6 -0
  15. package/GitRepos/CircleIndicator/CHANGELOG.md +62 -0
  16. package/GitRepos/CircleIndicator/LoopingViewPager/README.md +4 -0
  17. package/GitRepos/CircleIndicator/LoopingViewPager/build.gradle +22 -0
  18. package/GitRepos/CircleIndicator/LoopingViewPager/proguard-rules.pro +17 -0
  19. package/GitRepos/CircleIndicator/LoopingViewPager/src/main/AndroidManifest.xml +5 -0
  20. package/GitRepos/CircleIndicator/LoopingViewPager/src/main/java/com/imbryk/viewPager/LoopPagerAdapterWrapper.java +168 -0
  21. package/GitRepos/CircleIndicator/LoopingViewPager/src/main/java/com/imbryk/viewPager/LoopViewPager.java +208 -0
  22. package/GitRepos/CircleIndicator/README.md +73 -0
  23. package/GitRepos/CircleIndicator/apk/sample.apk +0 -0
  24. package/GitRepos/CircleIndicator/build.gradle +20 -0
  25. package/GitRepos/CircleIndicator/circleindicator/build.gradle +30 -0
  26. package/GitRepos/CircleIndicator/circleindicator/gradle.properties +22 -0
  27. package/GitRepos/CircleIndicator/circleindicator/proguard-rules.pro +17 -0
  28. package/GitRepos/CircleIndicator/circleindicator/src/main/AndroidManifest.xml +5 -0
  29. package/GitRepos/CircleIndicator/circleindicator/src/main/java/me/relex/circleindicator/CircleIndicator.java +323 -0
  30. package/GitRepos/CircleIndicator/circleindicator/src/main/java/me/relex/circleindicator/SnackbarBehavior.java +45 -0
  31. package/GitRepos/CircleIndicator/circleindicator/src/main/res/animator/scale_with_alpha.xml +22 -0
  32. package/GitRepos/CircleIndicator/circleindicator/src/main/res/drawable/white_radius.xml +6 -0
  33. package/GitRepos/CircleIndicator/circleindicator/src/main/res/values/attrs.xml +60 -0
  34. package/GitRepos/CircleIndicator/circleindicator/upload-jcenter.gradle +67 -0
  35. package/GitRepos/CircleIndicator/circleindicator/upload-maven.gradle +55 -0
  36. package/GitRepos/CircleIndicator/gradle/wrapper/gradle-wrapper.jar +0 -0
  37. package/GitRepos/CircleIndicator/gradle/wrapper/gradle-wrapper.properties +6 -0
  38. package/GitRepos/CircleIndicator/gradle.properties +18 -0
  39. package/GitRepos/CircleIndicator/gradlew +164 -0
  40. package/GitRepos/CircleIndicator/gradlew.bat +90 -0
  41. package/GitRepos/CircleIndicator/sample/build.gradle +32 -0
  42. package/GitRepos/CircleIndicator/sample/proguard-rules.pro +17 -0
  43. package/GitRepos/CircleIndicator/sample/src/main/AndroidManifest.xml +23 -0
  44. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/SampleActivity.java +158 -0
  45. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/SamplePagerAdapter.java +59 -0
  46. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/ChangeColorFragment.java +28 -0
  47. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/CustomAnimationFragment.java +28 -0
  48. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/DefaultFragment.java +29 -0
  49. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/DynamicAdapterFragment.java +52 -0
  50. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/LoopViewPagerFragment.java +28 -0
  51. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/ResetAdapterFragment.java +41 -0
  52. package/GitRepos/CircleIndicator/sample/src/main/java/me/relex/circleindicator/sample/fragment/SnackbarBehaviorFragment.java +44 -0
  53. package/GitRepos/CircleIndicator/sample/src/main/res/animator/indicator_animator.xml +16 -0
  54. package/GitRepos/CircleIndicator/sample/src/main/res/animator/indicator_animator_reverse.xml +10 -0
  55. package/GitRepos/CircleIndicator/sample/src/main/res/animator/indicator_no_animator.xml +4 -0
  56. package/GitRepos/CircleIndicator/sample/src/main/res/drawable/black_radius.xml +8 -0
  57. package/GitRepos/CircleIndicator/sample/src/main/res/drawable/black_radius_square.xml +7 -0
  58. package/GitRepos/CircleIndicator/sample/src/main/res/drawable/white_radius.xml +6 -0
  59. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-hdpi/ic_launcher.png +0 -0
  60. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-mdpi/ic_launcher.png +0 -0
  61. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-xhdpi/ic_launcher.png +0 -0
  62. package/GitRepos/CircleIndicator/sample/src/main/res/drawable-xxhdpi/ic_launcher.png +0 -0
  63. package/GitRepos/CircleIndicator/sample/src/main/res/layout/activity_sample.xml +22 -0
  64. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_change_color.xml +21 -0
  65. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_custom_animation.xml +26 -0
  66. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_default.xml +18 -0
  67. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_dynamic_adapter.xml +34 -0
  68. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_loop_viewpager.xml +18 -0
  69. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_reset_adapter.xml +27 -0
  70. package/GitRepos/CircleIndicator/sample/src/main/res/layout/fragment_sample_snackbar_behavior.xml +28 -0
  71. package/GitRepos/CircleIndicator/sample/src/main/res/layout/item_view.xml +2 -0
  72. package/GitRepos/CircleIndicator/sample/src/main/res/layout/viewpager_activity.xml +74 -0
  73. package/GitRepos/CircleIndicator/sample/src/main/res/values/array.xml +10 -0
  74. package/GitRepos/CircleIndicator/sample/src/main/res/values/colors.xml +19 -0
  75. package/GitRepos/CircleIndicator/sample/src/main/res/values/ids.xml +17 -0
  76. package/GitRepos/CircleIndicator/sample/src/main/res/values/strings.xml +9 -0
  77. package/GitRepos/CircleIndicator/sample/src/main/res/values/styles.xml +26 -0
  78. package/GitRepos/CircleIndicator/screenshot.gif +0 -0
  79. package/GitRepos/CircleIndicator/settings.gradle +1 -0
  80. package/GitRepos/Time/.travis.yml +14 -0
  81. package/GitRepos/Time/LICENSE.md +22 -0
  82. package/GitRepos/Time/README.md +269 -0
  83. package/GitRepos/Time/build.gradle +23 -0
  84. package/GitRepos/Time/gradle/wrapper/gradle-wrapper.jar +0 -0
  85. package/GitRepos/Time/gradle/wrapper/gradle-wrapper.properties +6 -0
  86. package/GitRepos/Time/gradlew +172 -0
  87. package/GitRepos/Time/gradlew.bat +84 -0
  88. package/GitRepos/Time/settings.gradle +3 -0
  89. package/GitRepos/Time/time/build.gradle +20 -0
  90. package/GitRepos/Time/time/src/main/kotlin/com/kizitonwose/time/Extensions.kt +65 -0
  91. package/GitRepos/Time/time/src/main/kotlin/com/kizitonwose/time/Time.kt +143 -0
  92. package/GitRepos/Time/time/src/test/kotlin/com/kizitonwose/time/TimeTest.kt +110 -0
  93. package/GitRepos/Time/time-android/build.gradle +38 -0
  94. package/GitRepos/Time/time-android/proguard-rules.pro +21 -0
  95. package/GitRepos/Time/time-android/src/main/AndroidManifest.xml +2 -0
  96. package/GitRepos/Time/time-android/src/main/kotlin/com/kizitonwose/timeandroid/AndroidExtensions.kt +15 -0
  97. package/GitRepos/Time/time-android/src/main/res/values/strings.xml +3 -0
  98. package/GitRepos/black/.coveragerc +9 -0
  99. package/GitRepos/black/.flake8 +7 -0
  100. package/GitRepos/black/.github/CODE_OF_CONDUCT.md +11 -0
  101. package/GitRepos/black/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  102. package/GitRepos/black/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  103. package/GitRepos/black/.github/ISSUE_TEMPLATE/style_issue.md +29 -0
  104. package/GitRepos/black/.github/workflows/changelog.yml +21 -0
  105. package/GitRepos/black/.github/workflows/doc.yml +30 -0
  106. package/GitRepos/black/.github/workflows/docker.yml +43 -0
  107. package/GitRepos/black/.github/workflows/fuzz.yml +35 -0
  108. package/GitRepos/black/.github/workflows/lint.yml +28 -0
  109. package/GitRepos/black/.github/workflows/primer.yml +47 -0
  110. package/GitRepos/black/.github/workflows/pypi_upload.yml +31 -0
  111. package/GitRepos/black/.github/workflows/test.yml +76 -0
  112. package/GitRepos/black/.github/workflows/upload_binary.yml +51 -0
  113. package/GitRepos/black/.pre-commit-config.yaml +30 -0
  114. package/GitRepos/black/.pre-commit-hooks.yaml +9 -0
  115. package/GitRepos/black/.prettierrc.yaml +3 -0
  116. package/GitRepos/black/.readthedocs.yaml +14 -0
  117. package/GitRepos/black/AUTHORS.md +184 -0
  118. package/GitRepos/black/CHANGES.md +648 -0
  119. package/GitRepos/black/CONTRIBUTING.md +10 -0
  120. package/GitRepos/black/Dockerfile +14 -0
  121. package/GitRepos/black/LICENSE +21 -0
  122. package/GitRepos/black/Pipfile +36 -0
  123. package/GitRepos/black/Pipfile.lock +1308 -0
  124. package/GitRepos/black/README.md +220 -0
  125. package/GitRepos/black/action/Dockerfile +10 -0
  126. package/GitRepos/black/action/entrypoint.sh +9 -0
  127. package/GitRepos/black/action.yml +24 -0
  128. package/GitRepos/black/autoload/black.vim +172 -0
  129. package/GitRepos/black/docs/Makefile +20 -0
  130. package/GitRepos/black/docs/_static/custom.css +38 -0
  131. package/GitRepos/black/docs/_static/license.svg +1 -0
  132. package/GitRepos/black/docs/_static/logo2-readme.png +0 -0
  133. package/GitRepos/black/docs/_static/logo2.png +0 -0
  134. package/GitRepos/black/docs/_static/pypi_template.svg +1 -0
  135. package/GitRepos/black/docs/compatible_configs/flake8/.flake8 +3 -0
  136. package/GitRepos/black/docs/compatible_configs/flake8/setup.cfg +3 -0
  137. package/GitRepos/black/docs/compatible_configs/flake8/tox.ini +3 -0
  138. package/GitRepos/black/docs/compatible_configs/isort/.editorconfig +2 -0
  139. package/GitRepos/black/docs/compatible_configs/isort/.isort.cfg +2 -0
  140. package/GitRepos/black/docs/compatible_configs/isort/pyproject.toml +2 -0
  141. package/GitRepos/black/docs/compatible_configs/isort/setup.cfg +2 -0
  142. package/GitRepos/black/docs/compatible_configs/pylint/pylintrc +5 -0
  143. package/GitRepos/black/docs/compatible_configs/pylint/pyproject.toml +5 -0
  144. package/GitRepos/black/docs/compatible_configs/pylint/setup.cfg +5 -0
  145. package/GitRepos/black/docs/conf.py +227 -0
  146. package/GitRepos/black/docs/contributing/gauging_changes.md +42 -0
  147. package/GitRepos/black/docs/contributing/index.rst +42 -0
  148. package/GitRepos/black/docs/contributing/issue_triage.md +169 -0
  149. package/GitRepos/black/docs/contributing/reference/reference_classes.rst +76 -0
  150. package/GitRepos/black/docs/contributing/reference/reference_exceptions.rst +12 -0
  151. package/GitRepos/black/docs/contributing/reference/reference_functions.rst +178 -0
  152. package/GitRepos/black/docs/contributing/reference/reference_summary.rst +16 -0
  153. package/GitRepos/black/docs/contributing/release_process.md +89 -0
  154. package/GitRepos/black/docs/contributing/the_basics.md +101 -0
  155. package/GitRepos/black/docs/getting_started.md +49 -0
  156. package/GitRepos/black/docs/guides/index.rst +14 -0
  157. package/GitRepos/black/docs/guides/introducing_black_to_your_project.md +50 -0
  158. package/GitRepos/black/docs/guides/using_black_with_other_tools.md +278 -0
  159. package/GitRepos/black/docs/index.rst +120 -0
  160. package/GitRepos/black/docs/integrations/editors.md +326 -0
  161. package/GitRepos/black/docs/integrations/github_actions.md +35 -0
  162. package/GitRepos/black/docs/integrations/index.rst +28 -0
  163. package/GitRepos/black/docs/integrations/source_version_control.md +14 -0
  164. package/GitRepos/black/docs/license.rst +6 -0
  165. package/GitRepos/black/docs/make.bat +36 -0
  166. package/GitRepos/black/docs/requirements.txt +6 -0
  167. package/GitRepos/black/docs/the_black_code_style/current_style.md +456 -0
  168. package/GitRepos/black/docs/the_black_code_style/future_style.md +35 -0
  169. package/GitRepos/black/docs/the_black_code_style/index.rst +19 -0
  170. package/GitRepos/black/docs/usage_and_configuration/black_as_a_server.md +78 -0
  171. package/GitRepos/black/docs/usage_and_configuration/file_collection_and_discovery.md +36 -0
  172. package/GitRepos/black/docs/usage_and_configuration/index.rst +24 -0
  173. package/GitRepos/black/docs/usage_and_configuration/the_basics.md +286 -0
  174. package/GitRepos/black/fuzz.py +85 -0
  175. package/GitRepos/black/gallery/Dockerfile +11 -0
  176. package/GitRepos/black/gallery/README.md +45 -0
  177. package/GitRepos/black/gallery/gallery.py +307 -0
  178. package/GitRepos/black/mypy.ini +39 -0
  179. package/GitRepos/black/plugin/black.vim +60 -0
  180. package/GitRepos/black/profiling/dict_big.py +8001 -0
  181. package/GitRepos/black/profiling/dict_huge.py +41440 -0
  182. package/GitRepos/black/profiling/list_big.py +4000 -0
  183. package/GitRepos/black/profiling/list_huge.py +22431 -0
  184. package/GitRepos/black/profiling/mix_big.py +1002 -0
  185. package/GitRepos/black/profiling/mix_huge.py +7692 -0
  186. package/GitRepos/black/profiling/mix_small.py +102 -0
  187. package/GitRepos/black/pyproject.toml +34 -0
  188. package/GitRepos/black/setup.cfg +2 -0
  189. package/GitRepos/black/setup.py +113 -0
  190. package/GitRepos/black/src/black/__init__.py +1062 -0
  191. package/GitRepos/black/src/black/__main__.py +3 -0
  192. package/GitRepos/black/src/black/brackets.py +334 -0
  193. package/GitRepos/black/src/black/cache.py +83 -0
  194. package/GitRepos/black/src/black/comments.py +269 -0
  195. package/GitRepos/black/src/black/concurrency.py +39 -0
  196. package/GitRepos/black/src/black/const.py +4 -0
  197. package/GitRepos/black/src/black/debug.py +48 -0
  198. package/GitRepos/black/src/black/files.py +243 -0
  199. package/GitRepos/black/src/black/linegen.py +984 -0
  200. package/GitRepos/black/src/black/lines.py +734 -0
  201. package/GitRepos/black/src/black/mode.py +123 -0
  202. package/GitRepos/black/src/black/nodes.py +843 -0
  203. package/GitRepos/black/src/black/numerics.py +65 -0
  204. package/GitRepos/black/src/black/output.py +83 -0
  205. package/GitRepos/black/src/black/parsing.py +215 -0
  206. package/GitRepos/black/src/black/py.typed +1 -0
  207. package/GitRepos/black/src/black/report.py +100 -0
  208. package/GitRepos/black/src/black/rusty.py +28 -0
  209. package/GitRepos/black/src/black/strings.py +216 -0
  210. package/GitRepos/black/src/black/trans.py +1925 -0
  211. package/GitRepos/black/src/black_primer/cli.py +147 -0
  212. package/GitRepos/black/src/black_primer/lib.py +361 -0
  213. package/GitRepos/black/src/black_primer/primer.json +143 -0
  214. package/GitRepos/black/src/blackd/__init__.py +211 -0
  215. package/GitRepos/black/src/blib2to3/Grammar.txt +215 -0
  216. package/GitRepos/black/src/blib2to3/LICENSE +254 -0
  217. package/GitRepos/black/src/blib2to3/PatternGrammar.txt +28 -0
  218. package/GitRepos/black/src/blib2to3/README +16 -0
  219. package/GitRepos/black/src/blib2to3/__init__.py +1 -0
  220. package/GitRepos/black/src/blib2to3/pgen2/__init__.py +4 -0
  221. package/GitRepos/black/src/blib2to3/pgen2/conv.py +256 -0
  222. package/GitRepos/black/src/blib2to3/pgen2/driver.py +253 -0
  223. package/GitRepos/black/src/blib2to3/pgen2/grammar.py +223 -0
  224. package/GitRepos/black/src/blib2to3/pgen2/literals.py +68 -0
  225. package/GitRepos/black/src/blib2to3/pgen2/parse.py +235 -0
  226. package/GitRepos/black/src/blib2to3/pgen2/pgen.py +428 -0
  227. package/GitRepos/black/src/blib2to3/pgen2/token.py +94 -0
  228. package/GitRepos/black/src/blib2to3/pgen2/tokenize.py +681 -0
  229. package/GitRepos/black/src/blib2to3/pygram.py +197 -0
  230. package/GitRepos/black/src/blib2to3/pytree.py +980 -0
  231. package/GitRepos/black/test_requirements.txt +9 -0
  232. package/GitRepos/black/tests/__init__.py +0 -0
  233. package/GitRepos/black/tests/conftest.py +1 -0
  234. package/GitRepos/black/tests/data/async_as_identifier.py +49 -0
  235. package/GitRepos/black/tests/data/beginning_backslash.py +12 -0
  236. package/GitRepos/black/tests/data/blackd_diff.diff +13 -0
  237. package/GitRepos/black/tests/data/blackd_diff.py +6 -0
  238. package/GitRepos/black/tests/data/bracketmatch.py +15 -0
  239. package/GitRepos/black/tests/data/cantfit.py +107 -0
  240. package/GitRepos/black/tests/data/class_blank_parentheses.py +58 -0
  241. package/GitRepos/black/tests/data/class_methods_new_line.py +270 -0
  242. package/GitRepos/black/tests/data/collections.py +174 -0
  243. package/GitRepos/black/tests/data/comment_after_escaped_newline.py +18 -0
  244. package/GitRepos/black/tests/data/comments.py +96 -0
  245. package/GitRepos/black/tests/data/comments2.py +342 -0
  246. package/GitRepos/black/tests/data/comments3.py +47 -0
  247. package/GitRepos/black/tests/data/comments4.py +94 -0
  248. package/GitRepos/black/tests/data/comments5.py +71 -0
  249. package/GitRepos/black/tests/data/comments6.py +118 -0
  250. package/GitRepos/black/tests/data/comments7.py +271 -0
  251. package/GitRepos/black/tests/data/comments_non_breaking_space.py +44 -0
  252. package/GitRepos/black/tests/data/composition.py +181 -0
  253. package/GitRepos/black/tests/data/composition_no_trailing_comma.py +367 -0
  254. package/GitRepos/black/tests/data/debug_visitor.out +810 -0
  255. package/GitRepos/black/tests/data/debug_visitor.py +32 -0
  256. package/GitRepos/black/tests/data/decorators.py +182 -0
  257. package/GitRepos/black/tests/data/docstring.py +377 -0
  258. package/GitRepos/black/tests/data/docstring_no_string_normalization.py +249 -0
  259. package/GitRepos/black/tests/data/empty_lines.py +187 -0
  260. package/GitRepos/black/tests/data/empty_pyproject.toml +2 -0
  261. package/GitRepos/black/tests/data/expression.diff +447 -0
  262. package/GitRepos/black/tests/data/expression.py +630 -0
  263. package/GitRepos/black/tests/data/expression_skip_magic_trailing_comma.diff +428 -0
  264. package/GitRepos/black/tests/data/fmtonoff.py +413 -0
  265. package/GitRepos/black/tests/data/fmtonoff2.py +40 -0
  266. package/GitRepos/black/tests/data/fmtonoff3.py +35 -0
  267. package/GitRepos/black/tests/data/fmtonoff4.py +36 -0
  268. package/GitRepos/black/tests/data/fmtskip.py +3 -0
  269. package/GitRepos/black/tests/data/fmtskip2.py +17 -0
  270. package/GitRepos/black/tests/data/fmtskip3.py +20 -0
  271. package/GitRepos/black/tests/data/fmtskip4.py +13 -0
  272. package/GitRepos/black/tests/data/fmtskip5.py +22 -0
  273. package/GitRepos/black/tests/data/force_py36.py +16 -0
  274. package/GitRepos/black/tests/data/force_pyi.py +65 -0
  275. package/GitRepos/black/tests/data/fstring.py +21 -0
  276. package/GitRepos/black/tests/data/function.py +247 -0
  277. package/GitRepos/black/tests/data/function2.py +58 -0
  278. package/GitRepos/black/tests/data/function_trailing_comma.py +88 -0
  279. package/GitRepos/black/tests/data/import_spacing.py +118 -0
  280. package/GitRepos/black/tests/data/include_exclude_tests/b/.definitely_exclude/a.pie +0 -0
  281. package/GitRepos/black/tests/data/include_exclude_tests/b/.definitely_exclude/a.py +0 -0
  282. package/GitRepos/black/tests/data/include_exclude_tests/b/.definitely_exclude/a.pyi +0 -0
  283. package/GitRepos/black/tests/data/include_exclude_tests/b/dont_exclude/a.pie +0 -0
  284. package/GitRepos/black/tests/data/include_exclude_tests/b/dont_exclude/a.py +0 -0
  285. package/GitRepos/black/tests/data/include_exclude_tests/b/dont_exclude/a.pyi +0 -0
  286. package/GitRepos/black/tests/data/include_exclude_tests/b/exclude/a.pie +0 -0
  287. package/GitRepos/black/tests/data/include_exclude_tests/b/exclude/a.py +0 -0
  288. package/GitRepos/black/tests/data/include_exclude_tests/b/exclude/a.pyi +0 -0
  289. package/GitRepos/black/tests/data/include_exclude_tests/pyproject.toml +3 -0
  290. package/GitRepos/black/tests/data/long_strings.py +589 -0
  291. package/GitRepos/black/tests/data/long_strings__edge_case.py +110 -0
  292. package/GitRepos/black/tests/data/long_strings__regression.py +888 -0
  293. package/GitRepos/black/tests/data/long_strings_flag_disabled.py +289 -0
  294. package/GitRepos/black/tests/data/missing_final_newline.diff +8 -0
  295. package/GitRepos/black/tests/data/missing_final_newline.py +3 -0
  296. package/GitRepos/black/tests/data/nested_gitignore_tests/pyproject.toml +3 -0
  297. package/GitRepos/black/tests/data/nested_gitignore_tests/root/b.py +1 -0
  298. package/GitRepos/black/tests/data/nested_gitignore_tests/root/c.py +1 -0
  299. package/GitRepos/black/tests/data/nested_gitignore_tests/root/child/c.py +1 -0
  300. package/GitRepos/black/tests/data/nested_gitignore_tests/x.py +0 -0
  301. package/GitRepos/black/tests/data/numeric_literals.py +44 -0
  302. package/GitRepos/black/tests/data/numeric_literals_py2.py +16 -0
  303. package/GitRepos/black/tests/data/numeric_literals_skip_underscores.py +23 -0
  304. package/GitRepos/black/tests/data/pep_570.py +44 -0
  305. package/GitRepos/black/tests/data/pep_572.py +47 -0
  306. package/GitRepos/black/tests/data/pep_572_do_not_remove_parens.py +21 -0
  307. package/GitRepos/black/tests/data/pep_572_remove_parens.py +105 -0
  308. package/GitRepos/black/tests/data/percent_precedence.py +41 -0
  309. package/GitRepos/black/tests/data/python2.py +33 -0
  310. package/GitRepos/black/tests/data/python2_print_function.py +16 -0
  311. package/GitRepos/black/tests/data/python2_unicode_literals.py +20 -0
  312. package/GitRepos/black/tests/data/python37.py +65 -0
  313. package/GitRepos/black/tests/data/python38.py +45 -0
  314. package/GitRepos/black/tests/data/python39.py +37 -0
  315. package/GitRepos/black/tests/data/remove_parens.py +142 -0
  316. package/GitRepos/black/tests/data/slices.py +31 -0
  317. package/GitRepos/black/tests/data/string_prefixes.py +18 -0
  318. package/GitRepos/black/tests/data/string_quotes.py +102 -0
  319. package/GitRepos/black/tests/data/stub.pyi +35 -0
  320. package/GitRepos/black/tests/data/trailing_comma_optional_parens1.py +3 -0
  321. package/GitRepos/black/tests/data/trailing_comma_optional_parens2.py +3 -0
  322. package/GitRepos/black/tests/data/trailing_comma_optional_parens3.py +8 -0
  323. package/GitRepos/black/tests/data/tricky_unicode_symbols.py +6 -0
  324. package/GitRepos/black/tests/data/tupleassign.py +23 -0
  325. package/GitRepos/black/tests/empty.toml +1 -0
  326. package/GitRepos/black/tests/optional.py +119 -0
  327. package/GitRepos/black/tests/test.toml +10 -0
  328. package/GitRepos/black/tests/test_black.py +2100 -0
  329. package/GitRepos/black/tests/test_blackd.py +166 -0
  330. package/GitRepos/black/tests/test_format.py +144 -0
  331. package/GitRepos/black/tests/test_primer.py +217 -0
  332. package/GitRepos/black/tests/util.py +74 -0
  333. package/GitRepos/black/tox.ini +28 -0
  334. package/GitRepos/danger-static_analyzer_comments/.idea/inspectionProfiles/Project_Default.xml +6 -0
  335. package/GitRepos/danger-static_analyzer_comments/.idea/modules.xml +8 -0
  336. package/GitRepos/danger-static_analyzer_comments/Gemfile +3 -0
  337. package/GitRepos/danger-static_analyzer_comments/Gemfile.lock +141 -0
  338. package/GitRepos/danger-static_analyzer_comments/Guardfile +19 -0
  339. package/GitRepos/danger-static_analyzer_comments/LICENSE +21 -0
  340. package/GitRepos/danger-static_analyzer_comments/PLUGIN.gemspec.template.cpgz +0 -0
  341. package/GitRepos/danger-static_analyzer_comments/PLUGIN_LICENSE.txt +22 -0
  342. package/GitRepos/danger-static_analyzer_comments/PLUGIN_README.md +20 -0
  343. package/GitRepos/danger-static_analyzer_comments/README.md +2 -0
  344. package/GitRepos/danger-static_analyzer_comments/Rakefile +23 -0
  345. package/GitRepos/danger-static_analyzer_comments/configure +123 -0
  346. package/GitRepos/danger-static_analyzer_comments/danger-static_analyzer_comments.gemspec +49 -0
  347. package/GitRepos/danger-static_analyzer_comments/lib/danger_plugin.rb +73 -0
  348. package/GitRepos/danger-static_analyzer_comments/lib/version.rb +3 -0
  349. package/GitRepos/danger-static_analyzer_comments/spec/danger_static_analyzer_comments_spec.rb +23 -0
  350. package/GitRepos/danger-static_analyzer_comments/spec/spec_helper.rb +65 -0
  351. package/GitRepos/isort/.codecov.yml +10 -0
  352. package/GitRepos/isort/.coveragerc +20 -0
  353. package/GitRepos/isort/.cruft.json +17 -0
  354. package/GitRepos/isort/.deepsource.toml +18 -0
  355. package/GitRepos/isort/.dockerignore +17 -0
  356. package/GitRepos/isort/.editorconfig +19 -0
  357. package/GitRepos/isort/.github/FUNDING.yml +2 -0
  358. package/GitRepos/isort/.github/workflows/integration.yml +35 -0
  359. package/GitRepos/isort/.github/workflows/lint.yml +35 -0
  360. package/GitRepos/isort/.github/workflows/test.yml +64 -0
  361. package/GitRepos/isort/.isort.cfg +5 -0
  362. package/GitRepos/isort/.pre-commit-config.yaml +5 -0
  363. package/GitRepos/isort/.pre-commit-hooks.yaml +9 -0
  364. package/GitRepos/isort/CHANGELOG.md +522 -0
  365. package/GitRepos/isort/Dockerfile +26 -0
  366. package/GitRepos/isort/LICENSE +21 -0
  367. package/GitRepos/isort/MANIFEST.in +4 -0
  368. package/GitRepos/isort/README.md +355 -0
  369. package/GitRepos/isort/art/isort_loves_black.png +0 -0
  370. package/GitRepos/isort/art/logo.png +0 -0
  371. package/GitRepos/isort/art/logo.xcf +0 -0
  372. package/GitRepos/isort/art/logo_5.png +0 -0
  373. package/GitRepos/isort/art/logo_large.png +0 -0
  374. package/GitRepos/isort/art/logo_large.xcf +0 -0
  375. package/GitRepos/isort/art/stylesheets/extra.css +5 -0
  376. package/GitRepos/isort/docs/configuration/action_comments.md +108 -0
  377. package/GitRepos/isort/docs/configuration/add_or_remove_imports.md +28 -0
  378. package/GitRepos/isort/docs/configuration/black_compatibility.md +63 -0
  379. package/GitRepos/isort/docs/configuration/config_files.md +89 -0
  380. package/GitRepos/isort/docs/configuration/custom_sections_and_ordering.md +131 -0
  381. package/GitRepos/isort/docs/configuration/git_hook.md +34 -0
  382. package/GitRepos/isort/docs/configuration/github_action.md +63 -0
  383. package/GitRepos/isort/docs/configuration/multi_line_output_modes.md +121 -0
  384. package/GitRepos/isort/docs/configuration/options.md +1314 -0
  385. package/GitRepos/isort/docs/configuration/pre-commit.md +32 -0
  386. package/GitRepos/isort/docs/configuration/profiles.md +86 -0
  387. package/GitRepos/isort/docs/configuration/setuptools_integration.md +27 -0
  388. package/GitRepos/isort/docs/contributing/1.-contributing-guide.md +81 -0
  389. package/GitRepos/isort/docs/contributing/2.-coding-standard.md +57 -0
  390. package/GitRepos/isort/docs/contributing/3.-code-of-conduct.md +88 -0
  391. package/GitRepos/isort/docs/contributing/4.-acknowledgements.md +259 -0
  392. package/GitRepos/isort/docs/major_releases/introducing_isort_5.md +142 -0
  393. package/GitRepos/isort/docs/major_releases/release_policy.md +46 -0
  394. package/GitRepos/isort/docs/quick_start/0.-try.md +50 -0
  395. package/GitRepos/isort/docs/quick_start/1.-install.md +22 -0
  396. package/GitRepos/isort/docs/quick_start/2.-cli.md +43 -0
  397. package/GitRepos/isort/docs/quick_start/3.-api.md +22 -0
  398. package/GitRepos/isort/docs/quick_start/interactive.css +26 -0
  399. package/GitRepos/isort/docs/quick_start/interactive.js +55 -0
  400. package/GitRepos/isort/docs/quick_start/isort-5.0.0-py3-none-any.whl +0 -0
  401. package/GitRepos/isort/docs/quick_start/isort-5.0.1-py3-none-any.whl +0 -0
  402. package/GitRepos/isort/docs/upgrade_guides/5.0.0.md +97 -0
  403. package/GitRepos/isort/docs/warning_and_error_codes/W0500.md +22 -0
  404. package/GitRepos/isort/example.gif +0 -0
  405. package/GitRepos/isort/example_isort_formatting_plugin/example_isort_formatting_plugin.py +23 -0
  406. package/GitRepos/isort/example_isort_formatting_plugin/poetry.lock +173 -0
  407. package/GitRepos/isort/example_isort_formatting_plugin/pyproject.toml +20 -0
  408. package/GitRepos/isort/example_shared_isort_profile/example_shared_isort_profile.py +7 -0
  409. package/GitRepos/isort/example_shared_isort_profile/poetry.lock +7 -0
  410. package/GitRepos/isort/example_shared_isort_profile/pyproject.toml +18 -0
  411. package/GitRepos/isort/isort/__init__.py +19 -0
  412. package/GitRepos/isort/isort/__main__.py +3 -0
  413. package/GitRepos/isort/isort/_future/__init__.py +12 -0
  414. package/GitRepos/isort/isort/_future/_dataclasses.py +1209 -0
  415. package/GitRepos/isort/isort/_vendored/toml/LICENSE +27 -0
  416. package/GitRepos/isort/isort/_vendored/toml/__init__.py +23 -0
  417. package/GitRepos/isort/isort/_vendored/toml/decoder.py +1053 -0
  418. package/GitRepos/isort/isort/_vendored/toml/encoder.py +295 -0
  419. package/GitRepos/isort/isort/_vendored/toml/ordered.py +13 -0
  420. package/GitRepos/isort/isort/_vendored/toml/tz.py +21 -0
  421. package/GitRepos/isort/isort/_version.py +1 -0
  422. package/GitRepos/isort/isort/api.py +576 -0
  423. package/GitRepos/isort/isort/comments.py +32 -0
  424. package/GitRepos/isort/isort/core.py +455 -0
  425. package/GitRepos/isort/isort/deprecated/__init__.py +0 -0
  426. package/GitRepos/isort/isort/deprecated/finders.py +415 -0
  427. package/GitRepos/isort/isort/exceptions.py +180 -0
  428. package/GitRepos/isort/isort/files.py +41 -0
  429. package/GitRepos/isort/isort/format.py +150 -0
  430. package/GitRepos/isort/isort/hooks.py +86 -0
  431. package/GitRepos/isort/isort/identify.py +206 -0
  432. package/GitRepos/isort/isort/io.py +73 -0
  433. package/GitRepos/isort/isort/literal.py +109 -0
  434. package/GitRepos/isort/isort/logo.py +19 -0
  435. package/GitRepos/isort/isort/main.py +1230 -0
  436. package/GitRepos/isort/isort/output.py +634 -0
  437. package/GitRepos/isort/isort/parse.py +569 -0
  438. package/GitRepos/isort/isort/place.py +145 -0
  439. package/GitRepos/isort/isort/profiles.py +86 -0
  440. package/GitRepos/isort/isort/py.typed +0 -0
  441. package/GitRepos/isort/isort/pylama_isort.py +43 -0
  442. package/GitRepos/isort/isort/sections.py +9 -0
  443. package/GitRepos/isort/isort/settings.py +779 -0
  444. package/GitRepos/isort/isort/setuptools_commands.py +61 -0
  445. package/GitRepos/isort/isort/sorting.py +118 -0
  446. package/GitRepos/isort/isort/stdlibs/__init__.py +2 -0
  447. package/GitRepos/isort/isort/stdlibs/all.py +3 -0
  448. package/GitRepos/isort/isort/stdlibs/py2.py +3 -0
  449. package/GitRepos/isort/isort/stdlibs/py27.py +300 -0
  450. package/GitRepos/isort/isort/stdlibs/py3.py +3 -0
  451. package/GitRepos/isort/isort/stdlibs/py35.py +222 -0
  452. package/GitRepos/isort/isort/stdlibs/py36.py +223 -0
  453. package/GitRepos/isort/isort/stdlibs/py37.py +224 -0
  454. package/GitRepos/isort/isort/stdlibs/py38.py +223 -0
  455. package/GitRepos/isort/isort/stdlibs/py39.py +223 -0
  456. package/GitRepos/isort/isort/utils.py +16 -0
  457. package/GitRepos/isort/isort/wrap.py +139 -0
  458. package/GitRepos/isort/isort/wrap_modes.py +323 -0
  459. package/GitRepos/isort/logo.png +0 -0
  460. package/GitRepos/isort/mkdocs.yml +2 -0
  461. package/GitRepos/isort/poetry.lock +2472 -0
  462. package/GitRepos/isort/pyproject.toml +114 -0
  463. package/GitRepos/isort/rtd/index.md +6 -0
  464. package/GitRepos/isort/scripts/build_config_option_docs.py +214 -0
  465. package/GitRepos/isort/scripts/build_profile_docs.py +42 -0
  466. package/GitRepos/isort/scripts/check_acknowledgments.py +83 -0
  467. package/GitRepos/isort/scripts/clean.sh +7 -0
  468. package/GitRepos/isort/scripts/docker.sh +12 -0
  469. package/GitRepos/isort/scripts/done.sh +5 -0
  470. package/GitRepos/isort/scripts/lint.sh +11 -0
  471. package/GitRepos/isort/scripts/mkstdlibs.py +47 -0
  472. package/GitRepos/isort/scripts/test.sh +6 -0
  473. package/GitRepos/isort/scripts/test_integration.sh +4 -0
  474. package/GitRepos/isort/setup.cfg +28 -0
  475. package/GitRepos/isort/tests/__init__.py +0 -0
  476. package/GitRepos/isort/tests/integration/test_hypothesmith.py +96 -0
  477. package/GitRepos/isort/tests/integration/test_projects_using_isort.py +166 -0
  478. package/GitRepos/isort/tests/integration/test_setting_combinations.py +1869 -0
  479. package/GitRepos/isort/tests/unit/__init__.py +0 -0
  480. package/GitRepos/isort/tests/unit/conftest.py +33 -0
  481. package/GitRepos/isort/tests/unit/example_crlf_file.py +10 -0
  482. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/.isort.cfg +2 -0
  483. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/root/nested/__init__.py +0 -0
  484. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/root/nested/x.py +0 -0
  485. package/GitRepos/isort/tests/unit/example_projects/namespaces/almost-implicit/root/y.py +0 -0
  486. package/GitRepos/isort/tests/unit/example_projects/namespaces/implicit/.isort.cfg +2 -0
  487. package/GitRepos/isort/tests/unit/example_projects/namespaces/implicit/root/nested/__init__.py +0 -0
  488. package/GitRepos/isort/tests/unit/example_projects/namespaces/implicit/root/nested/x.py +0 -0
  489. package/GitRepos/isort/tests/unit/example_projects/namespaces/none/.isort.cfg +2 -0
  490. package/GitRepos/isort/tests/unit/example_projects/namespaces/none/root/__init__.py +0 -0
  491. package/GitRepos/isort/tests/unit/example_projects/namespaces/none/root/nested/__init__.py +0 -0
  492. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/.isort.cfg +2 -0
  493. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/root/__init__.py +1 -0
  494. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/root/nested/__init__.py +0 -0
  495. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkg_resource/root/nested/x.py +0 -0
  496. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/.isort.cfg +2 -0
  497. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/root/__init__.py +1 -0
  498. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/root/nested/__init__.py +0 -0
  499. package/GitRepos/isort/tests/unit/example_projects/namespaces/pkgutil/root/nested/x.py +0 -0
  500. package/GitRepos/isort/tests/unit/profiles/__init__.py +0 -0
  501. package/GitRepos/isort/tests/unit/profiles/test_attrs.py +102 -0
  502. package/GitRepos/isort/tests/unit/profiles/test_black.py +370 -0
  503. package/GitRepos/isort/tests/unit/profiles/test_django.py +122 -0
  504. package/GitRepos/isort/tests/unit/profiles/test_google.py +413 -0
  505. package/GitRepos/isort/tests/unit/profiles/test_hug.py +112 -0
  506. package/GitRepos/isort/tests/unit/profiles/test_open_stack.py +134 -0
  507. package/GitRepos/isort/tests/unit/profiles/test_plone.py +75 -0
  508. package/GitRepos/isort/tests/unit/profiles/test_pycharm.py +55 -0
  509. package/GitRepos/isort/tests/unit/profiles/test_wemake.py +87 -0
  510. package/GitRepos/isort/tests/unit/test_action_comments.py +47 -0
  511. package/GitRepos/isort/tests/unit/test_api.py +108 -0
  512. package/GitRepos/isort/tests/unit/test_comments.py +34 -0
  513. package/GitRepos/isort/tests/unit/test_deprecated_finders.py +210 -0
  514. package/GitRepos/isort/tests/unit/test_exceptions.py +100 -0
  515. package/GitRepos/isort/tests/unit/test_files.py +8 -0
  516. package/GitRepos/isort/tests/unit/test_format.py +121 -0
  517. package/GitRepos/isort/tests/unit/test_hooks.py +101 -0
  518. package/GitRepos/isort/tests/unit/test_identify.py +274 -0
  519. package/GitRepos/isort/tests/unit/test_importable.py +42 -0
  520. package/GitRepos/isort/tests/unit/test_io.py +43 -0
  521. package/GitRepos/isort/tests/unit/test_isort.py +5166 -0
  522. package/GitRepos/isort/tests/unit/test_literal.py +37 -0
  523. package/GitRepos/isort/tests/unit/test_main.py +1087 -0
  524. package/GitRepos/isort/tests/unit/test_output.py +22 -0
  525. package/GitRepos/isort/tests/unit/test_parse.py +82 -0
  526. package/GitRepos/isort/tests/unit/test_place.py +56 -0
  527. package/GitRepos/isort/tests/unit/test_pylama_isort.py +24 -0
  528. package/GitRepos/isort/tests/unit/test_regressions.py +1653 -0
  529. package/GitRepos/isort/tests/unit/test_settings.py +229 -0
  530. package/GitRepos/isort/tests/unit/test_setuptools_command.py +31 -0
  531. package/GitRepos/isort/tests/unit/test_ticketed_features.py +1117 -0
  532. package/GitRepos/isort/tests/unit/test_wrap.py +15 -0
  533. package/GitRepos/isort/tests/unit/test_wrap_modes.py +587 -0
  534. package/GitRepos/isort/tests/unit/utils.py +14 -0
  535. package/GitRepos/kettle/LICENSE.txt +21 -0
  536. package/GitRepos/kettle/README.md +215 -0
  537. package/GitRepos/kettle/bin/kettle-skeleton.php +316 -0
  538. package/GitRepos/kettle/composer.json +33 -0
  539. package/GitRepos/kettle/src/kettle.php +1418 -0
  540. package/GitRepos/mirrors-autoflake/.pre-commit-hooks.yaml +5 -0
  541. package/GitRepos/mirrors-autoflake/.version +1 -0
  542. package/GitRepos/mirrors-autoflake/hooks.yaml +7 -0
  543. package/GitRepos/mirrors-autoflake/setup.py +8 -0
  544. package/GitRepos/razorpay-java/LICENSE.txt +8 -0
  545. package/GitRepos/razorpay-java/README.md +421 -0
  546. package/GitRepos/razorpay-java/pom.xml +153 -0
  547. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Addon.java +10 -0
  548. package/GitRepos/razorpay-java/src/main/java/com/razorpay/AddonClient.java +17 -0
  549. package/GitRepos/razorpay-java/src/main/java/com/razorpay/ApiClient.java +194 -0
  550. package/GitRepos/razorpay-java/src/main/java/com/razorpay/ApiUtils.java +179 -0
  551. package/GitRepos/razorpay-java/src/main/java/com/razorpay/BankTransfer.java +10 -0
  552. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Card.java +10 -0
  553. package/GitRepos/razorpay-java/src/main/java/com/razorpay/CardClient.java +12 -0
  554. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Constants.java +78 -0
  555. package/GitRepos/razorpay-java/src/main/java/com/razorpay/CustomTLSSocketFactory.java +75 -0
  556. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Customer.java +10 -0
  557. package/GitRepos/razorpay-java/src/main/java/com/razorpay/CustomerClient.java +36 -0
  558. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Entity.java +45 -0
  559. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Invoice.java +10 -0
  560. package/GitRepos/razorpay-java/src/main/java/com/razorpay/InvoiceClient.java +32 -0
  561. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Order.java +10 -0
  562. package/GitRepos/razorpay-java/src/main/java/com/razorpay/OrderClient.java +32 -0
  563. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Payment.java +10 -0
  564. package/GitRepos/razorpay-java/src/main/java/com/razorpay/PaymentClient.java +83 -0
  565. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Plan.java +10 -0
  566. package/GitRepos/razorpay-java/src/main/java/com/razorpay/PlanClient.java +28 -0
  567. package/GitRepos/razorpay-java/src/main/java/com/razorpay/RazorpayClient.java +45 -0
  568. package/GitRepos/razorpay-java/src/main/java/com/razorpay/RazorpayException.java +21 -0
  569. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Refund.java +10 -0
  570. package/GitRepos/razorpay-java/src/main/java/com/razorpay/RefundClient.java +28 -0
  571. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Reversal.java +10 -0
  572. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Subscription.java +10 -0
  573. package/GitRepos/razorpay-java/src/main/java/com/razorpay/SubscriptionClient.java +36 -0
  574. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Token.java +10 -0
  575. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Transfer.java +10 -0
  576. package/GitRepos/razorpay-java/src/main/java/com/razorpay/TransferClient.java +36 -0
  577. package/GitRepos/razorpay-java/src/main/java/com/razorpay/Utils.java +62 -0
  578. package/GitRepos/razorpay-java/src/main/java/com/razorpay/VirtualAccount.java +10 -0
  579. package/GitRepos/razorpay-java/src/main/java/com/razorpay/VirtualAccountClient.java +44 -0
  580. package/GitRepos/razorpay-java/src/main/resources/project.properties +1 -0
  581. package/GitRepos/react-data-grid/.babelrc +8 -0
  582. package/GitRepos/react-data-grid/.github/ISSUE_TEMPLATE.md +25 -0
  583. package/GitRepos/react-data-grid/.github/PULL_REQUEST_TEMPLATE.md +38 -0
  584. package/GitRepos/react-data-grid/LICENSE +24 -0
  585. package/GitRepos/react-data-grid/README.md +82 -0
  586. package/GitRepos/react-data-grid/addons.js +1 -0
  587. package/GitRepos/react-data-grid/docs/api/docs.json +6685 -0
  588. package/GitRepos/react-data-grid/docs/markdowns/AdvancedToolbar.md +17 -0
  589. package/GitRepos/react-data-grid/docs/markdowns/AutoCompleteEditor.md +68 -0
  590. package/GitRepos/react-data-grid/docs/markdowns/AutoCompleteFilter.md +22 -0
  591. package/GitRepos/react-data-grid/docs/markdowns/AutoCompleteTokensEditor.md +22 -0
  592. package/GitRepos/react-data-grid/docs/markdowns/Canvas.md +126 -0
  593. package/GitRepos/react-data-grid/docs/markdowns/Cell.md +101 -0
  594. package/GitRepos/react-data-grid/docs/markdowns/CheckboxEditor.md +27 -0
  595. package/GitRepos/react-data-grid/docs/markdowns/ContextMenu.md +12 -0
  596. package/GitRepos/react-data-grid/docs/markdowns/DateRangeEditor.md +24 -0
  597. package/GitRepos/react-data-grid/docs/markdowns/DateRangeFilter.md +42 -0
  598. package/GitRepos/react-data-grid/docs/markdowns/DateRangeFormatter.md +25 -0
  599. package/GitRepos/react-data-grid/docs/markdowns/DragDropContainer.md +17 -0
  600. package/GitRepos/react-data-grid/docs/markdowns/Draggable.md +30 -0
  601. package/GitRepos/react-data-grid/docs/markdowns/DraggableHeaderCell.md +22 -0
  602. package/GitRepos/react-data-grid/docs/markdowns/DropDownEditor.md +12 -0
  603. package/GitRepos/react-data-grid/docs/markdowns/DropDownFormatter.md +17 -0
  604. package/GitRepos/react-data-grid/docs/markdowns/EditorBase.md +32 -0
  605. package/GitRepos/react-data-grid/docs/markdowns/EditorContainer.md +37 -0
  606. package/GitRepos/react-data-grid/docs/markdowns/FilterableHeaderCell.md +17 -0
  607. package/GitRepos/react-data-grid/docs/markdowns/Grid.md +169 -0
  608. package/GitRepos/react-data-grid/docs/markdowns/GroupedColumnButton.md +17 -0
  609. package/GitRepos/react-data-grid/docs/markdowns/GroupedColumnsPanel.md +44 -0
  610. package/GitRepos/react-data-grid/docs/markdowns/Header.md +62 -0
  611. package/GitRepos/react-data-grid/docs/markdowns/HeaderCell.md +40 -0
  612. package/GitRepos/react-data-grid/docs/markdowns/HeaderRow.md +92 -0
  613. package/GitRepos/react-data-grid/docs/markdowns/ImageFormatter.md +12 -0
  614. package/GitRepos/react-data-grid/docs/markdowns/MenuHeader.md +12 -0
  615. package/GitRepos/react-data-grid/docs/markdowns/NumericFilter.md +17 -0
  616. package/GitRepos/react-data-grid/docs/markdowns/ReactDataGrid.md +209 -0
  617. package/GitRepos/react-data-grid/docs/markdowns/Row.md +70 -0
  618. package/GitRepos/react-data-grid/docs/markdowns/RowActionsCell.md +53 -0
  619. package/GitRepos/react-data-grid/docs/markdowns/RowDragLayer.md +42 -0
  620. package/GitRepos/react-data-grid/docs/markdowns/RowGroup.md +57 -0
  621. package/GitRepos/react-data-grid/docs/markdowns/SimpleCellFormatter.md +12 -0
  622. package/GitRepos/react-data-grid/docs/markdowns/SortableHeaderCell.md +27 -0
  623. package/GitRepos/react-data-grid/docs/markdowns/Toolbar.md +44 -0
  624. package/GitRepos/react-data-grid/docs/markdowns/Viewport.md +102 -0
  625. package/GitRepos/react-data-grid/docs/readme.md +38 -0
  626. package/GitRepos/react-data-grid/docs/utils/generalUtils.js +50 -0
  627. package/GitRepos/react-data-grid/docs/utils/generateMarkdown.js +74 -0
  628. package/GitRepos/react-data-grid/index.js +1 -0
  629. package/GitRepos/react-data-grid/package.json +120 -0
  630. package/GitRepos/react-data-grid/themes/DragColumn.PNG +0 -0
  631. package/GitRepos/react-data-grid/themes/daterangepicker-bs3.css +284 -0
  632. package/GitRepos/react-data-grid/themes/drag_column_full.PNG +0 -0
  633. package/GitRepos/react-data-grid/themes/react-data-grid.css +961 -0
  634. package/GitRepos/react-data-grid/themes/react-data-grid.less +629 -0
  635. package/Kali +0 -0
  636. package/MobSF/.dockerignore +26 -0
  637. package/MobSF/.github/CODE_OF_CONDUCT.md +46 -0
  638. package/MobSF/.github/CONTRIBUTING.md +131 -0
  639. package/MobSF/.github/FUNDING.yml +3 -0
  640. package/MobSF/.github/ISSUE_TEMPLATE/bug_report.md +54 -0
  641. package/MobSF/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
  642. package/MobSF/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  643. package/MobSF/.github/SECURITY.md +21 -0
  644. package/MobSF/.github/SUPPORT.md +1 -0
  645. package/MobSF/.github/workflows/auto-comment.yml +22 -0
  646. package/MobSF/.github/workflows/docker-build.yml +35 -0
  647. package/MobSF/.github/workflows/mobsf_test.yml +58 -0
  648. package/MobSF/.github/workflows/python-publish.yml +28 -0
  649. package/MobSF/.gitmodules +3 -0
  650. package/MobSF/.pyup.yml +27 -0
  651. package/MobSF/.sonarcloud.properties +3 -0
  652. package/MobSF/Dockerfile +96 -0
  653. package/MobSF/LICENSE +675 -0
  654. package/MobSF/LICENSES/AdminLTE_theme.txt +8 -0
  655. package/MobSF/LICENSES/AntiEmulator.txt +660 -0
  656. package/MobSF/LICENSES/IP2LOCATION LITE DATA.txt +21 -0
  657. package/MobSF/LICENSES/Rootcloak.txt +13 -0
  658. package/MobSF/LICENSES/ac-pm_tools.txt +341 -0
  659. package/MobSF/LICENSES/androguard.txt +76 -0
  660. package/MobSF/LICENSES/backsmali.txt +29 -0
  661. package/MobSF/LICENSES/class-dump-z.txt +13 -0
  662. package/MobSF/LICENSES/droidmon.txt +624 -0
  663. package/MobSF/LICENSES/exodus-core.txt +661 -0
  664. package/MobSF/LICENSES/frida.txt +50 -0
  665. package/MobSF/LICENSES/ios_binary_analysis_rules.txt +28 -0
  666. package/MobSF/LICENSES/jadx.txt +202 -0
  667. package/MobSF/LICENSES/maltrail_blacklist.txt +21 -0
  668. package/MobSF/MANIFEST.in +12 -0
  669. package/MobSF/README.md +116 -0
  670. package/MobSF/docker-compose.yml +39 -0
  671. package/MobSF/manage.py +18 -0
  672. package/MobSF/mobsf/DynamicAnalyzer/__init__.py +0 -0
  673. package/MobSF/mobsf/DynamicAnalyzer/admin.py +0 -0
  674. package/MobSF/mobsf/DynamicAnalyzer/models.py +0 -0
  675. package/MobSF/mobsf/DynamicAnalyzer/tests.py +0 -0
  676. package/MobSF/mobsf/DynamicAnalyzer/tools/__init__.py +0 -0
  677. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/class_trace.js +126 -0
  678. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/get_loaded_classes.js +15 -0
  679. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/get_methods.js +22 -0
  680. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/search_class_pattern.js +55 -0
  681. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/string_catch.js +10 -0
  682. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/auxiliary/string_compare.js +15 -0
  683. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/api_monitor.js +572 -0
  684. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/debugger_check_bypass.js +8 -0
  685. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/root_bypass.js +260 -0
  686. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/default/ssl_pinning_bypass.js +255 -0
  687. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/aes_key.js +161 -0
  688. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/bypass_flag_secure.js +17 -0
  689. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/bypass_method.js +8 -0
  690. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/default.js +3 -0
  691. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/file_trace.js +455 -0
  692. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/get_android_id.js +9 -0
  693. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/helper.js +16 -0
  694. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/hook_constructor.js +7 -0
  695. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/hook_java_reflection.js +7 -0
  696. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/inputstream_dump.js +34 -0
  697. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/intent_dumper.js +21 -0
  698. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/jni_hook_by_address.js +28 -0
  699. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/jni_trace.js +42 -0
  700. package/MobSF/mobsf/DynamicAnalyzer/tools/frida_scripts/others/webview_enable_debugging.js +12 -0
  701. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/mobsf_agents/ClipDump.apk +0 -0
  702. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/Xposed.apk +0 -0
  703. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/XposedInstaller_3.1.5.apk +0 -0
  704. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/hooks.json +389 -0
  705. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/AndroidBluePill.apk +0 -0
  706. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/Droidmon.apk +0 -0
  707. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/JustTrustMe.apk +0 -0
  708. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/com.devadvance.rootcloak2_v18_c43b61.apk +0 -0
  709. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/hooks.json +389 -0
  710. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.proxyon_v1_419b04.apk +0 -0
  711. package/MobSF/mobsf/DynamicAnalyzer/tools/onDevice/xposed/modules/mobi.acpm.sslunpinning_v2_37f44f.apk +0 -0
  712. package/MobSF/mobsf/DynamicAnalyzer/tools/webproxy.py +89 -0
  713. package/MobSF/mobsf/DynamicAnalyzer/views/__init__.py +0 -0
  714. package/MobSF/mobsf/DynamicAnalyzer/views/android/__init__.py +0 -0
  715. package/MobSF/mobsf/DynamicAnalyzer/views/android/analysis.py +285 -0
  716. package/MobSF/mobsf/DynamicAnalyzer/views/android/dynamic_analyzer.py +316 -0
  717. package/MobSF/mobsf/DynamicAnalyzer/views/android/environment.py +698 -0
  718. package/MobSF/mobsf/DynamicAnalyzer/views/android/frida_core.py +168 -0
  719. package/MobSF/mobsf/DynamicAnalyzer/views/android/frida_scripts.py +65 -0
  720. package/MobSF/mobsf/DynamicAnalyzer/views/android/frida_server_download.py +75 -0
  721. package/MobSF/mobsf/DynamicAnalyzer/views/android/operations.py +299 -0
  722. package/MobSF/mobsf/DynamicAnalyzer/views/android/report.py +179 -0
  723. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_common.py +212 -0
  724. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_frida.py +339 -0
  725. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_tls.py +109 -0
  726. package/MobSF/mobsf/DynamicAnalyzer/views/android/tests_xposed.py +194 -0
  727. package/MobSF/mobsf/MalwareAnalyzer/__init__.py +0 -0
  728. package/MobSF/mobsf/MalwareAnalyzer/admin.py +0 -0
  729. package/MobSF/mobsf/MalwareAnalyzer/models.py +0 -0
  730. package/MobSF/mobsf/MalwareAnalyzer/tests.py +0 -0
  731. package/MobSF/mobsf/MalwareAnalyzer/views/MalwareDomainCheck.py +226 -0
  732. package/MobSF/mobsf/MalwareAnalyzer/views/Trackers.py +237 -0
  733. package/MobSF/mobsf/MalwareAnalyzer/views/VirusTotal.py +140 -0
  734. package/MobSF/mobsf/MalwareAnalyzer/views/__init__.py +0 -0
  735. package/MobSF/mobsf/MalwareAnalyzer/views/apkid.py +61 -0
  736. package/MobSF/mobsf/MalwareAnalyzer/views/quark.py +145 -0
  737. package/MobSF/mobsf/MobSF/__init__.py +0 -0
  738. package/MobSF/mobsf/MobSF/forms.py +36 -0
  739. package/MobSF/mobsf/MobSF/init.py +143 -0
  740. package/MobSF/mobsf/MobSF/models.py +0 -0
  741. package/MobSF/mobsf/MobSF/settings.py +411 -0
  742. package/MobSF/mobsf/MobSF/urls.py +145 -0
  743. package/MobSF/mobsf/MobSF/utils.py +598 -0
  744. package/MobSF/mobsf/MobSF/views/__init__.py +0 -0
  745. package/MobSF/mobsf/MobSF/views/api/__init__.py +0 -0
  746. package/MobSF/mobsf/MobSF/views/api/api_dynamic_analysis.py +278 -0
  747. package/MobSF/mobsf/MobSF/views/api/api_middleware.py +47 -0
  748. package/MobSF/mobsf/MobSF/views/api/api_static_analysis.py +186 -0
  749. package/MobSF/mobsf/MobSF/views/apk_downloader.py +163 -0
  750. package/MobSF/mobsf/MobSF/views/helpers.py +94 -0
  751. package/MobSF/mobsf/MobSF/views/home.py +350 -0
  752. package/MobSF/mobsf/MobSF/views/scanning.py +149 -0
  753. package/MobSF/mobsf/MobSF/wsgi.py +24 -0
  754. package/MobSF/mobsf/StaticAnalyzer/__init__.py +0 -0
  755. package/MobSF/mobsf/StaticAnalyzer/admin.py +0 -0
  756. package/MobSF/mobsf/StaticAnalyzer/forms.py +92 -0
  757. package/MobSF/mobsf/StaticAnalyzer/models.py +123 -0
  758. package/MobSF/mobsf/StaticAnalyzer/tests.py +425 -0
  759. package/MobSF/mobsf/StaticAnalyzer/tools/__init__.py +0 -0
  760. package/MobSF/mobsf/StaticAnalyzer/tools/apktool_2.5.0.jar +0 -0
  761. package/MobSF/mobsf/StaticAnalyzer/tools/baksmali-2.5.2.jar +0 -0
  762. package/MobSF/mobsf/StaticAnalyzer/tools/ios/class-dump +0 -0
  763. package/MobSF/mobsf/StaticAnalyzer/tools/ios/class-dump-swift +0 -0
  764. package/MobSF/mobsf/StaticAnalyzer/tools/ios/jtool.ELF64 +0 -0
  765. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/LICENSE +201 -0
  766. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/NOTICE +213 -0
  767. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/README.md +125 -0
  768. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx +185 -0
  769. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx-gui +185 -0
  770. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx-gui.bat +89 -0
  771. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/bin/jadx.bat +89 -0
  772. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/android-29-clst.jar +0 -0
  773. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/android-29-res.jar +0 -0
  774. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/antlr-2.7.7.jar +0 -0
  775. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/antlr-runtime-3.5.2.jar +0 -0
  776. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/apksig-4.0.1.jar +0 -0
  777. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/asm-8.0.1.jar +0 -0
  778. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/baksmali-2.4.0.jar +0 -0
  779. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/checker-qual-2.11.1.jar +0 -0
  780. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/commons-lang3-3.11.jar +0 -0
  781. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/commons-text-1.9.jar +0 -0
  782. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/dexlib2-2.4.0.jar +0 -0
  783. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/dx-1.16.jar +0 -0
  784. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/error_prone_annotations-2.3.4.jar +0 -0
  785. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/failureaccess-1.0.1.jar +0 -0
  786. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/gson-2.8.6.jar +0 -0
  787. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/guava-29.0-jre.jar +0 -0
  788. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/image-viewer-1.2.3.jar +0 -0
  789. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/j2objc-annotations-1.3.jar +0 -0
  790. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-cli-1.2.0.jar +0 -0
  791. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-core-1.2.0.jar +0 -0
  792. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-dex-input-1.2.0.jar +0 -0
  793. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-gui-1.2.0.jar +0 -0
  794. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-java-convert-1.2.0.jar +0 -0
  795. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-plugins-api-1.2.0.jar +0 -0
  796. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jadx-smali-input-1.2.0.jar +0 -0
  797. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jcommander-1.80.jar +0 -0
  798. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jfontchooser-1.0.5.jar +0 -0
  799. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/jsr305-3.0.2.jar +0 -0
  800. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar +0 -0
  801. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/logback-classic-1.2.3.jar +0 -0
  802. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/logback-core-1.2.3.jar +0 -0
  803. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/reactive-streams-1.0.3.jar +0 -0
  804. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/rsyntaxtextarea-3.1.1.jar +0 -0
  805. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/rxjava-2.2.19.jar +0 -0
  806. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/rxjava2-swing-0.3.7.jar +0 -0
  807. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/slf4j-api-1.7.30.jar +0 -0
  808. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/smali-2.4.0.jar +0 -0
  809. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/stringtemplate-3.2.1.jar +0 -0
  810. package/MobSF/mobsf/StaticAnalyzer/tools/jadx/lib/util-2.4.0.jar +0 -0
  811. package/MobSF/mobsf/StaticAnalyzer/tools/strings.py +24 -0
  812. package/MobSF/mobsf/StaticAnalyzer/views/__init__.py +0 -0
  813. package/MobSF/mobsf/StaticAnalyzer/views/android/__init__.py +0 -0
  814. package/MobSF/mobsf/StaticAnalyzer/views/android/android_manifest_desc.py +747 -0
  815. package/MobSF/mobsf/StaticAnalyzer/views/android/binary_analysis.py +255 -0
  816. package/MobSF/mobsf/StaticAnalyzer/views/android/cert_analysis.py +160 -0
  817. package/MobSF/mobsf/StaticAnalyzer/views/android/code_analysis.py +96 -0
  818. package/MobSF/mobsf/StaticAnalyzer/views/android/converter.py +97 -0
  819. package/MobSF/mobsf/StaticAnalyzer/views/android/db_interaction.py +217 -0
  820. package/MobSF/mobsf/StaticAnalyzer/views/android/dvm_permissions.py +278 -0
  821. package/MobSF/mobsf/StaticAnalyzer/views/android/find.py +75 -0
  822. package/MobSF/mobsf/StaticAnalyzer/views/android/generate_downloads.py +53 -0
  823. package/MobSF/mobsf/StaticAnalyzer/views/android/icon_analysis.py +134 -0
  824. package/MobSF/mobsf/StaticAnalyzer/views/android/manifest_analysis.py +908 -0
  825. package/MobSF/mobsf/StaticAnalyzer/views/android/manifest_view.py +64 -0
  826. package/MobSF/mobsf/StaticAnalyzer/views/android/network_security.py +243 -0
  827. package/MobSF/mobsf/StaticAnalyzer/views/android/playstore.py +76 -0
  828. package/MobSF/mobsf/StaticAnalyzer/views/android/rules/android_apis.yaml +425 -0
  829. package/MobSF/mobsf/StaticAnalyzer/views/android/rules/android_niap.yaml +356 -0
  830. package/MobSF/mobsf/StaticAnalyzer/views/android/rules/android_rules.yaml +683 -0
  831. package/MobSF/mobsf/StaticAnalyzer/views/android/source_tree.py +79 -0
  832. package/MobSF/mobsf/StaticAnalyzer/views/android/static_analyzer.py +660 -0
  833. package/MobSF/mobsf/StaticAnalyzer/views/android/strings.py +64 -0
  834. package/MobSF/mobsf/StaticAnalyzer/views/android/view_source.py +78 -0
  835. package/MobSF/mobsf/StaticAnalyzer/views/android/win_fixes.py +53 -0
  836. package/MobSF/mobsf/StaticAnalyzer/views/android/xapk.py +57 -0
  837. package/MobSF/mobsf/StaticAnalyzer/views/comparer.py +234 -0
  838. package/MobSF/mobsf/StaticAnalyzer/views/ios/__init__.py +0 -0
  839. package/MobSF/mobsf/StaticAnalyzer/views/ios/app_transport_security.py +222 -0
  840. package/MobSF/mobsf/StaticAnalyzer/views/ios/appstore.py +54 -0
  841. package/MobSF/mobsf/StaticAnalyzer/views/ios/binary_analysis.py +119 -0
  842. package/MobSF/mobsf/StaticAnalyzer/views/ios/binary_rule_matcher.py +58 -0
  843. package/MobSF/mobsf/StaticAnalyzer/views/ios/classdump.py +112 -0
  844. package/MobSF/mobsf/StaticAnalyzer/views/ios/code_analysis.py +103 -0
  845. package/MobSF/mobsf/StaticAnalyzer/views/ios/db_interaction.py +177 -0
  846. package/MobSF/mobsf/StaticAnalyzer/views/ios/file_analysis.py +85 -0
  847. package/MobSF/mobsf/StaticAnalyzer/views/ios/file_recon.py +63 -0
  848. package/MobSF/mobsf/StaticAnalyzer/views/ios/icon_analysis.py +73 -0
  849. package/MobSF/mobsf/StaticAnalyzer/views/ios/macho_analysis.py +255 -0
  850. package/MobSF/mobsf/StaticAnalyzer/views/ios/permission_analysis.py +90 -0
  851. package/MobSF/mobsf/StaticAnalyzer/views/ios/plist_analysis.py +150 -0
  852. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/__init__.py +0 -0
  853. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/ios_apis.yaml +85 -0
  854. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/ipa_rules.py +226 -0
  855. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/objective_c_rules.yaml +355 -0
  856. package/MobSF/mobsf/StaticAnalyzer/views/ios/rules/swift_rules.yaml +461 -0
  857. package/MobSF/mobsf/StaticAnalyzer/views/ios/static_analyzer.py +282 -0
  858. package/MobSF/mobsf/StaticAnalyzer/views/ios/view_source.py +155 -0
  859. package/MobSF/mobsf/StaticAnalyzer/views/sast_engine.py +71 -0
  860. package/MobSF/mobsf/StaticAnalyzer/views/shared_func.py +424 -0
  861. package/MobSF/mobsf/StaticAnalyzer/views/windows/__init__.py +0 -0
  862. package/MobSF/mobsf/StaticAnalyzer/views/windows/db_interaction.py +130 -0
  863. package/MobSF/mobsf/StaticAnalyzer/views/windows/windows.py +590 -0
  864. package/MobSF/mobsf/__init__.py +0 -0
  865. package/MobSF/mobsf/__main__.py +49 -0
  866. package/MobSF/mobsf/install/__init__.py +0 -0
  867. package/MobSF/mobsf/install/windows/__init__.py +0 -0
  868. package/MobSF/mobsf/install/windows/config.txt +26 -0
  869. package/MobSF/mobsf/install/windows/readme.md +43 -0
  870. package/MobSF/mobsf/install/windows/rpc_client.py +191 -0
  871. package/MobSF/mobsf/install/windows/setup.py +433 -0
  872. package/MobSF/mobsf/signatures/IP2LOCATION-LITE-DB5.IPV6.BIN +0 -0
  873. package/MobSF/mobsf/signatures/exodus_trackers +1 -0
  874. package/MobSF/mobsf/signatures/maltrail-malware-domains.txt +157958 -0
  875. package/MobSF/mobsf/signatures/malwaredomainlist +2256 -0
  876. package/MobSF/mobsf/static/adminlte/dashboard/css/adminlte.min.css +12 -0
  877. package/MobSF/mobsf/static/adminlte/dashboard/css/adminlte.min.css.map +1 -0
  878. package/MobSF/mobsf/static/adminlte/dashboard/js/adminlte.min.js +7 -0
  879. package/MobSF/mobsf/static/adminlte/dashboard/js/adminlte.min.js.map +1 -0
  880. package/MobSF/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js +7 -0
  881. package/MobSF/mobsf/static/adminlte/plugins/bootstrap/bootstrap.bundle.min.js.map +1 -0
  882. package/MobSF/mobsf/static/adminlte/plugins/datatables/jquery.dataTables.min.js +166 -0
  883. package/MobSF/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.css +1 -0
  884. package/MobSF/mobsf/static/adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.js +8 -0
  885. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/all.css +4423 -0
  886. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/all.min.css +5 -0
  887. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.css +14 -0
  888. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/brands.min.css +5 -0
  889. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.css +4390 -0
  890. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/fontawesome.min.css +5 -0
  891. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.css +15 -0
  892. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/regular.min.css +5 -0
  893. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.css +16 -0
  894. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/solid.min.css +5 -0
  895. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.css +371 -0
  896. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/svg-with-js.min.css +5 -0
  897. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.css +2166 -0
  898. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/css/v4-shims.min.css +5 -0
  899. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.eot +0 -0
  900. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.svg +3496 -0
  901. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  902. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff +0 -0
  903. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  904. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.eot +0 -0
  905. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.svg +803 -0
  906. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  907. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff +0 -0
  908. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  909. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.eot +0 -0
  910. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.svg +4667 -0
  911. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  912. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff +0 -0
  913. package/MobSF/mobsf/static/adminlte/plugins/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  914. package/MobSF/mobsf/static/adminlte/plugins/jquery-ui.min.js +13 -0
  915. package/MobSF/mobsf/static/adminlte/plugins/jquery.min.js +2 -0
  916. package/MobSF/mobsf/static/adminlte/plugins/overlayScrollbars/css/OverlayScrollbars.min.css +13 -0
  917. package/MobSF/mobsf/static/adminlte/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js +13 -0
  918. package/MobSF/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.css +1 -0
  919. package/MobSF/mobsf/static/adminlte/plugins/sweetalert2/sweetalert2.min.js +1 -0
  920. package/MobSF/mobsf/static/amcharts/animated.js +1 -0
  921. package/MobSF/mobsf/static/amcharts/core.js +1 -0
  922. package/MobSF/mobsf/static/amcharts/maps.js +1 -0
  923. package/MobSF/mobsf/static/amcharts/worldIndiaLow.js +20 -0
  924. package/MobSF/mobsf/static/codemirror/codemirror.css +350 -0
  925. package/MobSF/mobsf/static/codemirror/codemirror.js +9803 -0
  926. package/MobSF/mobsf/static/codemirror/javascript-lint.js +65 -0
  927. package/MobSF/mobsf/static/codemirror/javascript.js +945 -0
  928. package/MobSF/mobsf/static/codemirror/jshint.js +29591 -0
  929. package/MobSF/mobsf/static/codemirror/lint.css +71 -0
  930. package/MobSF/mobsf/static/codemirror/lint.js +259 -0
  931. package/MobSF/mobsf/static/enlighterjs/enlighterjs.enlighter.min.css +3 -0
  932. package/MobSF/mobsf/static/enlighterjs/enlighterjs.min.css +15 -0
  933. package/MobSF/mobsf/static/enlighterjs/enlighterjs.min.js +3 -0
  934. package/MobSF/mobsf/static/fonts/Open_Sans/LICENSE.txt +202 -0
  935. package/MobSF/mobsf/static/fonts/Open_Sans/OpenSans-Regular.ttf +0 -0
  936. package/MobSF/mobsf/static/fonts/Oswald/OFL.txt +93 -0
  937. package/MobSF/mobsf/static/fonts/Oswald/Oswald-Regular.ttf +0 -0
  938. package/MobSF/mobsf/static/img/favicon.ico +0 -0
  939. package/MobSF/mobsf/static/img/loading.jpg +0 -0
  940. package/MobSF/mobsf/static/img/mobsf_icon.png +0 -0
  941. package/MobSF/mobsf/static/img/mobsf_logo.png +0 -0
  942. package/MobSF/mobsf/static/img/no_icon.png +0 -0
  943. package/MobSF/mobsf/static/jsTree/custom.css +114 -0
  944. package/MobSF/mobsf/static/jsTree/jstree.min.js +6 -0
  945. package/MobSF/mobsf/static/jsTree/themes/default/32px.png +0 -0
  946. package/MobSF/mobsf/static/jsTree/themes/default/40px.png +0 -0
  947. package/MobSF/mobsf/static/jsTree/themes/default/content_background.gif +0 -0
  948. package/MobSF/mobsf/static/jsTree/themes/default/dir.gif +0 -0
  949. package/MobSF/mobsf/static/jsTree/themes/default/file.png +0 -0
  950. package/MobSF/mobsf/static/jsTree/themes/default/style.min.css +1 -0
  951. package/MobSF/mobsf/static/jsTree/themes/default/throbber.gif +0 -0
  952. package/MobSF/mobsf/static/landing/css/home.css +310 -0
  953. package/MobSF/mobsf/static/others/css/devices.min.css +1 -0
  954. package/MobSF/mobsf/static/others/css/pdf_report.css +123 -0
  955. package/MobSF/mobsf/static/others/css/spinner.css +168 -0
  956. package/MobSF/mobsf/static/others/css/terminal.css +79 -0
  957. package/MobSF/mobsf/static/others/css/xcode.min.css +1 -0
  958. package/MobSF/mobsf/static/terminal/terminal.css +79 -0
  959. package/MobSF/mobsf/templates/base/base_layout.html +123 -0
  960. package/MobSF/mobsf/templates/dynamic_analysis/android/dynamic_analyzer.html +1064 -0
  961. package/MobSF/mobsf/templates/dynamic_analysis/android/dynamic_report.html +1017 -0
  962. package/MobSF/mobsf/templates/dynamic_analysis/android/frida_logs.html +48 -0
  963. package/MobSF/mobsf/templates/dynamic_analysis/android/live_api.html +103 -0
  964. package/MobSF/mobsf/templates/dynamic_analysis/android/logcat.html +56 -0
  965. package/MobSF/mobsf/templates/dynamic_analysis/dynamic_analysis.html +328 -0
  966. package/MobSF/mobsf/templates/general/about.html +30 -0
  967. package/MobSF/mobsf/templates/general/apidocs.html +2201 -0
  968. package/MobSF/mobsf/templates/general/error.html +23 -0
  969. package/MobSF/mobsf/templates/general/home.html +298 -0
  970. package/MobSF/mobsf/templates/general/not_found.html +22 -0
  971. package/MobSF/mobsf/templates/general/recent.html +254 -0
  972. package/MobSF/mobsf/templates/general/search.html +35 -0
  973. package/MobSF/mobsf/templates/general/view.html +124 -0
  974. package/MobSF/mobsf/templates/general/zip.html +31 -0
  975. package/MobSF/mobsf/templates/pdf/android_report.html +930 -0
  976. package/MobSF/mobsf/templates/pdf/ios_report.html +760 -0
  977. package/MobSF/mobsf/templates/pdf/windows_report.html +211 -0
  978. package/MobSF/mobsf/templates/static_analysis/android_binary_analysis.html +2006 -0
  979. package/MobSF/mobsf/templates/static_analysis/android_source_analysis.html +1502 -0
  980. package/MobSF/mobsf/templates/static_analysis/compare.html +917 -0
  981. package/MobSF/mobsf/templates/static_analysis/ios_binary_analysis.html +1299 -0
  982. package/MobSF/mobsf/templates/static_analysis/ios_source_analysis.html +1125 -0
  983. package/MobSF/mobsf/templates/static_analysis/source_tree.html +332 -0
  984. package/MobSF/mobsf/templates/static_analysis/treeview_file.html +1 -0
  985. package/MobSF/mobsf/templates/static_analysis/treeview_folder.html +5 -0
  986. package/MobSF/mobsf/templates/static_analysis/windows_binary_analysis.html +411 -0
  987. package/MobSF/requirements.txt +30 -0
  988. package/MobSF/run.bat +19 -0
  989. package/MobSF/run.sh +48 -0
  990. package/MobSF/scripts/__init__.py +0 -0
  991. package/MobSF/scripts/check_install.py +28 -0
  992. package/MobSF/scripts/clean.bat +31 -0
  993. package/MobSF/scripts/clean.sh +43 -0
  994. package/MobSF/scripts/entrypoint.sh +8 -0
  995. package/MobSF/scripts/install_java_wkhtmltopdf.sh +33 -0
  996. package/MobSF/scripts/mass_static_analysis.py +95 -0
  997. package/MobSF/scripts/postgres_support.sh +11 -0
  998. package/MobSF/scripts/stack/docker-compose.yml +15 -0
  999. package/MobSF/scripts/update_android_permissions.py +46 -0
  1000. package/MobSF/setup.bat +81 -0
  1001. package/MobSF/setup.py +61 -0
  1002. package/MobSF/setup.sh +76 -0
  1003. package/MobSF/tox.ini +94 -0
  1004. package/Notes/AWS Security.pdf +0 -0
  1005. package/Notes/Android Security.pdf +0 -0
  1006. package/Notes/Web Security.pdf +0 -0
  1007. package/Screenshot 2022-03-10 at 11.57.37 AM.png +0 -0
  1008. package/Security Bug Demo.mov +0 -0
  1009. package/Security Review.mov +0 -0
  1010. package/Templates/CRLF.txt +61 -0
  1011. package/Templates/cors.html +26 -0
  1012. package/Templates/openredirect.txt +860 -0
  1013. package/Templates/secrets.py +102 -0
  1014. package/Templates/vhost.txt +174 -0
  1015. package/Templates/wordlist.txt +6038 -0
  1016. package/Templates/xss.txt +2691 -0
  1017. package/cloneall.sh +26 -0
  1018. package/index.js +46 -0
  1019. package/meesecops/.dockerignore +6 -0
  1020. package/meesecops/Dockerfile +15 -0
  1021. package/meesecops/LICENSE +201 -0
  1022. package/meesecops/README.md +2 -0
  1023. package/meesecops/README_secops.md +206 -0
  1024. package/meesecops/Workflows/1-factor.png +0 -0
  1025. package/meesecops/Workflows/2-factor.png +0 -0
  1026. package/meesecops/__init__.py +0 -0
  1027. package/meesecops/application/__init__.py +23 -0
  1028. package/meesecops/application/jira_functions.py +554 -0
  1029. package/meesecops/application/static/css/close_style.css +151 -0
  1030. package/meesecops/application/static/css/style.css +358 -0
  1031. package/meesecops/application/static/external/1.16.0.popper.min.js +5 -0
  1032. package/meesecops/application/static/external/bootstrap.min.css +5 -0
  1033. package/meesecops/application/static/external/bootstrap.min.js +7 -0
  1034. package/meesecops/application/static/external/css.css +48 -0
  1035. package/meesecops/application/static/external/index.js +607 -0
  1036. package/meesecops/application/static/external/jquery-1.12.4.js +11008 -0
  1037. package/meesecops/application/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
  1038. package/meesecops/application/static/fonts/hacked.woff +0 -0
  1039. package/meesecops/application/static/images/ajax-loader.gif +0 -0
  1040. package/meesecops/application/static/images/favicon.png +0 -0
  1041. package/meesecops/application/static/images/glogin.png +0 -0
  1042. package/meesecops/application/static/images/logo3.png +0 -0
  1043. package/meesecops/application/static/images/sort_asc.png +0 -0
  1044. package/meesecops/application/static/images/sort_both.png +0 -0
  1045. package/meesecops/application/static/images/sort_desc.png +0 -0
  1046. package/meesecops/application/static/options.json +62 -0
  1047. package/meesecops/application/static/request_options.json +721 -0
  1048. package/meesecops/application/static/robots.txt +2 -0
  1049. package/meesecops/application/templates/close_tickets.html +261 -0
  1050. package/meesecops/application/templates/footer.html +15 -0
  1051. package/meesecops/application/templates/index.html +337 -0
  1052. package/meesecops/application/templates/login.html +50 -0
  1053. package/meesecops/application/templates/nav.html +63 -0
  1054. package/meesecops/application/templates/new_secreview.html +92 -0
  1055. package/meesecops/application/templates/search_tickets.html +77 -0
  1056. package/meesecops/application/templates/security_updates.html +82 -0
  1057. package/meesecops/application/views.py +536 -0
  1058. package/meesecops/config.py +206 -0
  1059. package/meesecops/logs/README.txt +1 -0
  1060. package/meesecops/logs/access_log +0 -0
  1061. package/meesecops/requirements.txt +32 -0
  1062. package/meesecops/run.py +100 -0
  1063. package/meesecops/screenshot/1.png +0 -0
  1064. package/meesecops/screenshot/2.png +0 -0
  1065. package/meesecops/screenshot/3.png +0 -0
  1066. package/meesecops/screenshot/4-1.png +0 -0
  1067. package/meesecops/screenshot/4.png +0 -0
  1068. package/meesecops/screenshot/5.png +0 -0
  1069. package/meesecops/screenshot/6.png +0 -0
  1070. package/meesecops/screenshot/7.png +0 -0
  1071. package/meesecops/ssl/README.txt +1 -0
  1072. package/package.json +11 -0
  1073. package/prod.pem +27 -0
  1074. package/test1.py +133 -0
@@ -0,0 +1,2006 @@
1
+ {% extends "base/base_layout.html" %}
2
+ {% load static %}
3
+ {% block sidebar_option %}
4
+ sidebar-mini
5
+ {% endblock %}
6
+ {% block extra_css %}
7
+ <!-- DataTables -->
8
+ <link rel="stylesheet" href="{% static "adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.css" %}">
9
+ <link rel="stylesheet" href="{% static "others/css/spinner.css" %}">
10
+ <style type="text/css" media="print">
11
+ @page { size: landscape; }
12
+ @media print {
13
+ .btn, #scan_options {
14
+ display: none;
15
+ }
16
+ }
17
+ </style>
18
+ <style>
19
+ #app_icon{
20
+ width: 64px;
21
+ height: 64px;
22
+ }
23
+
24
+ #pre-wrap {
25
+ white-space: pre-wrap; /* css-3 */
26
+ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
27
+ white-space: -pre-wrap; /* Opera 4-6 */
28
+ white-space: -o-pre-wrap; /* Opera 7 */
29
+ word-wrap: break-word; /* Internet Explorer 5.5+ */
30
+ }
31
+ </style>
32
+ <script>
33
+ // Preloading
34
+ function dynamic_loader(){
35
+ var loadingOverlay = document.querySelector('.loading');
36
+ loadingOverlay.classList.remove('hidden');
37
+ }
38
+ </script>
39
+ {% endblock %}
40
+ {% block sidebar %}
41
+ <!--Loader-->
42
+ <div class="hidden loading">
43
+ <div class='uil-ring-css' style='transform:scale(0.79);'>
44
+ <div></div>
45
+ </div>
46
+ </div>
47
+ <!-- Main Sidebar Container -->
48
+ <!-- Sidebar -->
49
+ <div class="sidebar">
50
+ <!-- Sidebar user panel (optional) -->
51
+ <div class="user-panel mt-3 pb-3 mb-3 d-flex">
52
+ <div class="info">
53
+ <a href="#" class="d-block">Static Analyzer</a>
54
+ </div>
55
+ </div>
56
+
57
+ <!-- Sidebar Menu -->
58
+ <nav class="mt-2">
59
+ <ul class="nav nav-pills nav-sidebar flex-column nav-child-indent" data-widget="treeview" role="menu" data-accordion="false">
60
+
61
+ <li class="nav-item">
62
+ <a href="#information" class="nav-link">
63
+ <i class="nav-icon fas fa-info-circle"></i>
64
+ <p>
65
+ Information
66
+ </p>
67
+ </a>
68
+ </li>
69
+ <li class="nav-item">
70
+ <a href="#scan_options" class="nav-link">
71
+ <i class="nav-icon fas fa-cog"></i>
72
+ <p>
73
+ Scan Options
74
+ </p>
75
+ </a>
76
+ </li>
77
+ <li class="nav-item">
78
+ <a href="#certificate" class="nav-link">
79
+ <i class="nav-icon fas fa-certificate"></i>
80
+ <p>
81
+ Signer Certificate
82
+ </p>
83
+ </a>
84
+ </li>
85
+ <li class="nav-item">
86
+ <a href="#permissions" class="nav-link">
87
+ <i class="nav-icon fas fa-list"></i>
88
+ <p>
89
+ Permissions
90
+ </p>
91
+ </a>
92
+ </li>
93
+ <li class="nav-item">
94
+ <a href="#android_api" class="nav-link">
95
+ <i class="nav-icon fab fa-android"></i>
96
+ <p>
97
+ Android API
98
+ </p>
99
+ </a>
100
+ </li>
101
+ <li class="nav-item">
102
+ <a href="#browsable" class="nav-link">
103
+ <i class="nav-icon fas fa-clone"></i>
104
+ <p>
105
+ Browsable Activities
106
+ </p>
107
+ </a>
108
+ </li>
109
+
110
+ <li class="nav-item has-treeview">
111
+ <a href="#" class="nav-link">
112
+ <i class="nav-icon fas fa-shield-alt"></i>
113
+ <p>
114
+ Security Analysis
115
+ <i class="fas fa-angle-left right"></i>
116
+ </p>
117
+ </a>
118
+ <ul class="nav nav-treeview">
119
+ <li class="nav-item">
120
+ <a href="#network_security" class="nav-link">
121
+ <i class="nav-icon fas fa-lock"></i>
122
+ <p>
123
+ Network Security
124
+ </p>
125
+ </a>
126
+ </li>
127
+ <li class="nav-item">
128
+ <a href="#manifest" class="nav-link">
129
+ <i class="fas fa-search nav-icon"></i>
130
+ <p>Manifest Analysis</p>
131
+ </a>
132
+ </li>
133
+ <li class="nav-item">
134
+ <a href="#code_analysis" class="nav-link">
135
+ <i class="fa fa-code nav-icon"></i>
136
+ <p>Code Analysis</p>
137
+ </a>
138
+ </li>
139
+ <li class="nav-item">
140
+ <a href="#binary_analysis" class="nav-link">
141
+ <i class="nav-icon fas fa-flag"></i>
142
+ <p>Binary Analysis</p>
143
+ </a>
144
+ </li>
145
+ <li class="nav-item">
146
+ <a href="#niap_analysis" class="nav-link">
147
+ <i class="fa fa-id-badge nav-icon"></i>
148
+ <p> NIAP Analysis</p>
149
+ </a>
150
+ </li>
151
+ <li class="nav-item">
152
+ <a href="#file_analysis" class="nav-link">
153
+ <i class="fa fa-file nav-icon"></i>
154
+ <p>File Analysis</p>
155
+ </a>
156
+ </li>
157
+ </ul>
158
+ </li>
159
+ <li class="nav-item has-treeview">
160
+ <a href="#" class="nav-link">
161
+ <i class="nav-icon fa fa-bug"></i>
162
+ <p>
163
+ Malware Analysis
164
+ <i class="fas fa-angle-left right"></i>
165
+ </p>
166
+ </a>
167
+ <ul class="nav nav-treeview">
168
+ <li class="nav-item">
169
+ <a href="#apkid" class="nav-link">
170
+ <i class="fas fa-fingerprint nav-icon"></i>
171
+ <p>APKiD Analysis</p>
172
+ </a>
173
+ </li>
174
+ <li class="nav-item">
175
+ <a href="#quark" class="nav-link">
176
+ <i class="fab fa-quora nav-icon"></i>
177
+ <p>Quark Analysis</p>
178
+ </a>
179
+ </li>
180
+ {% if virus_total %}
181
+ <li class="nav-item">
182
+ <a href="#virus_total" class="nav-link">
183
+ <i class="fas fa-spider nav-icon"></i>
184
+ <p>VirusTotal</p>
185
+ </a>
186
+ </li>
187
+ {% endif %}
188
+ <li class="nav-item">
189
+ <a href="#serverlocations" class="nav-link">
190
+ <i class="fas fa-globe-asia nav-icon"></i>
191
+ <p>Server Locations</p>
192
+ </a>
193
+ </li>
194
+ <li class="nav-item">
195
+ <a href="#malware_check" class="nav-link">
196
+ <i class="fab fa-searchengin nav-icon"></i>
197
+ <p>Domain Malware Check</p>
198
+ </a>
199
+ </li>
200
+ </ul>
201
+ </li>
202
+ <li class="nav-item has-treeview">
203
+ <a href="#" class="nav-link">
204
+ <i class="nav-icon fa fa-plus"></i>
205
+ <p>
206
+ Reconnaissance
207
+ <i class="fas fa-angle-left right"></i>
208
+ </p>
209
+ </a>
210
+ <ul class="nav nav-treeview">
211
+ <li class="nav-item">
212
+ <a href="#urls" class="nav-link">
213
+ <i class="fas fa-globe nav-icon"></i>
214
+ <p>URLs</p>
215
+ </a>
216
+ </li>
217
+ <li class="nav-item">
218
+ <a href="#firebase" class="nav-link">
219
+ <i class="fas fa-database nav-icon"></i>
220
+ <p>Firebase DB</p>
221
+ </a>
222
+ </li>
223
+ <li class="nav-item">
224
+ <a href="#emails" class="nav-link">
225
+ <i class="fas fa-envelope nav-icon"></i>
226
+ <p>Emails</p>
227
+ </a>
228
+ </li>
229
+ <li class="nav-item">
230
+ <a href="#trackers" class="nav-link">
231
+ <i class="fas fa-user-secret nav-icon"></i>
232
+ <p>Trackers</p>
233
+ </a>
234
+ </li>
235
+ <li class="nav-item">
236
+ <a href="#strings" class="nav-link">
237
+ <i class="fas fa-font nav-icon"></i>
238
+ <p>Strings</p>
239
+ </a>
240
+ </li>
241
+ <li class="nav-item">
242
+ <a href="#secrets" class="nav-link">
243
+ <i class="fas fa-key nav-icon"></i>
244
+ <p>Hardcoded Secrets</p>
245
+ </a>
246
+ </li>
247
+ </ul>
248
+ </li>
249
+ <li class="nav-item has-treeview">
250
+ <a href="#" class="nav-link">
251
+ <i class="nav-icon fas fa-th-large"></i>
252
+ <p>
253
+ Components
254
+ <i class="fas fa-angle-left right"></i>
255
+ </p>
256
+ </a>
257
+ <ul class="nav nav-treeview">
258
+ <li class="nav-item">
259
+ <a href="#activities" class="nav-link">
260
+ <i class="fa fa-language nav-icon"></i>
261
+ <p>Activities</p>
262
+ </a>
263
+ </li>
264
+ <li class="nav-item">
265
+ <a href="#services" class="nav-link">
266
+ <i class="fa fa-cogs nav-icon"></i>
267
+ <p>Services</p>
268
+ </a>
269
+ </li>
270
+ <li class="nav-item">
271
+ <a href="#receivers" class="nav-link">
272
+ <i class="fa fa-assistive-listening-systems nav-icon"></i>
273
+ <p>Receivers</p>
274
+ </a>
275
+ </li>
276
+ <li class="nav-item">
277
+ <a href="#providers" class="nav-link">
278
+ <i class="fa fa-database nav-icon"></i>
279
+ <p>Providers</p>
280
+ </a>
281
+ </li>
282
+ <li class="nav-item">
283
+ <a href="#libraries" class="nav-link">
284
+ <i class="fab fa-buffer nav-icon"></i>
285
+ <p>Libraries</p>
286
+ </a>
287
+ </li>
288
+ <li class="nav-item">
289
+ <a href="#files" class="nav-link">
290
+ <i class="far fa-copy nav-icon"></i>
291
+ <p>Files</p>
292
+ </a>
293
+ </li>
294
+ </ul>
295
+ </li>
296
+ <li class="nav-item">
297
+ <a href="../pdf/?md5={{ md5 }}" class="nav-link">
298
+ <i class="nav-icon fas fa-file-pdf"></i>
299
+ <p>
300
+ PDF Report
301
+ </p>
302
+ </a>
303
+ </li>
304
+ <li class="nav-item">
305
+ <a href="javascript:window.print()" class="nav-link">
306
+ <i class="nav-icon fa fa-print"></i>
307
+ <p>
308
+ Print Report
309
+ </p>
310
+ </a>
311
+ </li>
312
+ {% if dynamic_analysis_done %}
313
+ <li class="nav-item">
314
+ <a href="../dynamic_report/{{ md5 }}" class="nav-link">
315
+ <i class="nav-icon fas fa-file-alt"></i>
316
+ <p>
317
+ Dynamic Analysis Report
318
+ </p>
319
+ </a>
320
+ </li>
321
+ {% else %}
322
+ <li class="nav-item">
323
+ <a onclick="dynamic_loader()" href="../android_dynamic/{{md5}}" class="nav-link">
324
+ <i class="nav-icon fa fa-play-circle"></i>
325
+ <p>
326
+ Start Dynamic Analysis
327
+ </p>
328
+ </a>
329
+ </li>
330
+ {% endif %}
331
+ </ul>
332
+ </nav>
333
+ <!-- /.sidebar-menu -->
334
+ </div>
335
+ <!-- /.sidebar -->
336
+ {% endblock %}
337
+ {% block content %}
338
+ <!-- Content Wrapper. Contains page content -->
339
+ <div class="content-wrapper">
340
+ <!-- Content Header (Page header) -->
341
+ <div class="content-header">
342
+ <!--
343
+ <div class="container-fluid">
344
+ <div class="row mb-2">
345
+ <div id="mobsf_header" align="center">
346
+ </div>
347
+ </div>
348
+ </div>-->
349
+ </div>
350
+ <!-- /.content-header -->
351
+
352
+
353
+ <!-- Main content -->
354
+ <a id="information" class="anchor"></a>
355
+ <section class="content">
356
+ <div class="container-fluid">
357
+ <div class="row">
358
+ <div class="col-lg-12">
359
+
360
+ <div class="card">
361
+ <div class="card-body">
362
+ <h5 class="card-title"></h5>
363
+ <div class="row">
364
+ <div class="col-2">
365
+ <p><strong><i class="fas fa-check-double"></i> APP SCORES</strong></p>
366
+ <img id="app_icon" src="{% if icon_found %}/download/{{ md5 }}-icon.png{% else %}{% static 'img/no_icon.png' %}{% endif %}"/>
367
+ {% if icon_hidden %}
368
+ <strong>Hidden Icon!</strong>
369
+ {% endif %}
370
+ <br/>
371
+ <span class="badge bg-info">Average CVSS</span> <strong>{{ average_cvss }} </strong><br/>
372
+ <span class="badge bg-{% if security_score < 50 %}danger{% elif security_score == 100 %}success{% else %}warning{% endif %}">Security Score</span> <strong>{{ security_score }}/100 </strong><br/>
373
+ {% if trackers.detected_trackers > 0 %}
374
+ <span class="badge bg-warning">Trackers Detection</span> <strong>{{ trackers.detected_trackers }}/{{ trackers.total_trackers }}</strong><br/>
375
+ {% else %}
376
+ <span class="badge bg-success">Trackers Detection</span> <strong>{{ trackers.detected_trackers }}/{{ trackers.total_trackers }}</strong><br/>
377
+ {% endif %}
378
+ {% if virus_total and virus_total.items|length > 9 %}
379
+ {% if virus_total.positives > 0 %}
380
+ <span class="badge bg-danger">VirusTotal Detection</span> <strong>{{ virus_total.positives }}/{{ virus_total.total }}</strong><br/>
381
+ {% else %}
382
+ <span class="badge bg-success">VirusTotal Detection</span> <strong>{{ virus_total.positives }}/{{ virus_total.total }}</strong><br/>
383
+ {% endif %}
384
+ {% endif %}
385
+ </div>
386
+ <div class="col-6">
387
+ <p><strong><i class="fas fa-box-open"></i> FILE INFORMATION </strong></p>
388
+ <span class="badge bg-primary">File Name</span>
389
+ {{ file_name }}<br/>
390
+ <span class="badge bg-primary">Size</span>
391
+ {{ size }}<br/>
392
+ <span class="badge bg-primary">MD5</span>
393
+ {{ md5 }}<br/>
394
+ <span class="badge bg-primary">SHA1</span>
395
+ {{ sha1 }}<br/>
396
+ <span class="badge bg-primary">SHA256</span>
397
+ {{ sha256 }}<br/>
398
+ </div>
399
+ <div class="col-4">
400
+ <p><strong><i class="fas fa-info"></i> APP INFORMATION </strong></p>
401
+ <span class="badge bg-primary">App Name</span>
402
+ {{ app_name }}<br/>
403
+ <span class="badge bg-primary">Package Name</span>
404
+ {{ package_name }}<br/>
405
+ <span class="badge bg-primary">Main Activity</span>
406
+ {{ main_activity }}<br/>
407
+ <span class="badge bg-primary">Target SDK</span>
408
+ {{ target_sdk }}
409
+ <span class="badge bg-primary">Min SDK</span>
410
+ {{ min_sdk }}
411
+ <span class="badge bg-primary">Max SDK</span>
412
+ {{ max_sdk }}<br/>
413
+ <span class="badge bg-primary">Android Version Name</span>
414
+ {{ version_name }}
415
+ <span class="badge bg-primary">Android Version Code</span>
416
+ {{ version_code }}
417
+ </div>
418
+ </div>
419
+
420
+ </div>
421
+ </div>
422
+ </div>
423
+ <!-- Play Store -->
424
+ {% if not playstore_details.error %}
425
+ <div class="col-lg-12">
426
+ <div class="card">
427
+ <div class="card-body">
428
+ <p>
429
+ <strong><i class="fab fa-google-play"></i> PLAYSTORE INFORMATION</strong>
430
+ </p>
431
+ <span class="badge bg-info">Title</span>
432
+ {{ playstore_details.title }} <br/>
433
+ <span class="badge bg-info">Score</span>
434
+ {{ playstore_details.score}}
435
+ <span class="badge bg-info">Installs</span>
436
+ {{ playstore_details.installs }}
437
+ <span class="badge bg-info">Price</span>
438
+ {{ playstore_details.price }}
439
+ <span class="badge bg-info">Android Version Support</span>
440
+ {{ playstore_details.androidVersionText }}
441
+ <span class="badge bg-info">Category</span>
442
+ {{ playstore_details.genre }}
443
+ <span class="badge bg-info">Play Store URL</span>
444
+ <a target="_blank" href="{{ playstore_details.url }}" rel="noopener noreferrer"> {{ package_name }} </a>
445
+ <br/>
446
+ <span class="badge bg-info">Developer</span>
447
+ {{playstore_details.developer}},
448
+ <span class="badge bg-info">Developer ID</span>
449
+ {{playstore_details.developerId}} <br/>
450
+ <span class="badge bg-info">Developer Address</span>
451
+ {{playstore_details.developerAddress}} <br/>
452
+ <span class="badge bg-info">Developer Website</span>
453
+ {{playstore_details.developerWebsite}} <br/>
454
+ <span class="badge bg-info">Developer Email</span>
455
+ {{playstore_details.developerEmail}}
456
+ <br/>
457
+ <span class="badge bg-info">Release Date</span>
458
+ {{ playstore_details.released }}
459
+ <span class="badge bg-info">Privacy Policy</span>
460
+ <a target="_blank" href="{{ playstore_details.privacyPolicy }}" rel="noopener noreferrer">Privacy link</a>
461
+ <br/>
462
+ <span class="badge bg-info">Description</span>
463
+ <pre id="pre-wrap">{{ playstore_details.description }}</pre>
464
+ </div>
465
+ </div><!-- /.card -->
466
+ </div>
467
+ {% endif %}
468
+ <!-- /.col -->
469
+ <!-- row and container-->
470
+ </div>
471
+ </div>
472
+
473
+ <!-- Boxes -->
474
+ <div class="container-fluid">
475
+ <div class="row">
476
+ <div class="col-lg-12">
477
+
478
+ <div class="card">
479
+ <div class="card-body">
480
+ <h5 class="card-title"></h5>
481
+ <div class="row">
482
+ <!-- Boxes columns -->
483
+ <div class="col-12 col-sm-6 col-md-3">
484
+ <!-- small box -->
485
+ <div class="small-box bg-info">
486
+ <div class="inner">
487
+ <h3>{{ activities | length }}</h3>
488
+
489
+ <p>ACTIVITIES</p>
490
+ </div>
491
+ <div class="icon">
492
+ <i class="fa fa-language"></i>
493
+ </div>
494
+ <a href="#activities" class="small-box-footer">View <i class="fas fa-arrow-circle-down"></i></a>
495
+ </div>
496
+ </div>
497
+ <!-- ./col -->
498
+ <div class="col-12 col-sm-6 col-md-3">
499
+ <!-- small box -->
500
+ <div class="small-box bg-success">
501
+ <div class="inner">
502
+ <h3>{{ services | length }}</h3>
503
+
504
+ <p>SERVICES</p>
505
+ </div>
506
+ <div class="icon">
507
+ <i class="fa fa-cogs"></i>
508
+ </div>
509
+ <a href="#services" class="small-box-footer">View <i class="fas fa-arrow-circle-down"></i></a>
510
+ </div>
511
+ </div>
512
+ <!-- ./col -->
513
+ <div class="col-12 col-sm-6 col-md-3">
514
+ <!-- small box -->
515
+ <div class="small-box bg-warning">
516
+ <div class="inner">
517
+ <h3>{{ receivers | length }}</h3>
518
+
519
+ <p>RECEIVERS</p>
520
+ </div>
521
+ <div class="icon">
522
+ <i class="fa fa-assistive-listening-systems"></i>
523
+ </div>
524
+ <a href="#receivers" class="small-box-footer">View <i class="fas fa-arrow-circle-down"></i></a>
525
+ </div>
526
+ </div>
527
+ <!-- ./col -->
528
+ <div class="col-12 col-sm-6 col-md-3">
529
+ <!-- small box -->
530
+ <div class="small-box bg-danger">
531
+ <div class="inner">
532
+ <h3>{{ providers | length }}</h3>
533
+
534
+ <p>PROVIDERS</p>
535
+ </div>
536
+ <div class="icon">
537
+ <i class="fa fa-database"></i>
538
+ </div>
539
+ <a href="#providers" class="small-box-footer">View <i class="fas fa-arrow-circle-down"></i></a>
540
+ </div>
541
+ <!-- /.row -->
542
+ </div><!-- /.container-fluid -->
543
+ <div class="col-12 col-sm-6 col-md-3">
544
+ <div class="info-box">
545
+ <span class="info-box-icon bg-info elevation-1"><i class="fas fa-language"></i></span>
546
+
547
+ <div class="info-box-content">
548
+ <span class="info-box-text">Exported <br/>Activities</span>
549
+ <span class="info-box-number">
550
+ {{ exported_count.exported_activities }}
551
+ </span>
552
+ </div>
553
+ <!-- /.info-box-content -->
554
+ </div>
555
+ <!-- /.info-box -->
556
+ </div>
557
+ <!-- /.col -->
558
+ <div class="col-12 col-sm-6 col-md-3">
559
+ <div class="info-box mb-3">
560
+ <span class="info-box-icon bg-success elevation-1"><i class="fas fa-cogs"></i></span>
561
+
562
+ <div class="info-box-content">
563
+ <span class="info-box-text">Exported <br/>Services</span>
564
+ <span class="info-box-number">{{ exported_count.exported_services }}</span>
565
+ </div>
566
+ <!-- /.info-box-content -->
567
+ </div>
568
+ <!-- /.info-box -->
569
+ </div>
570
+ <!-- /.col -->
571
+
572
+ <!-- fix for small devices only -->
573
+ <div class="clearfix hidden-md-up"></div>
574
+
575
+ <div class="col-12 col-sm-6 col-md-3">
576
+ <div class="info-box mb-3">
577
+ <span class="info-box-icon bg-warning elevation-1"><i class="fas fa-assistive-listening-systems"></i></span>
578
+
579
+ <div class="info-box-content">
580
+ <span class="info-box-text">Exported <br/>Receivers</span>
581
+ <span class="info-box-number">{{ exported_count.exported_receivers }}</span>
582
+ </div>
583
+ <!-- /.info-box-content -->
584
+ </div>
585
+ <!-- /.info-box -->
586
+ </div>
587
+ <!-- /.col -->
588
+ <div class="col-12 col-sm-6 col-md-3">
589
+ <div class="info-box mb-3">
590
+ <span class="info-box-icon bg-danger elevation-1"><i class="fas fa-database"></i></span>
591
+
592
+ <div class="info-box-content">
593
+ <span class="info-box-text">Exported <br/>Providers</span>
594
+ <span class="info-box-number">{{exported_count.exported_providers}}</span>
595
+ </div>
596
+ <!-- /.info-box-content -->
597
+ </div>
598
+ <!-- /.info-box -->
599
+ </div>
600
+ </div>
601
+ </div>
602
+ </div>
603
+
604
+ </div>
605
+ </div>
606
+ </div>
607
+ </section>
608
+ <!-- =========================end information==================================== -->
609
+
610
+
611
+
612
+ <a id="scan_options" class="anchor"></a>
613
+ <section class="content">
614
+ <div class="container-fluid">
615
+ <div class="row">
616
+ <div class="col-lg-4">
617
+ <div class="card">
618
+ <div class="card-body">
619
+ <p>
620
+ <strong><i class="fas fa-cog"></i> SCAN OPTIONS</strong>
621
+ </p>
622
+ <p> <a href="../static_analyzer/?checksum={{ md5 }}&amp;name={{ file_name }}&amp;type=apk&amp;rescan=1" class="btn btn-info" role="button"><i class="fa fa-sync"></i> Rescan</a></p>
623
+ <p>
624
+ <a onclick="dynamic_loader()" href="../android_dynamic/{{md5}}" class="btn btn-success" role="button"><i class="fa fa-play-circle"></i> Start Dynamic Analysis</a>
625
+ </p>
626
+ </div>
627
+ </div><!-- /.card -->
628
+ </div>
629
+ <div class="col-lg-8">
630
+ <div class="card">
631
+ <div class="card-body">
632
+ <p>
633
+ <strong><i class="fas fa-file-code"></i> DECOMPILED CODE</strong>
634
+ </p>
635
+ <p>
636
+ <a target="_blank" href="../manifest_view/?md5={{ md5 }}&amp;type={{ app_type }}&amp;bin=1" role="button" class="btn btn-primary"><i class="fa fa-eye"></i> View AndroidManifest.xml</a>
637
+ <a href="{% url "tree_view" %}?md5={{ md5 }}&amp;type=java" class="btn btn-info" role="button"><i class="fa fa-code"></i> View Source</a>
638
+ <a href="{% url "tree_view" %}?md5={{ md5 }}&amp;type=smali" class="btn btn-info" role="button"><i class="fa fa-code"></i> View Smali</a>
639
+ </p>
640
+ <p>
641
+ <a href="../generate_downloads/?hash={{ md5 }}&amp;file_type=java" class="btn btn-warning" role="button"> <i class="fa fa-download"></i> Download Java Code</a>
642
+ <a href="../generate_downloads/?hash={{ md5 }}&amp;file_type=smali" class="btn btn-warning"> <i class="fa fa-download"></i> Download Smali Code</a>
643
+ <a href="../generate_downloads/?hash={{ md5 }}&amp;file_type=apk" class="btn btn-warning"> <i class="fa fa-download"></i> Download APK</a>
644
+ </p>
645
+ </div>
646
+ </div>
647
+ </div>
648
+
649
+ <!-- end row -->
650
+ </div>
651
+ </div>
652
+ </section>
653
+ <!-- ===========================end scan options================================== -->
654
+ <a id="certificate" class="anchor"></a>
655
+ <section class="content">
656
+ <div class="container-fluid">
657
+ <div class="row">
658
+ <div class="col-lg-12">
659
+ <div class="card">
660
+ <div class="card-body">
661
+ <p>
662
+ <strong><i class="fa fa-certificate"></i> SIGNER CERTIFICATE</strong>
663
+ </p>
664
+ {% if certificate_analysis %}
665
+ <pre><code>{{ certificate_analysis.certificate_info }}</code></pre>
666
+ <!--Cert status-->
667
+ <div class="table-responsive">
668
+ <table id="table_cert" class="table table-bordered table-hover table-striped">
669
+ <thead>
670
+ <tr>
671
+ <th>STATUS</th>
672
+ <th>DESCRIPTION</th>
673
+ </tr>
674
+ </thead>
675
+ <tbody>
676
+ {% for find in certificate_analysis.certificate_findings %}
677
+ <tr>
678
+ <td>
679
+ {% if find.0 == 'bad' %}
680
+ <span class="badge bg-danger">bad</span>
681
+ {% elif find.0 == 'good' %}
682
+ <span class="badge bg-success">secure</span>
683
+ {% elif find.0 == 'warning' %}
684
+ <span class="badge bg-warning">warning</span>
685
+ {% endif %}
686
+ </td>
687
+ <td>{{ find.1 }}</td>
688
+ </tr>
689
+ {% endfor %}
690
+ </tbody>
691
+ </table>
692
+ </div>
693
+ {% else %}
694
+ Failed to read Code Signing Certificate.
695
+ {% endif %}
696
+ </div>
697
+ </div><!-- /.card -->
698
+ </div>
699
+ <!-- end row -->
700
+ </div>
701
+ </div>
702
+
703
+ </section>
704
+ <!-- ===========================end cert ================================== -->
705
+ <a id="permissions" class="anchor"></a>
706
+ <section class="content">
707
+ <div class="container-fluid">
708
+ <div class="row">
709
+ <div class="col-lg-12">
710
+ <div class="card">
711
+ <div class="card-body">
712
+ <p>
713
+ <strong><i class="fa fa-list"></i> APPLICATION PERMISSIONS</strong>
714
+ <p>
715
+ <div class="table-responsive">
716
+ <table id="table_permissions" class="table table-bordered table-hover table-striped">
717
+ <thead>
718
+ <tr>
719
+ <th>PERMISSION</th>
720
+ <th>STATUS</th>
721
+ <th>INFO </th>
722
+ <th>DESCRIPTION</th>
723
+ </tr>
724
+ </thead>
725
+ <tbody>
726
+ {% for perm,desc in permissions.items %}
727
+ <tr>
728
+ <td>{{ perm }}</td>
729
+ <td>
730
+ {% if desc.status == 'dangerous' %}
731
+ <span class="badge bg-danger">dangerous</span>
732
+ {% elif desc.status == 'normal' %}
733
+ <span class="badge bg-info">normal</span>
734
+ {% elif desc.status == 'signatureOrSystem' %}
735
+ <span class="badge bg-warning">SignatureOrSystem</span>
736
+ {% elif desc.status == 'signature' %}
737
+ <span class="badge bg-success">signature</span>
738
+ {% elif desc.status == 'unknown' %}
739
+ <span class="badge bg-secondary">unknown</span>
740
+ {% endif %}
741
+ </td>
742
+ <td>{{ desc.info }}</td>
743
+ <td>{{ desc.description }}</td>
744
+ </tr>
745
+ {% endfor %}
746
+ </tbody>
747
+ </table>
748
+
749
+ </div>
750
+
751
+ </div>
752
+ </div><!-- /.card -->
753
+ </div>
754
+ <!-- end row -->
755
+ </div>
756
+ </div>
757
+ </section>
758
+ <!-- ===========================end permission ================================== -->
759
+ <a id="android_api" class="anchor"></a>
760
+ <section class="content">
761
+ <div class="container-fluid">
762
+ <div class="row">
763
+ <div class="col-lg-12">
764
+ <div class="card">
765
+ <div class="card-body">
766
+ <p>
767
+ <strong><i class="fab fa-android"></i> ANDROID API</strong>
768
+ </p>
769
+ <div class="table-responsive">
770
+ <table id="table_so" class="table table-bordered table-hover table-striped">
771
+ <thead>
772
+ <tr>
773
+ <th>API</th>
774
+ <th>FILES</th>
775
+ </tr>
776
+ </thead>
777
+ <tbody>
778
+ {% for rule, details in android_api.items %}
779
+ <tr>
780
+ <td>
781
+ {{ details.metadata.description }}
782
+ </td>
783
+ <td>
784
+ {% for file_path, lines in details.files.items %}
785
+ <a href="{% url "view_source" %}?file={{ file_path }}&amp;md5={{ md5 }}&amp;type={{app_type}}&amp;lines={{ lines }}"> {{ file_path }}</a>
786
+ <br/>
787
+ {% endfor %}
788
+ </td>
789
+ </tr>
790
+ {% endfor %}
791
+ </tbody>
792
+ </table>
793
+ </div>
794
+ </div>
795
+ </div><!-- /.card -->
796
+ </div>
797
+ <!-- end row -->
798
+ </div>
799
+ </div>
800
+ </section>
801
+ <!-- ===========================end api analysis ================================== -->
802
+ <a id="browsable" class="anchor"></a>
803
+ <section class="content">
804
+ <div class="container-fluid">
805
+ <div class="row">
806
+ <div class="col-lg-12">
807
+ <div class="card">
808
+ <div class="card-body">
809
+ <p>
810
+ <strong><i class="fas fa-clone"></i> BROWSABLE ACTIVITIES</strong>
811
+ </p>
812
+ <div class="table-responsive">
813
+ <table id="table_browsable" class="table table-bordered table-hover table-striped">
814
+ <thead>
815
+ <tr>
816
+ <th>ACTIVITY</th>
817
+ <th>INTENT</th>
818
+ </tr>
819
+ </thead>
820
+ <tbody>
821
+ {% for activity,intent_details in browsable_activities.items %}
822
+ <tr>
823
+ <td>{{activity}}</td>
824
+ <td>
825
+ {% if intent_details|key:"schemes" %}
826
+ <strong>Schemes</strong>:
827
+ {% for scheme in intent_details|key:"schemes" %}
828
+ {{scheme}},
829
+ {% endfor %}
830
+ <br/>
831
+ {% endif %}
832
+ {% if intent_details|key:"hosts" %}
833
+ <strong>Hosts:</strong> {% for host in intent_details|key:"hosts" %}
834
+ {{host}},
835
+ {% endfor %}
836
+ <br/>
837
+ {% endif %}
838
+ {% if intent_details|key:"ports" %}
839
+ <strong>Ports:</strong> {% for port in intent_details|key:"ports" %}
840
+ {{port}},
841
+ {% endfor %}
842
+ <br/>
843
+ {% endif %}
844
+ {% if intent_details|key:"mime_types" %}
845
+ <strong>Mime Types:</strong> {% for mime in intent_details|key:"mime_types" %}
846
+ {{mime}},
847
+ {% endfor %}
848
+ <br/>
849
+ {% endif %}
850
+ {% if intent_details|key:"paths" %}
851
+ <strong>Paths:</strong> {% for path in intent_details|key:"paths" %}
852
+ {{path}},
853
+ {% endfor %}
854
+ <br/>
855
+ {% endif %}
856
+ {% if intent_details|key:"path_prefixs" %}
857
+ <strong>Path Prefixes:</strong> {% for prefix in intent_details|key:"path_prefixs" %}
858
+ {{prefix}},
859
+ {% endfor %}
860
+ <br/>
861
+ {% endif %}
862
+ {% if intent_details|key:"path_patterns" %}
863
+ <strong>Path Patterns:</strong> {% for pattern in intent_details|key:"path_patterns" %}
864
+ {{pattern}},
865
+ {% endfor %}
866
+ <br/>
867
+ {% endif %}
868
+ {% endfor %}
869
+ </td>
870
+ </tr>
871
+ </tbody>
872
+ </table>
873
+ </div>
874
+ </div>
875
+ </div><!-- /.card -->
876
+ </div>
877
+ <!-- end row -->
878
+ </div>
879
+ </div>
880
+ </section>
881
+ <!-- ===========================end browsable activities ================================== -->
882
+ <a id="network_security" class="anchor"></a>
883
+ <section class="content">
884
+ <div class="container-fluid">
885
+ <div class="row">
886
+ <div class="col-lg-12">
887
+ <div class="card">
888
+ <div class="card-body">
889
+ <p>
890
+ <strong><i class="fas fa-lock"></i> NETWORK SECURITY</strong>
891
+ </p>
892
+ <div class="table-responsive">
893
+ <table id="table_manifest" class="table table-bordered table-hover table-striped">
894
+ <thead>
895
+ <tr>
896
+ <th>NO</th>
897
+ <th>SCOPE</th>
898
+ <th>SEVERITY</th>
899
+ <th>DESCRIPTION</th>
900
+ </tr>
901
+ </thead>
902
+ <tbody>
903
+ {% for item in network_security %}
904
+ <tr>
905
+ <td>{{ forloop.counter }}</td>
906
+ <td>
907
+ {% for url in item.scope %}
908
+ {{ url }}</br>
909
+ {% endfor %}
910
+ </td>
911
+ <td>
912
+ {% if item.severity == "high" %}
913
+ <span class="badge bg-danger">high</span>
914
+ {% elif item.severity == "good" %}
915
+ <span class="badge bg-success">good</span>
916
+ {% elif item.severity == "info" %}
917
+ <span class="badge bg-info">info</span>
918
+ {% elif item.severity == "warning" %}
919
+ <span class="badge bg-warning">medium</span>
920
+ {% endif %}
921
+ </td>
922
+ <td>
923
+ {{item.description }}
924
+ </td>
925
+ </tr>
926
+ {% endfor %}
927
+ </tbody>
928
+ </table>
929
+ </div>
930
+ </div>
931
+ </div><!-- /.card -->
932
+ </div>
933
+ <!-- end row -->
934
+ </div>
935
+ </div>
936
+ </section>
937
+ <!-- ===========================end network security ================================== -->
938
+ <a id="manifest" class="anchor"></a>
939
+ <section class="content">
940
+ <div class="container-fluid">
941
+ <div class="row">
942
+ <div class="col-lg-12">
943
+ <div class="card">
944
+ <div class="card-body">
945
+ <p>
946
+ <strong><i class="fas fa-search"></i> MANIFEST ANALYSIS</strong>
947
+ </p>
948
+ <div class="table-responsive">
949
+ <table id="table_manifest" class="table table-bordered table-hover table-striped">
950
+ <thead>
951
+ <tr>
952
+ <th>NO</th>
953
+ <th>ISSUE</th>
954
+ <th>SEVERITY</th>
955
+ <th>DESCRIPTION</th>
956
+ </tr>
957
+ </thead>
958
+ <tbody>
959
+
960
+ {% for item in manifest_analysis %}
961
+ <tr>
962
+ <td>{{ forloop.counter }}</td>
963
+ <td>
964
+ {{item|key:"title" | safe}}
965
+ </td>
966
+ <td>
967
+
968
+ {% if item|key:"stat" == "high" %}
969
+ <span class="badge bg-danger">high</span>
970
+ {% elif item|key:"stat" == "info" %}
971
+ <span class="badge bg-info">info</span>
972
+ {% elif item|key:"stat" == "medium" %}
973
+ <span class="badge bg-warning">medium</span>
974
+ {% endif %}
975
+
976
+ </td>
977
+ <td>
978
+ {{item|key:"desc"}}
979
+ </td>
980
+
981
+ </tr>
982
+ {% endfor %}
983
+ </tbody>
984
+ </table>
985
+ </div>
986
+ </div>
987
+ </div><!-- /.card -->
988
+ </div>
989
+ <!-- end row -->
990
+ </div>
991
+ </div>
992
+ </section>
993
+ <!-- ===========================end manifest analysis ================================== -->
994
+ <a id="code_analysis" class="anchor"></a>
995
+ <section class="content">
996
+ <div class="container-fluid">
997
+ <div class="row">
998
+ <div class="col-lg-12">
999
+ <div class="card">
1000
+ <div class="card-body">
1001
+ <p>
1002
+ <strong><i class="fas fa-code"></i> CODE ANALYSIS</strong>
1003
+ </p>
1004
+ <div class="table-responsive">
1005
+ <table id="table_code" class="table table-bordered table-hover table-striped">
1006
+ <thead>
1007
+ <tr>
1008
+ <th>NO</th>
1009
+ <th>ISSUE</th>
1010
+ <th>SEVERITY</th>
1011
+ <th>STANDARDS</th>
1012
+ <th>FILES</th>
1013
+ </tr>
1014
+ </thead>
1015
+ <tbody>
1016
+ {% for rule, details in code_analysis.items %}
1017
+ <tr>
1018
+ <td>{{ forloop.counter }}</td>
1019
+ <td>
1020
+ {% if details.metadata|key:"ref" %}
1021
+ <a href="{{details.metadata.ref}}" target="_blank" rel="noopener"> {{ details.metadata.description }}</a>
1022
+ {% else %}
1023
+ {{ details.metadata.description }}
1024
+ {% endif %}
1025
+ </td>
1026
+ <td>
1027
+ {% if details.metadata.severity == "high" %}
1028
+ <span class="badge bg-danger">high</span>
1029
+ {% elif details.metadata.severity == "good" %}
1030
+ <span class="badge bg-success">secure</span>
1031
+ {% elif details.metadata.severity == "warning" %}
1032
+ <span class="badge bg-warning">warning</span>
1033
+ {% elif details.metadata.severity == "info" %}
1034
+ <span class="badge bg-info">info</span>
1035
+ {% endif %}
1036
+ </td>
1037
+ <td>
1038
+ <strong>CVSS V2:</strong>
1039
+ {{ details.metadata.cvss }}
1040
+ {% if details.metadata.cvss > 6 %}
1041
+ (high)
1042
+ {% elif details.metadata.cvss == 0 %}
1043
+ (info)
1044
+ {% elif details.metadata.cvss >= 4 %}
1045
+ (medium)
1046
+ {% elif details.metadata.cvss < 4 %}
1047
+ (low)
1048
+ {% endif %}
1049
+ {% if details.metadata.cwe %}</br> <strong>CWE: </strong>{{ details.metadata.cwe }}{% endif %}
1050
+ {% if details.metadata|key:"owasp-mobile" %}</br> <strong>OWASP Top 10: </strong>{{ details.metadata|key:"owasp-mobile" }}{% endif %}
1051
+ {% if details.metadata.masvs %}</br> <strong>OWASP MASVS: </strong>{{ details.metadata.masvs }}{% endif %}
1052
+ </td>
1053
+ <td>
1054
+ {% for file_path, lines in details.files.items %}
1055
+ <a href="{% url "view_source" %}?file={{ file_path }}&amp;md5={{ md5 }}&amp;type={{app_type}}&amp;lines={{ lines}}"> {{ file_path }}</a>
1056
+ <br/>
1057
+ {% endfor %}
1058
+ </td>
1059
+ </tr>
1060
+ {% endfor %}
1061
+ </tbody>
1062
+ </table>
1063
+ </div>
1064
+ </div>
1065
+ </div><!-- /.card -->
1066
+ </div>
1067
+ <!-- end row -->
1068
+ </div>
1069
+ </div>
1070
+ </section>
1071
+ <!-- ===========================end code analysis ================================== -->
1072
+ <a id="binary_analysis" class="anchor"></a>
1073
+ <section class="content">
1074
+ <div class="container-fluid">
1075
+ <div class="row">
1076
+ <div class="col-lg-12">
1077
+ <div class="card">
1078
+ <div class="card-body">
1079
+ <p>
1080
+ <strong><i class="fa fa-flag"></i> SHARED LIBRARY BINARY ANALYSIS</strong>
1081
+ </p>
1082
+ <div class="table-responsive">
1083
+ <table id="table_binary" class="table table-bordered table-hover table-striped">
1084
+ <thead>
1085
+ <tr>
1086
+ <th>NO</th>
1087
+ <th>SHARED OBJECT</th>
1088
+ <th>NX</th>
1089
+ <th>STACK CANARY</th>
1090
+ <th>RELRO</th>
1091
+ <th>RPATH</th>
1092
+ <th>RUNPATH</th>
1093
+ <th>FORTIFY</th>
1094
+ <th>SYMBOLS STRIPPED</th>
1095
+ </tr>
1096
+ </thead>
1097
+ <tbody>
1098
+ {% if not binary_analysis %}
1099
+ No Shared Objects found.
1100
+ {% endif %}
1101
+ {% for so in binary_analysis %}
1102
+ <tr>
1103
+ <td>{{ forloop.counter }}</td>
1104
+ <td>{{so.name}}</td>
1105
+ <td><b>{{so.nx.is_nx}}</b>
1106
+ <br/>
1107
+ <span class="badge bg-{% if so.nx.severity == 'high' %}danger{% elif so.nx.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.nx.severity}}</span>
1108
+ <br/>{{so.nx.description}}</td>
1109
+ <td><b>{{so.stack_canary.has_canary}}</b>
1110
+ <br/>
1111
+ <span class="badge bg-{% if so.stack_canary.severity == 'high' %}danger{% elif so.stack_canary.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.stack_canary.severity}}</span>
1112
+ <br/>{{so.stack_canary.description}}</td>
1113
+ <td><b>{{so.relocation_readonly.relro}}</b>
1114
+ <br/>
1115
+ <span class="badge bg-{% if so.relocation_readonly.severity == 'high' %}danger{% elif so.relocation_readonly.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.relocation_readonly.severity}}</span>
1116
+ <br/>{{so.relocation_readonly.description}}</td>
1117
+ <td><b>{{so.rpath.rpath}}</b>
1118
+ <br/>
1119
+ <span class="badge bg-{% if so.rpath.severity == 'high' %}danger{% elif so.rpath.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.rpath.severity}}</span>
1120
+ <br/>{{so.rpath.description}}</td>
1121
+ <td><b>{{so.runpath.runpath}}</b>
1122
+ <br/>
1123
+ <span class="badge bg-{% if so.runpath.severity == 'high' %}danger{% elif so.runpath.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.runpath.severity}}</span>
1124
+ <br/>{{so.runpath.description}}</td>
1125
+ <td><b>{{so.fortify.is_fortified}}</b>
1126
+ <br/>
1127
+ <span class="badge bg-{% if so.fortify.severity == 'high' %}danger{% elif so.fortify.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.fortify.severity}}</span>
1128
+ <br/>{{so.fortify.description}}</td>
1129
+ <td><b>{{so.symbol.is_stripped}}</b>
1130
+ <br/>
1131
+ <span class="badge bg-{% if so.symbol.severity == 'high' %}danger{% elif so.symbol.severity == 'warning' %}warning{% else %}info{% endif %}">{{so.symbol.severity}}</span>
1132
+ <br/>{{so.symbol.description}}</td>
1133
+ </tr>
1134
+ {% endfor %}
1135
+ </tbody>
1136
+ </table>
1137
+ </div>
1138
+
1139
+ </div>
1140
+ </div><!-- /.card -->
1141
+ </div>
1142
+ <!-- end row -->
1143
+ </div>
1144
+ </div>
1145
+ </section>
1146
+ <!-- ===========================end binary analysis ================================== -->
1147
+ <a id="niap_analysis" class="anchor"></a>
1148
+ <section class="content">
1149
+ <div class="container-fluid">
1150
+ <div class="row">
1151
+ <div class="col-lg-12">
1152
+ <div class="card">
1153
+ <div class="card-body">
1154
+ <p>
1155
+ <strong><i class="fa fa-id-badge"></i> NIAP ANALYSIS v1.3</strong>
1156
+ </p>
1157
+ <div class="table-responsive">
1158
+ <table id="table_file" class="table table-bordered table-hover table-striped">
1159
+ <thead>
1160
+ <tr>
1161
+ <th>NO</th>
1162
+ <th>IDENTIFIER</th>
1163
+ <th>REQUIREMENT</th>
1164
+ <th>FEATURE</th>
1165
+ <th>DESCRIPTION</th>
1166
+ </tr>
1167
+ </thead>
1168
+ <tbody>
1169
+ {% for iden, details in niap_analysis.items %}
1170
+ <tr>
1171
+ <td>{{ forloop.counter }}</td>
1172
+ <td>
1173
+ <span class="badge {% if 'does not' in details.choice %} bg-warning {% elif 'not in accordance' in details.choice %} bg-danger {% else %} bg-info {% endif %}"> {{ iden }}</span>
1174
+ </td>
1175
+ <td>
1176
+ {{ details.class }}
1177
+ </td>
1178
+ <td>
1179
+ {{ details.description }}
1180
+ </td>
1181
+ <td>
1182
+ {{ details.choice }}
1183
+ </td>
1184
+ </tr>
1185
+ {% endfor %}
1186
+ </tbody>
1187
+ </table>
1188
+ </div>
1189
+ </div>
1190
+ </div><!-- /.card -->
1191
+ </div>
1192
+ <!-- end row -->
1193
+ </div>
1194
+ </div>
1195
+ </section>
1196
+ <!-- ===========================end niap analysis ================================== -->
1197
+ <a id="file_analysis" class="anchor"></a>
1198
+ <section class="content">
1199
+ <div class="container-fluid">
1200
+ <div class="row">
1201
+ <div class="col-lg-12">
1202
+ <div class="card">
1203
+ <div class="card-body">
1204
+ <p>
1205
+ <strong><i class="fa fa-file"></i> FILE ANALYSIS</strong>
1206
+ </p>
1207
+ <div class="table-responsive">
1208
+ <table id="table_file" class="table table-bordered table-hover table-striped">
1209
+ <thead>
1210
+ <tr>
1211
+ <th>NO</th>
1212
+ <th>ISSUE</th>
1213
+ <th>FILES</th>
1214
+ </tr>
1215
+ </thead>
1216
+ <tbody>
1217
+ {% for item in file_analysis %}
1218
+ <tr>
1219
+ <td>{{ forloop.counter }}</td>
1220
+ <td>
1221
+ {{ item|key:"finding" }}
1222
+ </td>
1223
+ <td>
1224
+ {% for cert_f in item|key:"files" %}
1225
+ {{ cert_f }}<br />
1226
+ {% endfor %}
1227
+ </td>
1228
+ </tr>
1229
+ {% endfor %}
1230
+ </tbody>
1231
+ </table>
1232
+ </div>
1233
+ </div>
1234
+ </div><!-- /.card -->
1235
+ </div>
1236
+ <!-- end row -->
1237
+ </div>
1238
+ </div>
1239
+ </section>
1240
+ <!-- ===========================end file analysis ================================== -->
1241
+ <a id="apkid" class="anchor"></a>
1242
+ <section class="content">
1243
+ <div class="container-fluid">
1244
+ <div class="row">
1245
+ <div class="col-lg-12">
1246
+ <div class="card">
1247
+ <div class="card-body">
1248
+ <p>
1249
+ <strong><i class="fas fa-fingerprint"></i> APKiD ANALYSIS</strong>
1250
+ </p>
1251
+ <div class="table-responsive">
1252
+ <table id="table_apkid" class="table table-bordered table-hover table-striped">
1253
+ <thead>
1254
+ <tr>
1255
+ <th>DEX</th>
1256
+ <th>DETECTIONS</th>
1257
+ </tr>
1258
+ </thead>
1259
+ <tbody>
1260
+ {% if apkid %}
1261
+ {% for file, details in apkid.items %}
1262
+ <tr>
1263
+ <td>
1264
+ {{file}}
1265
+ </td>
1266
+ <td>
1267
+ <table class="table table-bordered table-hover table-striped">
1268
+ <thead>
1269
+ <tr>
1270
+ <th>FINDINGS</th>
1271
+ <th>DETAILS</th>
1272
+ </tr>
1273
+ </thead>
1274
+ <tbody>
1275
+ {% for detail, idens in details.items %}
1276
+ <tr>
1277
+ <td>
1278
+ {% if detail == "anti_vm" %}
1279
+ <span class="badge bg-warning">Anti-VM Code</span>
1280
+ {% elif detail == "anti_disassembly" %}
1281
+ <span class="badge bg-warning">Anti Disassembly Code</span>
1282
+ {% elif detail == "anti_debug" %}
1283
+ <span class="badge bg-warning">Anti Debug Code</span>
1284
+ {% elif detail == "compiler" %}
1285
+ <span class="badge bg-info">Compiler</span>
1286
+ {% elif detail == "abnormal" %}
1287
+ <span class="badge bg-warning">Abnormal Code</span>
1288
+ {% elif detail == "obfuscator" %}
1289
+ <span class="badge bg-warning">Obfuscator</span>
1290
+ {% elif detail == "protector" %}
1291
+ <span class="badge bg-info">Protector</span>
1292
+ {% elif detail == "packer" %}
1293
+ <span class="badge bg-danger">Packer Found</span>
1294
+ {% elif detail == "dropper" %}
1295
+ <span class="badge bg-danger">Dropper Found</span>
1296
+ {% elif detail == "manipulator" %}
1297
+ <span class="badge bg-warning">Manipulator Found</span>
1298
+ {% else %}
1299
+ <span class="badge bg-info">{{detail}}</span>
1300
+ {% endif %}
1301
+ </td>
1302
+ <td> {% for idn in idens %} {{ idn }}<br/> {% endfor %}</td>
1303
+ </tr>
1304
+ {% endfor %}
1305
+ </tbody>
1306
+ </table>
1307
+ </td>
1308
+
1309
+ </tr>
1310
+ {% endfor %}
1311
+ {% else %}
1312
+ <p align="center"><strong>APKiD not enabled.</strong></p>
1313
+ {% endif %}
1314
+ </tbody>
1315
+
1316
+ </table>
1317
+ </div>
1318
+ </div>
1319
+ </div><!-- /.card -->
1320
+ </div>
1321
+ <!-- end row -->
1322
+ </div>
1323
+ </div>
1324
+ </section>
1325
+ <!-- ===========================end apkid analysis ================================== -->
1326
+ <a id="quark" class="anchor"></a>
1327
+ <section class="content">
1328
+ <div class="container-fluid">
1329
+ <div class="row">
1330
+ <div class="col-lg-12">
1331
+ <div class="card">
1332
+ <div class="card-body">
1333
+ <p>
1334
+ <strong><i class="fab fa-quora"></i> QUARK ANALYSIS</strong>
1335
+ </p>
1336
+ <div class="table-responsive">
1337
+ <table id="table_file" class="table table-bordered table-hover table-striped">
1338
+ <thead>
1339
+ <tr>
1340
+ <th>POTENTIAL MALICIOUS BEHAVIOUR</th>
1341
+ <th>EVIDENCE</th>
1342
+ </tr>
1343
+ </thead>
1344
+ <tbody>
1345
+ {% if quark %}
1346
+ {% for item in quark %}
1347
+ <tr>
1348
+ <td>{{ item.crime }}</td>
1349
+
1350
+ <td>
1351
+ {% for api in item.register %}
1352
+ <a href="{% url "view_source" %}?file={{ api.file }}&amp;md5={{ md5 }}&amp;type=smali&amp;lines={{ api.line_numbers.first_api }},{{ api.line_numbers.second_api }}">{{api.file}} -> {{api.method}}</a>
1353
+ <br/>
1354
+ {% endfor %}
1355
+ </td>
1356
+ </tr>
1357
+ {% endfor%}
1358
+ {% endif %}
1359
+ </tbody>
1360
+
1361
+ </table>
1362
+ </div>
1363
+ </div>
1364
+ </div><!-- /.card -->
1365
+ </div>
1366
+ <!-- end row -->
1367
+ </div>
1368
+ </div>
1369
+ </section>
1370
+ <!-- ===========================end quark analysis ================================== -->
1371
+ {% if virus_total %}
1372
+ <a id="virus_total" class="anchor"></a>
1373
+ <section class="content">
1374
+ <div class="container-fluid">
1375
+ <div class="row">
1376
+ <div class="col-lg-12">
1377
+ <div class="card">
1378
+ <div class="card-body">
1379
+ <p>
1380
+ <strong><i class="fas fa-spider"></i> VIRUSTOTAL SCAN</strong>
1381
+ </p>
1382
+ <div class="table-responsive">
1383
+ {% if virus_total.items|length < 9 %} {% comment %} Basic check to determine if the response is a msg or a result {% endcomment %}
1384
+ <p align="left">&nbsp;&nbsp;<strong>{{ virus_total.verbose_msg }}</strong></p>
1385
+ {% else %}
1386
+ <p align="left">&nbsp;&nbsp;<strong> {{ virus_total.positives }} / {{ virus_total.total }}&nbsp; AVs found this file Malicious! </strong> &nbsp;&nbsp;<a href="{{ virus_total.permalink }}" target="_blank" rel="noopener"><i class="fas fa-th-list"></i> Full Report</a></p>
1387
+ {% if virus_total.positives > 0 %}
1388
+ <table id="table_vt" class="table table-bordered table-hover table-striped">
1389
+ <thead>
1390
+ <tr>
1391
+ <th>AV</th>
1392
+ <th>DETECTION</th>
1393
+ </tr>
1394
+ </thead>
1395
+ <tbody>
1396
+ {% for av_name,av_result in virus_total.scans.items %}
1397
+ {% if av_result.detected == True %}
1398
+ <tr>
1399
+ <td>
1400
+ {{ av_name }}
1401
+ </td>
1402
+ <td>
1403
+ <span class="badge bg-danger">{{ av_result.result }}</span>
1404
+ </td>
1405
+ </tr>
1406
+ {% endif %}
1407
+ {% endfor %}
1408
+ </tbody>
1409
+ </table>
1410
+ {% endif %}{% comment %} if results.positive > 0 {% endcomment %}
1411
+ {% endif %}{% comment %} if this is the upload msg or a result {% endcomment %}
1412
+ </div>
1413
+ </div>
1414
+ </div><!-- /.card -->
1415
+ </div>
1416
+ <!-- end row -->
1417
+ </div>
1418
+ </div>
1419
+ </section>
1420
+ {% endif %}
1421
+ <!-- ===========================end virus total ================================== -->
1422
+ <style>
1423
+ #chartdiv {
1424
+ width: 100%;
1425
+ height: 500px;
1426
+ overflow: hidden;
1427
+ }
1428
+ </style>
1429
+ <a id="serverlocations" class="anchor"></a>
1430
+ <section class="content">
1431
+ <div class="container-fluid">
1432
+ <div class="row">
1433
+ <div class="col-lg-12">
1434
+ <div class="card">
1435
+ <div class="card-body">
1436
+ <p>
1437
+ <strong><i class="fas fa-globe-asia"></i> SERVER LOCATIONS</strong>
1438
+ </p>
1439
+ <div class="table-responsive">
1440
+ <div id="chartdiv"></div>
1441
+ </div>
1442
+ </div>
1443
+ </div><!-- /.card -->
1444
+ </div>
1445
+ <!-- end row -->
1446
+ </div>
1447
+ </div>
1448
+ </section>
1449
+ <!-- ===========================end server locations ================================== -->
1450
+ <a id="malware_check" class="anchor"></a>
1451
+ <section class="content">
1452
+ <div class="container-fluid">
1453
+ <div class="row">
1454
+ <div class="col-lg-12">
1455
+ <div class="card">
1456
+ <div class="card-body">
1457
+ <p>
1458
+ <strong><i class="fab fa-searchengin"></i> DOMAIN MALWARE CHECK</strong>
1459
+ </p>
1460
+ <div class="table-responsive">
1461
+ {% if domains %}
1462
+ <table id="table_malware" class="table table-bordered table-hover table-striped">
1463
+ <thead>
1464
+ <tr>
1465
+ <th>DOMAIN</th>
1466
+ <th>STATUS</th>
1467
+ <th>GEOLOCATION</th>
1468
+ </tr>
1469
+ </thead>
1470
+ <tbody>
1471
+ {% for domain, details in domains.items %}
1472
+ <tr><td>{{domain}}</td><td>
1473
+
1474
+ {% if details|key:"bad" == "yes" %}
1475
+ <span class="badge bg-danger">malware</span><br/>
1476
+ <pre>
1477
+ <strong>URL: </strong>{{details|key:"domain_or_url"}}
1478
+ <strong>IP: </strong><span class="badge bg-danger">{{details|key:"ip"}}</span>
1479
+ <strong>Description: </strong>{{details|key:"desc"}}
1480
+ </pre>
1481
+ {% else %}
1482
+ <span class="badge bg-success">good</span><br/>
1483
+ {% endif %}
1484
+ </td>
1485
+ <td>
1486
+ {% if details|key:"geolocation" %}
1487
+ <strong>IP: </strong>{{details|key:"geolocation"|key:"ip"}} <br/>
1488
+ <strong>Country: </strong>{{details|key:"geolocation"|key:"country_long"}} <br/>
1489
+ <strong>Region: </strong>{{details|key:"geolocation"|key:"region"}} <br/>
1490
+ <strong>City: </strong>{{details|key:"geolocation"|key:"city"}} <br/>
1491
+ <strong>Latitude: </strong>{{details|key:"geolocation"|key:"latitude"}} <br/>
1492
+ <strong>Longitude: </strong>{{details|key:"geolocation"|key:"longitude"}} <br/>
1493
+ <strong>View: <a target="_blank" href="http://maps.google.com/maps?q={{details|key:"geolocation"|key:"latitude"}},{{details|key:"geolocation"|key:"longitude"}}">Google Map</a>
1494
+ {% else %}
1495
+ No Geolocation information available.
1496
+ {% endif %}
1497
+ </td>
1498
+ </tr>
1499
+ {% endfor %}
1500
+ </tbody>
1501
+ </table>
1502
+ {% endif %}
1503
+ </div>
1504
+ </div>
1505
+ </div><!-- /.card -->
1506
+ </div>
1507
+ <!-- end row -->
1508
+ </div>
1509
+ </div>
1510
+ </section>
1511
+ <!-- ===========================end domain malware check ================================== -->
1512
+ <a id="urls" class="anchor"></a>
1513
+ <section class="content">
1514
+ <div class="container-fluid">
1515
+ <div class="row">
1516
+ <div class="col-lg-12">
1517
+ <div class="card">
1518
+ <div class="card-body">
1519
+ <p>
1520
+ <strong><i class="fas fa-globe"></i> URLS</strong>
1521
+ </p>
1522
+ <div class="table-responsive">
1523
+ {% if urls %}
1524
+ <table id="table_urls" class="table table-bordered table-hover table-striped">
1525
+ <thead>
1526
+ <tr>
1527
+ <th>URL</th>
1528
+ <th>FILE</th>
1529
+ </tr>
1530
+ </thead>
1531
+ <tbody>
1532
+ {% for urldict in urls %}
1533
+ <tr>
1534
+ <td>
1535
+ {% for u in urldict|key:"urls" %}
1536
+ {{ u }} <br/>
1537
+ {% endfor %}
1538
+ </td>
1539
+
1540
+ <td>
1541
+ <a href="{% url "view_source" %}?file={{urldict|key:"path"}}&amp;md5={{ md5}}&amp;type={{app_type}}">{{urldict|key:"path"}}</a>
1542
+ </td>
1543
+ </tr>
1544
+ {% endfor %}
1545
+ </tbody>
1546
+ </table>
1547
+ {% endif %}
1548
+ </div>
1549
+ </div>
1550
+ </div><!-- /.card -->
1551
+ </div>
1552
+ <!-- end row -->
1553
+ </div>
1554
+ </div>
1555
+ </section>
1556
+ <!-- ===========================end urls ================================== -->
1557
+ <a id="firebase" class="anchor"></a>
1558
+ <section class="content">
1559
+ <div class="container-fluid">
1560
+ <div class="row">
1561
+ <div class="col-lg-12">
1562
+ <div class="card">
1563
+ <div class="card-body">
1564
+ <p>
1565
+ <strong><i class="fas fa-database"></i> FIREBASE DATABASE</strong>
1566
+ </p>
1567
+ <div class="table-responsive">
1568
+ {% if firebase_urls %}
1569
+ <table id="table_firebase" class="table table-bordered table-hover table-striped">
1570
+ <thead>
1571
+ <tr>
1572
+ <th>FIREBASE URL</th>
1573
+ <th>DETAILS</th>
1574
+ </tr>
1575
+ </thead>
1576
+
1577
+ <tbody>
1578
+ {% for item in firebase_urls %}
1579
+ <tr>
1580
+ <td>
1581
+ {{ item.url }}
1582
+ </td>
1583
+ <td>
1584
+ {% if item.open %}
1585
+ <span class="badge bg-danger">insecure</span><br/>Firebase Database is exposed publicly.
1586
+ {% else %}
1587
+ <span class="badge bg-primary">Info</span><br/>App talks to a Firebase database.
1588
+ {% endif %}
1589
+ </td>
1590
+ </tr>
1591
+ {% endfor %}
1592
+ </tbody>
1593
+ </table>
1594
+ {% endif %}
1595
+ </div>
1596
+ </div>
1597
+ </div><!-- /.card -->
1598
+ </div>
1599
+ <!-- end row -->
1600
+ </div>
1601
+ </div>
1602
+ </section>
1603
+ <!-- ===========================end firebase db ================================== -->
1604
+ <a id="emails" class="anchor"></a>
1605
+ <section class="content">
1606
+ <div class="container-fluid">
1607
+ <div class="row">
1608
+ <div class="col-lg-12">
1609
+ <div class="card">
1610
+ <div class="card-body">
1611
+ <p>
1612
+ <strong><i class="fas fa-envelope"></i> EMAILS</strong>
1613
+ </p>
1614
+ <div class="table-responsive">
1615
+ {% if emails %}
1616
+ <table id="table_emails" class="table table-bordered table-hover table-striped">
1617
+ <thead>
1618
+ <tr>
1619
+ <th>EMAIL</th>
1620
+ <th>FILE</th>
1621
+ </tr>
1622
+ </thead>
1623
+ <tbody>
1624
+ {% for email_dict in emails %}
1625
+ <tr>
1626
+ <td>
1627
+ {% for e in email_dict|key:"emails" %}
1628
+ {{ e }} <br/>
1629
+ {% endfor %}
1630
+ </td>
1631
+ <td>
1632
+ <a href="{% url "view_source" %}?file={{email_dict|key:"path"}}&amp;md5={{ md5}}&amp;type={{app_type}}">{{email_dict|key:"path"}}</a>
1633
+ </td>
1634
+ </tr>
1635
+ {% endfor %}
1636
+ </tbody>
1637
+ </table>
1638
+ {% endif %}
1639
+ </div>
1640
+ </div>
1641
+ </div><!-- /.card -->
1642
+ </div>
1643
+ <!-- end row -->
1644
+ </div>
1645
+ </div>
1646
+ </section>
1647
+ <!-- ===========================end emails ================================== -->
1648
+ <a id="trackers" class="anchor"></a>
1649
+ <section class="content">
1650
+ <div class="container-fluid">
1651
+ <div class="row">
1652
+ <div class="col-lg-12">
1653
+ <div class="card">
1654
+ <div class="card-body">
1655
+ <p>
1656
+ <strong><i class="fas fa-user-secret"></i> TRACKERS</strong>
1657
+ </p>
1658
+ <div class="table-responsive">
1659
+ {% if trackers %}
1660
+ <table id="table_trackers" class="table table-bordered table-hover table-striped">
1661
+ <thead>
1662
+ <tr>
1663
+ <th>TRACKER NAME</th>
1664
+ <th>CATEGORIES</th>
1665
+ <th>URL</th>
1666
+ </tr>
1667
+ </thead>
1668
+ <tbody>
1669
+ {% for trk in trackers|key:"trackers" %}
1670
+ <tr>
1671
+ <td>
1672
+ {{trk.name}}
1673
+ </td>
1674
+ <td>
1675
+ {{trk.categories}}
1676
+ </td>
1677
+ <td>
1678
+ <a target="_blank" href="{{trk.url}}" rel="noopener noreferrer">{{trk.url}}</a>
1679
+ </td>
1680
+ </tr>
1681
+ {% endfor %}
1682
+ </tbody>
1683
+ </table>
1684
+ {% endif %}
1685
+ </div>
1686
+ </div>
1687
+ </div><!-- /.card -->
1688
+ </div>
1689
+ <!-- end row -->
1690
+ </div>
1691
+ </div>
1692
+ </section>
1693
+ <!-- ===========================end trackers ================================== -->
1694
+ <a id="strings" class="anchor"></a>
1695
+ <section class="content">
1696
+ <div class="container-fluid">
1697
+ <div class="row">
1698
+ <div class="col-lg-12">
1699
+ <div class="card">
1700
+ <div class="card-body">
1701
+ <p>
1702
+ <strong><i class="fas fa-font"></i> STRINGS</strong>
1703
+ </p>
1704
+ <div class="list-group">
1705
+ <p>
1706
+ {% for val in strings %}
1707
+ {{ val }}<br/>
1708
+ {% endfor %}
1709
+ </p>
1710
+ </div>
1711
+ </div>
1712
+ </div>
1713
+ </div><!-- /.card -->
1714
+ </div>
1715
+ <!-- end row -->
1716
+ </div>
1717
+ </section>
1718
+ <!-- ===========================end strings ================================== -->
1719
+ <a id="secrets" class="anchor"></a>
1720
+ <section class="content">
1721
+ <div class="container-fluid">
1722
+ <div class="row">
1723
+ <div class="col-lg-12">
1724
+ <div class="card">
1725
+ <div class="card-body">
1726
+ <p>
1727
+ <strong><i class="fas fa-key"></i> POSSIBLE HARDCODED SECRETS</strong>
1728
+ </p>
1729
+ <div class="list-group">
1730
+ <p>
1731
+ {% for val in secrets %}
1732
+ {{ val }}<br/>
1733
+ {% endfor %}
1734
+ </p>
1735
+ </div>
1736
+ </div>
1737
+ </div>
1738
+ </div><!-- /.card -->
1739
+ </div>
1740
+ <!-- end row -->
1741
+ </div>
1742
+ </section>
1743
+ <!-- ===========================end secrets ================================== -->
1744
+
1745
+ <a id="activities" class="anchor"></a>
1746
+ <section class="content">
1747
+ <div class="container-fluid">
1748
+ <div class="row">
1749
+ <div class="col-lg-12">
1750
+ <div class="card">
1751
+ <div class="card-body">
1752
+ <p>
1753
+ <strong><i class="fa fa-language"></i> ACTIVITIES</strong>
1754
+ </p>
1755
+ <div class="list-group">
1756
+ <p>
1757
+ {% for act in activities %}
1758
+ {{ act}} <br/>
1759
+ {% endfor %}
1760
+ </p>
1761
+ </div>
1762
+ </div>
1763
+ </div>
1764
+ </div><!-- /.card -->
1765
+ </div>
1766
+ <!-- end row -->
1767
+ </div>
1768
+ </section>
1769
+ <!-- ===========================end activities ================================== -->
1770
+ <a id="services" class="anchor"></a>
1771
+ <section class="content">
1772
+ <div class="container-fluid">
1773
+ <div class="row">
1774
+ <div class="col-lg-12">
1775
+ <div class="card">
1776
+ <div class="card-body">
1777
+ <p>
1778
+ <strong><i class="fa fa-cogs"></i> SERVICES</strong>
1779
+ </p>
1780
+ <div class="list-group">
1781
+ <p>
1782
+ {% for srv in services %}
1783
+ {{ srv}} <br/>
1784
+ {% endfor %}
1785
+ </p>
1786
+ </div>
1787
+ </div>
1788
+ </div>
1789
+ </div><!-- /.card -->
1790
+ </div>
1791
+ <!-- end row -->
1792
+ </div>
1793
+ </section>
1794
+ <!-- ===========================end services ================================== -->
1795
+ <a id="receivers" class="anchor"></a>
1796
+ <section class="content">
1797
+ <div class="container-fluid">
1798
+ <div class="row">
1799
+ <div class="col-lg-12">
1800
+ <div class="card">
1801
+ <div class="card-body">
1802
+ <p>
1803
+ <strong><i class="fa fa-assistive-listening-systems"></i> RECEIVERS</strong>
1804
+ </p>
1805
+ <div class="list-group">
1806
+ <p>
1807
+ {% for rcv in receivers %}
1808
+ {{ rcv}} <br/>
1809
+ {% endfor %}
1810
+ </p>
1811
+ </div>
1812
+ </div>
1813
+ </div>
1814
+ </div><!-- /.card -->
1815
+ </div>
1816
+ <!-- end row -->
1817
+ </div>
1818
+
1819
+ </section>
1820
+ <!-- ===========================end receivers ================================== -->
1821
+ <a id="providers" class="anchor"></a>
1822
+ <section class="content">
1823
+ <div class="container-fluid">
1824
+ <div class="row">
1825
+ <div class="col-lg-12">
1826
+ <div class="card">
1827
+ <div class="card-body">
1828
+ <p>
1829
+ <strong><i class="fa fa-database"></i> PROVIDERS</strong>
1830
+ </p>
1831
+ <div class="list-group">
1832
+ <p>
1833
+ {% for prv in providers %}
1834
+ {{ prv }} <br/>
1835
+ {% endfor %}
1836
+ </p>
1837
+ </div>
1838
+ </div>
1839
+ </div>
1840
+ </div><!-- /.card -->
1841
+ </div>
1842
+ <!-- end row -->
1843
+ </div>
1844
+ </section>
1845
+ <!-- ===========================end providers ================================== -->
1846
+ <a id="libraries" class="anchor"></a>
1847
+ <section class="content">
1848
+ <div class="container-fluid">
1849
+ <div class="row">
1850
+ <div class="col-lg-12">
1851
+ <div class="card">
1852
+ <div class="card-body">
1853
+ <p>
1854
+ <strong><i class="fab fa-buffer"></i> LIBRARIES</strong>
1855
+ </p>
1856
+ <div class="list-group">
1857
+ <p>
1858
+ {% for lib in libraries %}
1859
+ {{ lib }} <br/>
1860
+ {% endfor %}
1861
+ </p>
1862
+ </div>
1863
+ </div>
1864
+ </div>
1865
+ </div><!-- /.card -->
1866
+ </div>
1867
+ <!-- end row -->
1868
+ </div>
1869
+ </section>
1870
+ <!-- ===========================end libraries ================================== -->
1871
+ <a id="files" class="anchor"></a>
1872
+ <section class="content">
1873
+ <div class="container-fluid">
1874
+ <div class="row">
1875
+ <div class="col-lg-12">
1876
+ <div class="card">
1877
+ <div class="card-body">
1878
+ <p>
1879
+ <strong><i class="far fa-copy"></i> FILES</strong>
1880
+ </p>
1881
+ <div class="list-group">
1882
+ <p>
1883
+ {% for file in files %}
1884
+ {{ file}} <br/>
1885
+ {% endfor %}
1886
+ </p>
1887
+ </div>
1888
+ </div>
1889
+ </div>
1890
+ </div><!-- /.card -->
1891
+ </div>
1892
+ <!-- end row -->
1893
+ </div>
1894
+ </section>
1895
+ <!-- ===========================end files ================================== -->
1896
+ <!-- end of contents -->
1897
+ </div>
1898
+
1899
+ {% endblock %}
1900
+ <!--end new UI-->
1901
+ {% block extra_scripts %}
1902
+ <!-- DataTables -->
1903
+ <script src="{% static "adminlte/plugins/datatables/jquery.dataTables.min.js" %}"></script>
1904
+ <script src="{% static "adminlte/plugins/datatables-bs4/dataTables.bootstrap4.min.js" %}"></script>
1905
+ <script src="{% static "amcharts/core.js" %}"></script>
1906
+ <script src="{% static "amcharts/maps.js" %}"></script>
1907
+ <script src="{% static "amcharts/worldIndiaLow.js" %}"></script>
1908
+ <script src="{% static "amcharts/animated.js" %}"></script>
1909
+ <script>
1910
+ $(function () {
1911
+ // Datatable
1912
+ $('table').DataTable({
1913
+ "paging": true,
1914
+ "lengthChange": false,
1915
+ "searching": true,
1916
+ "ordering": true,
1917
+ "info": true,
1918
+ "autoWidth": true,
1919
+ "responsive": true,
1920
+ });
1921
+ });
1922
+ // Navbar Active
1923
+ $(".nav-link").on("click", function() {
1924
+ $(".nav-link").removeClass("active");
1925
+ $(this).addClass("active");
1926
+ });
1927
+ </script>
1928
+
1929
+
1930
+ <script>
1931
+ // Themes begin
1932
+ am4core.useTheme(am4themes_animated);
1933
+ // Themes end
1934
+
1935
+ // Create map instance
1936
+ var chart = am4core.create("chartdiv", am4maps.MapChart);
1937
+
1938
+ // Set map definition
1939
+ chart.geodata = am4geodata_worldIndiaLow;
1940
+
1941
+ // Set projection
1942
+ chart.projection = new am4maps.projections.Miller();
1943
+
1944
+ // Create map polygon series
1945
+ var polygonSeries = chart.series.push(new am4maps.MapPolygonSeries());
1946
+
1947
+ // Exclude Antartica
1948
+ polygonSeries.exclude = ["AQ"];
1949
+
1950
+ // Make map load polygon (like country names) data from GeoJSON
1951
+ polygonSeries.useGeodata = true;
1952
+
1953
+ // Configure series
1954
+ var polygonTemplate = polygonSeries.mapPolygons.template;
1955
+ polygonTemplate.tooltipText = "{name}";
1956
+ polygonTemplate.polygon.fillOpacity = 0.6;
1957
+
1958
+ // Create hover state and set alternative fill color
1959
+ var hs = polygonTemplate.states.create("hover");
1960
+ hs.properties.fill = chart.colors.getIndex(0);
1961
+
1962
+ // Add image series
1963
+ var imageSeries = chart.series.push(new am4maps.MapImageSeries());
1964
+ imageSeries.mapImages.template.propertyFields.longitude = "longitude";
1965
+ imageSeries.mapImages.template.propertyFields.latitude = "latitude";
1966
+ imageSeries.mapImages.template.tooltipText = "{title}";
1967
+ imageSeries.mapImages.template.propertyFields.url = "url";
1968
+
1969
+ var circle = imageSeries.mapImages.template.createChild(am4core.Circle);
1970
+ circle.radius = 3;
1971
+ circle.propertyFields.fill = "color";
1972
+
1973
+ var circle2 = imageSeries.mapImages.template.createChild(am4core.Circle);
1974
+ circle2.radius = 3;
1975
+ circle2.propertyFields.fill = "color";
1976
+
1977
+
1978
+ circle2.events.on("inited", function(event){
1979
+ animateBullet(event.target);
1980
+ })
1981
+
1982
+ function animateBullet(circle) {
1983
+ var animation = circle.animate([{ property: "scale", from: 1, to: 5 }, { property: "opacity", from: 1, to: 0 }], 1000, am4core.ease.circleOut);
1984
+ animation.events.on("animationended", function(event){
1985
+ animateBullet(event.target.object);
1986
+ })
1987
+ }
1988
+
1989
+ var colorSet = new am4core.ColorSet();
1990
+ imageSeries.data = [
1991
+ {% if domains %}
1992
+ {% for domain, details in domains.items %}
1993
+ {% if details|key:"geolocation" %}
1994
+ {
1995
+ 'title': '{{details|key:"geolocation"|key:"country_long"}}/{{details|key:"geolocation"|key:"region"}}',
1996
+ 'latitude': {{details|key:"geolocation"|key:"latitude"}},
1997
+ 'longitude': {{details|key:"geolocation"|key:"longitude"}},
1998
+ 'color':colorSet.next()
1999
+ },
2000
+ {% endif %}
2001
+ {% endfor %}
2002
+ {% endif %}
2003
+ ];
2004
+ </script>
2005
+
2006
+ {% endblock %}