mountapi 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1394) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +112 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +42 -0
  5. data/README.md +404 -0
  6. data/Rakefile +9 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/lib/mountapi/adapters/user_info_adapter.rb +23 -0
  10. data/lib/mountapi/config.rb +25 -0
  11. data/lib/mountapi/doc_rack_app.rb +29 -0
  12. data/lib/mountapi/error/forbidden.rb +26 -0
  13. data/lib/mountapi/error/handler_missing.rb +23 -0
  14. data/lib/mountapi/error/invalid_parameter.rb +26 -0
  15. data/lib/mountapi/error/invalid_response.rb +25 -0
  16. data/lib/mountapi/error/missing_response_status.rb +9 -0
  17. data/lib/mountapi/error/route_not_found.rb +24 -0
  18. data/lib/mountapi/error.rb +6 -0
  19. data/lib/mountapi/handler/behaviour.rb +99 -0
  20. data/lib/mountapi/handler/registry.rb +19 -0
  21. data/lib/mountapi/open_api/document.rb +26 -0
  22. data/lib/mountapi/open_api/operation.rb +62 -0
  23. data/lib/mountapi/open_api/path.rb +33 -0
  24. data/lib/mountapi/open_api.rb +12 -0
  25. data/lib/mountapi/rack_app.rb +74 -0
  26. data/lib/mountapi/railtie.rb +9 -0
  27. data/lib/mountapi/request/param_parser.rb +39 -0
  28. data/lib/mountapi/request/parameters.rb +17 -0
  29. data/lib/mountapi/request.rb +45 -0
  30. data/lib/mountapi/response/bad_request.rb +20 -0
  31. data/lib/mountapi/response/base.rb +56 -0
  32. data/lib/mountapi/response/forbidden.rb +21 -0
  33. data/lib/mountapi/response/internal_error.rb +20 -0
  34. data/lib/mountapi/response/not_found.rb +20 -0
  35. data/lib/mountapi/response/ok.rb +16 -0
  36. data/lib/mountapi/response.rb +13 -0
  37. data/lib/mountapi/route/handler.rb +29 -0
  38. data/lib/mountapi/route/method.rb +21 -0
  39. data/lib/mountapi/route/parameter.rb +42 -0
  40. data/lib/mountapi/route/parameters.rb +89 -0
  41. data/lib/mountapi/route/path.rb +66 -0
  42. data/lib/mountapi/route/response/json-api.json +383 -0
  43. data/lib/mountapi/route/response.rb +32 -0
  44. data/lib/mountapi/route/responses.rb +25 -0
  45. data/lib/mountapi/route.rb +81 -0
  46. data/lib/mountapi/router.rb +73 -0
  47. data/lib/mountapi/schema/array.rb +29 -0
  48. data/lib/mountapi/schema/base.rb +65 -0
  49. data/lib/mountapi/schema/boolean.rb +20 -0
  50. data/lib/mountapi/schema/integer.rb +17 -0
  51. data/lib/mountapi/schema/number.rb +17 -0
  52. data/lib/mountapi/schema/object.rb +37 -0
  53. data/lib/mountapi/schema/string.rb +16 -0
  54. data/lib/mountapi/schema/validator.rb +10 -0
  55. data/lib/mountapi/schema.rb +31 -0
  56. data/lib/mountapi/templates/list.html.erb +74 -0
  57. data/lib/mountapi/templates/redoc.html.erb +24 -0
  58. data/lib/mountapi/version.rb +3 -0
  59. data/lib/mountapi.rb +65 -0
  60. data/lib/tasks/routes.rake +17 -0
  61. data/mountapi-0.11.0.gem +0 -0
  62. data/mountapi.gemspec +48 -0
  63. data/pkg/mountapi-0.11.0.gem +0 -0
  64. data/vendor/bundle/ruby/2.7.0/bin/byebug +27 -0
  65. data/vendor/bundle/ruby/2.7.0/bin/commonmarker +27 -0
  66. data/vendor/bundle/ruby/2.7.0/bin/rack-app +27 -0
  67. data/vendor/bundle/ruby/2.7.0/bin/rackup +27 -0
  68. data/vendor/bundle/ruby/2.7.0/bin/rake +27 -0
  69. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/CHANGELOG.md +75 -0
  70. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/CONTRIBUTING.md +7 -0
  71. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/CONTRIBUTORS.md +35 -0
  72. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/Gemfile +19 -0
  73. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/LICENSE.md +19 -0
  74. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/README.md +496 -0
  75. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/Rakefile +68 -0
  76. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/VERSION.yml +3 -0
  77. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/json-schema.gemspec +40 -0
  78. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attribute.rb +57 -0
  79. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/additionalitems.rb +28 -0
  80. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/additionalproperties.rb +58 -0
  81. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/allof.rb +39 -0
  82. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/anyof.rb +47 -0
  83. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/dependencies.rb +38 -0
  84. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/dependencies_v4.rb +11 -0
  85. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/disallow.rb +12 -0
  86. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/divisibleby.rb +22 -0
  87. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/enum.rb +24 -0
  88. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/extends.rb +48 -0
  89. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/format.rb +14 -0
  90. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/custom.rb +21 -0
  91. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/date.rb +25 -0
  92. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/date_time.rb +34 -0
  93. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/date_time_v4.rb +15 -0
  94. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/ip.rb +41 -0
  95. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/time.rb +22 -0
  96. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/formats/uri.rb +18 -0
  97. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/items.rb +27 -0
  98. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limit.rb +52 -0
  99. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/items.rb +15 -0
  100. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/length.rb +15 -0
  101. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/max_items.rb +15 -0
  102. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/max_length.rb +15 -0
  103. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/max_properties.rb +15 -0
  104. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/maximum.rb +15 -0
  105. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/maximum_inclusive.rb +11 -0
  106. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/min_items.rb +15 -0
  107. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/min_length.rb +15 -0
  108. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/min_properties.rb +15 -0
  109. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/minimum.rb +15 -0
  110. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/minimum_inclusive.rb +11 -0
  111. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/numeric.rb +16 -0
  112. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/limits/properties.rb +15 -0
  113. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/maxdecimal.rb +18 -0
  114. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/multipleof.rb +11 -0
  115. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/not.rb +30 -0
  116. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/oneof.rb +56 -0
  117. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/pattern.rb +18 -0
  118. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/patternproperties.rb +22 -0
  119. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/properties.rb +66 -0
  120. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/properties_optional.rb +26 -0
  121. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/properties_v4.rb +13 -0
  122. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/ref.rb +61 -0
  123. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/required.rb +28 -0
  124. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/type.rb +73 -0
  125. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/type_v4.rb +29 -0
  126. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/attributes/uniqueitems.rb +20 -0
  127. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/custom_format_error.rb +6 -0
  128. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/json_load_error.rb +6 -0
  129. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/json_parse_error.rb +6 -0
  130. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/schema_error.rb +6 -0
  131. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/schema_parse_error.rb +8 -0
  132. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/uri_error.rb +6 -0
  133. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/errors/validation_error.rb +46 -0
  134. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/schema/reader.rb +140 -0
  135. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/schema/validator.rb +40 -0
  136. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/schema.rb +62 -0
  137. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/util/array_set.rb +20 -0
  138. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/util/uri.rb +110 -0
  139. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/util/uuid.rb +284 -0
  140. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validator.rb +609 -0
  141. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft1.rb +45 -0
  142. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft2.rb +46 -0
  143. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft3.rb +50 -0
  144. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft4.rb +56 -0
  145. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/draft6.rb +56 -0
  146. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft1.rb +13 -0
  147. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft2.rb +13 -0
  148. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft3.rb +13 -0
  149. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft4.rb +13 -0
  150. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema/validators/hyper-draft6.rb +13 -0
  151. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/lib/json-schema.rb +18 -0
  152. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-01.json +155 -0
  153. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-02.json +166 -0
  154. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-03.json +174 -0
  155. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-04.json +150 -0
  156. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/resources/draft-06.json +150 -0
  157. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/all_of_ref_schema_test.rb +35 -0
  158. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/any_of_ref_schema_test.rb +35 -0
  159. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/bad_schema_ref_test.rb +49 -0
  160. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/caching_test.rb +57 -0
  161. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/common_test_suite_test.rb +56 -0
  162. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/custom_format_test.rb +122 -0
  163. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/all_of_ref_data.json +3 -0
  164. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/any_of_ref_data.json +7 -0
  165. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/bad_data_1.json +3 -0
  166. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/good_data_1.json +3 -0
  167. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/data/one_of_ref_links_data.json +5 -0
  168. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft1_test.rb +140 -0
  169. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft2_test.rb +112 -0
  170. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft3_test.rb +449 -0
  171. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/draft4_test.rb +687 -0
  172. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/extended_schema_test.rb +62 -0
  173. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/extends_nested_test.rb +41 -0
  174. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/files_test.rb +53 -0
  175. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/fragment_resolution_test.rb +83 -0
  176. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/fragment_validation_with_ref_test.rb +67 -0
  177. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/full_validation_test.rb +203 -0
  178. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/initialize_data_test.rb +154 -0
  179. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/list_option_test.rb +21 -0
  180. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/load_ref_schema_test.rb +45 -0
  181. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/merge_missing_values_test.rb +45 -0
  182. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/min_items_test.rb +16 -0
  183. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/one_of_test.rb +85 -0
  184. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/relative_definition_test.rb +19 -0
  185. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/ruby_schema_test.rb +65 -0
  186. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schema_reader_test.rb +78 -0
  187. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schema_validation_test.rb +185 -0
  188. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/address_microformat.json +18 -0
  189. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/all_of_ref_base_schema.json +6 -0
  190. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/all_of_ref_schema.json +7 -0
  191. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_jane_schema.json +4 -0
  192. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_jimmy_schema.json +4 -0
  193. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_john_schema.json +4 -0
  194. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/any_of_ref_schema.json +15 -0
  195. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/definition_schema.json +15 -0
  196. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/definition_schema_with_special_characters.json +14 -0
  197. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/extends_and_additionalProperties_false_schema.json +29 -0
  198. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/extends_and_patternProperties_schema.json +28 -0
  199. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_1.json +9 -0
  200. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_2.json +9 -0
  201. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_extends1.json +8 -0
  202. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/good_schema_extends2.json +11 -0
  203. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/inner_schema.json +17 -0
  204. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/one_of_ref_links_schema.json +16 -0
  205. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/ref john with spaces schema.json +11 -0
  206. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/relative_definition_schema.json +8 -0
  207. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/self_link_schema.json +17 -0
  208. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/schemas/up_link_schema.json +17 -0
  209. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/stringify_test.rb +48 -0
  210. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/array_validation.rb +112 -0
  211. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/enum_validation.rb +133 -0
  212. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/number_validation.rb +82 -0
  213. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/object_validation.rb +68 -0
  214. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/strict_validation.rb +88 -0
  215. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/string_validation.rb +154 -0
  216. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/test_helper.rb +70 -0
  217. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/test_suite_ignored_tests.yml +109 -0
  218. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/support/type_validation.rb +81 -0
  219. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/type_attribute_test.rb +20 -0
  220. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/uri_parsing_test.rb +67 -0
  221. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/uri_util_test.rb +206 -0
  222. data/vendor/bundle/ruby/2.7.0/bundler/gems/json-schema-2253a5ee6679/test/validator_schema_reader_test.rb +55 -0
  223. data/vendor/bundle/ruby/2.7.0/cache/addressable-2.8.0.gem +0 -0
  224. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/HEAD +1 -0
  225. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/config +8 -0
  226. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/description +1 -0
  227. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/applypatch-msg.sample +15 -0
  228. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/commit-msg.sample +24 -0
  229. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/fsmonitor-watchman.sample +173 -0
  230. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/post-update.sample +8 -0
  231. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-applypatch.sample +14 -0
  232. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-commit.sample +49 -0
  233. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-merge-commit.sample +13 -0
  234. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-push.sample +53 -0
  235. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-rebase.sample +169 -0
  236. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/pre-receive.sample +24 -0
  237. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/prepare-commit-msg.sample +42 -0
  238. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/push-to-checkout.sample +78 -0
  239. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/hooks/update.sample +128 -0
  240. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/info/exclude +6 -0
  241. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/objects/pack/pack-eaf964bf8d486c1c08bd1ea2d0d48e8248d7b4d6.idx +0 -0
  242. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/objects/pack/pack-eaf964bf8d486c1c08bd1ea2d0d48e8248d7b4d6.pack +0 -0
  243. data/vendor/bundle/ruby/2.7.0/cache/bundler/git/json-schema-dd8cc715ab6d6fe82bad281fbe96e8dfe3928a4e/packed-refs +98 -0
  244. data/vendor/bundle/ruby/2.7.0/cache/byebug-10.0.2.gem +0 -0
  245. data/vendor/bundle/ruby/2.7.0/cache/commonmarker-0.23.2.gem +0 -0
  246. data/vendor/bundle/ruby/2.7.0/cache/minitest-5.11.3.gem +0 -0
  247. data/vendor/bundle/ruby/2.7.0/cache/openapi3_parser-0.9.1.gem +0 -0
  248. data/vendor/bundle/ruby/2.7.0/cache/psych-3.3.2.gem +0 -0
  249. data/vendor/bundle/ruby/2.7.0/cache/public_suffix-4.0.6.gem +0 -0
  250. data/vendor/bundle/ruby/2.7.0/cache/rack-2.0.5.gem +0 -0
  251. data/vendor/bundle/ruby/2.7.0/cache/rack-app-7.7.0.gem +0 -0
  252. data/vendor/bundle/ruby/2.7.0/cache/rack-test-1.1.0.gem +0 -0
  253. data/vendor/bundle/ruby/2.7.0/cache/rake-13.0.1.gem +0 -0
  254. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/byebug-10.0.2/byebug/byebug.bundle +0 -0
  255. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/byebug-10.0.2/gem.build_complete +0 -0
  256. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/byebug-10.0.2/gem_make.out +51 -0
  257. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/commonmarker-0.23.2/commonmarker/commonmarker.bundle +0 -0
  258. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/commonmarker-0.23.2/gem.build_complete +0 -0
  259. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/commonmarker-0.23.2/gem_make.out +58 -0
  260. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/gem.build_complete +0 -0
  261. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/gem_make.out +21 -0
  262. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/mkmf.log +70 -0
  263. data/vendor/bundle/ruby/2.7.0/extensions/x86_64-darwin-19/2.7.0/psych-3.3.2/psych.bundle +0 -0
  264. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/CHANGELOG.md +246 -0
  265. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/Gemfile +28 -0
  266. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/LICENSE.txt +202 -0
  267. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/README.md +121 -0
  268. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/Rakefile +34 -0
  269. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/addressable.gemspec +37 -0
  270. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/data/unicode.data +0 -0
  271. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/idna/native.rb +61 -0
  272. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/idna/pure.rb +678 -0
  273. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/idna.rb +27 -0
  274. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/template.rb +1031 -0
  275. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/uri.rb +2556 -0
  276. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable/version.rb +32 -0
  277. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/lib/addressable.rb +4 -0
  278. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/idna_spec.rb +302 -0
  279. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/net_http_compat_spec.rb +30 -0
  280. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/security_spec.rb +59 -0
  281. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/template_spec.rb +1460 -0
  282. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/addressable/uri_spec.rb +6665 -0
  283. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/spec/spec_helper.rb +33 -0
  284. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/clobber.rake +4 -0
  285. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/gem.rake +92 -0
  286. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/git.rake +47 -0
  287. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/metrics.rake +24 -0
  288. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/profile.rake +72 -0
  289. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/rspec.rake +23 -0
  290. data/vendor/bundle/ruby/2.7.0/gems/addressable-2.8.0/tasks/yard.rake +29 -0
  291. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/CHANGELOG.md +856 -0
  292. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/CONTRIBUTING.md +86 -0
  293. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/GUIDE.md +1805 -0
  294. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/LICENSE +23 -0
  295. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/README.md +195 -0
  296. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/exe/byebug +6 -0
  297. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/Makefile +267 -0
  298. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/breakpoint.c +517 -0
  299. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/breakpoint.o +0 -0
  300. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.bundle +0 -0
  301. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.c +905 -0
  302. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.h +143 -0
  303. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/byebug.o +0 -0
  304. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/context.c +673 -0
  305. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/context.o +0 -0
  306. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/extconf.rb +12 -0
  307. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/locker.c +96 -0
  308. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/locker.o +0 -0
  309. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/threads.c +230 -0
  310. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/ext/byebug/threads.o +0 -0
  311. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/attacher.rb +48 -0
  312. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/breakpoint.rb +111 -0
  313. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/byebug.bundle +0 -0
  314. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/command.rb +111 -0
  315. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/command_list.rb +34 -0
  316. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/break.rb +116 -0
  317. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/catch.rb +82 -0
  318. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/condition.rb +57 -0
  319. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/continue.rb +50 -0
  320. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/debug.rb +38 -0
  321. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/delete.rb +57 -0
  322. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/disable/breakpoints.rb +42 -0
  323. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/disable/display.rb +43 -0
  324. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/disable.rb +33 -0
  325. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/display.rb +66 -0
  326. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/down.rb +45 -0
  327. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/edit.rb +68 -0
  328. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/enable/breakpoints.rb +42 -0
  329. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/enable/display.rb +43 -0
  330. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/enable.rb +33 -0
  331. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/finish.rb +57 -0
  332. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/frame.rb +57 -0
  333. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/help.rb +64 -0
  334. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/history.rb +39 -0
  335. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/breakpoints.rb +67 -0
  336. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/display.rb +51 -0
  337. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/file.rb +82 -0
  338. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/line.rb +35 -0
  339. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info/program.rb +49 -0
  340. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/info.rb +37 -0
  341. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/interrupt.rb +34 -0
  342. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/irb.rb +52 -0
  343. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/kill.rb +47 -0
  344. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/list.rb +159 -0
  345. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/method.rb +53 -0
  346. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/next.rb +40 -0
  347. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/pry.rb +43 -0
  348. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/quit.rb +42 -0
  349. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/restart.rb +64 -0
  350. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/save.rb +72 -0
  351. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/set.rb +79 -0
  352. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/show.rb +45 -0
  353. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/source.rb +42 -0
  354. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/step.rb +40 -0
  355. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/current.rb +37 -0
  356. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/list.rb +43 -0
  357. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/resume.rb +47 -0
  358. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/stop.rb +43 -0
  359. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread/switch.rb +46 -0
  360. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/thread.rb +34 -0
  361. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/tracevar.rb +57 -0
  362. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/undisplay.rb +52 -0
  363. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/untracevar.rb +36 -0
  364. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/up.rb +45 -0
  365. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/all.rb +41 -0
  366. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/args.rb +39 -0
  367. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/const.rb +51 -0
  368. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/global.rb +37 -0
  369. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/instance.rb +39 -0
  370. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var/local.rb +39 -0
  371. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/var.rb +37 -0
  372. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands/where.rb +53 -0
  373. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/commands.rb +39 -0
  374. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/context.rb +157 -0
  375. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/core.rb +114 -0
  376. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/errors.rb +29 -0
  377. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/frame.rb +185 -0
  378. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/bin.rb +47 -0
  379. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/eval.rb +126 -0
  380. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/file.rb +63 -0
  381. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/frame.rb +75 -0
  382. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/parse.rb +77 -0
  383. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/path.rb +40 -0
  384. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/reflection.rb +19 -0
  385. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/string.rb +36 -0
  386. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/thread.rb +67 -0
  387. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/toggle.rb +64 -0
  388. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/helpers/var.rb +54 -0
  389. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/history.rb +130 -0
  390. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interface.rb +146 -0
  391. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/local_interface.rb +44 -0
  392. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/remote_interface.rb +50 -0
  393. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/script_interface.rb +32 -0
  394. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/interfaces/test_interface.rb +67 -0
  395. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/option_setter.rb +95 -0
  396. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/base.rb +69 -0
  397. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/plain.rb +44 -0
  398. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/texts/base.yml +115 -0
  399. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/printers/texts/plain.yml +33 -0
  400. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/command_processor.rb +173 -0
  401. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/control_processor.rb +24 -0
  402. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/post_mortem_processor.rb +18 -0
  403. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/processors/script_processor.rb +49 -0
  404. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/remote/client.rb +55 -0
  405. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/remote/server.rb +47 -0
  406. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/remote.rb +85 -0
  407. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/runner.rb +198 -0
  408. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/setting.rb +79 -0
  409. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autoirb.rb +29 -0
  410. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autolist.rb +29 -0
  411. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autopry.rb +29 -0
  412. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/autosave.rb +17 -0
  413. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/basename.rb +16 -0
  414. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/callstyle.rb +20 -0
  415. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/fullpath.rb +16 -0
  416. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/histfile.rb +20 -0
  417. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/histsize.rb +20 -0
  418. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/linetrace.rb +22 -0
  419. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/listsize.rb +21 -0
  420. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/post_mortem.rb +27 -0
  421. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/savefile.rb +20 -0
  422. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/stack_on_error.rb +15 -0
  423. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/settings/width.rb +20 -0
  424. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/source_file_formatter.rb +71 -0
  425. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/subcommands.rb +54 -0
  426. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug/version.rb +8 -0
  427. data/vendor/bundle/ruby/2.7.0/gems/byebug-10.0.2/lib/byebug.rb +3 -0
  428. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/LICENSE.txt +22 -0
  429. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/README.md +288 -0
  430. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/Rakefile +108 -0
  431. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/bin/commonmarker +123 -0
  432. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/commonmarker.gemspec +37 -0
  433. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/Makefile +267 -0
  434. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/arena.c +103 -0
  435. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/arena.o +0 -0
  436. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/autolink.c +425 -0
  437. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/autolink.h +8 -0
  438. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/autolink.o +0 -0
  439. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/blocks.c +1596 -0
  440. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/blocks.o +0 -0
  441. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/buffer.c +278 -0
  442. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/buffer.h +116 -0
  443. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/buffer.o +0 -0
  444. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/case_fold_switch.inc +4327 -0
  445. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/chunk.h +135 -0
  446. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm-core-extensions.h +54 -0
  447. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm-extension_api.h +736 -0
  448. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm-extensions_export.h +42 -0
  449. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm.h +817 -0
  450. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm_export.h +42 -0
  451. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark-gfm_version.h +7 -0
  452. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark.c +55 -0
  453. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark.o +0 -0
  454. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark_ctype.c +44 -0
  455. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark_ctype.h +33 -0
  456. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/cmark_ctype.o +0 -0
  457. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmark.c +529 -0
  458. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmark.o +0 -0
  459. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.bundle +0 -0
  460. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.c +1321 -0
  461. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.h +16 -0
  462. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/commonmarker.o +0 -0
  463. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/config.h +76 -0
  464. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/core-extensions.c +27 -0
  465. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/core-extensions.o +0 -0
  466. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/entities.inc +2138 -0
  467. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/ext_scanners.c +879 -0
  468. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/ext_scanners.h +24 -0
  469. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/ext_scanners.o +0 -0
  470. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/extconf.rb +7 -0
  471. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/footnotes.c +63 -0
  472. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/footnotes.h +27 -0
  473. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/footnotes.o +0 -0
  474. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini.h +57 -0
  475. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_href_e.c +100 -0
  476. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_href_e.o +0 -0
  477. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_e.c +66 -0
  478. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_e.o +0 -0
  479. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_u.c +149 -0
  480. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/houdini_html_u.o +0 -0
  481. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/html.c +486 -0
  482. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/html.h +27 -0
  483. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/html.o +0 -0
  484. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/inlines.c +1691 -0
  485. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/inlines.h +29 -0
  486. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/inlines.o +0 -0
  487. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/iterator.c +159 -0
  488. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/iterator.h +26 -0
  489. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/iterator.o +0 -0
  490. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/latex.c +466 -0
  491. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/latex.o +0 -0
  492. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/linked_list.c +37 -0
  493. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/linked_list.o +0 -0
  494. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/man.c +278 -0
  495. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/man.o +0 -0
  496. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/map.c +122 -0
  497. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/map.h +41 -0
  498. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/map.o +0 -0
  499. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/node.c +979 -0
  500. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/node.h +125 -0
  501. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/node.o +0 -0
  502. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/parser.h +58 -0
  503. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plaintext.c +235 -0
  504. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plaintext.o +0 -0
  505. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plugin.c +36 -0
  506. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plugin.h +34 -0
  507. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/plugin.o +0 -0
  508. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/references.c +42 -0
  509. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/references.h +26 -0
  510. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/references.o +0 -0
  511. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/registry.c +63 -0
  512. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/registry.h +24 -0
  513. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/registry.o +0 -0
  514. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/render.c +205 -0
  515. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/render.h +62 -0
  516. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/render.o +0 -0
  517. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.c +10520 -0
  518. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.h +62 -0
  519. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.o +0 -0
  520. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/scanners.re +341 -0
  521. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/strikethrough.c +167 -0
  522. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/strikethrough.h +9 -0
  523. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/strikethrough.o +0 -0
  524. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/syntax_extension.c +149 -0
  525. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/syntax_extension.h +34 -0
  526. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/syntax_extension.o +0 -0
  527. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/table.c +822 -0
  528. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/table.h +12 -0
  529. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/table.o +0 -0
  530. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tagfilter.c +60 -0
  531. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tagfilter.h +8 -0
  532. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tagfilter.o +0 -0
  533. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tasklist.c +156 -0
  534. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tasklist.h +8 -0
  535. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/tasklist.o +0 -0
  536. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/utf8.c +317 -0
  537. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/utf8.h +35 -0
  538. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/utf8.o +0 -0
  539. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/xml.c +181 -0
  540. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/ext/commonmarker/xml.o +0 -0
  541. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/commonmarker.bundle +0 -0
  542. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/config.rb +52 -0
  543. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/errors.rb +12 -0
  544. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/node/inspect.rb +57 -0
  545. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/node.rb +83 -0
  546. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/renderer/html_renderer.rb +252 -0
  547. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/renderer.rb +135 -0
  548. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker/version.rb +5 -0
  549. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/lib/commonmarker.rb +45 -0
  550. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/benchmark.rb +32 -0
  551. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/curly.md +1 -0
  552. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/dingus.md +10 -0
  553. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/strong.md +1 -0
  554. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/fixtures/table.md +10 -0
  555. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_attributes.rb +24 -0
  556. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_basics.rb +35 -0
  557. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_commands.rb +72 -0
  558. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_commonmark.rb +36 -0
  559. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_doc.rb +130 -0
  560. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_encoding.rb +23 -0
  561. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_extensions.rb +116 -0
  562. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_footnotes.rb +60 -0
  563. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_gc.rb +47 -0
  564. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_helper.rb +71 -0
  565. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_linebreaks.rb +15 -0
  566. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_maliciousness.rb +262 -0
  567. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_node.rb +89 -0
  568. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_options.rb +37 -0
  569. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_pathological_inputs.rb +94 -0
  570. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_plaintext.rb +46 -0
  571. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_renderer.rb +47 -0
  572. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_smartpunct.rb +27 -0
  573. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_spec.rb +30 -0
  574. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_tasklists.rb +43 -0
  575. data/vendor/bundle/ruby/2.7.0/gems/commonmarker-0.23.2/test/test_xml.rb +107 -0
  576. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/History.rdoc +1310 -0
  577. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/Manifest.txt +26 -0
  578. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/README.rdoc +746 -0
  579. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/Rakefile +86 -0
  580. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/design_rationale.rb +52 -0
  581. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  582. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  583. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  584. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  585. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  586. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  587. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  588. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  589. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  590. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  591. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  592. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  593. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  594. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  595. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  596. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  597. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  598. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  599. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  600. data/vendor/bundle/ruby/2.7.0/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  601. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/CHANGELOG.md +95 -0
  602. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/Gemfile +5 -0
  603. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/LICENCE +19 -0
  604. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/README.md +139 -0
  605. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/Rakefile +10 -0
  606. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/TODO.md +41 -0
  607. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/array_sentence.rb +13 -0
  608. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/cautious_dig.rb +39 -0
  609. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/document/reference_registry.rb +72 -0
  610. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/document.rb +217 -0
  611. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/error.rb +50 -0
  612. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/markdown.rb +15 -0
  613. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/array.rb +61 -0
  614. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/callback.rb +10 -0
  615. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/components.rb +55 -0
  616. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/contact.rb +25 -0
  617. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/context.rb +159 -0
  618. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/discriminator.rb +20 -0
  619. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/encoding.rb +35 -0
  620. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/example.rb +35 -0
  621. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/external_documentation.rb +25 -0
  622. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/header.rb +13 -0
  623. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/info.rb +45 -0
  624. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/license.rb +20 -0
  625. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/link.rb +45 -0
  626. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/map.rb +89 -0
  627. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/media_type.rb +30 -0
  628. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/oauth_flow.rb +30 -0
  629. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/oauth_flows.rb +30 -0
  630. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/object.rb +105 -0
  631. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/openapi.rb +51 -0
  632. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/operation.rb +83 -0
  633. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/parameter.rb +23 -0
  634. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/parameter_like.rb +70 -0
  635. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/path_item.rb +83 -0
  636. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/paths.rb +10 -0
  637. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/placeholder.rb +54 -0
  638. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/request_body.rb +30 -0
  639. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/response.rb +35 -0
  640. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/responses.rb +15 -0
  641. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/schema.rb +248 -0
  642. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/security_requirement.rb +10 -0
  643. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/security_scheme.rb +55 -0
  644. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/server.rb +30 -0
  645. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/server_variable.rb +30 -0
  646. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/tag.rb +30 -0
  647. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node/xml.rb +35 -0
  648. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/array.rb +202 -0
  649. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/callback.rb +21 -0
  650. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/components.rb +74 -0
  651. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/contact.rb +28 -0
  652. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/context.rb +118 -0
  653. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/discriminator.rb +31 -0
  654. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/encoding.rb +32 -0
  655. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/example.rb +28 -0
  656. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/external_documentation.rb +25 -0
  657. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/field.rb +125 -0
  658. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/fields/reference.rb +101 -0
  659. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/header.rb +34 -0
  660. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/info.rb +29 -0
  661. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/license.rb +23 -0
  662. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/link.rb +37 -0
  663. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/map.rb +221 -0
  664. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/media_type.rb +71 -0
  665. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/oauth_flow.rb +21 -0
  666. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/oauth_flows.rb +26 -0
  667. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object.rb +115 -0
  668. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/dsl.rb +56 -0
  669. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/field_config.rb +87 -0
  670. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/node_builder.rb +84 -0
  671. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/object_factory/validator.rb +169 -0
  672. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/openapi.rb +62 -0
  673. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/operation.rb +86 -0
  674. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/optional_reference.rb +29 -0
  675. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/parameter.rb +61 -0
  676. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/parameter_like.rb +36 -0
  677. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/path_item.rb +103 -0
  678. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/paths.rb +71 -0
  679. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/reference.rb +60 -0
  680. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/request_body.rb +48 -0
  681. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/response.rb +53 -0
  682. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/responses.rb +47 -0
  683. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/schema.rb +129 -0
  684. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/security_requirement.rb +19 -0
  685. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/security_scheme.rb +30 -0
  686. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/server.rb +27 -0
  687. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/server_variable.rb +33 -0
  688. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/tag.rb +21 -0
  689. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/type_checker.rb +106 -0
  690. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory/xml.rb +26 -0
  691. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/node_factory.rb +7 -0
  692. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/location.rb +54 -0
  693. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/pointer.rb +103 -0
  694. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/reference.rb +67 -0
  695. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source/resolved_reference.rb +63 -0
  696. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source.rb +137 -0
  697. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/file.rb +101 -0
  698. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/raw.rb +91 -0
  699. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/resolve_next.rb +60 -0
  700. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/string_parser.rb +44 -0
  701. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input/url.rb +122 -0
  702. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/source_input.rb +69 -0
  703. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/error.rb +58 -0
  704. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/error_collection.rb +78 -0
  705. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/input_validator.rb +18 -0
  706. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validation/validatable.rb +41 -0
  707. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/absolute_uri.rb +14 -0
  708. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/component_keys.rb +17 -0
  709. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/duplicate_parameters.rb +35 -0
  710. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/email.rb +23 -0
  711. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/media_type.rb +20 -0
  712. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/mutually_exclusive_fields.rb +120 -0
  713. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/reference.rb +42 -0
  714. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/required_fields.rb +36 -0
  715. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/unexpected_fields.rb +46 -0
  716. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/validators/url.rb +13 -0
  717. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser/version.rb +5 -0
  718. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/lib/openapi3_parser.rb +38 -0
  719. data/vendor/bundle/ruby/2.7.0/gems/openapi3_parser-0.9.1/openapi3_parser.gemspec +42 -0
  720. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/Gemfile +9 -0
  721. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/LICENSE +21 -0
  722. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/Mavenfile +7 -0
  723. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/README.md +72 -0
  724. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/Rakefile +41 -0
  725. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/bin/console +7 -0
  726. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/bin/setup +6 -0
  727. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/Makefile +274 -0
  728. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/depend +5 -0
  729. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/extconf.rb +43 -0
  730. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.bundle +0 -0
  731. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.c +37 -0
  732. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.h +17 -0
  733. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych.o +0 -0
  734. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_emitter.c +555 -0
  735. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_emitter.h +8 -0
  736. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_emitter.o +0 -0
  737. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_parser.c +579 -0
  738. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_parser.h +6 -0
  739. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_parser.o +0 -0
  740. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_to_ruby.c +39 -0
  741. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_to_ruby.h +8 -0
  742. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_to_ruby.o +0 -0
  743. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_yaml_tree.c +12 -0
  744. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_yaml_tree.h +8 -0
  745. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/psych_yaml_tree.o +0 -0
  746. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/LICENSE +19 -0
  747. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/api.c +1393 -0
  748. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/config.h +80 -0
  749. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/dumper.c +394 -0
  750. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/emitter.c +2358 -0
  751. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/loader.c +544 -0
  752. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/parser.c +1375 -0
  753. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/reader.c +469 -0
  754. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/scanner.c +3598 -0
  755. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/writer.c +141 -0
  756. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/yaml.h +1985 -0
  757. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/ext/psych/yaml/yaml_private.h +688 -0
  758. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/class_loader.rb +104 -0
  759. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/coder.rb +95 -0
  760. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/core_ext.rb +19 -0
  761. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/exception.rb +14 -0
  762. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/handler.rb +255 -0
  763. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/handlers/document_stream.rb +23 -0
  764. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/handlers/recorder.rb +40 -0
  765. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/ruby_events.rb +20 -0
  766. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/stream.rb +17 -0
  767. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/tree_builder.rb +13 -0
  768. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/json/yaml_events.rb +30 -0
  769. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/alias.rb +21 -0
  770. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/document.rb +63 -0
  771. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/mapping.rb +59 -0
  772. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/node.rb +75 -0
  773. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/scalar.rb +70 -0
  774. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/sequence.rb +84 -0
  775. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes/stream.rb +40 -0
  776. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/nodes.rb +78 -0
  777. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/omap.rb +5 -0
  778. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/parser.rb +52 -0
  779. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/scalar_scanner.rb +136 -0
  780. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/set.rb +5 -0
  781. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/stream.rb +38 -0
  782. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/streaming.rb +28 -0
  783. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/syntax_error.rb +22 -0
  784. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/tree_builder.rb +137 -0
  785. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/versions.rb +10 -0
  786. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/depth_first.rb +27 -0
  787. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/emitter.rb +52 -0
  788. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/json_tree.rb +25 -0
  789. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/to_ruby.rb +434 -0
  790. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/visitor.rb +34 -0
  791. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors/yaml_tree.rb +539 -0
  792. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/visitors.rb +7 -0
  793. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych/y.rb +10 -0
  794. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych.bundle +0 -0
  795. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/lib/psych.rb +665 -0
  796. data/vendor/bundle/ruby/2.7.0/gems/psych-3.3.2/psych.gemspec +67 -0
  797. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/2.0-Upgrade.md +52 -0
  798. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/CHANGELOG.md +406 -0
  799. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/Gemfile +15 -0
  800. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/LICENSE.txt +22 -0
  801. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/README.md +207 -0
  802. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/Rakefile +51 -0
  803. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/SECURITY.md +104 -0
  804. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/bin/console +15 -0
  805. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/codecov.yml +12 -0
  806. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/data/list.txt +13380 -0
  807. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/domain.rb +235 -0
  808. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/errors.rb +41 -0
  809. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/list.rb +247 -0
  810. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/rule.rb +350 -0
  811. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix/version.rb +13 -0
  812. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/lib/public_suffix.rb +179 -0
  813. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/public_suffix.gemspec +29 -0
  814. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/acceptance_test.rb +131 -0
  815. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_find.rb +66 -0
  816. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_find_all.rb +102 -0
  817. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_names.rb +91 -0
  818. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_select.rb +26 -0
  819. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_select_incremental.rb +25 -0
  820. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/benchmarks/bm_valid.rb +101 -0
  821. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/domain_profiler.rb +12 -0
  822. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/find_profiler.rb +12 -0
  823. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/find_profiler_jp.rb +12 -0
  824. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/initialization_profiler.rb +11 -0
  825. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/list_profsize.rb +11 -0
  826. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/profilers/object_binsize.rb +57 -0
  827. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/psl_test.rb +52 -0
  828. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/test_helper.rb +18 -0
  829. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/tests.txt +98 -0
  830. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/domain_test.rb +106 -0
  831. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/errors_test.rb +25 -0
  832. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/list_test.rb +241 -0
  833. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/public_suffix_test.rb +188 -0
  834. data/vendor/bundle/ruby/2.7.0/gems/public_suffix-4.0.6/test/unit/rule_test.rb +222 -0
  835. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/COPYING +18 -0
  836. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/HISTORY.md +505 -0
  837. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/README.rdoc +302 -0
  838. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/Rakefile +116 -0
  839. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/SPEC +263 -0
  840. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/bin/rackup +4 -0
  841. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rack.png +0 -0
  842. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rack.svg +150 -0
  843. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rack_logo.svg +164 -0
  844. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/contrib/rdoc.css +412 -0
  845. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/example/lobster.ru +4 -0
  846. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/example/protectedlobster.rb +14 -0
  847. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/example/protectedlobster.ru +8 -0
  848. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/abstract/handler.rb +37 -0
  849. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/abstract/request.rb +47 -0
  850. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/basic.rb +58 -0
  851. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/md5.rb +129 -0
  852. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/nonce.rb +51 -0
  853. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/params.rb +52 -0
  854. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/auth/digest/request.rb +41 -0
  855. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/body_proxy.rb +44 -0
  856. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/builder.rb +164 -0
  857. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/cascade.rb +52 -0
  858. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/chunked.rb +69 -0
  859. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/common_logger.rb +72 -0
  860. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/conditional_get.rb +79 -0
  861. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/config.rb +20 -0
  862. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/content_length.rb +37 -0
  863. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/content_type.rb +29 -0
  864. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/deflater.rb +119 -0
  865. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/directory.rb +179 -0
  866. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/etag.rb +74 -0
  867. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/events.rb +154 -0
  868. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/file.rb +176 -0
  869. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/cgi.rb +60 -0
  870. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/fastcgi.rb +100 -0
  871. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/lsws.rb +61 -0
  872. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/scgi.rb +70 -0
  873. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/thin.rb +36 -0
  874. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler/webrick.rb +120 -0
  875. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/handler.rb +99 -0
  876. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/head.rb +25 -0
  877. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/lint.rb +760 -0
  878. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/lobster.rb +70 -0
  879. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/lock.rb +31 -0
  880. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/logger.rb +18 -0
  881. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/media_type.rb +38 -0
  882. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/method_override.rb +50 -0
  883. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/mime.rb +677 -0
  884. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/mock.rb +196 -0
  885. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart/generator.rb +93 -0
  886. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart/parser.rb +369 -0
  887. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart/uploaded_file.rb +33 -0
  888. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/multipart.rb +63 -0
  889. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/null_logger.rb +37 -0
  890. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/query_parser.rb +192 -0
  891. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/recursive.rb +62 -0
  892. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/reloader.rb +110 -0
  893. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/request.rb +487 -0
  894. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/response.rb +235 -0
  895. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/rewindable_input.rb +93 -0
  896. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/runtime.rb +32 -0
  897. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/sendfile.rb +158 -0
  898. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/server.rb +395 -0
  899. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/abstract/id.rb +445 -0
  900. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/cookie.rb +195 -0
  901. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/memcache.rb +93 -0
  902. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/session/pool.rb +76 -0
  903. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/show_exceptions.rb +386 -0
  904. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/show_status.rb +113 -0
  905. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/static.rb +175 -0
  906. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/tempfile_reaper.rb +22 -0
  907. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/urlmap.rb +91 -0
  908. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack/utils.rb +620 -0
  909. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/lib/rack.rb +147 -0
  910. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/rack.gemspec +34 -0
  911. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/an_underscore_app.rb +5 -0
  912. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/anything.rb +5 -0
  913. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/comment.ru +4 -0
  914. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/end.ru +5 -0
  915. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/line.ru +1 -0
  916. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/builder/options.ru +2 -0
  917. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/folder/test.js +1 -0
  918. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/fonts/font.eot +1 -0
  919. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/images/image.png +1 -0
  920. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/index.html +1 -0
  921. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/javascripts/app.js +1 -0
  922. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/assets/stylesheets/app.css +1 -0
  923. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/lighttpd.conf +26 -0
  924. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/rackup_stub.rb +6 -0
  925. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/sample_rackup.ru +5 -0
  926. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test +9 -0
  927. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test+directory/test+file +1 -0
  928. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test.fcgi +9 -0
  929. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test.gz +0 -0
  930. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/cgi/test.ru +5 -0
  931. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/gemloader.rb +10 -0
  932. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/helper.rb +34 -0
  933. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/bad_robots +259 -0
  934. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/binary +0 -0
  935. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/content_type_and_no_filename +6 -0
  936. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/empty +10 -0
  937. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/fail_16384_nofile +814 -0
  938. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/file1.txt +1 -0
  939. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_and_modification_param +7 -0
  940. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_and_no_name +6 -0
  941. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_encoded_words +7 -0
  942. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_escaped_quotes +6 -0
  943. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_escaped_quotes_and_modification_param +7 -0
  944. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_null_byte +7 -0
  945. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_percent_escaped_quotes +6 -0
  946. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_single_quote +7 -0
  947. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages +6 -0
  948. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages2 +6 -0
  949. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_percentages3 +6 -0
  950. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/filename_with_unescaped_quotes +6 -0
  951. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/ie +6 -0
  952. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/invalid_character +6 -0
  953. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/mixed_files +21 -0
  954. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/nested +10 -0
  955. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/none +9 -0
  956. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/quoted +15 -0
  957. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/rack-logo.png +0 -0
  958. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/semicolon +6 -0
  959. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/text +15 -0
  960. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/three_files_three_fields +31 -0
  961. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/unity3d_wwwform +11 -0
  962. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/multipart/webkit +32 -0
  963. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/rackup/config.ru +31 -0
  964. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/registering_handler/rack/handler/registering_myself.rb +8 -0
  965. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_auth_basic.rb +89 -0
  966. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_auth_digest.rb +260 -0
  967. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_body_proxy.rb +85 -0
  968. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_builder.rb +233 -0
  969. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_cascade.rb +63 -0
  970. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_cgi.rb +84 -0
  971. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_chunked.rb +103 -0
  972. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_common_logger.rb +95 -0
  973. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_conditional_get.rb +103 -0
  974. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_config.rb +23 -0
  975. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_content_length.rb +86 -0
  976. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_content_type.rb +46 -0
  977. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_deflater.rb +375 -0
  978. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_directory.rb +148 -0
  979. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_etag.rb +108 -0
  980. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_events.rb +133 -0
  981. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_fastcgi.rb +85 -0
  982. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_file.rb +264 -0
  983. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_handler.rb +57 -0
  984. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_head.rb +46 -0
  985. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_lint.rb +515 -0
  986. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_lobster.rb +59 -0
  987. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_lock.rb +204 -0
  988. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_logger.rb +24 -0
  989. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_media_type.rb +42 -0
  990. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_method_override.rb +110 -0
  991. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_mime.rb +51 -0
  992. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_mock.rb +359 -0
  993. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_multipart.rb +722 -0
  994. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_null_logger.rb +21 -0
  995. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_recursive.rb +75 -0
  996. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_request.rb +1393 -0
  997. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_response.rb +510 -0
  998. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_rewindable_input.rb +128 -0
  999. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_runtime.rb +50 -0
  1000. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_sendfile.rb +125 -0
  1001. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_server.rb +193 -0
  1002. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_abstract_id.rb +31 -0
  1003. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_abstract_session_hash.rb +45 -0
  1004. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_cookie.rb +442 -0
  1005. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_memcache.rb +320 -0
  1006. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_session_pool.rb +210 -0
  1007. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_show_exceptions.rb +80 -0
  1008. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_show_status.rb +104 -0
  1009. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_static.rb +184 -0
  1010. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_tempfile_reaper.rb +64 -0
  1011. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_thin.rb +96 -0
  1012. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_urlmap.rb +237 -0
  1013. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_utils.rb +742 -0
  1014. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_version.rb +11 -0
  1015. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/spec_webrick.rb +206 -0
  1016. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/static/another/index.html +1 -0
  1017. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/static/foo.html +1 -0
  1018. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/static/index.html +1 -0
  1019. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/testrequest.rb +78 -0
  1020. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
  1021. data/vendor/bundle/ruby/2.7.0/gems/rack-2.0.5/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  1022. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/CODE_OF_CONDUCT.md +13 -0
  1023. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/CONTRIBUTING.md +26 -0
  1024. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/Gemfile +6 -0
  1025. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/LICENSE +201 -0
  1026. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/README.md +390 -0
  1027. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/Rakefile +6 -0
  1028. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/VERSION +1 -0
  1029. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/Vagrantfile +13 -0
  1030. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/_config.yml +1 -0
  1031. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/assets/rack-app-logo.png +0 -0
  1032. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/bin/rack-app +10 -0
  1033. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/dev/console +6 -0
  1034. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/dev/rack-app +4 -0
  1035. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/block.rb +2 -0
  1036. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/bundled_extensions/logger.rb +12 -0
  1037. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/bundled_extensions/payload.rb +3 -0
  1038. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/bundled_extensions.rb +4 -0
  1039. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/command/configurator.rb +45 -0
  1040. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/command.rb +41 -0
  1041. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands/irb.rb +14 -0
  1042. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands/list_commands.rb +58 -0
  1043. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands/show_routes.rb +110 -0
  1044. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/default_commands.rb +5 -0
  1045. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/fetcher/server.rb +44 -0
  1046. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/fetcher.rb +32 -0
  1047. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli/runner.rb +72 -0
  1048. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/cli.rb +42 -0
  1049. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/constants/http_status_codes.rb +65 -0
  1050. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/constants.rb +71 -0
  1051. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/builder.rb +62 -0
  1052. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/catcher.rb +40 -0
  1053. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/config.rb +98 -0
  1054. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint/executor.rb +29 -0
  1055. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/endpoint.rb +43 -0
  1056. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/error_handler.rb +37 -0
  1057. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/extension.rb +37 -0
  1058. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/file_server.rb +64 -0
  1059. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/core.rb +24 -0
  1060. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/http_status.rb +10 -0
  1061. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/params.rb +17 -0
  1062. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/path_to.rb +27 -0
  1063. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/payload.rb +23 -0
  1064. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/redirect_to.rb +19 -0
  1065. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/serve_file.rb +11 -0
  1066. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods/streaming.rb +16 -0
  1067. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/instance_methods.rb +21 -0
  1068. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/logger.rb +24 -0
  1069. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/configuration.rb +37 -0
  1070. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/header_setter.rb +18 -0
  1071. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks/after.rb +7 -0
  1072. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks/base.rb +21 -0
  1073. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks/before.rb +5 -0
  1074. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/hooks.rb +5 -0
  1075. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/definition/options.rb +45 -0
  1076. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/definition.rb +21 -0
  1077. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/parser.rb +40 -0
  1078. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/setter.rb +13 -0
  1079. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params/validator.rb +100 -0
  1080. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/params.rb +6 -0
  1081. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/path_info_cutter.rb +15 -0
  1082. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/payload/parser_setter.rb +18 -0
  1083. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/payload.rb +3 -0
  1084. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares/set_path_params.rb +37 -0
  1085. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/middlewares.rb +9 -0
  1086. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/params.rb +64 -0
  1087. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/builder.rb +12 -0
  1088. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/parser/builder/formats.rb +109 -0
  1089. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/parser/builder.rb +47 -0
  1090. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload/parser.rb +32 -0
  1091. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/payload.rb +4 -0
  1092. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/request_configurator.rb +28 -0
  1093. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/request_stream.rb +20 -0
  1094. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/error.rb +4 -0
  1095. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/branch.rb +37 -0
  1096. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/env.rb +67 -0
  1097. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/leaf/mounted/application.rb +20 -0
  1098. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/leaf/mounted.rb +16 -0
  1099. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/leaf.rb +51 -0
  1100. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree/vein.rb +44 -0
  1101. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router/tree.rb +51 -0
  1102. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/router.rb +94 -0
  1103. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/serializer/formats_builder.rb +39 -0
  1104. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/serializer.rb +56 -0
  1105. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/extensions.rb +18 -0
  1106. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/formats.rb +15 -0
  1107. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/hooks.rb +15 -0
  1108. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/http_methods.rb +55 -0
  1109. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/inheritance.rb +30 -0
  1110. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/middleware.rb +26 -0
  1111. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/mounting.rb +61 -0
  1112. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/params_validator.rb +11 -0
  1113. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/payload.rb +9 -0
  1114. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/rack_interface.rb +9 -0
  1115. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/route_handling.rb +46 -0
  1116. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods/settings.rb +28 -0
  1117. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/singleton_methods.rb +29 -0
  1118. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/streamer/scheduler/null.rb +13 -0
  1119. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/streamer/scheduler.rb +14 -0
  1120. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/streamer.rb +57 -0
  1121. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/test/singleton_methods.rb +22 -0
  1122. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/test/utils.rb +49 -0
  1123. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/test.rb +70 -0
  1124. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/deep_dup.rb +122 -0
  1125. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/boolean.rb +30 -0
  1126. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/custom.rb +16 -0
  1127. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/float.rb +15 -0
  1128. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/integer.rb +9 -0
  1129. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/numeric.rb +26 -0
  1130. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser/string.rb +9 -0
  1131. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils/parser.rb +43 -0
  1132. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/utils.rb +159 -0
  1133. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app/version.rb +2 -0
  1134. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack/app.rb +35 -0
  1135. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/lib/rack-app.rb +1 -0
  1136. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/old_ruby.sh +1 -0
  1137. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/rack-app.gemspec +27 -0
  1138. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spec_files.txt +1 -0
  1139. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/array_vs_proc.rb +20 -0
  1140. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/enum.rb +11 -0
  1141. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/long_endpoint.rb +29 -0
  1142. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/method_vs_hash.rb +78 -0
  1143. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/method_vs_instance_exec.rb +33 -0
  1144. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/return_vs_throw.rb +45 -0
  1145. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/slice_vs_sub.rb +30 -0
  1146. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/validator_with_minitest.rb +94 -0
  1147. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/spike/xml.rb +24 -0
  1148. data/vendor/bundle/ruby/2.7.0/gems/rack-app-7.7.0/src/Net__HTTP Cheat Sheet.pdf +0 -0
  1149. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/History.md +256 -0
  1150. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/MIT-LICENSE.txt +19 -0
  1151. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/README.md +150 -0
  1152. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/mock_session.rb +63 -0
  1153. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/cookie_jar.rb +194 -0
  1154. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/methods.rb +83 -0
  1155. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/mock_digest_request.rb +25 -0
  1156. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/uploaded_file.rb +85 -0
  1157. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/utils.rb +144 -0
  1158. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test/version.rb +5 -0
  1159. data/vendor/bundle/ruby/2.7.0/gems/rack-test-1.1.0/lib/rack/test.rb +334 -0
  1160. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
  1161. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Gemfile +10 -0
  1162. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/History.rdoc +2368 -0
  1163. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/MIT-LICENSE +21 -0
  1164. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/README.rdoc +155 -0
  1165. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Rakefile +41 -0
  1166. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/bundle +105 -0
  1167. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/console +7 -0
  1168. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rake +29 -0
  1169. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rdoc +29 -0
  1170. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rubocop +29 -0
  1171. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/setup +6 -0
  1172. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
  1173. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
  1174. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
  1175. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/a.c +6 -0
  1176. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/b.c +6 -0
  1177. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/main.c +11 -0
  1178. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
  1179. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/jamis.rb +592 -0
  1180. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
  1181. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rake.1 +156 -0
  1182. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
  1183. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rational.rdoc +151 -0
  1184. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/exe/rake +27 -0
  1185. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/application.rb +824 -0
  1186. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
  1187. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
  1188. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
  1189. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
  1190. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
  1191. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
  1192. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
  1193. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
  1194. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
  1195. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
  1196. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
  1197. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
  1198. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
  1199. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
  1200. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
  1201. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
  1202. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
  1203. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
  1204. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
  1205. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
  1206. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
  1207. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
  1208. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
  1209. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
  1210. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
  1211. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
  1212. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
  1213. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
  1214. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  1215. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
  1216. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task.rb +434 -0
  1217. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
  1218. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
  1219. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
  1220. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
  1221. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
  1222. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
  1223. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
  1224. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
  1225. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/version.rb +10 -0
  1226. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
  1227. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake.rb +71 -0
  1228. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/rake.gemspec +43 -0
  1229. data/vendor/bundle/ruby/2.7.0/specifications/addressable-2.8.0.gemspec +36 -0
  1230. data/vendor/bundle/ruby/2.7.0/specifications/byebug-10.0.2.gemspec +37 -0
  1231. data/vendor/bundle/ruby/2.7.0/specifications/commonmarker-0.23.2.gemspec +0 -0
  1232. data/vendor/bundle/ruby/2.7.0/specifications/minitest-5.11.3.gemspec +36 -0
  1233. data/vendor/bundle/ruby/2.7.0/specifications/openapi3_parser-0.9.1.gemspec +52 -0
  1234. data/vendor/bundle/ruby/2.7.0/specifications/psych-3.3.2.gemspec +26 -0
  1235. data/vendor/bundle/ruby/2.7.0/specifications/public_suffix-4.0.6.gemspec +24 -0
  1236. data/vendor/bundle/ruby/2.7.0/specifications/rack-2.0.5.gemspec +38 -0
  1237. data/vendor/bundle/ruby/2.7.0/specifications/rack-app-7.7.0.gemspec +36 -0
  1238. data/vendor/bundle/ruby/2.7.0/specifications/rack-test-1.1.0.gemspec +45 -0
  1239. data/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.1.gemspec +26 -0
  1240. data/vendor/json-schema/CHANGELOG.md +75 -0
  1241. data/vendor/json-schema/CONTRIBUTING.md +7 -0
  1242. data/vendor/json-schema/CONTRIBUTORS.md +35 -0
  1243. data/vendor/json-schema/Gemfile +19 -0
  1244. data/vendor/json-schema/LICENSE.md +19 -0
  1245. data/vendor/json-schema/README.md +496 -0
  1246. data/vendor/json-schema/Rakefile +68 -0
  1247. data/vendor/json-schema/VERSION.yml +3 -0
  1248. data/vendor/json-schema/json-schema.gemspec +27 -0
  1249. data/vendor/json-schema/lib/json-schema/attribute.rb +57 -0
  1250. data/vendor/json-schema/lib/json-schema/attributes/additionalitems.rb +28 -0
  1251. data/vendor/json-schema/lib/json-schema/attributes/additionalproperties.rb +58 -0
  1252. data/vendor/json-schema/lib/json-schema/attributes/allof.rb +39 -0
  1253. data/vendor/json-schema/lib/json-schema/attributes/anyof.rb +47 -0
  1254. data/vendor/json-schema/lib/json-schema/attributes/dependencies.rb +38 -0
  1255. data/vendor/json-schema/lib/json-schema/attributes/dependencies_v4.rb +11 -0
  1256. data/vendor/json-schema/lib/json-schema/attributes/disallow.rb +12 -0
  1257. data/vendor/json-schema/lib/json-schema/attributes/divisibleby.rb +22 -0
  1258. data/vendor/json-schema/lib/json-schema/attributes/enum.rb +24 -0
  1259. data/vendor/json-schema/lib/json-schema/attributes/extends.rb +48 -0
  1260. data/vendor/json-schema/lib/json-schema/attributes/format.rb +14 -0
  1261. data/vendor/json-schema/lib/json-schema/attributes/formats/custom.rb +21 -0
  1262. data/vendor/json-schema/lib/json-schema/attributes/formats/date.rb +25 -0
  1263. data/vendor/json-schema/lib/json-schema/attributes/formats/date_time.rb +34 -0
  1264. data/vendor/json-schema/lib/json-schema/attributes/formats/date_time_v4.rb +15 -0
  1265. data/vendor/json-schema/lib/json-schema/attributes/formats/ip.rb +41 -0
  1266. data/vendor/json-schema/lib/json-schema/attributes/formats/time.rb +22 -0
  1267. data/vendor/json-schema/lib/json-schema/attributes/formats/uri.rb +18 -0
  1268. data/vendor/json-schema/lib/json-schema/attributes/items.rb +27 -0
  1269. data/vendor/json-schema/lib/json-schema/attributes/limit.rb +52 -0
  1270. data/vendor/json-schema/lib/json-schema/attributes/limits/items.rb +15 -0
  1271. data/vendor/json-schema/lib/json-schema/attributes/limits/length.rb +15 -0
  1272. data/vendor/json-schema/lib/json-schema/attributes/limits/max_items.rb +15 -0
  1273. data/vendor/json-schema/lib/json-schema/attributes/limits/max_length.rb +15 -0
  1274. data/vendor/json-schema/lib/json-schema/attributes/limits/max_properties.rb +15 -0
  1275. data/vendor/json-schema/lib/json-schema/attributes/limits/maximum.rb +15 -0
  1276. data/vendor/json-schema/lib/json-schema/attributes/limits/maximum_inclusive.rb +11 -0
  1277. data/vendor/json-schema/lib/json-schema/attributes/limits/min_items.rb +15 -0
  1278. data/vendor/json-schema/lib/json-schema/attributes/limits/min_length.rb +15 -0
  1279. data/vendor/json-schema/lib/json-schema/attributes/limits/min_properties.rb +15 -0
  1280. data/vendor/json-schema/lib/json-schema/attributes/limits/minimum.rb +15 -0
  1281. data/vendor/json-schema/lib/json-schema/attributes/limits/minimum_inclusive.rb +11 -0
  1282. data/vendor/json-schema/lib/json-schema/attributes/limits/numeric.rb +16 -0
  1283. data/vendor/json-schema/lib/json-schema/attributes/limits/properties.rb +15 -0
  1284. data/vendor/json-schema/lib/json-schema/attributes/maxdecimal.rb +18 -0
  1285. data/vendor/json-schema/lib/json-schema/attributes/multipleof.rb +11 -0
  1286. data/vendor/json-schema/lib/json-schema/attributes/not.rb +30 -0
  1287. data/vendor/json-schema/lib/json-schema/attributes/oneof.rb +56 -0
  1288. data/vendor/json-schema/lib/json-schema/attributes/pattern.rb +18 -0
  1289. data/vendor/json-schema/lib/json-schema/attributes/patternproperties.rb +22 -0
  1290. data/vendor/json-schema/lib/json-schema/attributes/properties.rb +66 -0
  1291. data/vendor/json-schema/lib/json-schema/attributes/properties_optional.rb +26 -0
  1292. data/vendor/json-schema/lib/json-schema/attributes/properties_v4.rb +13 -0
  1293. data/vendor/json-schema/lib/json-schema/attributes/ref.rb +61 -0
  1294. data/vendor/json-schema/lib/json-schema/attributes/required.rb +28 -0
  1295. data/vendor/json-schema/lib/json-schema/attributes/type.rb +73 -0
  1296. data/vendor/json-schema/lib/json-schema/attributes/type_v4.rb +29 -0
  1297. data/vendor/json-schema/lib/json-schema/attributes/uniqueitems.rb +20 -0
  1298. data/vendor/json-schema/lib/json-schema/errors/custom_format_error.rb +6 -0
  1299. data/vendor/json-schema/lib/json-schema/errors/json_load_error.rb +6 -0
  1300. data/vendor/json-schema/lib/json-schema/errors/json_parse_error.rb +6 -0
  1301. data/vendor/json-schema/lib/json-schema/errors/schema_error.rb +6 -0
  1302. data/vendor/json-schema/lib/json-schema/errors/schema_parse_error.rb +8 -0
  1303. data/vendor/json-schema/lib/json-schema/errors/uri_error.rb +6 -0
  1304. data/vendor/json-schema/lib/json-schema/errors/validation_error.rb +46 -0
  1305. data/vendor/json-schema/lib/json-schema/schema/reader.rb +140 -0
  1306. data/vendor/json-schema/lib/json-schema/schema/validator.rb +40 -0
  1307. data/vendor/json-schema/lib/json-schema/schema.rb +62 -0
  1308. data/vendor/json-schema/lib/json-schema/util/array_set.rb +20 -0
  1309. data/vendor/json-schema/lib/json-schema/util/uri.rb +110 -0
  1310. data/vendor/json-schema/lib/json-schema/util/uuid.rb +284 -0
  1311. data/vendor/json-schema/lib/json-schema/validator.rb +609 -0
  1312. data/vendor/json-schema/lib/json-schema/validators/draft1.rb +45 -0
  1313. data/vendor/json-schema/lib/json-schema/validators/draft2.rb +46 -0
  1314. data/vendor/json-schema/lib/json-schema/validators/draft3.rb +50 -0
  1315. data/vendor/json-schema/lib/json-schema/validators/draft4.rb +56 -0
  1316. data/vendor/json-schema/lib/json-schema/validators/draft6.rb +56 -0
  1317. data/vendor/json-schema/lib/json-schema/validators/hyper-draft1.rb +13 -0
  1318. data/vendor/json-schema/lib/json-schema/validators/hyper-draft2.rb +13 -0
  1319. data/vendor/json-schema/lib/json-schema/validators/hyper-draft3.rb +13 -0
  1320. data/vendor/json-schema/lib/json-schema/validators/hyper-draft4.rb +13 -0
  1321. data/vendor/json-schema/lib/json-schema/validators/hyper-draft6.rb +13 -0
  1322. data/vendor/json-schema/lib/json-schema.rb +18 -0
  1323. data/vendor/json-schema/resources/draft-01.json +155 -0
  1324. data/vendor/json-schema/resources/draft-02.json +166 -0
  1325. data/vendor/json-schema/resources/draft-03.json +174 -0
  1326. data/vendor/json-schema/resources/draft-04.json +150 -0
  1327. data/vendor/json-schema/resources/draft-06.json +150 -0
  1328. data/vendor/json-schema/test/all_of_ref_schema_test.rb +35 -0
  1329. data/vendor/json-schema/test/any_of_ref_schema_test.rb +35 -0
  1330. data/vendor/json-schema/test/bad_schema_ref_test.rb +49 -0
  1331. data/vendor/json-schema/test/caching_test.rb +57 -0
  1332. data/vendor/json-schema/test/common_test_suite_test.rb +56 -0
  1333. data/vendor/json-schema/test/custom_format_test.rb +122 -0
  1334. data/vendor/json-schema/test/data/all_of_ref_data.json +3 -0
  1335. data/vendor/json-schema/test/data/any_of_ref_data.json +7 -0
  1336. data/vendor/json-schema/test/data/bad_data_1.json +3 -0
  1337. data/vendor/json-schema/test/data/good_data_1.json +3 -0
  1338. data/vendor/json-schema/test/data/one_of_ref_links_data.json +5 -0
  1339. data/vendor/json-schema/test/draft1_test.rb +140 -0
  1340. data/vendor/json-schema/test/draft2_test.rb +112 -0
  1341. data/vendor/json-schema/test/draft3_test.rb +449 -0
  1342. data/vendor/json-schema/test/draft4_test.rb +687 -0
  1343. data/vendor/json-schema/test/extended_schema_test.rb +62 -0
  1344. data/vendor/json-schema/test/extends_nested_test.rb +41 -0
  1345. data/vendor/json-schema/test/files_test.rb +53 -0
  1346. data/vendor/json-schema/test/fragment_resolution_test.rb +83 -0
  1347. data/vendor/json-schema/test/fragment_validation_with_ref_test.rb +67 -0
  1348. data/vendor/json-schema/test/full_validation_test.rb +203 -0
  1349. data/vendor/json-schema/test/initialize_data_test.rb +154 -0
  1350. data/vendor/json-schema/test/list_option_test.rb +21 -0
  1351. data/vendor/json-schema/test/load_ref_schema_test.rb +45 -0
  1352. data/vendor/json-schema/test/merge_missing_values_test.rb +45 -0
  1353. data/vendor/json-schema/test/min_items_test.rb +16 -0
  1354. data/vendor/json-schema/test/one_of_test.rb +85 -0
  1355. data/vendor/json-schema/test/relative_definition_test.rb +19 -0
  1356. data/vendor/json-schema/test/ruby_schema_test.rb +65 -0
  1357. data/vendor/json-schema/test/schema_reader_test.rb +78 -0
  1358. data/vendor/json-schema/test/schema_validation_test.rb +185 -0
  1359. data/vendor/json-schema/test/schemas/address_microformat.json +18 -0
  1360. data/vendor/json-schema/test/schemas/all_of_ref_base_schema.json +6 -0
  1361. data/vendor/json-schema/test/schemas/all_of_ref_schema.json +7 -0
  1362. data/vendor/json-schema/test/schemas/any_of_ref_jane_schema.json +4 -0
  1363. data/vendor/json-schema/test/schemas/any_of_ref_jimmy_schema.json +4 -0
  1364. data/vendor/json-schema/test/schemas/any_of_ref_john_schema.json +4 -0
  1365. data/vendor/json-schema/test/schemas/any_of_ref_schema.json +15 -0
  1366. data/vendor/json-schema/test/schemas/definition_schema.json +15 -0
  1367. data/vendor/json-schema/test/schemas/definition_schema_with_special_characters.json +14 -0
  1368. data/vendor/json-schema/test/schemas/extends_and_additionalProperties_false_schema.json +29 -0
  1369. data/vendor/json-schema/test/schemas/extends_and_patternProperties_schema.json +28 -0
  1370. data/vendor/json-schema/test/schemas/good_schema_1.json +9 -0
  1371. data/vendor/json-schema/test/schemas/good_schema_2.json +9 -0
  1372. data/vendor/json-schema/test/schemas/good_schema_extends1.json +8 -0
  1373. data/vendor/json-schema/test/schemas/good_schema_extends2.json +11 -0
  1374. data/vendor/json-schema/test/schemas/inner_schema.json +17 -0
  1375. data/vendor/json-schema/test/schemas/one_of_ref_links_schema.json +16 -0
  1376. data/vendor/json-schema/test/schemas/ref john with spaces schema.json +11 -0
  1377. data/vendor/json-schema/test/schemas/relative_definition_schema.json +8 -0
  1378. data/vendor/json-schema/test/schemas/self_link_schema.json +17 -0
  1379. data/vendor/json-schema/test/schemas/up_link_schema.json +17 -0
  1380. data/vendor/json-schema/test/stringify_test.rb +48 -0
  1381. data/vendor/json-schema/test/support/array_validation.rb +112 -0
  1382. data/vendor/json-schema/test/support/enum_validation.rb +133 -0
  1383. data/vendor/json-schema/test/support/number_validation.rb +82 -0
  1384. data/vendor/json-schema/test/support/object_validation.rb +68 -0
  1385. data/vendor/json-schema/test/support/strict_validation.rb +88 -0
  1386. data/vendor/json-schema/test/support/string_validation.rb +154 -0
  1387. data/vendor/json-schema/test/support/test_helper.rb +70 -0
  1388. data/vendor/json-schema/test/support/test_suite_ignored_tests.yml +109 -0
  1389. data/vendor/json-schema/test/support/type_validation.rb +81 -0
  1390. data/vendor/json-schema/test/type_attribute_test.rb +20 -0
  1391. data/vendor/json-schema/test/uri_parsing_test.rb +67 -0
  1392. data/vendor/json-schema/test/uri_util_test.rb +206 -0
  1393. data/vendor/json-schema/test/validator_schema_reader_test.rb +55 -0
  1394. metadata +1562 -0
@@ -0,0 +1,1691 @@
1
+ #include <stdlib.h>
2
+ #include <string.h>
3
+ #include <stdio.h>
4
+
5
+ #include "cmark_ctype.h"
6
+ #include "config.h"
7
+ #include "node.h"
8
+ #include "parser.h"
9
+ #include "references.h"
10
+ #include "cmark-gfm.h"
11
+ #include "houdini.h"
12
+ #include "utf8.h"
13
+ #include "scanners.h"
14
+ #include "inlines.h"
15
+ #include "syntax_extension.h"
16
+
17
+ static const char *EMDASH = "\xE2\x80\x94";
18
+ static const char *ENDASH = "\xE2\x80\x93";
19
+ static const char *ELLIPSES = "\xE2\x80\xA6";
20
+ static const char *LEFTDOUBLEQUOTE = "\xE2\x80\x9C";
21
+ static const char *RIGHTDOUBLEQUOTE = "\xE2\x80\x9D";
22
+ static const char *LEFTSINGLEQUOTE = "\xE2\x80\x98";
23
+ static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99";
24
+
25
+ // Macros for creating various kinds of simple.
26
+ #define make_str(subj, sc, ec, s) make_literal(subj, CMARK_NODE_TEXT, sc, ec, s)
27
+ #define make_code(subj, sc, ec, s) make_literal(subj, CMARK_NODE_CODE, sc, ec, s)
28
+ #define make_raw_html(subj, sc, ec, s) make_literal(subj, CMARK_NODE_HTML_INLINE, sc, ec, s)
29
+ #define make_linebreak(mem) make_simple(mem, CMARK_NODE_LINEBREAK)
30
+ #define make_softbreak(mem) make_simple(mem, CMARK_NODE_SOFTBREAK)
31
+ #define make_emph(mem) make_simple(mem, CMARK_NODE_EMPH)
32
+ #define make_strong(mem) make_simple(mem, CMARK_NODE_STRONG)
33
+
34
+ #define MAXBACKTICKS 80
35
+
36
+ typedef struct bracket {
37
+ struct bracket *previous;
38
+ struct delimiter *previous_delimiter;
39
+ cmark_node *inl_text;
40
+ bufsize_t position;
41
+ bool image;
42
+ bool active;
43
+ bool bracket_after;
44
+ } bracket;
45
+
46
+ typedef struct subject{
47
+ cmark_mem *mem;
48
+ cmark_chunk input;
49
+ int line;
50
+ bufsize_t pos;
51
+ int block_offset;
52
+ int column_offset;
53
+ cmark_map *refmap;
54
+ delimiter *last_delim;
55
+ bracket *last_bracket;
56
+ bufsize_t backticks[MAXBACKTICKS + 1];
57
+ bool scanned_for_backticks;
58
+ } subject;
59
+
60
+ // Extensions may populate this.
61
+ static int8_t SKIP_CHARS[256];
62
+
63
+ static CMARK_INLINE bool S_is_line_end_char(char c) {
64
+ return (c == '\n' || c == '\r');
65
+ }
66
+
67
+ static delimiter *S_insert_emph(subject *subj, delimiter *opener,
68
+ delimiter *closer);
69
+
70
+ static int parse_inline(cmark_parser *parser, subject *subj, cmark_node *parent, int options);
71
+
72
+ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, subject *e,
73
+ cmark_chunk *buffer, cmark_map *refmap);
74
+ static bufsize_t subject_find_special_char(subject *subj, int options);
75
+
76
+ // Create an inline with a literal string value.
77
+ static CMARK_INLINE cmark_node *make_literal(subject *subj, cmark_node_type t,
78
+ int start_column, int end_column,
79
+ cmark_chunk s) {
80
+ cmark_node *e = (cmark_node *)subj->mem->calloc(1, sizeof(*e));
81
+ cmark_strbuf_init(subj->mem, &e->content, 0);
82
+ e->type = (uint16_t)t;
83
+ e->as.literal = s;
84
+ e->start_line = e->end_line = subj->line;
85
+ // columns are 1 based.
86
+ e->start_column = start_column + 1 + subj->column_offset + subj->block_offset;
87
+ e->end_column = end_column + 1 + subj->column_offset + subj->block_offset;
88
+ return e;
89
+ }
90
+
91
+ // Create an inline with no value.
92
+ static CMARK_INLINE cmark_node *make_simple(cmark_mem *mem, cmark_node_type t) {
93
+ cmark_node *e = (cmark_node *)mem->calloc(1, sizeof(*e));
94
+ cmark_strbuf_init(mem, &e->content, 0);
95
+ e->type = (uint16_t)t;
96
+ return e;
97
+ }
98
+
99
+ // Like make_str, but parses entities.
100
+ static cmark_node *make_str_with_entities(subject *subj,
101
+ int start_column, int end_column,
102
+ cmark_chunk *content) {
103
+ cmark_strbuf unescaped = CMARK_BUF_INIT(subj->mem);
104
+
105
+ if (houdini_unescape_html(&unescaped, content->data, content->len)) {
106
+ return make_str(subj, start_column, end_column, cmark_chunk_buf_detach(&unescaped));
107
+ } else {
108
+ return make_str(subj, start_column, end_column, *content);
109
+ }
110
+ }
111
+
112
+ // Duplicate a chunk by creating a copy of the buffer not by reusing the
113
+ // buffer like cmark_chunk_dup does.
114
+ static cmark_chunk chunk_clone(cmark_mem *mem, cmark_chunk *src) {
115
+ cmark_chunk c;
116
+ bufsize_t len = src->len;
117
+
118
+ c.len = len;
119
+ c.data = (unsigned char *)mem->calloc(len + 1, 1);
120
+ c.alloc = 1;
121
+ if (len)
122
+ memcpy(c.data, src->data, len);
123
+ c.data[len] = '\0';
124
+
125
+ return c;
126
+ }
127
+
128
+ static cmark_chunk cmark_clean_autolink(cmark_mem *mem, cmark_chunk *url,
129
+ int is_email) {
130
+ cmark_strbuf buf = CMARK_BUF_INIT(mem);
131
+
132
+ cmark_chunk_trim(url);
133
+
134
+ if (url->len == 0) {
135
+ cmark_chunk result = CMARK_CHUNK_EMPTY;
136
+ return result;
137
+ }
138
+
139
+ if (is_email)
140
+ cmark_strbuf_puts(&buf, "mailto:");
141
+
142
+ houdini_unescape_html_f(&buf, url->data, url->len);
143
+ return cmark_chunk_buf_detach(&buf);
144
+ }
145
+
146
+ static CMARK_INLINE cmark_node *make_autolink(subject *subj,
147
+ int start_column, int end_column,
148
+ cmark_chunk url, int is_email) {
149
+ cmark_node *link = make_simple(subj->mem, CMARK_NODE_LINK);
150
+ link->as.link.url = cmark_clean_autolink(subj->mem, &url, is_email);
151
+ link->as.link.title = cmark_chunk_literal("");
152
+ link->start_line = link->end_line = subj->line;
153
+ link->start_column = start_column + 1;
154
+ link->end_column = end_column + 1;
155
+ cmark_node_append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url));
156
+ return link;
157
+ }
158
+
159
+ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, subject *e,
160
+ cmark_chunk *chunk, cmark_map *refmap) {
161
+ int i;
162
+ e->mem = mem;
163
+ e->input = *chunk;
164
+ e->line = line_number;
165
+ e->pos = 0;
166
+ e->block_offset = block_offset;
167
+ e->column_offset = 0;
168
+ e->refmap = refmap;
169
+ e->last_delim = NULL;
170
+ e->last_bracket = NULL;
171
+ for (i = 0; i <= MAXBACKTICKS; i++) {
172
+ e->backticks[i] = 0;
173
+ }
174
+ e->scanned_for_backticks = false;
175
+ }
176
+
177
+ static CMARK_INLINE int isbacktick(int c) { return (c == '`'); }
178
+
179
+ static CMARK_INLINE unsigned char peek_char_n(subject *subj, bufsize_t n) {
180
+ // NULL bytes should have been stripped out by now. If they're
181
+ // present, it's a programming error:
182
+ assert(!(subj->pos + n < subj->input.len && subj->input.data[subj->pos + n] == 0));
183
+ return (subj->pos + n < subj->input.len) ? subj->input.data[subj->pos + n] : 0;
184
+ }
185
+
186
+ static CMARK_INLINE unsigned char peek_char(subject *subj) {
187
+ return peek_char_n(subj, 0);
188
+ }
189
+
190
+ static CMARK_INLINE unsigned char peek_at(subject *subj, bufsize_t pos) {
191
+ return subj->input.data[pos];
192
+ }
193
+
194
+ // Return true if there are more characters in the subject.
195
+ static CMARK_INLINE int is_eof(subject *subj) {
196
+ return (subj->pos >= subj->input.len);
197
+ }
198
+
199
+ // Advance the subject. Doesn't check for eof.
200
+ #define advance(subj) (subj)->pos += 1
201
+
202
+ static CMARK_INLINE bool skip_spaces(subject *subj) {
203
+ bool skipped = false;
204
+ while (peek_char(subj) == ' ' || peek_char(subj) == '\t') {
205
+ advance(subj);
206
+ skipped = true;
207
+ }
208
+ return skipped;
209
+ }
210
+
211
+ static CMARK_INLINE bool skip_line_end(subject *subj) {
212
+ bool seen_line_end_char = false;
213
+ if (peek_char(subj) == '\r') {
214
+ advance(subj);
215
+ seen_line_end_char = true;
216
+ }
217
+ if (peek_char(subj) == '\n') {
218
+ advance(subj);
219
+ seen_line_end_char = true;
220
+ }
221
+ return seen_line_end_char || is_eof(subj);
222
+ }
223
+
224
+ // Take characters while a predicate holds, and return a string.
225
+ static CMARK_INLINE cmark_chunk take_while(subject *subj, int (*f)(int)) {
226
+ unsigned char c;
227
+ bufsize_t startpos = subj->pos;
228
+ bufsize_t len = 0;
229
+
230
+ while ((c = peek_char(subj)) && (*f)(c)) {
231
+ advance(subj);
232
+ len++;
233
+ }
234
+
235
+ return cmark_chunk_dup(&subj->input, startpos, len);
236
+ }
237
+
238
+ // Return the number of newlines in a given span of text in a subject. If
239
+ // the number is greater than zero, also return the number of characters
240
+ // between the last newline and the end of the span in `since_newline`.
241
+ static int count_newlines(subject *subj, bufsize_t from, bufsize_t len, int *since_newline) {
242
+ int nls = 0;
243
+ int since_nl = 0;
244
+
245
+ while (len--) {
246
+ if (subj->input.data[from++] == '\n') {
247
+ ++nls;
248
+ since_nl = 0;
249
+ } else {
250
+ ++since_nl;
251
+ }
252
+ }
253
+
254
+ if (!nls)
255
+ return 0;
256
+
257
+ *since_newline = since_nl;
258
+ return nls;
259
+ }
260
+
261
+ // Adjust `node`'s `end_line`, `end_column`, and `subj`'s `line` and
262
+ // `column_offset` according to the number of newlines in a just-matched span
263
+ // of text in `subj`.
264
+ static void adjust_subj_node_newlines(subject *subj, cmark_node *node, int matchlen, int extra, int options) {
265
+ if (!(options & CMARK_OPT_SOURCEPOS)) {
266
+ return;
267
+ }
268
+
269
+ int since_newline;
270
+ int newlines = count_newlines(subj, subj->pos - matchlen - extra, matchlen, &since_newline);
271
+ if (newlines) {
272
+ subj->line += newlines;
273
+ node->end_line += newlines;
274
+ node->end_column = since_newline;
275
+ subj->column_offset = -subj->pos + since_newline + extra;
276
+ }
277
+ }
278
+
279
+ // Try to process a backtick code span that began with a
280
+ // span of ticks of length openticklength length (already
281
+ // parsed). Return 0 if you don't find matching closing
282
+ // backticks, otherwise return the position in the subject
283
+ // after the closing backticks.
284
+ static bufsize_t scan_to_closing_backticks(subject *subj,
285
+ bufsize_t openticklength) {
286
+
287
+ bool found = false;
288
+ if (openticklength > MAXBACKTICKS) {
289
+ // we limit backtick string length because of the array subj->backticks:
290
+ return 0;
291
+ }
292
+ if (subj->scanned_for_backticks &&
293
+ subj->backticks[openticklength] <= subj->pos) {
294
+ // return if we already know there's no closer
295
+ return 0;
296
+ }
297
+ while (!found) {
298
+ // read non backticks
299
+ unsigned char c;
300
+ while ((c = peek_char(subj)) && c != '`') {
301
+ advance(subj);
302
+ }
303
+ if (is_eof(subj)) {
304
+ break;
305
+ }
306
+ bufsize_t numticks = 0;
307
+ while (peek_char(subj) == '`') {
308
+ advance(subj);
309
+ numticks++;
310
+ }
311
+ // store position of ender
312
+ if (numticks <= MAXBACKTICKS) {
313
+ subj->backticks[numticks] = subj->pos - numticks;
314
+ }
315
+ if (numticks == openticklength) {
316
+ return (subj->pos);
317
+ }
318
+ }
319
+ // got through whole input without finding closer
320
+ subj->scanned_for_backticks = true;
321
+ return 0;
322
+ }
323
+
324
+ // Destructively modify string, converting newlines to
325
+ // spaces, then removing a single leading + trailing space,
326
+ // unless the code span consists entirely of space characters.
327
+ static void S_normalize_code(cmark_strbuf *s) {
328
+ bufsize_t r, w;
329
+ bool contains_nonspace = false;
330
+
331
+ for (r = 0, w = 0; r < s->size; ++r) {
332
+ switch (s->ptr[r]) {
333
+ case '\r':
334
+ if (s->ptr[r + 1] != '\n') {
335
+ s->ptr[w++] = ' ';
336
+ }
337
+ break;
338
+ case '\n':
339
+ s->ptr[w++] = ' ';
340
+ break;
341
+ default:
342
+ s->ptr[w++] = s->ptr[r];
343
+ }
344
+ if (s->ptr[r] != ' ') {
345
+ contains_nonspace = true;
346
+ }
347
+ }
348
+
349
+ // begins and ends with space?
350
+ if (contains_nonspace &&
351
+ s->ptr[0] == ' ' && s->ptr[w - 1] == ' ') {
352
+ cmark_strbuf_drop(s, 1);
353
+ cmark_strbuf_truncate(s, w - 2);
354
+ } else {
355
+ cmark_strbuf_truncate(s, w);
356
+ }
357
+
358
+ }
359
+
360
+
361
+ // Parse backtick code section or raw backticks, return an inline.
362
+ // Assumes that the subject has a backtick at the current position.
363
+ static cmark_node *handle_backticks(subject *subj, int options) {
364
+ cmark_chunk openticks = take_while(subj, isbacktick);
365
+ bufsize_t startpos = subj->pos;
366
+ bufsize_t endpos = scan_to_closing_backticks(subj, openticks.len);
367
+
368
+ if (endpos == 0) { // not found
369
+ subj->pos = startpos; // rewind
370
+ return make_str(subj, subj->pos, subj->pos, openticks);
371
+ } else {
372
+ cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
373
+
374
+ cmark_strbuf_set(&buf, subj->input.data + startpos,
375
+ endpos - startpos - openticks.len);
376
+ S_normalize_code(&buf);
377
+
378
+ cmark_node *node = make_code(subj, startpos, endpos - openticks.len - 1, cmark_chunk_buf_detach(&buf));
379
+ adjust_subj_node_newlines(subj, node, endpos - startpos, openticks.len, options);
380
+ return node;
381
+ }
382
+ }
383
+
384
+
385
+ // Scan ***, **, or * and return number scanned, or 0.
386
+ // Advances position.
387
+ static int scan_delims(subject *subj, unsigned char c, bool *can_open,
388
+ bool *can_close) {
389
+ int numdelims = 0;
390
+ bufsize_t before_char_pos, after_char_pos;
391
+ int32_t after_char = 0;
392
+ int32_t before_char = 0;
393
+ int len;
394
+ bool left_flanking, right_flanking;
395
+
396
+ if (subj->pos == 0) {
397
+ before_char = 10;
398
+ } else {
399
+ before_char_pos = subj->pos - 1;
400
+ // walk back to the beginning of the UTF_8 sequence:
401
+ while ((peek_at(subj, before_char_pos) >> 6 == 2 || SKIP_CHARS[peek_at(subj, before_char_pos)]) && before_char_pos > 0) {
402
+ before_char_pos -= 1;
403
+ }
404
+ len = cmark_utf8proc_iterate(subj->input.data + before_char_pos,
405
+ subj->pos - before_char_pos, &before_char);
406
+ if (len == -1 || (before_char < 256 && SKIP_CHARS[(unsigned char) before_char])) {
407
+ before_char = 10;
408
+ }
409
+ }
410
+
411
+ if (c == '\'' || c == '"') {
412
+ numdelims++;
413
+ advance(subj); // limit to 1 delim for quotes
414
+ } else {
415
+ while (peek_char(subj) == c) {
416
+ numdelims++;
417
+ advance(subj);
418
+ }
419
+ }
420
+
421
+ if (subj->pos == subj->input.len) {
422
+ after_char = 10;
423
+ } else {
424
+ after_char_pos = subj->pos;
425
+ while (SKIP_CHARS[peek_at(subj, after_char_pos)] && after_char_pos < subj->input.len) {
426
+ after_char_pos += 1;
427
+ }
428
+ len = cmark_utf8proc_iterate(subj->input.data + after_char_pos,
429
+ subj->input.len - after_char_pos, &after_char);
430
+ if (len == -1 || (after_char < 256 && SKIP_CHARS[(unsigned char) after_char])) {
431
+ after_char = 10;
432
+ }
433
+ }
434
+
435
+ left_flanking = numdelims > 0 && !cmark_utf8proc_is_space(after_char) &&
436
+ (!cmark_utf8proc_is_punctuation(after_char) ||
437
+ cmark_utf8proc_is_space(before_char) ||
438
+ cmark_utf8proc_is_punctuation(before_char));
439
+ right_flanking = numdelims > 0 && !cmark_utf8proc_is_space(before_char) &&
440
+ (!cmark_utf8proc_is_punctuation(before_char) ||
441
+ cmark_utf8proc_is_space(after_char) ||
442
+ cmark_utf8proc_is_punctuation(after_char));
443
+ if (c == '_') {
444
+ *can_open = left_flanking &&
445
+ (!right_flanking || cmark_utf8proc_is_punctuation(before_char));
446
+ *can_close = right_flanking &&
447
+ (!left_flanking || cmark_utf8proc_is_punctuation(after_char));
448
+ } else if (c == '\'' || c == '"') {
449
+ *can_open = left_flanking && !right_flanking &&
450
+ before_char != ']' && before_char != ')';
451
+ *can_close = right_flanking;
452
+ } else {
453
+ *can_open = left_flanking;
454
+ *can_close = right_flanking;
455
+ }
456
+ return numdelims;
457
+ }
458
+
459
+ /*
460
+ static void print_delimiters(subject *subj)
461
+ {
462
+ delimiter *delim;
463
+ delim = subj->last_delim;
464
+ while (delim != NULL) {
465
+ printf("Item at stack pos %p: %d %d %d next(%p) prev(%p)\n",
466
+ (void*)delim, delim->delim_char,
467
+ delim->can_open, delim->can_close,
468
+ (void*)delim->next, (void*)delim->previous);
469
+ delim = delim->previous;
470
+ }
471
+ }
472
+ */
473
+
474
+ static void remove_delimiter(subject *subj, delimiter *delim) {
475
+ if (delim == NULL)
476
+ return;
477
+ if (delim->next == NULL) {
478
+ // end of list:
479
+ assert(delim == subj->last_delim);
480
+ subj->last_delim = delim->previous;
481
+ } else {
482
+ delim->next->previous = delim->previous;
483
+ }
484
+ if (delim->previous != NULL) {
485
+ delim->previous->next = delim->next;
486
+ }
487
+ subj->mem->free(delim);
488
+ }
489
+
490
+ static void pop_bracket(subject *subj) {
491
+ bracket *b;
492
+ if (subj->last_bracket == NULL)
493
+ return;
494
+ b = subj->last_bracket;
495
+ subj->last_bracket = subj->last_bracket->previous;
496
+ subj->mem->free(b);
497
+ }
498
+
499
+ static void push_delimiter(subject *subj, unsigned char c, bool can_open,
500
+ bool can_close, cmark_node *inl_text) {
501
+ delimiter *delim = (delimiter *)subj->mem->calloc(1, sizeof(delimiter));
502
+ delim->delim_char = c;
503
+ delim->can_open = can_open;
504
+ delim->can_close = can_close;
505
+ delim->inl_text = inl_text;
506
+ delim->length = inl_text->as.literal.len;
507
+ delim->previous = subj->last_delim;
508
+ delim->next = NULL;
509
+ if (delim->previous != NULL) {
510
+ delim->previous->next = delim;
511
+ }
512
+ subj->last_delim = delim;
513
+ }
514
+
515
+ static void push_bracket(subject *subj, bool image, cmark_node *inl_text) {
516
+ bracket *b = (bracket *)subj->mem->calloc(1, sizeof(bracket));
517
+ if (subj->last_bracket != NULL) {
518
+ subj->last_bracket->bracket_after = true;
519
+ }
520
+ b->image = image;
521
+ b->active = true;
522
+ b->inl_text = inl_text;
523
+ b->previous = subj->last_bracket;
524
+ b->previous_delimiter = subj->last_delim;
525
+ b->position = subj->pos;
526
+ b->bracket_after = false;
527
+ subj->last_bracket = b;
528
+ }
529
+
530
+ // Assumes the subject has a c at the current position.
531
+ static cmark_node *handle_delim(subject *subj, unsigned char c, bool smart) {
532
+ bufsize_t numdelims;
533
+ cmark_node *inl_text;
534
+ bool can_open, can_close;
535
+ cmark_chunk contents;
536
+
537
+ numdelims = scan_delims(subj, c, &can_open, &can_close);
538
+
539
+ if (c == '\'' && smart) {
540
+ contents = cmark_chunk_literal(RIGHTSINGLEQUOTE);
541
+ } else if (c == '"' && smart) {
542
+ contents =
543
+ cmark_chunk_literal(can_close ? RIGHTDOUBLEQUOTE : LEFTDOUBLEQUOTE);
544
+ } else {
545
+ contents = cmark_chunk_dup(&subj->input, subj->pos - numdelims, numdelims);
546
+ }
547
+
548
+ inl_text = make_str(subj, subj->pos - numdelims, subj->pos - 1, contents);
549
+
550
+ if ((can_open || can_close) && (!(c == '\'' || c == '"') || smart)) {
551
+ push_delimiter(subj, c, can_open, can_close, inl_text);
552
+ }
553
+
554
+ return inl_text;
555
+ }
556
+
557
+ // Assumes we have a hyphen at the current position.
558
+ static cmark_node *handle_hyphen(subject *subj, bool smart) {
559
+ int startpos = subj->pos;
560
+
561
+ advance(subj);
562
+
563
+ if (!smart || peek_char(subj) != '-') {
564
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("-"));
565
+ }
566
+
567
+ while (smart && peek_char(subj) == '-') {
568
+ advance(subj);
569
+ }
570
+
571
+ int numhyphens = subj->pos - startpos;
572
+ int en_count = 0;
573
+ int em_count = 0;
574
+ int i;
575
+ cmark_strbuf buf = CMARK_BUF_INIT(subj->mem);
576
+
577
+ if (numhyphens % 3 == 0) { // if divisible by 3, use all em dashes
578
+ em_count = numhyphens / 3;
579
+ } else if (numhyphens % 2 == 0) { // if divisible by 2, use all en dashes
580
+ en_count = numhyphens / 2;
581
+ } else if (numhyphens % 3 == 2) { // use one en dash at end
582
+ en_count = 1;
583
+ em_count = (numhyphens - 2) / 3;
584
+ } else { // use two en dashes at the end
585
+ en_count = 2;
586
+ em_count = (numhyphens - 4) / 3;
587
+ }
588
+
589
+ for (i = em_count; i > 0; i--) {
590
+ cmark_strbuf_puts(&buf, EMDASH);
591
+ }
592
+
593
+ for (i = en_count; i > 0; i--) {
594
+ cmark_strbuf_puts(&buf, ENDASH);
595
+ }
596
+
597
+ return make_str(subj, startpos, subj->pos - 1, cmark_chunk_buf_detach(&buf));
598
+ }
599
+
600
+ // Assumes we have a period at the current position.
601
+ static cmark_node *handle_period(subject *subj, bool smart) {
602
+ advance(subj);
603
+ if (smart && peek_char(subj) == '.') {
604
+ advance(subj);
605
+ if (peek_char(subj) == '.') {
606
+ advance(subj);
607
+ return make_str(subj, subj->pos - 3, subj->pos - 1, cmark_chunk_literal(ELLIPSES));
608
+ } else {
609
+ return make_str(subj, subj->pos - 2, subj->pos - 1, cmark_chunk_literal(".."));
610
+ }
611
+ } else {
612
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("."));
613
+ }
614
+ }
615
+
616
+ static cmark_syntax_extension *get_extension_for_special_char(cmark_parser *parser, unsigned char c) {
617
+ cmark_llist *tmp_ext;
618
+
619
+ for (tmp_ext = parser->inline_syntax_extensions; tmp_ext; tmp_ext=tmp_ext->next) {
620
+ cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp_ext->data;
621
+ cmark_llist *tmp_char;
622
+ for (tmp_char = ext->special_inline_chars; tmp_char; tmp_char=tmp_char->next) {
623
+ unsigned char tmp_c = (unsigned char)(size_t)tmp_char->data;
624
+
625
+ if (tmp_c == c) {
626
+ return ext;
627
+ }
628
+ }
629
+ }
630
+
631
+ return NULL;
632
+ }
633
+
634
+ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *stack_bottom) {
635
+ delimiter *closer = subj->last_delim;
636
+ delimiter *opener;
637
+ delimiter *old_closer;
638
+ bool opener_found;
639
+ delimiter *openers_bottom[3][128];
640
+ int i;
641
+
642
+ // initialize openers_bottom:
643
+ memset(&openers_bottom, 0, sizeof(openers_bottom));
644
+ for (i=0; i < 3; i++) {
645
+ openers_bottom[i]['*'] = stack_bottom;
646
+ openers_bottom[i]['_'] = stack_bottom;
647
+ openers_bottom[i]['\''] = stack_bottom;
648
+ openers_bottom[i]['"'] = stack_bottom;
649
+ }
650
+
651
+ // move back to first relevant delim.
652
+ while (closer != NULL && closer->previous != stack_bottom) {
653
+ closer = closer->previous;
654
+ }
655
+
656
+ // now move forward, looking for closers, and handling each
657
+ while (closer != NULL) {
658
+ cmark_syntax_extension *extension = get_extension_for_special_char(parser, closer->delim_char);
659
+ if (closer->can_close) {
660
+ // Now look backwards for first matching opener:
661
+ opener = closer->previous;
662
+ opener_found = false;
663
+ while (opener != NULL && opener != stack_bottom &&
664
+ opener != openers_bottom[closer->length % 3][closer->delim_char]) {
665
+ if (opener->can_open && opener->delim_char == closer->delim_char) {
666
+ // interior closer of size 2 can't match opener of size 1
667
+ // or of size 1 can't match 2
668
+ if (!(closer->can_open || opener->can_close) ||
669
+ closer->length % 3 == 0 ||
670
+ (opener->length + closer->length) % 3 != 0) {
671
+ opener_found = true;
672
+ break;
673
+ }
674
+ }
675
+ opener = opener->previous;
676
+ }
677
+ old_closer = closer;
678
+
679
+ if (extension) {
680
+ if (opener_found)
681
+ closer = extension->insert_inline_from_delim(extension, parser, subj, opener, closer);
682
+ else
683
+ closer = closer->next;
684
+ } else if (closer->delim_char == '*' || closer->delim_char == '_') {
685
+ if (opener_found) {
686
+ closer = S_insert_emph(subj, opener, closer);
687
+ } else {
688
+ closer = closer->next;
689
+ }
690
+ } else if (closer->delim_char == '\'') {
691
+ cmark_chunk_free(subj->mem, &closer->inl_text->as.literal);
692
+ closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE);
693
+ if (opener_found) {
694
+ cmark_chunk_free(subj->mem, &opener->inl_text->as.literal);
695
+ opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE);
696
+ }
697
+ closer = closer->next;
698
+ } else if (closer->delim_char == '"') {
699
+ cmark_chunk_free(subj->mem, &closer->inl_text->as.literal);
700
+ closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE);
701
+ if (opener_found) {
702
+ cmark_chunk_free(subj->mem, &opener->inl_text->as.literal);
703
+ opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE);
704
+ }
705
+ closer = closer->next;
706
+ }
707
+ if (!opener_found) {
708
+ // set lower bound for future searches for openers
709
+ openers_bottom[old_closer->length % 3][old_closer->delim_char] =
710
+ old_closer->previous;
711
+ if (!old_closer->can_open) {
712
+ // we can remove a closer that can't be an
713
+ // opener, once we've seen there's no
714
+ // matching opener:
715
+ remove_delimiter(subj, old_closer);
716
+ }
717
+ }
718
+ } else {
719
+ closer = closer->next;
720
+ }
721
+ }
722
+ // free all delimiters in list until stack_bottom:
723
+ while (subj->last_delim != NULL && subj->last_delim != stack_bottom) {
724
+ remove_delimiter(subj, subj->last_delim);
725
+ }
726
+ }
727
+
728
+ static delimiter *S_insert_emph(subject *subj, delimiter *opener,
729
+ delimiter *closer) {
730
+ delimiter *delim, *tmp_delim;
731
+ bufsize_t use_delims;
732
+ cmark_node *opener_inl = opener->inl_text;
733
+ cmark_node *closer_inl = closer->inl_text;
734
+ bufsize_t opener_num_chars = opener_inl->as.literal.len;
735
+ bufsize_t closer_num_chars = closer_inl->as.literal.len;
736
+ cmark_node *tmp, *tmpnext, *emph;
737
+
738
+ // calculate the actual number of characters used from this closer
739
+ use_delims = (closer_num_chars >= 2 && opener_num_chars >= 2) ? 2 : 1;
740
+
741
+ // remove used characters from associated inlines.
742
+ opener_num_chars -= use_delims;
743
+ closer_num_chars -= use_delims;
744
+ opener_inl->as.literal.len = opener_num_chars;
745
+ closer_inl->as.literal.len = closer_num_chars;
746
+
747
+ // free delimiters between opener and closer
748
+ delim = closer->previous;
749
+ while (delim != NULL && delim != opener) {
750
+ tmp_delim = delim->previous;
751
+ remove_delimiter(subj, delim);
752
+ delim = tmp_delim;
753
+ }
754
+
755
+ // create new emph or strong, and splice it in to our inlines
756
+ // between the opener and closer
757
+ emph = use_delims == 1 ? make_emph(subj->mem) : make_strong(subj->mem);
758
+
759
+ tmp = opener_inl->next;
760
+ while (tmp && tmp != closer_inl) {
761
+ tmpnext = tmp->next;
762
+ cmark_node_append_child(emph, tmp);
763
+ tmp = tmpnext;
764
+ }
765
+ cmark_node_insert_after(opener_inl, emph);
766
+
767
+ emph->start_line = opener_inl->start_line;
768
+ emph->end_line = closer_inl->end_line;
769
+ emph->start_column = opener_inl->start_column;
770
+ emph->end_column = closer_inl->end_column;
771
+
772
+ // if opener has 0 characters, remove it and its associated inline
773
+ if (opener_num_chars == 0) {
774
+ cmark_node_free(opener_inl);
775
+ remove_delimiter(subj, opener);
776
+ }
777
+
778
+ // if closer has 0 characters, remove it and its associated inline
779
+ if (closer_num_chars == 0) {
780
+ // remove empty closer inline
781
+ cmark_node_free(closer_inl);
782
+ // remove closer from list
783
+ tmp_delim = closer->next;
784
+ remove_delimiter(subj, closer);
785
+ closer = tmp_delim;
786
+ }
787
+
788
+ return closer;
789
+ }
790
+
791
+ // Parse backslash-escape or just a backslash, returning an inline.
792
+ static cmark_node *handle_backslash(cmark_parser *parser, subject *subj) {
793
+ advance(subj);
794
+ unsigned char nextchar = peek_char(subj);
795
+ if ((parser->backslash_ispunct ? parser->backslash_ispunct : cmark_ispunct)(nextchar)) {
796
+ // only ascii symbols and newline can be escaped
797
+ advance(subj);
798
+ return make_str(subj, subj->pos - 2, subj->pos - 1, cmark_chunk_dup(&subj->input, subj->pos - 1, 1));
799
+ } else if (!is_eof(subj) && skip_line_end(subj)) {
800
+ return make_linebreak(subj->mem);
801
+ } else {
802
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("\\"));
803
+ }
804
+ }
805
+
806
+ // Parse an entity or a regular "&" string.
807
+ // Assumes the subject has an '&' character at the current position.
808
+ static cmark_node *handle_entity(subject *subj) {
809
+ cmark_strbuf ent = CMARK_BUF_INIT(subj->mem);
810
+ bufsize_t len;
811
+
812
+ advance(subj);
813
+
814
+ len = houdini_unescape_ent(&ent, subj->input.data + subj->pos,
815
+ subj->input.len - subj->pos);
816
+
817
+ if (len == 0)
818
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("&"));
819
+
820
+ subj->pos += len;
821
+ return make_str(subj, subj->pos - 1 - len, subj->pos - 1, cmark_chunk_buf_detach(&ent));
822
+ }
823
+
824
+ // Clean a URL: remove surrounding whitespace, and remove \ that escape
825
+ // punctuation.
826
+ cmark_chunk cmark_clean_url(cmark_mem *mem, cmark_chunk *url) {
827
+ cmark_strbuf buf = CMARK_BUF_INIT(mem);
828
+
829
+ cmark_chunk_trim(url);
830
+
831
+ if (url->len == 0) {
832
+ cmark_chunk result = CMARK_CHUNK_EMPTY;
833
+ return result;
834
+ }
835
+
836
+ houdini_unescape_html_f(&buf, url->data, url->len);
837
+
838
+ cmark_strbuf_unescape(&buf);
839
+ return cmark_chunk_buf_detach(&buf);
840
+ }
841
+
842
+ cmark_chunk cmark_clean_title(cmark_mem *mem, cmark_chunk *title) {
843
+ cmark_strbuf buf = CMARK_BUF_INIT(mem);
844
+ unsigned char first, last;
845
+
846
+ if (title->len == 0) {
847
+ cmark_chunk result = CMARK_CHUNK_EMPTY;
848
+ return result;
849
+ }
850
+
851
+ first = title->data[0];
852
+ last = title->data[title->len - 1];
853
+
854
+ // remove surrounding quotes if any:
855
+ if ((first == '\'' && last == '\'') || (first == '(' && last == ')') ||
856
+ (first == '"' && last == '"')) {
857
+ houdini_unescape_html_f(&buf, title->data + 1, title->len - 2);
858
+ } else {
859
+ houdini_unescape_html_f(&buf, title->data, title->len);
860
+ }
861
+
862
+ cmark_strbuf_unescape(&buf);
863
+ return cmark_chunk_buf_detach(&buf);
864
+ }
865
+
866
+ // Parse an autolink or HTML tag.
867
+ // Assumes the subject has a '<' character at the current position.
868
+ static cmark_node *handle_pointy_brace(subject *subj, int options) {
869
+ bufsize_t matchlen = 0;
870
+ cmark_chunk contents;
871
+
872
+ advance(subj); // advance past first <
873
+
874
+ // first try to match a URL autolink
875
+ matchlen = scan_autolink_uri(&subj->input, subj->pos);
876
+ if (matchlen > 0) {
877
+ contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
878
+ subj->pos += matchlen;
879
+
880
+ return make_autolink(subj, subj->pos - 1 - matchlen, subj->pos - 1, contents, 0);
881
+ }
882
+
883
+ // next try to match an email autolink
884
+ matchlen = scan_autolink_email(&subj->input, subj->pos);
885
+ if (matchlen > 0) {
886
+ contents = cmark_chunk_dup(&subj->input, subj->pos, matchlen - 1);
887
+ subj->pos += matchlen;
888
+
889
+ return make_autolink(subj, subj->pos - 1 - matchlen, subj->pos - 1, contents, 1);
890
+ }
891
+
892
+ // finally, try to match an html tag
893
+ matchlen = scan_html_tag(&subj->input, subj->pos);
894
+ if (matchlen > 0) {
895
+ contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1);
896
+ subj->pos += matchlen;
897
+ cmark_node *node = make_raw_html(subj, subj->pos - matchlen - 1, subj->pos - 1, contents);
898
+ adjust_subj_node_newlines(subj, node, matchlen, 1, options);
899
+ return node;
900
+ }
901
+
902
+ if (options & CMARK_OPT_LIBERAL_HTML_TAG) {
903
+ matchlen = scan_liberal_html_tag(&subj->input, subj->pos);
904
+ if (matchlen > 0) {
905
+ contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1);
906
+ subj->pos += matchlen;
907
+ cmark_node *node = make_raw_html(subj, subj->pos - matchlen - 1, subj->pos - 1, contents);
908
+ adjust_subj_node_newlines(subj, node, matchlen, 1, options);
909
+ return node;
910
+ }
911
+ }
912
+
913
+ // if nothing matches, just return the opening <:
914
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("<"));
915
+ }
916
+
917
+ // Parse a link label. Returns 1 if successful.
918
+ // Note: unescaped brackets are not allowed in labels.
919
+ // The label begins with `[` and ends with the first `]` character
920
+ // encountered. Backticks in labels do not start code spans.
921
+ static int link_label(subject *subj, cmark_chunk *raw_label) {
922
+ bufsize_t startpos = subj->pos;
923
+ int length = 0;
924
+ unsigned char c;
925
+
926
+ // advance past [
927
+ if (peek_char(subj) == '[') {
928
+ advance(subj);
929
+ } else {
930
+ return 0;
931
+ }
932
+
933
+ while ((c = peek_char(subj)) && c != '[' && c != ']') {
934
+ if (c == '\\') {
935
+ advance(subj);
936
+ length++;
937
+ if (cmark_ispunct(peek_char(subj))) {
938
+ advance(subj);
939
+ length++;
940
+ }
941
+ } else {
942
+ advance(subj);
943
+ length++;
944
+ }
945
+ if (length > MAX_LINK_LABEL_LENGTH) {
946
+ goto noMatch;
947
+ }
948
+ }
949
+
950
+ if (c == ']') { // match found
951
+ *raw_label =
952
+ cmark_chunk_dup(&subj->input, startpos + 1, subj->pos - (startpos + 1));
953
+ cmark_chunk_trim(raw_label);
954
+ advance(subj); // advance past ]
955
+ return 1;
956
+ }
957
+
958
+ noMatch:
959
+ subj->pos = startpos; // rewind
960
+ return 0;
961
+ }
962
+
963
+ static bufsize_t manual_scan_link_url_2(cmark_chunk *input, bufsize_t offset,
964
+ cmark_chunk *output) {
965
+ bufsize_t i = offset;
966
+ size_t nb_p = 0;
967
+
968
+ while (i < input->len) {
969
+ if (input->data[i] == '\\' &&
970
+ i + 1 < input-> len &&
971
+ cmark_ispunct(input->data[i+1]))
972
+ i += 2;
973
+ else if (input->data[i] == '(') {
974
+ ++nb_p;
975
+ ++i;
976
+ if (nb_p > 32)
977
+ return -1;
978
+ } else if (input->data[i] == ')') {
979
+ if (nb_p == 0)
980
+ break;
981
+ --nb_p;
982
+ ++i;
983
+ } else if (cmark_isspace(input->data[i])) {
984
+ if (i == offset) {
985
+ return -1;
986
+ }
987
+ break;
988
+ } else {
989
+ ++i;
990
+ }
991
+ }
992
+
993
+ if (i >= input->len)
994
+ return -1;
995
+
996
+ {
997
+ cmark_chunk result = {input->data + offset, i - offset, 0};
998
+ *output = result;
999
+ }
1000
+ return i - offset;
1001
+ }
1002
+
1003
+ static bufsize_t manual_scan_link_url(cmark_chunk *input, bufsize_t offset,
1004
+ cmark_chunk *output) {
1005
+ bufsize_t i = offset;
1006
+
1007
+ if (i < input->len && input->data[i] == '<') {
1008
+ ++i;
1009
+ while (i < input->len) {
1010
+ if (input->data[i] == '>') {
1011
+ ++i;
1012
+ break;
1013
+ } else if (input->data[i] == '\\')
1014
+ i += 2;
1015
+ else if (input->data[i] == '\n' || input->data[i] == '<')
1016
+ return -1;
1017
+ else
1018
+ ++i;
1019
+ }
1020
+ } else {
1021
+ return manual_scan_link_url_2(input, offset, output);
1022
+ }
1023
+
1024
+ if (i >= input->len)
1025
+ return -1;
1026
+
1027
+ {
1028
+ cmark_chunk result = {input->data + offset + 1, i - 2 - offset, 0};
1029
+ *output = result;
1030
+ }
1031
+ return i - offset;
1032
+ }
1033
+
1034
+ // Return a link, an image, or a literal close bracket.
1035
+ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) {
1036
+ bufsize_t initial_pos, after_link_text_pos;
1037
+ bufsize_t endurl, starttitle, endtitle, endall;
1038
+ bufsize_t sps, n;
1039
+ cmark_reference *ref = NULL;
1040
+ cmark_chunk url_chunk, title_chunk;
1041
+ cmark_chunk url, title;
1042
+ bracket *opener;
1043
+ cmark_node *inl;
1044
+ cmark_chunk raw_label;
1045
+ int found_label;
1046
+ cmark_node *tmp, *tmpnext;
1047
+ bool is_image;
1048
+
1049
+ advance(subj); // advance past ]
1050
+ initial_pos = subj->pos;
1051
+
1052
+ // get last [ or ![
1053
+ opener = subj->last_bracket;
1054
+
1055
+ if (opener == NULL) {
1056
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]"));
1057
+ }
1058
+
1059
+ if (!opener->active) {
1060
+ // take delimiter off stack
1061
+ pop_bracket(subj);
1062
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]"));
1063
+ }
1064
+
1065
+ // If we got here, we matched a potential link/image text.
1066
+ // Now we check to see if it's a link/image.
1067
+ is_image = opener->image;
1068
+
1069
+ after_link_text_pos = subj->pos;
1070
+
1071
+ // First, look for an inline link.
1072
+ if (peek_char(subj) == '(' &&
1073
+ ((sps = scan_spacechars(&subj->input, subj->pos + 1)) > -1) &&
1074
+ ((n = manual_scan_link_url(&subj->input, subj->pos + 1 + sps,
1075
+ &url_chunk)) > -1)) {
1076
+
1077
+ // try to parse an explicit link:
1078
+ endurl = subj->pos + 1 + sps + n;
1079
+ starttitle = endurl + scan_spacechars(&subj->input, endurl);
1080
+
1081
+ // ensure there are spaces btw url and title
1082
+ endtitle = (starttitle == endurl)
1083
+ ? starttitle
1084
+ : starttitle + scan_link_title(&subj->input, starttitle);
1085
+
1086
+ endall = endtitle + scan_spacechars(&subj->input, endtitle);
1087
+
1088
+ if (peek_at(subj, endall) == ')') {
1089
+ subj->pos = endall + 1;
1090
+
1091
+ title_chunk =
1092
+ cmark_chunk_dup(&subj->input, starttitle, endtitle - starttitle);
1093
+ url = cmark_clean_url(subj->mem, &url_chunk);
1094
+ title = cmark_clean_title(subj->mem, &title_chunk);
1095
+ cmark_chunk_free(subj->mem, &url_chunk);
1096
+ cmark_chunk_free(subj->mem, &title_chunk);
1097
+ goto match;
1098
+
1099
+ } else {
1100
+ // it could still be a shortcut reference link
1101
+ subj->pos = after_link_text_pos;
1102
+ }
1103
+ }
1104
+
1105
+ // Next, look for a following [link label] that matches in refmap.
1106
+ // skip spaces
1107
+ raw_label = cmark_chunk_literal("");
1108
+ found_label = link_label(subj, &raw_label);
1109
+ if (!found_label) {
1110
+ // If we have a shortcut reference link, back up
1111
+ // to before the spacse we skipped.
1112
+ subj->pos = initial_pos;
1113
+ }
1114
+
1115
+ if ((!found_label || raw_label.len == 0) && !opener->bracket_after) {
1116
+ cmark_chunk_free(subj->mem, &raw_label);
1117
+ raw_label = cmark_chunk_dup(&subj->input, opener->position,
1118
+ initial_pos - opener->position - 1);
1119
+ found_label = true;
1120
+ }
1121
+
1122
+ if (found_label) {
1123
+ ref = (cmark_reference *)cmark_map_lookup(subj->refmap, &raw_label);
1124
+ cmark_chunk_free(subj->mem, &raw_label);
1125
+ }
1126
+
1127
+ if (ref != NULL) { // found
1128
+ url = chunk_clone(subj->mem, &ref->url);
1129
+ title = chunk_clone(subj->mem, &ref->title);
1130
+ goto match;
1131
+ } else {
1132
+ goto noMatch;
1133
+ }
1134
+
1135
+ noMatch:
1136
+ // If we fall through to here, it means we didn't match a link.
1137
+ // What if we're a footnote link?
1138
+ if (parser->options & CMARK_OPT_FOOTNOTES &&
1139
+ opener->inl_text->next &&
1140
+ opener->inl_text->next->type == CMARK_NODE_TEXT) {
1141
+
1142
+ cmark_chunk *literal = &opener->inl_text->next->as.literal;
1143
+
1144
+ // look back to the opening '[', and skip ahead to the next character
1145
+ // if we're looking at a '[^' sequence, and there is other text or nodes
1146
+ // after the ^, let's call it a footnote reference.
1147
+ if ((literal->len > 0 && literal->data[0] == '^') && (literal->len > 1 || opener->inl_text->next->next)) {
1148
+
1149
+ // Before we got this far, the `handle_close_bracket` function may have
1150
+ // advanced the current state beyond our footnote's actual closing
1151
+ // bracket, ie if it went looking for a `link_label`.
1152
+ // Let's just rewind the subject's position:
1153
+ subj->pos = initial_pos;
1154
+
1155
+ cmark_node *fnref = make_simple(subj->mem, CMARK_NODE_FOOTNOTE_REFERENCE);
1156
+
1157
+ // the start and end of the footnote ref is the opening and closing brace
1158
+ // i.e. the subject's current position, and the opener's start_column
1159
+ int fnref_end_column = subj->pos + subj->column_offset + subj->block_offset;
1160
+ int fnref_start_column = opener->inl_text->start_column;
1161
+
1162
+ // any given node delineates a substring of the line being processed,
1163
+ // with the remainder of the line being pointed to thru its 'literal'
1164
+ // struct member.
1165
+ // here, we copy the literal's pointer, moving it past the '^' character
1166
+ // for a length equal to the size of footnote reference text.
1167
+ // i.e. end_col minus start_col, minus the [ and the ^ characters
1168
+ //
1169
+ // this copies the footnote reference string, even if between the
1170
+ // `opener` and the subject's current position there are other nodes
1171
+ //
1172
+ // (first, check for underflows)
1173
+ if ((fnref_start_column + 2) <= fnref_end_column) {
1174
+ fnref->as.literal = cmark_chunk_dup(literal, 1, (fnref_end_column - fnref_start_column) - 2);
1175
+ } else {
1176
+ fnref->as.literal = cmark_chunk_dup(literal, 1, 0);
1177
+ }
1178
+
1179
+ fnref->start_line = fnref->end_line = subj->line;
1180
+ fnref->start_column = fnref_start_column;
1181
+ fnref->end_column = fnref_end_column;
1182
+
1183
+ // we then replace the opener with this new fnref node, the net effect
1184
+ // being replacing the opening '[' text node with a `^footnote-ref]` node.
1185
+ cmark_node_insert_before(opener->inl_text, fnref);
1186
+
1187
+ process_emphasis(parser, subj, opener->previous_delimiter);
1188
+ // sometimes, the footnote reference text gets parsed into multiple nodes
1189
+ // i.e. '[^example]' parsed into '[', '^exam', 'ple]'.
1190
+ // this happens for ex with the autolink extension. when the autolinker
1191
+ // finds the 'w' character, it will split the text into multiple nodes
1192
+ // in hopes of being able to match a 'www.' substring.
1193
+ //
1194
+ // because this function is called one character at a time via the
1195
+ // `parse_inlines` function, and the current subj->pos is pointing at the
1196
+ // closing ] brace, and because we copy all the text between the [ ]
1197
+ // braces, we should be able to safely ignore and delete any nodes after
1198
+ // the opener->inl_text->next.
1199
+ //
1200
+ // therefore, here we walk thru the list and free them all up
1201
+ cmark_node *next_node;
1202
+ cmark_node *current_node = opener->inl_text->next;
1203
+ while(current_node) {
1204
+ next_node = current_node->next;
1205
+ cmark_node_free(current_node);
1206
+ current_node = next_node;
1207
+ }
1208
+
1209
+ cmark_node_free(opener->inl_text);
1210
+
1211
+ pop_bracket(subj);
1212
+ return NULL;
1213
+ }
1214
+ }
1215
+
1216
+ pop_bracket(subj); // remove this opener from delimiter list
1217
+ subj->pos = initial_pos;
1218
+ return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]"));
1219
+
1220
+ match:
1221
+ inl = make_simple(subj->mem, is_image ? CMARK_NODE_IMAGE : CMARK_NODE_LINK);
1222
+ inl->as.link.url = url;
1223
+ inl->as.link.title = title;
1224
+ inl->start_line = inl->end_line = subj->line;
1225
+ inl->start_column = opener->inl_text->start_column;
1226
+ inl->end_column = subj->pos + subj->column_offset + subj->block_offset;
1227
+ cmark_node_insert_before(opener->inl_text, inl);
1228
+ // Add link text:
1229
+ tmp = opener->inl_text->next;
1230
+ while (tmp) {
1231
+ tmpnext = tmp->next;
1232
+ cmark_node_append_child(inl, tmp);
1233
+ tmp = tmpnext;
1234
+ }
1235
+
1236
+ // Free the bracket [:
1237
+ cmark_node_free(opener->inl_text);
1238
+
1239
+ process_emphasis(parser, subj, opener->previous_delimiter);
1240
+ pop_bracket(subj);
1241
+
1242
+ // Now, if we have a link, we also want to deactivate earlier link
1243
+ // delimiters. (This code can be removed if we decide to allow links
1244
+ // inside links.)
1245
+ if (!is_image) {
1246
+ opener = subj->last_bracket;
1247
+ while (opener != NULL) {
1248
+ if (!opener->image) {
1249
+ if (!opener->active) {
1250
+ break;
1251
+ } else {
1252
+ opener->active = false;
1253
+ }
1254
+ }
1255
+ opener = opener->previous;
1256
+ }
1257
+ }
1258
+
1259
+ return NULL;
1260
+ }
1261
+
1262
+ // Parse a hard or soft linebreak, returning an inline.
1263
+ // Assumes the subject has a cr or newline at the current position.
1264
+ static cmark_node *handle_newline(subject *subj) {
1265
+ bufsize_t nlpos = subj->pos;
1266
+ // skip over cr, crlf, or lf:
1267
+ if (peek_at(subj, subj->pos) == '\r') {
1268
+ advance(subj);
1269
+ }
1270
+ if (peek_at(subj, subj->pos) == '\n') {
1271
+ advance(subj);
1272
+ }
1273
+ ++subj->line;
1274
+ subj->column_offset = -subj->pos;
1275
+ // skip spaces at beginning of line
1276
+ skip_spaces(subj);
1277
+ if (nlpos > 1 && peek_at(subj, nlpos - 1) == ' ' &&
1278
+ peek_at(subj, nlpos - 2) == ' ') {
1279
+ return make_linebreak(subj->mem);
1280
+ } else {
1281
+ return make_softbreak(subj->mem);
1282
+ }
1283
+ }
1284
+
1285
+ // "\r\n\\`&_*[]<!"
1286
+ static int8_t SPECIAL_CHARS[256] = {
1287
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1288
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
1289
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1290
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
1291
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1292
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1294
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1295
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1296
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1297
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
1298
+
1299
+ // " ' . -
1300
+ static char SMART_PUNCT_CHARS[] = {
1301
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1302
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
1303
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1304
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1305
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1306
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1307
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1308
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1309
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1310
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1311
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1312
+ };
1313
+
1314
+ static bufsize_t subject_find_special_char(subject *subj, int options) {
1315
+ bufsize_t n = subj->pos + 1;
1316
+
1317
+ while (n < subj->input.len) {
1318
+ if (SPECIAL_CHARS[subj->input.data[n]])
1319
+ return n;
1320
+ if (options & CMARK_OPT_SMART && SMART_PUNCT_CHARS[subj->input.data[n]])
1321
+ return n;
1322
+ n++;
1323
+ }
1324
+
1325
+ return subj->input.len;
1326
+ }
1327
+
1328
+ void cmark_inlines_add_special_character(unsigned char c, bool emphasis) {
1329
+ SPECIAL_CHARS[c] = 1;
1330
+ if (emphasis)
1331
+ SKIP_CHARS[c] = 1;
1332
+ }
1333
+
1334
+ void cmark_inlines_remove_special_character(unsigned char c, bool emphasis) {
1335
+ SPECIAL_CHARS[c] = 0;
1336
+ if (emphasis)
1337
+ SKIP_CHARS[c] = 0;
1338
+ }
1339
+
1340
+ static cmark_node *try_extensions(cmark_parser *parser,
1341
+ cmark_node *parent,
1342
+ unsigned char c,
1343
+ subject *subj) {
1344
+ cmark_node *res = NULL;
1345
+ cmark_llist *tmp;
1346
+
1347
+ for (tmp = parser->inline_syntax_extensions; tmp; tmp = tmp->next) {
1348
+ cmark_syntax_extension *ext = (cmark_syntax_extension *) tmp->data;
1349
+ res = ext->match_inline(ext, parser, parent, c, subj);
1350
+
1351
+ if (res)
1352
+ break;
1353
+ }
1354
+
1355
+ return res;
1356
+ }
1357
+
1358
+ // Parse an inline, advancing subject, and add it as a child of parent.
1359
+ // Return 0 if no inline can be parsed, 1 otherwise.
1360
+ static int parse_inline(cmark_parser *parser, subject *subj, cmark_node *parent, int options) {
1361
+ cmark_node *new_inl = NULL;
1362
+ cmark_chunk contents;
1363
+ unsigned char c;
1364
+ bufsize_t startpos, endpos;
1365
+ c = peek_char(subj);
1366
+ if (c == 0) {
1367
+ return 0;
1368
+ }
1369
+ switch (c) {
1370
+ case '\r':
1371
+ case '\n':
1372
+ new_inl = handle_newline(subj);
1373
+ break;
1374
+ case '`':
1375
+ new_inl = handle_backticks(subj, options);
1376
+ break;
1377
+ case '\\':
1378
+ new_inl = handle_backslash(parser, subj);
1379
+ break;
1380
+ case '&':
1381
+ new_inl = handle_entity(subj);
1382
+ break;
1383
+ case '<':
1384
+ new_inl = handle_pointy_brace(subj, options);
1385
+ break;
1386
+ case '*':
1387
+ case '_':
1388
+ case '\'':
1389
+ case '"':
1390
+ new_inl = handle_delim(subj, c, (options & CMARK_OPT_SMART) != 0);
1391
+ break;
1392
+ case '-':
1393
+ new_inl = handle_hyphen(subj, (options & CMARK_OPT_SMART) != 0);
1394
+ break;
1395
+ case '.':
1396
+ new_inl = handle_period(subj, (options & CMARK_OPT_SMART) != 0);
1397
+ break;
1398
+ case '[':
1399
+ advance(subj);
1400
+ new_inl = make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("["));
1401
+ push_bracket(subj, false, new_inl);
1402
+ break;
1403
+ case ']':
1404
+ new_inl = handle_close_bracket(parser, subj);
1405
+ break;
1406
+ case '!':
1407
+ advance(subj);
1408
+ if (peek_char(subj) == '[' && peek_char_n(subj, 1) != '^') {
1409
+ advance(subj);
1410
+ new_inl = make_str(subj, subj->pos - 2, subj->pos - 1, cmark_chunk_literal("!["));
1411
+ push_bracket(subj, true, new_inl);
1412
+ } else {
1413
+ new_inl = make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("!"));
1414
+ }
1415
+ break;
1416
+ default:
1417
+ new_inl = try_extensions(parser, parent, c, subj);
1418
+ if (new_inl != NULL)
1419
+ break;
1420
+
1421
+ endpos = subject_find_special_char(subj, options);
1422
+ contents = cmark_chunk_dup(&subj->input, subj->pos, endpos - subj->pos);
1423
+ startpos = subj->pos;
1424
+ subj->pos = endpos;
1425
+
1426
+ // if we're at a newline, strip trailing spaces.
1427
+ if (S_is_line_end_char(peek_char(subj))) {
1428
+ cmark_chunk_rtrim(&contents);
1429
+ }
1430
+
1431
+ new_inl = make_str(subj, startpos, endpos - 1, contents);
1432
+ }
1433
+ if (new_inl != NULL) {
1434
+ cmark_node_append_child(parent, new_inl);
1435
+ }
1436
+
1437
+ return 1;
1438
+ }
1439
+
1440
+ // Parse inlines from parent's string_content, adding as children of parent.
1441
+ void cmark_parse_inlines(cmark_parser *parser,
1442
+ cmark_node *parent,
1443
+ cmark_map *refmap,
1444
+ int options) {
1445
+ subject subj;
1446
+ cmark_chunk content = {parent->content.ptr, parent->content.size, 0};
1447
+ subject_from_buf(parser->mem, parent->start_line, parent->start_column - 1 + parent->internal_offset, &subj, &content, refmap);
1448
+ cmark_chunk_rtrim(&subj.input);
1449
+
1450
+ while (!is_eof(&subj) && parse_inline(parser, &subj, parent, options))
1451
+ ;
1452
+
1453
+ process_emphasis(parser, &subj, NULL);
1454
+ // free bracket and delim stack
1455
+ while (subj.last_delim) {
1456
+ remove_delimiter(&subj, subj.last_delim);
1457
+ }
1458
+ while (subj.last_bracket) {
1459
+ pop_bracket(&subj);
1460
+ }
1461
+ }
1462
+
1463
+ // Parse zero or more space characters, including at most one newline.
1464
+ static void spnl(subject *subj) {
1465
+ skip_spaces(subj);
1466
+ if (skip_line_end(subj)) {
1467
+ skip_spaces(subj);
1468
+ }
1469
+ }
1470
+
1471
+ // Parse reference. Assumes string begins with '[' character.
1472
+ // Modify refmap if a reference is encountered.
1473
+ // Return 0 if no reference found, otherwise position of subject
1474
+ // after reference is parsed.
1475
+ bufsize_t cmark_parse_reference_inline(cmark_mem *mem, cmark_chunk *input,
1476
+ cmark_map *refmap) {
1477
+ subject subj;
1478
+
1479
+ cmark_chunk lab;
1480
+ cmark_chunk url;
1481
+ cmark_chunk title;
1482
+
1483
+ bufsize_t matchlen = 0;
1484
+ bufsize_t beforetitle;
1485
+
1486
+ subject_from_buf(mem, -1, 0, &subj, input, NULL);
1487
+
1488
+ // parse label:
1489
+ if (!link_label(&subj, &lab) || lab.len == 0)
1490
+ return 0;
1491
+
1492
+ // colon:
1493
+ if (peek_char(&subj) == ':') {
1494
+ advance(&subj);
1495
+ } else {
1496
+ return 0;
1497
+ }
1498
+
1499
+ // parse link url:
1500
+ spnl(&subj);
1501
+ if ((matchlen = manual_scan_link_url(&subj.input, subj.pos, &url)) > -1) {
1502
+ subj.pos += matchlen;
1503
+ } else {
1504
+ return 0;
1505
+ }
1506
+
1507
+ // parse optional link_title
1508
+ beforetitle = subj.pos;
1509
+ spnl(&subj);
1510
+ matchlen = subj.pos == beforetitle ? 0 : scan_link_title(&subj.input, subj.pos);
1511
+ if (matchlen) {
1512
+ title = cmark_chunk_dup(&subj.input, subj.pos, matchlen);
1513
+ subj.pos += matchlen;
1514
+ } else {
1515
+ subj.pos = beforetitle;
1516
+ title = cmark_chunk_literal("");
1517
+ }
1518
+
1519
+ // parse final spaces and newline:
1520
+ skip_spaces(&subj);
1521
+ if (!skip_line_end(&subj)) {
1522
+ if (matchlen) { // try rewinding before title
1523
+ subj.pos = beforetitle;
1524
+ skip_spaces(&subj);
1525
+ if (!skip_line_end(&subj)) {
1526
+ return 0;
1527
+ }
1528
+ } else {
1529
+ return 0;
1530
+ }
1531
+ }
1532
+ // insert reference into refmap
1533
+ cmark_reference_create(refmap, &lab, &url, &title);
1534
+ return subj.pos;
1535
+ }
1536
+
1537
+ unsigned char cmark_inline_parser_peek_char(cmark_inline_parser *parser) {
1538
+ return peek_char(parser);
1539
+ }
1540
+
1541
+ unsigned char cmark_inline_parser_peek_at(cmark_inline_parser *parser, bufsize_t pos) {
1542
+ return peek_at(parser, pos);
1543
+ }
1544
+
1545
+ int cmark_inline_parser_is_eof(cmark_inline_parser *parser) {
1546
+ return is_eof(parser);
1547
+ }
1548
+
1549
+ static char *
1550
+ my_strndup (const char *s, size_t n)
1551
+ {
1552
+ char *result;
1553
+ size_t len = strlen (s);
1554
+
1555
+ if (n < len)
1556
+ len = n;
1557
+
1558
+ result = (char *) malloc (len + 1);
1559
+ if (!result)
1560
+ return 0;
1561
+
1562
+ result[len] = '\0';
1563
+ return (char *) memcpy (result, s, len);
1564
+ }
1565
+
1566
+ char *cmark_inline_parser_take_while(cmark_inline_parser *parser, cmark_inline_predicate pred) {
1567
+ unsigned char c;
1568
+ bufsize_t startpos = parser->pos;
1569
+ bufsize_t len = 0;
1570
+
1571
+ while ((c = peek_char(parser)) && (*pred)(c)) {
1572
+ advance(parser);
1573
+ len++;
1574
+ }
1575
+
1576
+ return my_strndup((const char *) parser->input.data + startpos, len);
1577
+ }
1578
+
1579
+ void cmark_inline_parser_push_delimiter(cmark_inline_parser *parser,
1580
+ unsigned char c,
1581
+ int can_open,
1582
+ int can_close,
1583
+ cmark_node *inl_text) {
1584
+ push_delimiter(parser, c, can_open != 0, can_close != 0, inl_text);
1585
+ }
1586
+
1587
+ void cmark_inline_parser_remove_delimiter(cmark_inline_parser *parser, delimiter *delim) {
1588
+ remove_delimiter(parser, delim);
1589
+ }
1590
+
1591
+ int cmark_inline_parser_scan_delimiters(cmark_inline_parser *parser,
1592
+ int max_delims,
1593
+ unsigned char c,
1594
+ int *left_flanking,
1595
+ int *right_flanking,
1596
+ int *punct_before,
1597
+ int *punct_after) {
1598
+ int numdelims = 0;
1599
+ bufsize_t before_char_pos;
1600
+ int32_t after_char = 0;
1601
+ int32_t before_char = 0;
1602
+ int len;
1603
+ bool space_before, space_after;
1604
+
1605
+ if (parser->pos == 0) {
1606
+ before_char = 10;
1607
+ } else {
1608
+ before_char_pos = parser->pos - 1;
1609
+ // walk back to the beginning of the UTF_8 sequence:
1610
+ while (peek_at(parser, before_char_pos) >> 6 == 2 && before_char_pos > 0) {
1611
+ before_char_pos -= 1;
1612
+ }
1613
+ len = cmark_utf8proc_iterate(parser->input.data + before_char_pos,
1614
+ parser->pos - before_char_pos, &before_char);
1615
+ if (len == -1) {
1616
+ before_char = 10;
1617
+ }
1618
+ }
1619
+
1620
+ while (peek_char(parser) == c && numdelims < max_delims) {
1621
+ numdelims++;
1622
+ advance(parser);
1623
+ }
1624
+
1625
+ len = cmark_utf8proc_iterate(parser->input.data + parser->pos,
1626
+ parser->input.len - parser->pos, &after_char);
1627
+ if (len == -1) {
1628
+ after_char = 10;
1629
+ }
1630
+
1631
+ *punct_before = cmark_utf8proc_is_punctuation(before_char);
1632
+ *punct_after = cmark_utf8proc_is_punctuation(after_char);
1633
+ space_before = cmark_utf8proc_is_space(before_char) != 0;
1634
+ space_after = cmark_utf8proc_is_space(after_char) != 0;
1635
+
1636
+ *left_flanking = numdelims > 0 && !cmark_utf8proc_is_space(after_char) &&
1637
+ !(*punct_after && !space_before && !*punct_before);
1638
+ *right_flanking = numdelims > 0 && !cmark_utf8proc_is_space(before_char) &&
1639
+ !(*punct_before && !space_after && !*punct_after);
1640
+
1641
+ return numdelims;
1642
+ }
1643
+
1644
+ void cmark_inline_parser_advance_offset(cmark_inline_parser *parser) {
1645
+ advance(parser);
1646
+ }
1647
+
1648
+ int cmark_inline_parser_get_offset(cmark_inline_parser *parser) {
1649
+ return parser->pos;
1650
+ }
1651
+
1652
+ void cmark_inline_parser_set_offset(cmark_inline_parser *parser, int offset) {
1653
+ parser->pos = offset;
1654
+ }
1655
+
1656
+ int cmark_inline_parser_get_column(cmark_inline_parser *parser) {
1657
+ return parser->pos + 1 + parser->column_offset + parser->block_offset;
1658
+ }
1659
+
1660
+ cmark_chunk *cmark_inline_parser_get_chunk(cmark_inline_parser *parser) {
1661
+ return &parser->input;
1662
+ }
1663
+
1664
+ int cmark_inline_parser_in_bracket(cmark_inline_parser *parser, int image) {
1665
+ for (bracket *b = parser->last_bracket; b; b = b->previous)
1666
+ if (b->active && b->image == (image != 0))
1667
+ return 1;
1668
+ return 0;
1669
+ }
1670
+
1671
+ void cmark_node_unput(cmark_node *node, int n) {
1672
+ node = node->last_child;
1673
+ while (n > 0 && node && node->type == CMARK_NODE_TEXT) {
1674
+ if (node->as.literal.len < n) {
1675
+ n -= node->as.literal.len;
1676
+ node->as.literal.len = 0;
1677
+ } else {
1678
+ node->as.literal.len -= n;
1679
+ n = 0;
1680
+ }
1681
+ node = node->prev;
1682
+ }
1683
+ }
1684
+
1685
+ delimiter *cmark_inline_parser_get_last_delimiter(cmark_inline_parser *parser) {
1686
+ return parser->last_delim;
1687
+ }
1688
+
1689
+ int cmark_inline_parser_get_line(cmark_inline_parser *parser) {
1690
+ return parser->line;
1691
+ }