ehbrs-tools 0.28.3 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (577) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/Gemfile +1 -1
  4. data/Gemfile.lock +39 -33
  5. data/lib/ehbrs/tools/runner/web_utils/finances/bills/consume.rb +43 -0
  6. data/lib/ehbrs/tools/runner/web_utils/finances/bills.rb +22 -0
  7. data/lib/ehbrs/tools/runner/web_utils/finances.rb +20 -0
  8. data/lib/ehbrs/tools/version.rb +1 -1
  9. metadata +5 -570
  10. data/vendor/aranha-parsers/Gemfile +0 -5
  11. data/vendor/aranha-parsers/aranha-parsers.gemspec +0 -25
  12. data/vendor/aranha-parsers/lib/aranha/parsers/base.rb +0 -81
  13. data/vendor/aranha-parsers/lib/aranha/parsers/html/base.rb +0 -47
  14. data/vendor/aranha-parsers/lib/aranha/parsers/html/item.rb +0 -24
  15. data/vendor/aranha-parsers/lib/aranha/parsers/html/item_list.rb +0 -29
  16. data/vendor/aranha-parsers/lib/aranha/parsers/html/node/base.rb +0 -36
  17. data/vendor/aranha-parsers/lib/aranha/parsers/html/node/default/numeric_support.rb +0 -70
  18. data/vendor/aranha-parsers/lib/aranha/parsers/html/node/default/string_support.rb +0 -77
  19. data/vendor/aranha-parsers/lib/aranha/parsers/html/node/default.rb +0 -34
  20. data/vendor/aranha-parsers/lib/aranha/parsers/html/node.rb +0 -13
  21. data/vendor/aranha-parsers/lib/aranha/parsers/html.rb +0 -11
  22. data/vendor/aranha-parsers/lib/aranha/parsers/invalid_state_exception.rb +0 -8
  23. data/vendor/aranha-parsers/lib/aranha/parsers/json/base.rb +0 -20
  24. data/vendor/aranha-parsers/lib/aranha/parsers/json.rb +0 -11
  25. data/vendor/aranha-parsers/lib/aranha/parsers/patches/ofx_parser.rb +0 -38
  26. data/vendor/aranha-parsers/lib/aranha/parsers/patches.rb +0 -11
  27. data/vendor/aranha-parsers/lib/aranha/parsers/rspec/setup.rb +0 -15
  28. data/vendor/aranha-parsers/lib/aranha/parsers/rspec/shared_examples/source_target_fixtures.rb +0 -78
  29. data/vendor/aranha-parsers/lib/aranha/parsers/rspec.rb +0 -11
  30. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/fetch_content_error.rb +0 -10
  31. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/file.rb +0 -31
  32. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_get.rb +0 -25
  33. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/hash_http_post.rb +0 -45
  34. data/vendor/aranha-parsers/lib/aranha/parsers/source_address/http_get.rb +0 -59
  35. data/vendor/aranha-parsers/lib/aranha/parsers/source_address.rb +0 -57
  36. data/vendor/aranha-parsers/lib/aranha/parsers/source_target_fixtures.rb +0 -77
  37. data/vendor/aranha-parsers/lib/aranha/parsers/version.rb +0 -7
  38. data/vendor/aranha-parsers/lib/aranha/parsers.rb +0 -9
  39. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_address/http_get_spec.rb +0 -21
  40. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_address_spec.rb +0 -74
  41. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec.rb +0 -27
  42. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  43. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub1.target.html +0 -1
  44. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub2.source.html +0 -1
  45. data/vendor/aranha-parsers/spec/lib/aranha/parsers/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  46. data/vendor/aranha-parsers/spec/lib/rubocop_check_spec.rb +0 -3
  47. data/vendor/aranha-parsers/spec/spec_helper.rb +0 -4
  48. data/vendor/aranha-selenium/Gemfile +0 -5
  49. data/vendor/aranha-selenium/aranha-selenium.gemspec +0 -19
  50. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/base.rb +0 -84
  51. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/chrome.rb +0 -33
  52. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/firefox.rb +0 -68
  53. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/firefox_auto_download_mime_types +0 -685
  54. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory.rb +0 -47
  55. data/vendor/aranha-selenium/lib/aranha/selenium/session.rb +0 -78
  56. data/vendor/aranha-selenium/lib/aranha/selenium/version.rb +0 -7
  57. data/vendor/aranha-selenium/lib/aranha/selenium.rb +0 -8
  58. data/vendor/aranha-selenium/spec/rubocop_check_spec.rb +0 -3
  59. data/vendor/aranha-selenium/spec/spec_helper.rb +0 -4
  60. data/vendor/eac_cli/Gemfile +0 -5
  61. data/vendor/eac_cli/eac_cli.gemspec +0 -20
  62. data/vendor/eac_cli/lib/eac_cli/config/entry/options.rb +0 -57
  63. data/vendor/eac_cli/lib/eac_cli/config/entry/undefined.rb +0 -26
  64. data/vendor/eac_cli/lib/eac_cli/config/entry.rb +0 -46
  65. data/vendor/eac_cli/lib/eac_cli/config.rb +0 -21
  66. data/vendor/eac_cli/lib/eac_cli/core_ext.rb +0 -6
  67. data/vendor/eac_cli/lib/eac_cli/default_runner.rb +0 -14
  68. data/vendor/eac_cli/lib/eac_cli/definition/alternative.rb +0 -80
  69. data/vendor/eac_cli/lib/eac_cli/definition/argument_option.rb +0 -21
  70. data/vendor/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb +0 -47
  71. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +0 -66
  72. data/vendor/eac_cli/lib/eac_cli/definition/boolean_option.rb +0 -27
  73. data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +0 -77
  74. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +0 -61
  75. data/vendor/eac_cli/lib/eac_cli/definition.rb +0 -99
  76. data/vendor/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +0 -80
  77. data/vendor/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +0 -16
  78. data/vendor/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +0 -44
  79. data/vendor/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +0 -25
  80. data/vendor/eac_cli/lib/eac_cli/old_configs.rb +0 -35
  81. data/vendor/eac_cli/lib/eac_cli/old_configs_bridge.rb +0 -39
  82. data/vendor/eac_cli/lib/eac_cli/parser/alternative/argv.rb +0 -17
  83. data/vendor/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +0 -24
  84. data/vendor/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +0 -37
  85. data/vendor/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +0 -29
  86. data/vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb +0 -29
  87. data/vendor/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +0 -30
  88. data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +0 -47
  89. data/vendor/eac_cli/lib/eac_cli/parser/alternative.rb +0 -92
  90. data/vendor/eac_cli/lib/eac_cli/parser/collector.rb +0 -46
  91. data/vendor/eac_cli/lib/eac_cli/parser/error.rb +0 -15
  92. data/vendor/eac_cli/lib/eac_cli/parser.rb +0 -34
  93. data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +0 -26
  94. data/vendor/eac_cli/lib/eac_cli/patches/object.rb +0 -5
  95. data/vendor/eac_cli/lib/eac_cli/patches.rb +0 -4
  96. data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +0 -46
  97. data/vendor/eac_cli/lib/eac_cli/runner/context.rb +0 -36
  98. data/vendor/eac_cli/lib/eac_cli/runner/exit.rb +0 -13
  99. data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +0 -42
  100. data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -49
  101. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +0 -56
  102. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +0 -73
  103. data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +0 -41
  104. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +0 -10
  105. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +0 -119
  106. data/vendor/eac_cli/lib/eac_cli/runner_with.rb +0 -9
  107. data/vendor/eac_cli/lib/eac_cli/runner_with_set.rb +0 -50
  108. data/vendor/eac_cli/lib/eac_cli/speaker/_constants.rb +0 -12
  109. data/vendor/eac_cli/lib/eac_cli/speaker/list.rb +0 -61
  110. data/vendor/eac_cli/lib/eac_cli/speaker/options.rb +0 -38
  111. data/vendor/eac_cli/lib/eac_cli/speaker.rb +0 -127
  112. data/vendor/eac_cli/lib/eac_cli/version.rb +0 -5
  113. data/vendor/eac_cli/lib/eac_cli.rb +0 -7
  114. data/vendor/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +0 -18
  115. data/vendor/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +0 -14
  116. data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +0 -140
  117. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -129
  118. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +0 -42
  119. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +0 -85
  120. data/vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb +0 -32
  121. data/vendor/eac_cli/spec/rubocop_spec.rb +0 -3
  122. data/vendor/eac_cli/spec/spec_helper.rb +0 -4
  123. data/vendor/eac_config/Gemfile +0 -5
  124. data/vendor/eac_config/eac_config.gemspec +0 -19
  125. data/vendor/eac_config/lib/eac_config/entry.rb +0 -49
  126. data/vendor/eac_config/lib/eac_config/entry_path.rb +0 -41
  127. data/vendor/eac_config/lib/eac_config/envvars_node/entry.rb +0 -54
  128. data/vendor/eac_config/lib/eac_config/envvars_node.rb +0 -25
  129. data/vendor/eac_config/lib/eac_config/load_nodes_search.rb +0 -39
  130. data/vendor/eac_config/lib/eac_config/load_path.rb +0 -28
  131. data/vendor/eac_config/lib/eac_config/node.rb +0 -67
  132. data/vendor/eac_config/lib/eac_config/node_entry.rb +0 -18
  133. data/vendor/eac_config/lib/eac_config/node_uri.rb +0 -38
  134. data/vendor/eac_config/lib/eac_config/old_configs/base.rb +0 -43
  135. data/vendor/eac_config/lib/eac_config/old_configs/file.rb +0 -47
  136. data/vendor/eac_config/lib/eac_config/old_configs.rb +0 -75
  137. data/vendor/eac_config/lib/eac_config/paths_hash/entry_key_error.rb +0 -8
  138. data/vendor/eac_config/lib/eac_config/paths_hash/node.rb +0 -67
  139. data/vendor/eac_config/lib/eac_config/paths_hash/path_search.rb +0 -39
  140. data/vendor/eac_config/lib/eac_config/paths_hash.rb +0 -56
  141. data/vendor/eac_config/lib/eac_config/version.rb +0 -5
  142. data/vendor/eac_config/lib/eac_config/yaml_file_node/entry.rb +0 -37
  143. data/vendor/eac_config/lib/eac_config/yaml_file_node.rb +0 -48
  144. data/vendor/eac_config/lib/eac_config.rb +0 -7
  145. data/vendor/eac_config/spec/lib/eac_config/entry_path_spec.rb +0 -30
  146. data/vendor/eac_config/spec/lib/eac_config/envvars_node/entry_spec.rb +0 -14
  147. data/vendor/eac_config/spec/lib/eac_config/envvars_node_spec.rb +0 -40
  148. data/vendor/eac_config/spec/lib/eac_config/old_configs_spec.rb +0 -46
  149. data/vendor/eac_config/spec/lib/eac_config/paths_hash_spec.rb +0 -88
  150. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec.rb +0 -52
  151. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1.yaml +0 -6
  152. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_1.yaml +0 -2
  153. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2/storage1_2_1.yaml +0 -2
  154. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2.yaml +0 -4
  155. data/vendor/eac_config/spec/rubocop_spec.rb +0 -3
  156. data/vendor/eac_config/spec/spec_helper.rb +0 -4
  157. data/vendor/eac_docker/Gemfile +0 -5
  158. data/vendor/eac_docker/eac_docker.gemspec +0 -19
  159. data/vendor/eac_docker/lib/eac_docker/container.rb +0 -78
  160. data/vendor/eac_docker/lib/eac_docker/debug.rb +0 -15
  161. data/vendor/eac_docker/lib/eac_docker/executables.rb +0 -18
  162. data/vendor/eac_docker/lib/eac_docker/images/base.rb +0 -14
  163. data/vendor/eac_docker/lib/eac_docker/images/coded.rb +0 -43
  164. data/vendor/eac_docker/lib/eac_docker/images/named.rb +0 -30
  165. data/vendor/eac_docker/lib/eac_docker/images/templatized.rb +0 -41
  166. data/vendor/eac_docker/lib/eac_docker/images.rb +0 -9
  167. data/vendor/eac_docker/lib/eac_docker/registry.rb +0 -17
  168. data/vendor/eac_docker/lib/eac_docker/rspec/setup.rb +0 -17
  169. data/vendor/eac_docker/lib/eac_docker/rspec.rb +0 -9
  170. data/vendor/eac_docker/lib/eac_docker/version.rb +0 -5
  171. data/vendor/eac_docker/lib/eac_docker.rb +0 -7
  172. data/vendor/eac_docker/spec/lib/eac_docker/executables_spec.rb +0 -9
  173. data/vendor/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +0 -12
  174. data/vendor/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +0 -1
  175. data/vendor/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +0 -18
  176. data/vendor/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +0 -1
  177. data/vendor/eac_docker/spec/rubocop_spec.rb +0 -3
  178. data/vendor/eac_docker/spec/spec_helper.rb +0 -4
  179. data/vendor/eac_fs/Gemfile +0 -5
  180. data/vendor/eac_fs/eac_fs.gemspec +0 -20
  181. data/vendor/eac_fs/lib/eac_fs/cache.rb +0 -64
  182. data/vendor/eac_fs/lib/eac_fs/cached_download.rb +0 -39
  183. data/vendor/eac_fs/lib/eac_fs/file_info.rb +0 -29
  184. data/vendor/eac_fs/lib/eac_fs/patches/module/fs_cache.rb +0 -10
  185. data/vendor/eac_fs/lib/eac_fs/patches/module.rb +0 -4
  186. data/vendor/eac_fs/lib/eac_fs/patches/object/fs_cache.rb +0 -17
  187. data/vendor/eac_fs/lib/eac_fs/patches/object.rb +0 -4
  188. data/vendor/eac_fs/lib/eac_fs/patches/pathname/info.rb +0 -12
  189. data/vendor/eac_fs/lib/eac_fs/patches/pathname.rb +0 -4
  190. data/vendor/eac_fs/lib/eac_fs/patches.rb +0 -4
  191. data/vendor/eac_fs/lib/eac_fs/traversable.rb +0 -45
  192. data/vendor/eac_fs/lib/eac_fs/traverser.rb +0 -76
  193. data/vendor/eac_fs/lib/eac_fs/version.rb +0 -5
  194. data/vendor/eac_fs/lib/eac_fs.rb +0 -7
  195. data/vendor/eac_fs/spec/lib/eac_fs/cache_spec.rb +0 -32
  196. data/vendor/eac_fs/spec/rubocop_spec.rb +0 -3
  197. data/vendor/eac_fs/spec/spec_helper.rb +0 -4
  198. data/vendor/eac_ruby_base0/Gemfile +0 -5
  199. data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +0 -21
  200. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +0 -83
  201. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +0 -34
  202. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +0 -5
  203. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +0 -31
  204. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/class/jobs_runner.rb +0 -10
  205. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/class.rb +0 -4
  206. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/object/runner_with.rb +0 -5
  207. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches/object.rb +0 -5
  208. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/patches.rb +0 -4
  209. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner/test_all.rb +0 -22
  210. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +0 -73
  211. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +0 -42
  212. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/filesystem_traverser.rb +0 -52
  213. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/input.rb +0 -36
  214. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +0 -58
  215. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with.rb +0 -9
  216. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +0 -5
  217. data/vendor/eac_ruby_base0/lib/eac_ruby_base0.rb +0 -7
  218. data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/confirmation_spec.rb +0 -42
  219. data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +0 -81
  220. data/vendor/eac_ruby_base0/spec/rubocop_spec.rb +0 -3
  221. data/vendor/eac_ruby_base0/spec/spec_helper.rb +0 -4
  222. data/vendor/eac_ruby_gems_utils/Gemfile +0 -5
  223. data/vendor/eac_ruby_gems_utils/LICENCE +0 -16
  224. data/vendor/eac_ruby_gems_utils/README.rdoc +0 -3
  225. data/vendor/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +0 -30
  226. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/command.rb +0 -33
  227. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/version_file.rb +0 -41
  228. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem.rb +0 -97
  229. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/base.rb +0 -57
  230. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/minitest.rb +0 -25
  231. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +0 -48
  232. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/result.rb +0 -25
  233. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple.rb +0 -84
  234. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/rspec.rb +0 -21
  235. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests.rb +0 -9
  236. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +0 -5
  237. data/vendor/eac_ruby_gems_utils/lib/eac_ruby_gems_utils.rb +0 -7
  238. data/vendor/eac_ruby_gems_utils/spec/code/rubocop_check_spec.rb +0 -3
  239. data/vendor/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec.rb +0 -14
  240. data/vendor/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec_files/a_version_file.rb +0 -7
  241. data/vendor/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem_spec.rb +0 -20
  242. data/vendor/eac_ruby_gems_utils/spec/spec_helper.rb +0 -4
  243. data/vendor/eac_ruby_gems_utils/spec/support/mygem/Gemfile +0 -5
  244. data/vendor/eac_ruby_gems_utils/spec/support/mygem/Gemfile.lock +0 -19
  245. data/vendor/eac_ruby_gems_utils/spec/support/mygem/Rakefile +0 -14
  246. data/vendor/eac_ruby_gems_utils/spec/support/mygem/exe/myrunner +0 -5
  247. data/vendor/eac_ruby_gems_utils/spec/support/mygem/lib/mygem/version.rb +0 -5
  248. data/vendor/eac_ruby_gems_utils/spec/support/mygem/lib/mygem.rb +0 -5
  249. data/vendor/eac_ruby_gems_utils/spec/support/mygem/mygem.gemspec +0 -16
  250. data/vendor/eac_ruby_utils/Gemfile +0 -16
  251. data/vendor/eac_ruby_utils/MIT-LICENCE +0 -16
  252. data/vendor/eac_ruby_utils/README.rdoc +0 -3
  253. data/vendor/eac_ruby_utils/eac_ruby_utils.gemspec +0 -23
  254. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb +0 -67
  255. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb +0 -81
  256. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +0 -19
  257. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +0 -31
  258. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb +0 -23
  259. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/class_setup.rb +0 -52
  260. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +0 -41
  261. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +0 -20
  262. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb +0 -29
  263. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/instance_initialize.rb +0 -53
  264. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/super_args.rb +0 -54
  265. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +0 -89
  266. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/compact.rb +0 -22
  267. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/context.rb +0 -31
  268. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +0 -21
  269. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/core_ext.rb +0 -6
  270. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/custom_format.rb +0 -53
  271. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/base_env.rb +0 -28
  272. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/concat.rb +0 -33
  273. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/envvars.rb +0 -24
  274. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +0 -33
  275. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +0 -172
  276. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/executable.rb +0 -63
  277. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/file.rb +0 -22
  278. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/local_env.rb +0 -17
  279. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/process.rb +0 -19
  280. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/spawn.rb +0 -32
  281. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/dasho_options.rb +0 -53
  282. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/identity_file.rb +0 -25
  283. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/quiet.rb +0 -24
  284. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb +0 -34
  285. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env.rb +0 -75
  286. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs.rb +0 -23
  287. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +0 -57
  288. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb +0 -30
  289. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/logs.rb +0 -63
  290. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb +0 -16
  291. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/file.rb +0 -34
  292. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb +0 -52
  293. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs.rb +0 -9
  294. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/gems_registry/gem.rb +0 -79
  295. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -35
  296. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/array_accessor.rb +0 -32
  297. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/base_accessor.rb +0 -23
  298. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/boolean_accessor.rb +0 -16
  299. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/class_methods.rb +0 -20
  300. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/common_accessor.rb +0 -30
  301. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/hash_accessor.rb +0 -46
  302. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable/instance_methods.rb +0 -21
  303. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/immutable.rb +0 -15
  304. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +0 -29
  305. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/class_methods.rb +0 -14
  306. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/instance_methods.rb +0 -30
  307. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/integer_list.rb +0 -23
  308. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +0 -99
  309. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/lists.rb +0 -59
  310. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/string_list.rb +0 -19
  311. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/symbol_list.rb +0 -19
  312. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +0 -39
  313. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable.rb +0 -17
  314. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +0 -48
  315. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/options_consumer.rb +0 -62
  316. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patch.rb +0 -11
  317. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class/abstract.rb +0 -9
  318. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class/common_constructor.rb +0 -9
  319. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class/self_included_modules.rb +0 -7
  320. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class/settings_provider.rb +0 -10
  321. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/class.rb +0 -4
  322. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable/boolean_combinations.rb +0 -45
  323. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable.rb +0 -4
  324. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +0 -9
  325. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +0 -14
  326. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +0 -4
  327. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb +0 -10
  328. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb +0 -10
  329. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb +0 -5
  330. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +0 -10
  331. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +0 -4
  332. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +0 -10
  333. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -9
  334. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +0 -11
  335. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/i18n_translate.rb +0 -32
  336. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +0 -10
  337. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/listable.rb +0 -10
  338. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch.rb +0 -9
  339. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/require_sub.rb +0 -9
  340. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb +0 -10
  341. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +0 -9
  342. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb +0 -4
  343. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/asserts.rb +0 -14
  344. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/call_if_proc.rb +0 -11
  345. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/compact.rb +0 -20
  346. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +0 -17
  347. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/i18n_translate.rb +0 -13
  348. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_nil.rb +0 -17
  349. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_present.rb +0 -19
  350. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb +0 -22
  351. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_pathname.rb +0 -15
  352. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object.rb +0 -5
  353. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_sub.rb +0 -9
  354. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +0 -11
  355. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname.rb +0 -4
  356. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/if_match.rb +0 -16
  357. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +0 -10
  358. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp.rb +0 -4
  359. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/delimited.rb +0 -16
  360. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +0 -11
  361. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +0 -4
  362. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/required_zone.rb +0 -11
  363. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb +0 -4
  364. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches.rb +0 -4
  365. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/recursive_builder.rb +0 -51
  366. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +0 -34
  367. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb +0 -81
  368. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/default_setup.rb +0 -20
  369. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/conditionals.rb +0 -17
  370. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +0 -12
  371. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup_manager.rb +0 -49
  372. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb +0 -9
  373. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +0 -32
  374. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_clean_environment.rb +0 -26
  375. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/ruby.rb +0 -9
  376. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +0 -69
  377. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +0 -46
  378. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +0 -67
  379. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +0 -57
  380. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +0 -32
  381. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +0 -16
  382. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/string_delimited.rb +0 -70
  383. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +0 -63
  384. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +0 -5
  385. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +0 -105
  386. data/vendor/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -6
  387. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb +0 -28
  388. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb +0 -17
  389. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +0 -16
  390. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +0 -65
  391. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +0 -125
  392. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/compact_spec.rb +0 -20
  393. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/custom_format_spec.rb +0 -60
  394. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb +0 -37
  395. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/ssh_env_spec.rb +0 -25
  396. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/extname_spec.rb +0 -18
  397. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp/temp_spec.rb +0 -12
  398. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp_spec.rb +0 -52
  399. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +0 -16
  400. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +0 -212
  401. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +0 -17
  402. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb +0 -45
  403. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/abstract_spec.rb +0 -25
  404. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/self_included_modules_spec.rb +0 -30
  405. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb +0 -39
  406. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +0 -26
  407. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +0 -32
  408. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/options_consumer_spec.rb +0 -17
  409. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/sym_keys_hash_spec.rb +0 -13
  410. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/listable_spec.rb +0 -13
  411. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/simple_cache_spec.rb +0 -13
  412. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +0 -13
  413. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/call_if_proc_spec.rb +0 -11
  414. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/compact_spec.rb +0 -20
  415. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/if_present_spec.rb +0 -13
  416. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec_files/path/my_stub_with_template +0 -1
  417. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_sub_spec.rb +0 -17
  418. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +0 -33
  419. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/string/delimited_spec.rb +0 -34
  420. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/recursive_builder_spec.rb +0 -65
  421. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_module_a.rb +0 -6
  422. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_not_module.rb +0 -6
  423. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec.rb +0 -19
  424. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby_spec.rb +0 -22
  425. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +0 -54
  426. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +0 -129
  427. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +0 -57
  428. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb +0 -75
  429. data/vendor/eac_ruby_utils/spec/locales/pt-BR.yml +0 -55
  430. data/vendor/eac_ruby_utils/spec/rubocop_check_spec.rb +0 -3
  431. data/vendor/eac_ruby_utils/spec/spec_helper.rb +0 -15
  432. data/vendor/eac_templates/Gemfile +0 -5
  433. data/vendor/eac_templates/eac_templates.gemspec +0 -19
  434. data/vendor/eac_templates/lib/eac_templates/directory.rb +0 -108
  435. data/vendor/eac_templates/lib/eac_templates/file.rb +0 -48
  436. data/vendor/eac_templates/lib/eac_templates/patches/module/erb_template.rb +0 -9
  437. data/vendor/eac_templates/lib/eac_templates/patches/module/template.rb +0 -10
  438. data/vendor/eac_templates/lib/eac_templates/patches/module.rb +0 -4
  439. data/vendor/eac_templates/lib/eac_templates/patches/object/erb_template.rb +0 -9
  440. data/vendor/eac_templates/lib/eac_templates/patches/object/template.rb +0 -9
  441. data/vendor/eac_templates/lib/eac_templates/patches/object.rb +0 -4
  442. data/vendor/eac_templates/lib/eac_templates/patches.rb +0 -4
  443. data/vendor/eac_templates/lib/eac_templates/searcher.rb +0 -53
  444. data/vendor/eac_templates/lib/eac_templates/variable_not_found_error.rb +0 -5
  445. data/vendor/eac_templates/lib/eac_templates/variable_providers/base.rb +0 -21
  446. data/vendor/eac_templates/lib/eac_templates/variable_providers/config_reader.rb +0 -27
  447. data/vendor/eac_templates/lib/eac_templates/variable_providers/entries_reader.rb +0 -23
  448. data/vendor/eac_templates/lib/eac_templates/variable_providers/generic.rb +0 -23
  449. data/vendor/eac_templates/lib/eac_templates/variable_providers/hash.rb +0 -27
  450. data/vendor/eac_templates/lib/eac_templates/variable_providers.rb +0 -23
  451. data/vendor/eac_templates/lib/eac_templates/version.rb +0 -5
  452. data/vendor/eac_templates/lib/eac_templates.rb +0 -7
  453. data/vendor/eac_templates/spec/lib/eac_templates/file_spec.rb +0 -35
  454. data/vendor/eac_templates/spec/lib/eac_templates/file_spec_files/expected_content +0 -2
  455. data/vendor/eac_templates/spec/lib/eac_templates/file_spec_files/source.template +0 -2
  456. data/vendor/eac_templates/spec/lib/eac_templates/searcher_spec.rb +0 -30
  457. data/vendor/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file1.template +0 -1
  458. data/vendor/eac_templates/spec/lib/eac_templates/searcher_spec_files/path1/subdir1/file2 +0 -1
  459. data/vendor/eac_templates/spec/lib/eac_templates/searcher_spec_files/path2/subdir1/file3.template +0 -1
  460. data/vendor/eac_templates/spec/lib/object/template_spec.rb +0 -23
  461. data/vendor/eac_templates/spec/lib/object/template_spec_files/path/my_stub_with_template +0 -1
  462. data/vendor/eac_templates/spec/rubocop_spec.rb +0 -3
  463. data/vendor/eac_templates/spec/spec_helper.rb +0 -4
  464. data/vendor/ehbrs_ruby_utils/Gemfile +0 -16
  465. data/vendor/ehbrs_ruby_utils/ehbrs_ruby_utils.gemspec +0 -28
  466. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/core_ext.rb +0 -5
  467. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/executables.rb +0 -28
  468. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/finances/bb_browser/docker_image.rb +0 -18
  469. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/fs/compressed_package.rb +0 -48
  470. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/fs/selected/build.rb +0 -41
  471. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/fs/selected/build_file.rb +0 -27
  472. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/fs/selected.rb +0 -45
  473. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/fs.rb +0 -10
  474. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/music/lyrics_book/album.rb +0 -42
  475. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/music/lyrics_book/resource.rb +0 -64
  476. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/music/lyrics_book/song.rb +0 -68
  477. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/music/lyrics_book.rb +0 -65
  478. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/music.rb +0 -9
  479. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/patches/object/template.rb +0 -6
  480. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/patches/object.rb +0 -4
  481. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/patches.rb +0 -4
  482. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb +0 -5
  483. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/container.rb +0 -70
  484. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/convert_job.rb +0 -91
  485. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/quality.rb +0 -68
  486. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/resolution.rb +0 -68
  487. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/stream.rb +0 -61
  488. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos.rb +0 -9
  489. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/instance.rb +0 -32
  490. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file/rename.rb +0 -28
  491. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb +0 -43
  492. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb +0 -76
  493. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos.rb +0 -11
  494. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils.rb +0 -9
  495. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils.rb +0 -7
  496. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb +0 -18
  497. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb +0 -13
  498. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml +0 -28
  499. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml +0 -7
  500. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml +0 -49
  501. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml +0 -7
  502. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml +0 -43
  503. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml +0 -7
  504. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml +0 -59
  505. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml +0 -7
  506. data/vendor/ehbrs_ruby_utils/spec/rubocop_check_spec.rb +0 -3
  507. data/vendor/ehbrs_ruby_utils/spec/spec_helper.rb +0 -4
  508. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/finances/bb_browser/docker_image/Dockerfile +0 -44
  509. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/finances/bb_browser/docker_image/Makefile +0 -35
  510. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/finances/bb_browser/docker_image/README.md +0 -16
  511. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/finances/bb_browser/docker_image/context/firefox.service +0 -8
  512. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/finances/bb_browser/docker_image/context/startbrowser.sh +0 -9
  513. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/music/lyrics_book/album/inner.html.erb +0 -3
  514. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/music/lyrics_book/custom_style.css +0 -15
  515. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/music/lyrics_book/index.html.erb +0 -14
  516. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/music/lyrics_book/main.html.erb +0 -24
  517. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/music/lyrics_book/resource/main.html.erb +0 -8
  518. data/vendor/ehbrs_ruby_utils/template/ehbrs_ruby_utils/music/lyrics_book/song/inner.html.erb +0 -9
  519. data/vendor/ultimate_lyrics/Gemfile +0 -5
  520. data/vendor/ultimate_lyrics/bin/download_parser_spec_files.rb +0 -94
  521. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/field.rb +0 -83
  522. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/lyrics.rb +0 -13
  523. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/parser.rb +0 -28
  524. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider/exclude_item.rb +0 -17
  525. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider/extract_item.rb +0 -21
  526. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider/item.rb +0 -48
  527. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider/replace_fields.rb +0 -13
  528. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider/rule.rb +0 -52
  529. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider/url_format.rb +0 -21
  530. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider.rb +0 -96
  531. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/provider_search.rb +0 -43
  532. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/providers_data.xml +0 -356
  533. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata/field.rb +0 -24
  534. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/song_metadata.rb +0 -28
  535. data/vendor/ultimate_lyrics/lib/ultimate_lyrics/version.rb +0 -5
  536. data/vendor/ultimate_lyrics/lib/ultimate_lyrics.rb +0 -7
  537. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec.rb +0 -20
  538. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/encyclopaedia_metallum__michael_jackson_thriller.source.html +0 -8
  539. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/encyclopaedia_metallum__michael_jackson_thriller.target.yaml +0 -3
  540. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/encyclopaedia_metallum__michael_jackson_thriller.url +0 -1
  541. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/encyclopaedia_metallum__milton_nascimento_rouxinol.source.html +0 -8
  542. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/encyclopaedia_metallum__milton_nascimento_rouxinol.target.yaml +0 -3
  543. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/encyclopaedia_metallum__milton_nascimento_rouxinol.url +0 -1
  544. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/hindilyrics_net_bollywood_songs__michael_jackson_thriller.source.html +0 -193
  545. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/hindilyrics_net_bollywood_songs__michael_jackson_thriller.target.yaml +0 -3
  546. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/hindilyrics_net_bollywood_songs__michael_jackson_thriller.url +0 -1
  547. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/hindilyrics_net_bollywood_songs__milton_nascimento_rouxinol.source.html +0 -193
  548. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/hindilyrics_net_bollywood_songs__milton_nascimento_rouxinol.target.yaml +0 -3
  549. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/hindilyrics_net_bollywood_songs__milton_nascimento_rouxinol.url +0 -1
  550. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyrics_com__michael_jackson_thriller.source.html +0 -87
  551. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyrics_com__michael_jackson_thriller.target.yaml +0 -36
  552. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyrics_com__michael_jackson_thriller.url +0 -1
  553. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyrics_com__milton_nascimento_rouxinol.source.html +0 -4
  554. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyrics_com__milton_nascimento_rouxinol.target.yaml +0 -3
  555. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyrics_com__milton_nascimento_rouxinol.url +0 -1
  556. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsplugin_com__michael_jackson_thriller.source.html +0 -2
  557. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsplugin_com__michael_jackson_thriller.target.yaml +0 -3
  558. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsplugin_com__michael_jackson_thriller.url +0 -1
  559. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsplugin_com__milton_nascimento_rouxinol.source.html +0 -2
  560. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsplugin_com__milton_nascimento_rouxinol.target.yaml +0 -3
  561. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsplugin_com__milton_nascimento_rouxinol.url +0 -1
  562. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsreg_com__milton_nascimento_rouxinol.source.html +0 -101
  563. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsreg_com__milton_nascimento_rouxinol.target.yaml +0 -3
  564. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/lyricsreg_com__milton_nascimento_rouxinol.url +0 -1
  565. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/mp3lyrics_org__michael_jackson_thriller.source.html +0 -29
  566. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/mp3lyrics_org__michael_jackson_thriller.target.yaml +0 -3
  567. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/mp3lyrics_org__michael_jackson_thriller.url +0 -1
  568. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/mp3lyrics_org__milton_nascimento_rouxinol.source.html +0 -29
  569. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/mp3lyrics_org__milton_nascimento_rouxinol.target.yaml +0 -3
  570. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/mp3lyrics_org__milton_nascimento_rouxinol.url +0 -1
  571. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/songlyrics_com__michael_jackson_thriller.source.html +0 -1301
  572. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/songlyrics_com__michael_jackson_thriller.target.yaml +0 -3
  573. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/parser_spec_files/songlyrics_com__michael_jackson_thriller.url +0 -1
  574. data/vendor/ultimate_lyrics/spec/lib/ultimate_lyrics/provider_search_spec.rb +0 -72
  575. data/vendor/ultimate_lyrics/spec/rubocop_spec.rb +0 -3
  576. data/vendor/ultimate_lyrics/spec/spec_helper.rb +0 -4
  577. data/vendor/ultimate_lyrics/ultimate_lyrics.gemspec +0 -21
@@ -1,1301 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="https://www.w3.org/1999/xhtml" lang="en-US">
3
- <head>
4
- <title>MICHAEL JACKSON - THRILLER LYRICS</title>
5
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <meta name="description" content="Michael Jackson - Thriller Lyrics. It's close to midnight and something evil's lurking in the dark Under the moonlight you see a sight that almost stops your heart You try to " />
7
-
8
- <meta name="msvalidate.01" content="CF28C9C2E5FDBD5C7CA7F6FE394BD121" />
9
- <meta name="robots" content="noydir, noodp" />
10
- <meta property="fb:admins" content="31113169,100000933112467,1383859676" />
11
- <meta name="fb:app_id" content="1418134321780018" />
12
- <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- viewport -->
13
-
14
- <meta property="og:title" content="Thriller - Michael Jackson"/>
15
- <meta property="og:type" content="song"/>
16
- <meta property="og:url" content="http://www.songlyrics.com/michael-jackson/thriller-lyrics/"/>
17
- <meta property="og:image" content="http://cdn1.songlyricscom.netdna-cdn.com/album_covers/2/michael-jackson/michael-jackson-22187.jpg"/>
18
- <meta property="og:site_name" content="SongLyrics.com"/>
19
- <link rel="preconnect" href="http://www.songlyrics.com" />
20
- <link rel="dns-prefetch" href="//cdn2.songlyricscom.netdna-cdn.com" />
21
- <link rel="dns-prefetch" href="//cdn1.songlyricscom.netdna-cdn.com" />
22
- <link rel="dns-prefetch" href="//news.songlyricscom.netdna-cdn.com" />
23
- <link rel="dns-prefetch" href="//pagead2.googlesyndication.com" />
24
- <link rel="dns-prefetch" href="//googleads.g.doubleclick.net" />
25
-
26
- <link rel="icon" href="favicon.ico" type="image/ico" />
27
- <link href="css/global.min.10.css?v=2" rel="stylesheet" type="text/css" />
28
-
29
- <link rel="stylesheet" type="text/css" href="http://www.songlyrics.com/css/icomment.css" />
30
-
31
- <script src="js/jquery.min.js" type="text/javascript"></script>
32
-
33
-
34
-
35
-
36
-
37
- <script type="text/javascript">
38
- var rangy;rangy=rangy||function(){function h(c,d){var e=typeof c[d];return e==b||!(e!=a||!c[d])||"unknown"==e}function i(b,c){return!(typeof b[c]!=a||!b[c])}function j(a,b){return typeof a[b]!=c}function k(a){return function(b,c){for(var d=c.length;d--;)if(!a(b,c[d]))return!1;return!0}}function o(a){return a&&l(a,g)&&n(a,f)}function p(a){return i(a,"body")?a.body:a.getElementsByTagName("body")[0]}function s(a){i(window,"console")&&h(window.console,"log")&&window.console.log(a)}function t(a,b){b?window.alert(a):s(a)}function u(a){r.initialized=!0,r.supported=!1,t("Rangy is not supported on this page in your browser. Reason: "+a,r.config.alertOnFail)}function v(a){t("Rangy warning: "+a,r.config.alertOnWarn)}function y(a){return a.message||a.description||String(a)}function z(){if(!r.initialized){var a,b=!1,c=!1;h(document,"createRange")&&(a=document.createRange(),l(a,e)&&n(a,d)&&(b=!0),a.detach());var f=p(document);if(!f||"body"!=f.nodeName.toLowerCase())return u("No body element found"),void 0;if(f&&h(f,"createTextRange")&&(a=f.createTextRange(),o(a)&&(c=!0)),!b&&!c)return u("Neither Range nor TextRange are available"),void 0;r.initialized=!0,r.features={implementsDomRange:b,implementsTextRange:c};var g,i;for(var j in q)(g=q[j])instanceof C&&g.init();for(var k=0,m=x.length;m>k;++k)try{x[k](r)}catch(t){i="Rangy init listener threw an exception. Continuing. Detail: "+y(t),s(i)}}}function B(a){a=a||window,z();for(var b=0,c=A.length;c>b;++b)A[b](a)}function C(a,b){this.name=a,this.initialized=!1,this.supported=!1,this.init=b}var a="object",b="function",c="undefined",d=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],e=["setStart","setStartBefore","setStartAfter","setEnd","setEndBefore","setEndAfter","collapse","selectNode","selectNodeContents","compareBoundaryPoints","deleteContents","extractContents","cloneContents","insertNode","surroundContents","cloneRange","toString","detach"],f=["boundingHeight","boundingLeft","boundingTop","boundingWidth","htmlText","text"],g=["collapse","compareEndPoints","duplicate","moveToElementText","parentElement","select","setEndPoint","getBoundingClientRect"],l=k(h),m=k(i),n=k(j),q={},r={version:"1.3alpha.772",initialized:!1,supported:!0,util:{isHostMethod:h,isHostObject:i,isHostProperty:j,areHostMethods:l,areHostObjects:m,areHostProperties:n,isTextRange:o,getBody:p},features:{},modules:q,config:{alertOnFail:!0,alertOnWarn:!1,preferTextRange:!1}};r.fail=u,r.warn=v,{}.hasOwnProperty?r.util.extend=function(a,b,c){var d,e;for(var f in b)b.hasOwnProperty(f)&&(d=a[f],e=b[f],c&&null!==d&&"object"==typeof d&&null!==e&&"object"==typeof e&&r.util.extend(d,e,!0),a[f]=e);return a}:u("hasOwnProperty not supported"),function(){var a=document.createElement("div");a.appendChild(document.createElement("span"));var c,b=[].slice;try{1==b.call(a.childNodes,0)[0].nodeType&&(c=function(a){return b.call(a,0)})}catch(d){}c||(c=function(a){for(var b=[],c=0,d=a.length;d>c;++c)b[c]=a[c];return b}),r.util.toArray=c}();var w;h(document,"addEventListener")?w=function(a,b,c){a.addEventListener(b,c,!1)}:h(document,"attachEvent")?w=function(a,b,c){a.attachEvent("on"+b,c)}:u("Document does not have required addEventListener or attachEvent method"),r.util.addListener=w;var x=[];r.init=z,r.addInitListener=function(a){r.initialized?a(r):x.push(a)};var A=[];r.addCreateMissingNativeApiListener=function(a){A.push(a)},r.createMissingNativeApi=B,C.prototype={fail:function(a){throw this.initialized=!0,this.supported=!1,new Error("Module '"+this.name+"' failed to load: "+a)},warn:function(a){r.warn("Module "+this.name+": "+a)},deprecationNotice:function(a,b){r.warn("DEPRECATED: "+a+" in module "+this.name+"is deprecated. Please use "+b+" instead")},createError:function(a){return new Error("Error in Rangy "+this.name+" module: "+a)}},r.createModule=function(a,b){var c=new C(a,function(){if(!c.initialized){c.initialized=!0;try{b(r,c),c.supported=!0}catch(d){var e="Module '"+a+"' failed to load: "+y(d);s(e)}}});q[a]=c},r.requireModules=function(a){for(var d,e,b=0,c=a.length;c>b;++b){if(e=a[b],d=q[e],!(d&&d instanceof C))throw new Error("required module '"+e+"' not found");if(d.init(),!d.supported)throw new Error("required module '"+e+"' not supported")}};var D=!1,E=function(){D||(D=!0,r.initialized||z())};return typeof window==c?(u("No window found"),void 0):typeof document==c?(u("No document found"),void 0):(h(document,"addEventListener")&&document.addEventListener("DOMContentLoaded",E,!1),w(window,"load",E),r)}(),rangy.createModule("DomUtil",function(a,b){function h(a){var b;return typeof a.namespaceURI==c||null===(b=a.namespaceURI)||"http://www.w3.org/1999/xhtml"==b}function i(a){var b=a.parentNode;return 1==b.nodeType?b:null}function j(a){for(var b=0;a=a.previousSibling;)++b;return b}function k(a){switch(a.nodeType){case 7:case 10:return 0;case 3:case 8:return a.length;default:return a.childNodes.length}}function l(a,b){var d,c=[];for(d=a;d;d=d.parentNode)c.push(d);for(d=b;d;d=d.parentNode)if(g(c,d))return d;return null}function m(a,b,c){for(var d=c?b:b.parentNode;d;){if(d===a)return!0;d=d.parentNode}return!1}function n(a,b){return m(a,b,!0)}function o(a,b,c){for(var d,e=c?a:a.parentNode;e;){if(d=e.parentNode,d===b)return e;e=d}return null}function p(a){var b=a.nodeType;return 3==b||4==b||8==b}function q(a){if(!a)return!1;var b=a.nodeType;return 3==b||8==b}function r(a,b){var c=b.nextSibling,d=b.parentNode;return c?d.insertBefore(a,c):d.appendChild(a),a}function s(a,b,c){var d=a.cloneNode(!1);if(d.deleteData(0,b),a.deleteData(b,a.length-b),r(d,a),c)for(var f,e=0;f=c[e++];)f.node==a&&f.offset>b?(f.node=d,f.offset-=b):f.node==a.parentNode&&f.offset>j(a)&&++f.offset;return d}function t(a){if(9==a.nodeType)return a;if(typeof a.ownerDocument!=c)return a.ownerDocument;if(typeof a.document!=c)return a.document;if(a.parentNode)return t(a.parentNode);throw b.createError("getDocument: no document found for node")}function u(a){var d=t(a);if(typeof d.defaultView!=c)return d.defaultView;if(typeof d.parentWindow!=c)return d.parentWindow;throw b.createError("Cannot get a window object for node")}function v(a){if(typeof a.contentDocument!=c)return a.contentDocument;if(typeof a.contentWindow!=c)return a.contentWindow.document;throw b.createError("getIframeDocument: No Document object found for iframe element")}function w(a){if(typeof a.contentWindow!=c)return a.contentWindow;if(typeof a.contentDocument!=c)return a.contentDocument.defaultView;throw b.createError("getIframeWindow: No Window object found for iframe element")}function x(a){return a&&d.isHostMethod(a,"setTimeout")&&d.isHostObject(a,"document")}function y(a,b,c){var e;if(a?d.isHostProperty(a,"nodeType")?e=1==a.nodeType&&"iframe"==a.tagName.toLowerCase()?v(a):t(a):x(a)&&(e=a.document):e=document,!e)throw b.createError(c+"(): Parameter must be a Window object or DOM node");return e}function z(a){for(var b;b=a.parentNode;)a=b;return a}function A(a,c,d,e){var f,g,h,i,k;if(a==d)return c===e?0:e>c?-1:1;if(f=o(d,a,!0))return c<=j(f)?-1:1;if(f=o(a,d,!0))return j(f)<e?-1:1;if(g=l(a,d),h=a===g?g:o(a,g,!0),i=d===g?g:o(d,g,!0),h===i)throw b.createError("comparePoints got to case 4 and childA and childB are the same!");for(k=g.firstChild;k;){if(k===h)return-1;if(k===i)return 1;k=k.nextSibling}}function C(a){try{return a.parentNode,!1}catch(b){return!0}}function D(a){if(!a)return"[No node]";if(B&&C(a))return"[Broken node]";if(p(a))return'"'+a.data+'"';if(1==a.nodeType){var b=a.id?' id="'+a.id+'"':"";return"<"+a.nodeName+b+">["+a.childNodes.length+"]["+a.innerHTML.slice(0,20)+"]"}return a.nodeName}function E(a){for(var c,b=t(a).createDocumentFragment();c=a.firstChild;)b.appendChild(c);return b}function G(a){this.root=a,this._next=a}function H(a){return new G(a)}function I(a,b){this.node=a,this.offset=b}function J(a){this.code=this[a],this.codeName=a,this.message="DOMException: "+this.codeName}var c="undefined",d=a.util;d.areHostMethods(document,["createDocumentFragment","createElement","createTextNode"])||b.fail("document missing a Node creation method"),d.isHostMethod(document,"getElementsByTagName")||b.fail("document missing getElementsByTagName method");var e=document.createElement("div");d.areHostMethods(e,["insertBefore","appendChild","cloneNode"]||!d.areHostObjects(e,["previousSibling","nextSibling","childNodes","parentNode"]))||b.fail("Incomplete Element implementation"),d.isHostProperty(e,"innerHTML")||b.fail("Element is missing innerHTML property");var f=document.createTextNode("test");d.areHostMethods(f,["splitText","deleteData","insertData","appendData","cloneNode"]||!d.areHostObjects(e,["previousSibling","nextSibling","childNodes","parentNode"])||!d.areHostProperties(f,["data"]))||b.fail("Incomplete Text Node implementation");var g=function(a,b){for(var c=a.length;c--;)if(a[c]===b)return!0;return!1},B=!1;!function(){var b=document.createElement("b");b.innerHTML="1";var c=b.firstChild;b.innerHTML="<br>",B=C(c),a.features.crashyTextNodes=B}();var F;typeof window.getComputedStyle!=c?F=function(a,b){return u(a).getComputedStyle(a,null)[b]}:typeof document.documentElement.currentStyle!=c?F=function(a,b){return a.currentStyle[b]}:b.fail("No means of obtaining computed style properties found"),G.prototype={_current:null,hasNext:function(){return!!this._next},next:function(){var b,c,a=this._current=this._next;if(this._current)if(b=a.firstChild)this._next=b;else{for(c=null;a!==this.root&&!(c=a.nextSibling);)a=a.parentNode;this._next=c}return this._current},detach:function(){this._current=this._next=this.root=null}},I.prototype={equals:function(a){return!!a&&this.node===a.node&&this.offset==a.offset},inspect:function(){return"[DomPosition("+D(this.node)+":"+this.offset+")]"},toString:function(){return this.inspect()}},J.prototype={INDEX_SIZE_ERR:1,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INVALID_STATE_ERR:11},J.prototype.toString=function(){return this.message},a.dom={arrayContains:g,isHtmlNamespace:h,parentElement:i,getNodeIndex:j,getNodeLength:k,getCommonAncestor:l,isAncestorOf:m,isOrIsAncestorOf:n,getClosestAncestorIn:o,isCharacterDataNode:p,isTextOrCommentNode:q,insertAfter:r,splitDataNode:s,getDocument:t,getWindow:u,getIframeWindow:w,getIframeDocument:v,getBody:d.getBody,isWindow:x,getContentDocument:y,getRootContainer:z,comparePoints:A,isBrokenNode:C,inspectNode:D,getComputedStyleProperty:F,fragmentFromNodeChildren:E,createIterator:H,DomPosition:I},a.DOMException=J}),rangy.createModule("DomRange",function(a){function r(a,b){return 3!=a.nodeType&&(i(a,b.startContainer)||i(a,b.endContainer))}function s(a){return a.document||j(a.startContainer)}function t(a){return new e(a.parentNode,h(a))}function u(a){return new e(a.parentNode,h(a)+1)}function v(a,b,d){var e=11==a.nodeType?a.firstChild:a;return g(b)?d==b.length?c.insertAfter(a,b):b.parentNode.insertBefore(a,0==d?b:l(b,d)):d>=b.childNodes.length?b.appendChild(a):b.insertBefore(a,b.childNodes[d]),e}function w(a,b,c){if(Y(a),Y(b),s(b)!=s(a))throw new f("WRONG_DOCUMENT_ERR");var d=k(a.startContainer,a.startOffset,b.endContainer,b.endOffset),e=k(a.endContainer,a.endOffset,b.startContainer,b.startOffset);return c?0>=d&&e>=0:0>d&&e>0}function x(a){for(var b,c,e,d=s(a.range).createDocumentFragment();c=a.next();){if(b=a.isPartiallySelectedSubtree(),c=c.cloneNode(!b),b&&(e=a.getSubtreeIterator(),c.appendChild(x(e)),e.detach(!0)),10==c.nodeType)throw new f("HIERARCHY_REQUEST_ERR");d.appendChild(c)}return d}function y(a,b,d){var e,f;d=d||{stop:!1};for(var g,h;g=a.next();)if(a.isPartiallySelectedSubtree()){if(b(g)===!1)return d.stop=!0,void 0;if(h=a.getSubtreeIterator(),y(h,b,d),h.detach(!0),d.stop)return}else for(e=c.createIterator(g);f=e.next();)if(b(f)===!1)return d.stop=!0,void 0}function z(a){for(var b;a.next();)a.isPartiallySelectedSubtree()?(b=a.getSubtreeIterator(),z(b),b.detach(!0)):a.remove()}function A(a){for(var b,d,c=s(a.range).createDocumentFragment();b=a.next();){if(a.isPartiallySelectedSubtree()?(b=b.cloneNode(!1),d=a.getSubtreeIterator(),b.appendChild(A(d)),d.detach(!0)):a.remove(),10==b.nodeType)throw new f("HIERARCHY_REQUEST_ERR");c.appendChild(b)}return c}function B(a,b,c){var e,d=!(!b||!b.length),f=!!c;d&&(e=new RegExp("^("+b.join("|")+")$"));var g=[];return y(new D(a,!1),function(a){d&&!e.test(a.nodeType)||f&&!c(a)||g.push(a)}),g}function C(a){var b="undefined"==typeof a.getName?"Range":a.getName();return"["+b+"("+c.inspectNode(a.startContainer)+":"+a.startOffset+", "+c.inspectNode(a.endContainer)+":"+a.endOffset+")]"}function D(a,b){if(this.range=a,this.clonePartiallySelectedTextNodes=b,!a.collapsed){this.sc=a.startContainer,this.so=a.startOffset,this.ec=a.endContainer,this.eo=a.endOffset;var c=a.commonAncestorContainer;this.sc===this.ec&&g(this.sc)?(this.isSingleCharacterDataNode=!0,this._first=this._last=this._next=this.sc):(this._first=this._next=this.sc!==c||g(this.sc)?m(this.sc,c,!0):this.sc.childNodes[this.so],this._last=this.ec!==c||g(this.ec)?m(this.ec,c,!0):this.ec.childNodes[this.eo-1])}}function E(a){this.code=this[a],this.codeName=a,this.message="RangeException: "+this.codeName}function K(a){return function(b,c){for(var d,e=c?b:b.parentNode;e;){if(d=e.nodeType,o(a,d))return e;e=e.parentNode}return null}}function O(a,b){if(N(a,b))throw new E("INVALID_NODE_TYPE_ERR")}function P(a){if(!a.startContainer)throw new f("INVALID_STATE_ERR")}function Q(a,b){if(!o(b,a.nodeType))throw new E("INVALID_NODE_TYPE_ERR")}function R(a,b){if(0>b||b>(g(a)?a.length:a.childNodes.length))throw new f("INDEX_SIZE_ERR")}function S(a,b){if(L(a,!0)!==L(b,!0))throw new f("WRONG_DOCUMENT_ERR")}function T(a){if(M(a,!0))throw new f("NO_MODIFICATION_ALLOWED_ERR")}function U(a,b){if(!a)throw new f(b)}function V(a){return q&&c.isBrokenNode(a)||!o(G,a.nodeType)&&!L(a,!0)}function W(a,b){return b<=(g(a)?a.length:a.childNodes.length)}function X(a){return!!a.startContainer&&!!a.endContainer&&!V(a.startContainer)&&!V(a.endContainer)&&W(a.startContainer,a.startOffset)&&W(a.endContainer,a.endOffset)}function Y(a){if(P(a),!X(a))throw new Error("Range error: Range is no longer valid after DOM mutation ("+a.inspect()+")")}function bb(a,b){Y(a);var c=a.startContainer,d=a.startOffset,e=a.endContainer,f=a.endOffset,i=c===e;g(e)&&f>0&&f<e.length&&l(e,f,b),g(c)&&d>0&&d<c.length&&(c=l(c,d,b),i?(f-=d,e=c):e==c.parentNode&&f>=h(c)&&f++,d=0),a.setStartAndEnd(c,d,e,f)}function lb(){}function mb(a){a.START_TO_START=db,a.START_TO_END=eb,a.END_TO_END=fb,a.END_TO_START=gb,a.NODE_BEFORE=hb,a.NODE_AFTER=ib,a.NODE_BEFORE_AND_AFTER=jb,a.NODE_INSIDE=kb}function nb(a){mb(a),mb(a.prototype)}function ob(a,b){return function(){Y(this);var g,h,c=this.startContainer,d=this.startOffset,e=this.commonAncestorContainer,f=new D(this,!0);c!==e&&(g=m(c,e,!0),h=u(g),c=h.node,d=h.offset),y(f,T),f.reset();var i=a(f);return f.detach(),b(this,c,d,c,d),i}}function pb(a,b,c){function e(a,b){return function(c){P(this),Q(c,F),Q(p(c),G);var d=(a?t:u)(c);(b?f:i)(this,d.node,d.offset)}}function f(a,c,d){var e=a.endContainer,f=a.endOffset;(c!==a.startContainer||d!==a.startOffset)&&((p(c)!=p(e)||1==k(c,d,e,f))&&(e=c,f=d),b(a,c,d,e,f))}function i(a,c,d){var e=a.startContainer,f=a.startOffset;(c!==a.endContainer||d!==a.endOffset)&&((p(c)!=p(e)||-1==k(c,d,e,f))&&(e=c,f=d),b(a,e,f,c,d))}a.prototype=new lb,d.extend(a.prototype,{setStart:function(a,b){P(this),O(a,!0),R(a,b),f(this,a,b)},setEnd:function(a,b){P(this),O(a,!0),R(a,b),i(this,a,b)},setStartAndEnd:function(){P(this);var a=arguments,c=a[0],d=a[1],e=c,f=d;switch(a.length){case 3:f=a[2];break;case 4:e=a[2],f=a[3]}b(this,c,d,e,f)},setBoundary:function(a,b,c){this["set"+(c?"Start":"End")](a,b)},setStartBefore:e(!0,!0),setStartAfter:e(!1,!0),setEndBefore:e(!0,!1),setEndAfter:e(!1,!1),collapse:function(a){Y(this),a?b(this,this.startContainer,this.startOffset,this.startContainer,this.startOffset):b(this,this.endContainer,this.endOffset,this.endContainer,this.endOffset)},selectNodeContents:function(a){P(this),O(a,!0),b(this,a,0,a,n(a))},selectNode:function(a){P(this),O(a,!1),Q(a,F);var c=t(a),d=u(a);b(this,c.node,c.offset,d.node,d.offset)},extractContents:ob(A,b),deleteContents:ob(z,b),canSurroundContents:function(){Y(this),T(this.startContainer),T(this.endContainer);var a=new D(this,!0),b=a._first&&r(a._first,this)||a._last&&r(a._last,this);return a.detach(),!b},detach:function(){c(this)},splitBoundaries:function(){bb(this)},splitBoundariesPreservingPositions:function(a){bb(this,a)},normalizeBoundaries:function(){Y(this);var a=this.startContainer,c=this.startOffset,d=this.endContainer,e=this.endOffset,f=function(a){var b=a.nextSibling;b&&b.nodeType==a.nodeType&&(d=a,e=a.length,a.appendData(b.data),b.parentNode.removeChild(b))},i=function(b){var f=b.previousSibling;if(f&&f.nodeType==b.nodeType){a=b;var g=b.length;if(c=f.length,b.insertData(0,f.data),f.parentNode.removeChild(f),a==d)e+=c,d=a;else if(d==b.parentNode){var i=h(b);e==i?(d=b,e=g):e>i&&e--}}},j=!0;if(g(d))d.length==e&&f(d);else{if(e>0){var k=d.childNodes[e-1];k&&g(k)&&f(k)}j=!this.collapsed}if(j){if(g(a))0==c&&i(a);else if(c<a.childNodes.length){var l=a.childNodes[c];l&&g(l)&&i(l)}}else a=d,c=e;b(this,a,c,d,e)},collapseToPoint:function(a,b){P(this),O(a,!0),R(a,b),this.setStartAndEnd(a,b)}}),nb(a)}function qb(a){a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset,a.commonAncestorContainer=a.collapsed?a.startContainer:c.getCommonAncestor(a.startContainer,a.endContainer)}function rb(a,b,d,e,f){a.startContainer=b,a.startOffset=d,a.endContainer=e,a.endOffset=f,a.document=c.getDocument(b),qb(a)}function sb(a){P(a),a.startContainer=a.startOffset=a.endContainer=a.endOffset=a.document=null,a.collapsed=a.commonAncestorContainer=null}function tb(a){this.startContainer=a,this.startOffset=0,this.endContainer=a,this.endOffset=0,this.document=a,qb(this)}a.requireModules(["DomUtil"]);var c=a.dom,d=a.util,e=c.DomPosition,f=a.DOMException,g=c.isCharacterDataNode,h=c.getNodeIndex,i=c.isOrIsAncestorOf,j=c.getDocument,k=c.comparePoints,l=c.splitDataNode,m=c.getClosestAncestorIn,n=c.getNodeLength,o=c.arrayContains,p=c.getRootContainer,q=a.features.crashyTextNodes;D.prototype={_current:null,_next:null,_first:null,_last:null,isSingleCharacterDataNode:!1,reset:function(){this._current=null,this._next=this._first},hasNext:function(){return!!this._next},next:function(){var a=this._current=this._next;return a&&(this._next=a!==this._last?a.nextSibling:null,g(a)&&this.clonePartiallySelectedTextNodes&&(a===this.ec&&(a=a.cloneNode(!0)).deleteData(this.eo,a.length-this.eo),this._current===this.sc&&(a=a.cloneNode(!0)).deleteData(0,this.so))),a},remove:function(){var b,c,a=this._current;!g(a)||a!==this.sc&&a!==this.ec?a.parentNode&&a.parentNode.removeChild(a):(b=a===this.sc?this.so:0,c=a===this.ec?this.eo:a.length,b!=c&&a.deleteData(b,c-b))},isPartiallySelectedSubtree:function(){var a=this._current;return r(a,this.range)},getSubtreeIterator:function(){var a;if(this.isSingleCharacterDataNode)a=this.range.cloneRange(),a.collapse(!1);else{a=new tb(s(this.range));var b=this._current,c=b,d=0,e=b,f=n(b);i(b,this.sc)&&(c=this.sc,d=this.so),i(b,this.ec)&&(e=this.ec,f=this.eo),rb(a,c,d,e,f)}return new D(a,this.clonePartiallySelectedTextNodes)},detach:function(a){a&&this.range.detach(),this.range=this._current=this._next=this._first=this._last=this.sc=this.so=this.ec=this.eo=null}},E.prototype={BAD_BOUNDARYPOINTS_ERR:1,INVALID_NODE_TYPE_ERR:2},E.prototype.toString=function(){return this.message};var F=[1,3,4,5,7,8,10],G=[2,9,11],H=[5,6,10,12],I=[1,3,4,5,7,8,10,11],J=[1,3,4,5,7,8],L=K([9,11]),M=K(H),N=K([6,10,12]),Z=document.createElement("style"),$=!1;try{Z.innerHTML="<b>x</b>",$=3==Z.firstChild.nodeType}catch(_){}a.features.htmlParsingConforms=$;var ab=$?function(a){var b=this.startContainer,d=j(b);if(!b)throw new f("INVALID_STATE_ERR");var e=null;return 1==b.nodeType?e=b:g(b)&&(e=c.parentElement(b)),e=null===e||"HTML"==e.nodeName&&c.isHtmlNamespace(j(e).documentElement)&&c.isHtmlNamespace(e)?d.createElement("body"):e.cloneNode(!1),e.innerHTML=a,c.fragmentFromNodeChildren(e)}:function(a){P(this);var b=s(this),d=b.createElement("body");return d.innerHTML=a,c.fragmentFromNodeChildren(d)},cb=["startContainer","startOffset","endContainer","endOffset","collapsed","commonAncestorContainer"],db=0,eb=1,fb=2,gb=3,hb=0,ib=1,jb=2,kb=3;lb.prototype={compareBoundaryPoints:function(a,b){Y(this),S(this.startContainer,b.startContainer);var c,d,e,f,g=a==gb||a==db?"start":"end",h=a==eb||a==db?"start":"end";return c=this[g+"Container"],d=this[g+"Offset"],e=b[h+"Container"],f=b[h+"Offset"],k(c,d,e,f)},insertNode:function(a){if(Y(this),Q(a,I),T(this.startContainer),i(a,this.startContainer))throw new f("HIERARCHY_REQUEST_ERR");var b=v(a,this.startContainer,this.startOffset);this.setStartBefore(b)},cloneContents:function(){Y(this);var a,b;if(this.collapsed)return s(this).createDocumentFragment();if(this.startContainer===this.endContainer&&g(this.startContainer))return a=this.startContainer.cloneNode(!0),a.data=a.data.slice(this.startOffset,this.endOffset),b=s(this).createDocumentFragment(),b.appendChild(a),b;var c=new D(this,!0);return a=x(c),c.detach(),a},canSurroundContents:function(){Y(this),T(this.startContainer),T(this.endContainer);var a=new D(this,!0),b=a._first&&r(a._first,this)||a._last&&r(a._last,this);return a.detach(),!b},surroundContents:function(a){if(Q(a,J),!this.canSurroundContents())throw new E("BAD_BOUNDARYPOINTS_ERR");var b=this.extractContents();if(a.hasChildNodes())for(;a.lastChild;)a.removeChild(a.lastChild);v(a,this.startContainer,this.startOffset),a.appendChild(b),this.selectNode(a)},cloneRange:function(){Y(this);for(var c,a=new tb(s(this)),b=cb.length;b--;)c=cb[b],a[c]=this[c];return a},toString:function(){Y(this);var a=this.startContainer;if(a===this.endContainer&&g(a))return 3==a.nodeType||4==a.nodeType?a.data.slice(this.startOffset,this.endOffset):"";var b=[],c=new D(this,!0);return y(c,function(a){(3==a.nodeType||4==a.nodeType)&&b.push(a.data)}),c.detach(),b.join("")},compareNode:function(a){Y(this);var b=a.parentNode,c=h(a);if(!b)throw new f("NOT_FOUND_ERR");var d=this.comparePoint(b,c),e=this.comparePoint(b,c+1);return 0>d?e>0?jb:hb:e>0?ib:kb},comparePoint:function(a,b){return Y(this),U(a,"HIERARCHY_REQUEST_ERR"),S(a,this.startContainer),k(a,b,this.startContainer,this.startOffset)<0?-1:k(a,b,this.endContainer,this.endOffset)>0?1:0},createContextualFragment:ab,toHtml:function(){Y(this);var a=this.commonAncestorContainer.parentNode.cloneNode(!1);return a.appendChild(this.cloneContents()),a.innerHTML},intersectsNode:function(a,b){if(Y(this),U(a,"NOT_FOUND_ERR"),j(a)!==s(this))return!1;var c=a.parentNode,d=h(a);U(c,"NOT_FOUND_ERR");var e=k(c,d,this.endContainer,this.endOffset),f=k(c,d+1,this.startContainer,this.startOffset);return b?0>=e&&f>=0:0>e&&f>0},isPointInRange:function(a,b){return Y(this),U(a,"HIERARCHY_REQUEST_ERR"),S(a,this.startContainer),k(a,b,this.startContainer,this.startOffset)>=0&&k(a,b,this.endContainer,this.endOffset)<=0},intersectsRange:function(a){return w(this,a,!1)},intersectsOrTouchesRange:function(a){return w(this,a,!0)},intersection:function(a){if(this.intersectsRange(a)){var b=k(this.startContainer,this.startOffset,a.startContainer,a.startOffset),c=k(this.endContainer,this.endOffset,a.endContainer,a.endOffset),d=this.cloneRange();return-1==b&&d.setStart(a.startContainer,a.startOffset),1==c&&d.setEnd(a.endContainer,a.endOffset),d}return null},union:function(a){if(this.intersectsOrTouchesRange(a)){var b=this.cloneRange();return-1==k(a.startContainer,a.startOffset,this.startContainer,this.startOffset)&&b.setStart(a.startContainer,a.startOffset),1==k(a.endContainer,a.endOffset,this.endContainer,this.endOffset)&&b.setEnd(a.endContainer,a.endOffset),b}throw new E("Ranges do not intersect")},containsNode:function(a,b){return b?this.intersectsNode(a,!1):this.compareNode(a)==kb},containsNodeContents:function(a){return this.comparePoint(a,0)>=0&&this.comparePoint(a,n(a))<=0},containsRange:function(a){var b=this.intersection(a);return null!==b&&a.equals(b)},containsNodeText:function(a){var b=this.cloneRange();b.selectNode(a);var c=b.getNodes([3]);if(c.length>0){b.setStart(c[0],0);var d=c.pop();b.setEnd(d,d.length);var e=this.containsRange(b);return b.detach(),e}return this.containsNodeContents(a)},getNodes:function(a,b){return Y(this),B(this,a,b)},getDocument:function(){return s(this)},collapseBefore:function(a){P(this),this.setEndBefore(a),this.collapse(!1)},collapseAfter:function(a){P(this),this.setStartAfter(a),this.collapse(!0)},getBookmark:function(b){var d=s(this),e=a.createRange(d);b=b||c.getBody(d),e.selectNodeContents(b);var f=this.intersection(e),g=0,h=0;return f&&(e.setEnd(f.startContainer,f.startOffset),g=e.toString().length,h=g+f.toString().length,e.detach()),{start:g,end:h,containerNode:b}},moveToBookmark:function(a){var b=a.containerNode,c=0;this.setStart(b,0),this.collapse(!0);for(var e,h,i,j,d=[b],f=!1,g=!1;!g&&(e=d.pop());)if(3==e.nodeType)h=c+e.length,!f&&a.start>=c&&a.start<=h&&(this.setStart(e,a.start-c),f=!0),f&&a.end>=c&&a.end<=h&&(this.setEnd(e,a.end-c),g=!0),c=h;else for(j=e.childNodes,i=j.length;i--;)d.push(j[i])},getName:function(){return"DomRange"},equals:function(a){return tb.rangesEqual(this,a)},isValid:function(){return X(this)},inspect:function(){return C(this)}},pb(tb,rb,sb),a.rangePrototype=lb.prototype,d.extend(tb,{rangeProperties:cb,RangeIterator:D,copyComparisonConstants:nb,createPrototypeRange:pb,inspect:C,getRangeDocument:s,rangesEqual:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset}}),a.DomRange=tb,a.RangeException=E}),rangy.createModule("WrappedRange",function(a,b){a.requireModules(["DomUtil","DomRange"]);var c,d,e=a.dom,f=a.util,g=e.DomPosition,h=a.DomRange,i=e.getBody,j=e.getContentDocument,k=e.isCharacterDataNode;if(a.features.implementsDomRange&&function(){function k(a){for(var c,b=g.length;b--;)c=g[b],a[c]=a.nativeRange[c];a.collapsed=a.startContainer===a.endContainer&&a.startOffset===a.endOffset}function l(a,b,c,d,e){var f=a.startContainer!==b||a.startOffset!=c,g=a.endContainer!==d||a.endOffset!=e,h=!a.equals(a.nativeRange);(f||g||h)&&(a.setEnd(d,e),a.setStart(b,c))}function m(a){a.nativeRange.detach(),a.detached=!0;for(var b=g.length;b--;)a[g[b]]=null}var d,n,g=h.rangeProperties;c=function(a){if(!a)throw b.createError("WrappedRange: Range must be specified");this.nativeRange=a,k(this)},h.createPrototypeRange(c,l,m),d=c.prototype,d.selectNode=function(a){this.nativeRange.selectNode(a),k(this)},d.cloneContents=function(){return this.nativeRange.cloneContents()},d.surroundContents=function(a){this.nativeRange.surroundContents(a),k(this)},d.collapse=function(a){this.nativeRange.collapse(a),k(this)},d.cloneRange=function(){return new c(this.nativeRange.cloneRange())},d.refresh=function(){k(this)},d.toString=function(){return this.nativeRange.toString()};var o=document.createTextNode("test");i(document).appendChild(o);var p=document.createRange();p.setStart(o,0),p.setEnd(o,0);try{p.setStart(o,1),d.setStart=function(a,b){this.nativeRange.setStart(a,b),k(this)},d.setEnd=function(a,b){this.nativeRange.setEnd(a,b),k(this)},n=function(a){return function(b){this.nativeRange[a](b),k(this)}}}catch(q){d.setStart=function(a,b){try{this.nativeRange.setStart(a,b)}catch(c){this.nativeRange.setEnd(a,b),this.nativeRange.setStart(a,b)}k(this)},d.setEnd=function(a,b){try{this.nativeRange.setEnd(a,b)}catch(c){this.nativeRange.setStart(a,b),this.nativeRange.setEnd(a,b)}k(this)},n=function(a,b){return function(c){try{this.nativeRange[a](c)}catch(d){this.nativeRange[b](c),this.nativeRange[a](c)}k(this)}}}d.setStartBefore=n("setStartBefore","setEndBefore"),d.setStartAfter=n("setStartAfter","setEndAfter"),d.setEndBefore=n("setEndBefore","setStartBefore"),d.setEndAfter=n("setEndAfter","setStartAfter"),p.selectNodeContents(o),d.selectNodeContents=p.startContainer==o&&p.endContainer==o&&0==p.startOffset&&p.endOffset==o.length?function(a){this.nativeRange.selectNodeContents(a),k(this)}:function(a){this.setStartAndEnd(a,0,e.getNodeLength(a))},p.selectNodeContents(o),p.setEnd(o,3);var r=document.createRange();r.selectNodeContents(o),r.setEnd(o,4),r.setStart(o,2),d.compareBoundaryPoints=-1==p.compareBoundaryPoints(p.START_TO_END,r)&&1==p.compareBoundaryPoints(p.END_TO_START,r)?function(a,b){return b=b.nativeRange||b,a==b.START_TO_END?a=b.END_TO_START:a==b.END_TO_START&&(a=b.START_TO_END),this.nativeRange.compareBoundaryPoints(a,b)}:function(a,b){return this.nativeRange.compareBoundaryPoints(a,b.nativeRange||b)};var s=document.createElement("div");s.innerHTML="123";var t=s.firstChild,u=i(document);u.appendChild(s),p.setStart(t,1),p.setEnd(t,2),p.deleteContents(),"13"==t.data&&(d.deleteContents=function(){this.nativeRange.deleteContents(),k(this)},d.extractContents=function(){var a=this.nativeRange.extractContents();return k(this),a}),u.removeChild(s),u=null,f.isHostMethod(p,"createContextualFragment")&&(d.createContextualFragment=function(a){return this.nativeRange.createContextualFragment(a)}),i(document).removeChild(o),p.detach(),r.detach(),d.getName=function(){return"WrappedRange"},a.WrappedRange=c,a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),a.createRange()}}(),a.features.implementsTextRange){var l=function(a){var b=a.parentElement(),c=a.duplicate();c.collapse(!0);var d=c.parentElement();c=a.duplicate(),c.collapse(!1);var f=c.parentElement(),g=d==f?d:e.getCommonAncestor(d,f);return g==b?g:e.getCommonAncestor(b,g)},m=function(a){return 0==a.compareEndPoints("StartToEnd",a)},n=function(a,b,c,d,f){var h=a.duplicate();h.collapse(c);var i=h.parentElement();if(e.isOrIsAncestorOf(b,i)||(i=b),!i.canHaveHTML){var j=new g(i.parentNode,e.getNodeIndex(i));return{boundaryPosition:j,nodeInfo:{nodeIndex:j.offset,containerElement:j.node}}}var l=e.getDocument(i).createElement("span");l.parentNode&&l.parentNode.removeChild(l);for(var m,o,p,q,r,n=c?"StartToStart":"StartToEnd",s=f&&f.containerElement==i?f.nodeIndex:0,t=i.childNodes.length,u=t,v=u;;){if(v==t?i.appendChild(l):i.insertBefore(l,i.childNodes[v]),h.moveToElementText(l),m=h.compareEndPoints(n,a),0==m||s==u)break;if(-1==m){if(u==s+1)break;s=v}else u=u==s+1?s:v;v=Math.floor((s+u)/2),i.removeChild(l)}if(r=l.nextSibling,-1==m&&r&&k(r)){h.setEndPoint(c?"EndToStart":"EndToEnd",a);var w;if(/[\r\n]/.test(r.data)){var x=h.duplicate(),y=x.text.replace(/\r\n/g,"\r").length;for(w=x.moveStart("character",y);-1==(m=x.compareEndPoints("StartToEnd",x));)w++,x.moveStart("character",1)}else w=h.text.length;q=new g(r,w)}else o=(d||!c)&&l.previousSibling,p=(d||c)&&l.nextSibling,q=p&&k(p)?new g(p,0):o&&k(o)?new g(o,o.data.length):new g(i,e.getNodeIndex(l));return l.parentNode.removeChild(l),{boundaryPosition:q,nodeInfo:{nodeIndex:v,containerElement:i}}},o=function(a,b){var c,d,h,j,f=a.offset,g=e.getDocument(a.node),l=i(g).createTextRange(),m=k(a.node);return m?(c=a.node,d=c.parentNode):(j=a.node.childNodes,c=f<j.length?j[f]:null,d=a.node),h=g.createElement("span"),h.innerHTML="&#feff;",c?d.insertBefore(h,c):d.appendChild(h),l.moveToElementText(h),l.collapse(!b),d.removeChild(h),m&&l[b?"moveStart":"moveEnd"]("character",f),l};if(d=function(a){this.textRange=a,this.refresh()},d.prototype=new h(document),d.prototype.refresh=function(){var a,b,c,d=l(this.textRange);m(this.textRange)?b=a=n(this.textRange,d,!0,!0).boundaryPosition:(c=n(this.textRange,d,!0,!1),a=c.boundaryPosition,b=n(this.textRange,d,!1,!1,c.nodeInfo).boundaryPosition),this.setStart(a.node,a.offset),this.setEnd(b.node,b.offset)},d.prototype.getName=function(){return"WrappedTextRange"},h.copyComparisonConstants(d),d.rangeToTextRange=function(a){if(a.collapsed)return o(new g(a.startContainer,a.startOffset),!0);var b=o(new g(a.startContainer,a.startOffset),!0),c=o(new g(a.endContainer,a.endOffset),!1),d=i(h.getRangeDocument(a)).createTextRange();return d.setEndPoint("StartToStart",b),d.setEndPoint("EndToEnd",c),d},a.WrappedTextRange=d,!a.features.implementsDomRange||a.config.preferTextRange){var p=function(){return this
39
- }();"undefined"==typeof p.Range&&(p.Range=d),a.createNativeRange=function(a){return a=j(a,b,"createNativeRange"),i(a).createTextRange()},a.WrappedRange=d}}a.createRange=function(c){return c=j(c,b,"createRange"),new a.WrappedRange(a.createNativeRange(c))},a.createRangyRange=function(a){return a=j(a,b,"createRangyRange"),new h(a)},a.createIframeRange=function(c){return b.deprecationNotice("createIframeRange()","createRange(iframeEl)"),a.createRange(c)},a.createIframeRangyRange=function(c){return b.deprecationNotice("createIframeRangyRange()","createRangyRange(iframeEl)"),a.createRangyRange(c)},a.addCreateMissingNativeApiListener(function(b){var c=b.document;"undefined"==typeof c.createRange&&(c.createRange=function(){return a.createRange(c)}),c=b=null})}),rangy.createModule("WrappedSelection",function(a,b){function r(a){return"string"==typeof a?"backward"==a:!!a}function s(a,c){if(a){if(d.isWindow(a))return a;if(a instanceof T)return a.win;var e=d.getContentDocument(a,b,c);return d.getWindow(e)}return window}function t(a){return s(a,"getWinSelection").getSelection()}function u(a){return s(a,"getDocSelection").document.selection}function I(a,b,c){var d=c?"end":"start",e=c?"start":"end";a.anchorNode=b[d+"Container"],a.anchorOffset=b[d+"Offset"],a.focusNode=b[e+"Container"],a.focusOffset=b[e+"Offset"]}function J(a){var b=a.nativeSelection;a.anchorNode=b.anchorNode,a.anchorOffset=b.anchorOffset,a.focusNode=b.focusNode,a.focusOffset=b.focusOffset}function K(a){a.anchorNode=a.focusNode=null,a.anchorOffset=a.focusOffset=0,a.rangeCount=0,a.isCollapsed=!0,a._ranges.length=0}function L(b){var c;return b instanceof g?(c=a.createNativeRange(b.getDocument()),c.setEnd(b.endContainer,b.endOffset),c.setStart(b.startContainer,b.startOffset)):b instanceof h?c=b.nativeRange:m.implementsDomRange&&b instanceof d.getWindow(b.startContainer).Range&&(c=b),c}function M(a){if(!a.length||1!=a[0].nodeType)return!1;for(var b=1,c=a.length;c>b;++b)if(!d.isAncestorOf(a[0],a[b]))return!1;return!0}function N(a){var c=a.getNodes();if(!M(c))throw b.createError("getSingleElementFromRange: range "+a.inspect()+" did not consist of a single element");return c[0]}function O(a){return!!a&&"undefined"!=typeof a.text}function P(a,b){var c=new h(b);a._ranges=[c],I(a,c,!1),a.rangeCount=1,a.isCollapsed=c.collapsed}function Q(b){if(b._ranges.length=0,"None"==b.docSelection.type)K(b);else{var c=b.docSelection.createRange();if(O(c))P(b,c);else{b.rangeCount=c.length;for(var d,e=o(c.item(0)),f=0;f<b.rangeCount;++f)d=a.createRange(e),d.selectNode(c.item(f)),b._ranges.push(d);b.isCollapsed=1==b.rangeCount&&b._ranges[0].collapsed,I(b,b._ranges[b.rangeCount-1],!1)}}}function R(a,c){for(var d=a.docSelection.createRange(),e=N(c),f=o(d.item(0)),g=p(f).createControlRange(),h=0,i=d.length;i>h;++h)g.add(d.item(h));try{g.add(e)}catch(j){throw b.createError("addRange(): Element within the specified Range could not be added to control selection (does it have layout?)")}g.select(),Q(a)}function T(a,b,c){this.nativeSelection=a,this.docSelection=b,this._ranges=[],this.win=c,this.refresh()}function U(a){a.win=a.anchorNode=a.focusNode=a._ranges=null,a.rangeCount=a.anchorOffset=a.focusOffset=0,a.detached=!0}function W(a,b){for(var d,e,c=V.length;c--;)if(d=V[c],e=d.selection,"deleteAll"==b)U(e);else if(d.win==a)return"delete"==b?(V.splice(c,1),!0):e;return"deleteAll"==b&&(V.length=0),null}function Z(a,c){for(var g,d=o(c[0].startContainer),e=p(d).createControlRange(),f=0;rangeCount>f;++f){g=N(c[f]);try{e.add(g)}catch(h){throw b.createError("setRanges(): Element within the one of the specified Ranges could not be added to control selection (does it have layout?)")}}e.select(),Q(a)}function cb(a,b){if(a.win.document!=o(b))throw new i("WRONG_DOCUMENT_ERR")}function db(b){return function(c,d){var e;this.rangeCount?(e=this.getRangeAt(0),e["set"+(b?"Start":"End")](c,d)):(e=a.createRange(this.win.document),e.setStartAndEnd(c,d)),this.setSingleRange(e,this.isBackward())}}function eb(a){var b=[],c=new j(a.anchorNode,a.anchorOffset),d=new j(a.focusNode,a.focusOffset),e="function"==typeof a.getName?a.getName():"Selection";if("undefined"!=typeof a.rangeCount)for(var f=0,h=a.rangeCount;h>f;++f)b[f]=g.inspect(a.getRangeAt(f));return"["+e+"(Ranges: "+b.join(", ")+")(anchor: "+c.inspect()+", focus: "+d.inspect()+"]"}a.requireModules(["DomUtil","DomRange","WrappedRange"]),a.config.checkSelectionRanges=!0;var k,l,c="boolean",d=a.dom,e=a.util,f=e.isHostMethod,g=a.DomRange,h=a.WrappedRange,i=a.DOMException,j=d.DomPosition,m=a.features,n="Control",o=d.getDocument,p=d.getBody,q=g.rangesEqual,v=f(window,"getSelection"),w=e.isHostObject(document,"selection");m.implementsWinGetSelection=v,m.implementsDocSelection=w;var x=w&&(!v||a.config.preferTextRange);x?(k=u,a.isSelectionValid=function(a){var b=s(a,"isSelectionValid").document,c=b.selection;return"None"!=c.type||o(c.createRange().parentElement())==b}):v?(k=t,a.isSelectionValid=function(){return!0}):b.fail("Neither document.selection or window.getSelection() detected."),a.getNativeSelection=k;var y=k(),z=a.createNativeRange(document),A=p(document),B=e.areHostProperties(y,["anchorNode","focusNode","anchorOffset","focusOffset"]);m.selectionHasAnchorAndFocus=B;var C=f(y,"extend");m.selectionHasExtend=C;var D="number"==typeof y.rangeCount;m.selectionHasRangeCount=D;var E=!1,F=!0;e.areHostMethods(y,["addRange","getRangeAt","removeAllRanges"])&&"number"==typeof y.rangeCount&&m.implementsDomRange&&function(){var a=window.getSelection();if(a){var b=p(document),c=b.appendChild(document.createElement("div"));c.contentEditable="false";var d=c.appendChild(document.createTextNode("\xa0\xa0\xa0")),e=document.createRange();e.setStart(d,1),e.collapse(!0),a.addRange(e),F=1==a.rangeCount,a.removeAllRanges();var f=e.cloneRange();e.setStart(d,0),f.setEnd(d,3),f.setStart(d,2),a.addRange(e),a.addRange(f),E=2==a.rangeCount,b.removeChild(c),a.removeAllRanges(),e.detach(),f.detach()}}(),m.selectionSupportsMultipleRanges=E,m.collapsedNonEditableSelectionsSupported=F;var H,G=!1;A&&f(A,"createControlRange")&&(H=A.createControlRange(),e.areHostProperties(H,["item","add"])&&(G=!0)),m.implementsControlRange=G,l=B?function(a){return a.anchorNode===a.focusNode&&a.anchorOffset===a.focusOffset}:function(a){return a.rangeCount?a.getRangeAt(a.rangeCount-1).collapsed:!1};var S;f(y,"getRangeAt")?S=function(a,b){try{return a.getRangeAt(b)}catch(c){return null}}:B&&(S=function(b){var c=o(b.anchorNode),d=a.createRange(c);return d.setStartAndEnd(b.anchorNode,b.anchorOffset,b.focusNode,b.focusOffset),d.collapsed!==this.isCollapsed&&d.setStartAndEnd(b.focusNode,b.focusOffset,b.anchorNode,b.anchorOffset),d});var V=[],X=function(a){if(a&&a instanceof T)return a.refresh(),a;a=s(a,"getNativeSelection");var b=W(a),c=k(a),d=w?u(a):null;return b?(b.nativeSelection=c,b.docSelection=d,b.refresh()):(b=new T(c,d,a),V.push({win:a,selection:b})),b};a.getSelection=X,a.getIframeSelection=function(c){return b.deprecationNotice("getIframeSelection()","getSelection(iframeEl)"),a.getSelection(d.getIframeWindow(c))};var Y=T.prototype;if(!x&&B&&e.areHostMethods(y,["removeAllRanges","addRange"])){Y.removeAllRanges=function(){this.nativeSelection.removeAllRanges(),K(this)};var $=function(b,c){var d=g.getRangeDocument(c),e=a.createRange(d);e.collapseToPoint(c.endContainer,c.endOffset),b.nativeSelection.addRange(L(e)),b.nativeSelection.extend(c.startContainer,c.startOffset),b.refresh()};Y.addRange=D?function(b,c){if(G&&w&&this.docSelection.type==n)R(this,b);else if(r(c)&&C)$(this,b);else{var d;if(E?d=this.rangeCount:(this.removeAllRanges(),d=0),this.nativeSelection.addRange(L(b).cloneRange()),this.rangeCount=this.nativeSelection.rangeCount,this.rangeCount==d+1){if(a.config.checkSelectionRanges){var e=S(this.nativeSelection,this.rangeCount-1);e&&!q(e,b)&&(b=new h(e))}this._ranges[this.rangeCount-1]=b,I(this,b,bb(this.nativeSelection)),this.isCollapsed=l(this)}else this.refresh()}}:function(a,b){r(b)&&C?$(this,a):(this.nativeSelection.addRange(L(a)),this.refresh())},Y.setRanges=function(a){if(G&&a.length>1)Z(this,a);else{this.removeAllRanges();for(var b=0,c=a.length;c>b;++b)this.addRange(a[b])}}}else{if(!(f(y,"empty")&&f(z,"select")&&G&&x))return b.fail("No means of selecting a Range or TextRange was found"),!1;Y.removeAllRanges=function(){try{if(this.docSelection.empty(),"None"!=this.docSelection.type){var a;if(this.anchorNode)a=o(this.anchorNode);else if(this.docSelection.type==n){var b=this.docSelection.createRange();b.length&&(a=o(b.item(0)))}if(a){var c=p(a).createTextRange();c.select(),this.docSelection.empty()}}}catch(d){}K(this)},Y.addRange=function(a){this.docSelection.type==n?R(this,a):(h.rangeToTextRange(a).select(),this._ranges[0]=a,this.rangeCount=1,this.isCollapsed=this._ranges[0].collapsed,I(this,a,!1))},Y.setRanges=function(a){this.removeAllRanges();var b=a.length;b>1?Z(this,a):b&&this.addRange(a[0])}}Y.getRangeAt=function(a){if(0>a||a>=this.rangeCount)throw new i("INDEX_SIZE_ERR");return this._ranges[a].cloneRange()};var _;if(x)_=function(b){var c;a.isSelectionValid(b.win)?c=b.docSelection.createRange():(c=p(b.win.document).createTextRange(),c.collapse(!0)),b.docSelection.type==n?Q(b):O(c)?P(b,c):K(b)};else if(f(y,"getRangeAt")&&"number"==typeof y.rangeCount)_=function(b){if(G&&w&&b.docSelection.type==n)Q(b);else if(b._ranges.length=b.rangeCount=b.nativeSelection.rangeCount,b.rangeCount){for(var c=0,d=b.rangeCount;d>c;++c)b._ranges[c]=new a.WrappedRange(b.nativeSelection.getRangeAt(c));I(b,b._ranges[b.rangeCount-1],bb(b.nativeSelection)),b.isCollapsed=l(b)}else K(b)};else{if(!B||typeof y.isCollapsed!=c||typeof z.collapsed!=c||!m.implementsDomRange)return b.fail("No means of obtaining a Range or TextRange from the user's selection was found"),!1;_=function(a){var b,c=a.nativeSelection;c.anchorNode?(b=S(c,0),a._ranges=[b],a.rangeCount=1,J(a),a.isCollapsed=l(a)):K(a)}}Y.refresh=function(a){var b=a?this._ranges.slice(0):null,c=this.anchorNode,d=this.anchorOffset;if(_(this),a){var e=b.length;if(e!=this._ranges.length)return!0;if(this.anchorNode!=c||this.anchorOffset!=d)return!0;for(;e--;)if(!q(b[e],this._ranges[e]))return!0;return!1}};var ab=function(b,c){var d=b.getAllRanges();b.removeAllRanges();for(var e=0,f=d.length;f>e;++e)a.rangesEqual(c,d[e])||b.addRange(d[e]);b.rangeCount||K(b)};Y.removeRange=G?function(a){if(this.docSelection.type==n){for(var f,b=this.docSelection.createRange(),c=N(a),d=o(b.item(0)),e=p(d).createControlRange(),g=!1,h=0,i=b.length;i>h;++h)f=b.item(h),f!==c||g?e.add(b.item(h)):g=!0;e.select(),Q(this)}else ab(this,a)}:function(a){ab(this,a)};var bb;!x&&B&&m.implementsDomRange?(bb=function(a){var b=!1;return a.anchorNode&&(b=1==d.comparePoints(a.anchorNode,a.anchorOffset,a.focusNode,a.focusOffset)),b},Y.isBackward=function(){return bb(this)}):bb=Y.isBackward=function(){return!1},Y.isBackwards=Y.isBackward,Y.toString=function(){for(var a=[],b=0,c=this.rangeCount;c>b;++b)a[b]=""+this._ranges[b];return a.join("")},Y.collapse=function(b,c){cb(this,b);var d=a.createRange(b);d.collapseToPoint(b,c),this.setSingleRange(d),this.isCollapsed=!0},Y.collapseToStart=function(){if(!this.rangeCount)throw new i("INVALID_STATE_ERR");var a=this._ranges[0];this.collapse(a.startContainer,a.startOffset)},Y.collapseToEnd=function(){if(!this.rangeCount)throw new i("INVALID_STATE_ERR");var a=this._ranges[this.rangeCount-1];this.collapse(a.endContainer,a.endOffset)},Y.selectAllChildren=function(b){cb(this,b);var c=a.createRange(b);c.selectNodeContents(b),this.removeAllRanges(),this.addRange(c)},Y.deleteFromDocument=function(){if(G&&w&&this.docSelection.type==n){for(var b,a=this.docSelection.createRange();a.length;)b=a.item(0),a.remove(b),b.parentNode.removeChild(b);this.refresh()}else if(this.rangeCount){var c=this.getAllRanges();if(c.length){this.removeAllRanges();for(var d=0,e=c.length;e>d;++d)c[d].deleteContents();this.addRange(c[e-1])}}},Y.eachRange=function(a,b){for(var c=0,d=this._ranges.length;d>c;++c)if(a(this.getRangeAt(c)))return b},Y.getAllRanges=function(){var a=[];return this.eachRange(function(b){a.push(b)}),a},Y.setSingleRange=function(a,b){this.removeAllRanges(),this.addRange(a,b)},Y.callMethodOnEachRange=function(a,b){var c=[];return this.eachRange(function(d){c.push(d[a].apply(d,b))}),c},Y.setStart=db(!0),Y.setEnd=db(!1),a.rangePrototype.select=function(a){X(this.getDocument()).setSingleRange(this,a)},Y.changeEachRange=function(a){var b=[],c=this.isBackward();this.eachRange(function(c){a(c),b.push(c)}),this.removeAllRanges(),c&&1==b.length?this.addRange(b[0],"backward"):this.setRanges(b)},Y.containsNode=function(a,b){return this.eachRange(function(c){return c.containsNode(a,b)},!0)},Y.getBookmark=function(a){return{backward:this.isBackward(),rangeBookmarks:this.callMethodOnEachRange("getBookmark",[a])}},Y.moveToBookmark=function(b){for(var e,f,c=[],d=0;e=b.rangeBookmarks[d++];)f=a.createRange(this.win),f.moveToBookmark(e),c.push(f);b.backward?this.setSingleRange(c[0],"backward"):this.setRanges(c)},Y.toHtml=function(){return this.callMethodOnEachRange("toHtml").join("")},Y.getName=function(){return"WrappedSelection"},Y.inspect=function(){return eb(this)},Y.detach=function(){W(this.win,"delete"),U(this)},T.detachAll=function(){W(null,"deleteAll")},T.inspect=eb,T.isDirectionBackward=r,a.Selection=T,a.selectionPrototype=Y,a.addCreateMissingNativeApiListener(function(a){"undefined"==typeof a.getSelection&&(a.getSelection=function(){return X(a)}),a=null})}),function(a,b){function e(a,b){for(var c=[],d=0;d<a.length;++d)c.push(b(a[d],d));return c}function f(){}function g(a){return a.replace(/&/g,"&amp;").replace(/\x22/g,"&quot;").replace(/\x27/g,"&#x27;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00A0/g,"&#xa0;")}function h(b){return a("#iComment-templates ."+b).clone()}function k(c){var d=c.offset(),e=d.top+c.height(),f=a(b).scrollTop(),g=f+b.innerHeight;e>g&&a("html,body").stop().animate({scrollTop:f+e-g+30})}function l(a,b){i&&i(),i=function(a){a&&a.preventDefault(),b.onCancel(),c.fadeOut()};var c;return b=m(b,{onCancel:f,onSubmit:f,left:100,top:200}),b.left=Math.max(45,b.left),c=h("iComment-popup").appendTo(document.body).on("click",".iComment-close-btn, .iComment-cancel-btn",i).on("click",".iComment-submit-btn",function(){b.onSubmit(c)}).css({display:"none",left:b.left,top:b.top}).find(".iComment-popup-content").html("").append(a).end().fadeIn(),k(c),c}function m(a,b){var c={};a||(a={});for(var d in b)b.hasOwnProperty(d)&&(c[d]=a.hasOwnProperty(d)?a[d]:b[d]);return c}function n(a){var b=a.offset(),d=(a.width(),a.height());return b.left+=5,b.top+=d,b}function o(b,c,d){function f(c,d){return d.cmd=c,a.ajax({type:"POST",url:b.url,dataType:"json",data:d})}function i(b){return a(b.target).closest("[data-comment-id]")}function j(a){return i(a).attr("data-comment-id")}function k(a){return function(b){var c=i(b),d=j(b);f("new_vote",{comment_id:d,vote:a}).done(function(a){var b=s(a,c.attr("data-template-id"));c.replaceWith(b)})}}function m(c){function g(){var a=c.val(),g=a.length,h=d-g,i=Math.max(e-g,0),j=h+" remaining";return b.max_comment_len_label&&(j="function"==typeof b.max_comment_len_label?b.max_comment_len_label(h):b.max_comment_len_label.replace(/__(COUNT|MIN|MAX|REMIN|REMAX)__/g,function(a,b){return{REMAX:h,REMIN:i,MIN:e,MAX:d,COUNT:g}[b]})),f.html(j),h}if(c[0]){var d=parseFloat(b.max_comment_len),e=parseFloat(b.min_comment_len);if(!(isNaN(d)||0>=d)||!(isNaN(e)||0>=e)){var f=a("<div class='max-length-display'></div>").insertAfter(c);g(),c.on("keydown keypress paste",function(){var b=c.val();setTimeout(function(){g()<0&&(c.val(b),g())},10)})}}}function o(b){var c=i(b),d=j(b),e=a(".editor textarea",c);e.val(c.data("comment").text),m(e),a(".operations",c).hide(),a(".info, .text",c).hide(),a(".editor",c).addClass("visible").on("click",".iComment-save-btn",function(){f("edit_comment",{comment_id:d,text:e.val()}).done(function(a){var b=s(a,c.attr("data-template-id"));c.replaceWith(b)})}).on("click",".iComment-discard-btn",function(){a(".editor",c).removeClass("visible"),a(".info, .text",c).show(),a(".operations",c).show()}),e.focus()}function p(b){var c=i(b),d=j(b);a(".operations",c).hide();var e=a(".delete .center",c),g=(a(".body",c).height()-e.height())/2;g>0&&e.css("margin-top",g),a(".delete",c).addClass("visible").on("click",".iComment-yes-btn",function(){f("delete_comment",{comment_id:d}).done(function(){c.remove()})}).on("click",".iComment-nope-btn",function(){a(".delete",c).removeClass("visible"),a(".operations",c).show()})}function q(a){return a=parseFloat(a),isNaN(a)?0:a}function r(a){return a>0?"+"+a:0>a?"-"+-a:"0"}function s(b,c){var d=h(c);if(d.attr("data-comment-id",b.id),b.add_class&&d.addClass(b.add_class),b.date&&a(".info .date",d).html(g(b.date)),b.votes_up||b.votes_down){var e=q(b.votes_up),f=q(b.votes_down);a(".info .votes .score",d).html(r(e-f)),a(".info .votes .diffd",d).html(r(e)+" | "+r(-f))}else a(".info .votes",d).addClass("no-votes").find(".score").html("no votes");if(b.text){var i=b.text;(!b.hasOwnProperty("escape")||b.escape)&&(i=g(b.text)),a(".text",d).html(i)}return b.author_name&&(a(".author-name",d).html(g(b.author_name)),a(".author",d).attr("title",b.author_name)),b.author_avatar&&a(".author-avatar",d).attr("src",b.author_avatar),b.author_url&&a(".author-url",d).attr("href",b.author_url),b.can_vote||a(".operation.vote",d).remove(),b.can_edit||a(".operation.edit",d).remove(),b.can_delete||a(".operation.delete",d).remove(),d.data("comment",b),d}function z(){var c=a('textarea[name="comment"]',u).val(),d=parseFloat(b.min_comment_len),e=parseFloat(b.max_comment_len);if(isNaN(d)&&isNaN(e))return c;if(c.length<d)throw"EMINMAX";if(c.length>e)throw"EMINMAX";return c}function A(a){for(var e,g=c.html(),h=0;;)if(e="iComment-new-"+((new Date).getTime()+h++),g.indexOf(e)<0)break;d.attr("data-chunk-id",e),b.annot_url&&d.attr("href",b.annot_url.replace(/\$id/g,e)),d.removeClass("iComment-new"),g=c.html(),d.addClass("iComment-new"),f("new_annotation",{story_id:b.id,chunk_id:e,new_text:g,comment:z()}).error(function(){}).done(function(d){c.html(d),a.fadeOut(),c.trigger("iComment.success_annotation",b)})}function B(a){f("new_comment",{chunk_id:x,comment:z()}).error(function(){}).done(function(e){d.removeData("iComment-open"),a.fadeOut(),c.trigger("iComment.success_comment",b,e)})}if(d=a(d),!d.data("iComment-open")){d.data("iComment-open",!0);var t=d.text(),u=h("iComment-form-new");a(".iComment-selection-text",u).html(g(t)),b.cannot_comment&&a(".iComment-new-comment",u).replaceWith(a(b.cannot_comment));var v=n(d),w=d.hasClass("iComment-new"),x=w?null:parseInt(d.attr("data-chunk-id"),10);if(w||b.can_comment?w&&a(".iComment-new-comment",u).show():a(".iComment-new-comment",u).detach(),l(u,{top:v.top,left:v.left,onCancel:function(){d.removeData("iComment-open"),d.hasClass("iComment-new")&&d.contents().unwrap()},onSubmit:function(b){try{w?A(b):B(b)}catch(c){if("EMINMAX"!==c)throw c;a(".max-length-display",u).addClass("minmax-error")}}}).on("click",".operation.up-vote",k(1)).on("click",".operation.down-vote",k(-1)).on("click",".operation.edit",o).on("click",".operation.delete",p),m(a('textarea[name="comment"]',u)),w)a(".iComment-existing-comments-container",u).empty();else{var y=a(".iComment-existing-comments",u);y.addClass("iComment-loading"),y.css("display","block"),f("get_comments",{chunk_id:x}).done(function(b){y.removeClass("iComment-loading");var c=!1;e(b,function(b,d){if(0==d&&b.pending_approval){var e=a(".iComment-new-comment",u);"string"==typeof b.pending_approval?e.replaceWith(b.pending_approval):e.remove(),c=!0}var f=s(b,0==d?"iComment-existing-comment-first":"iComment-existing-comment");f.appendTo(y)}),c||a(".iComment-new-comment",u).show()}).error(function(){})}}}var d=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),i=f;a.fn.iComment=function(b){function c(){var f=r();if(f){var g=f.startContainer,i=f.endContainer;if(0==a(g).closest(".iComment-text").length||0==a(i).closest(".iComment-text").length)return}if(a(".iComment-new").contents().unwrap(),!f||f.collapsed);else{var j=5;!function k(){try{if(b.min_words||b.max_words){if(3==f.startContainer.nodeType){for(var c=f.startContainer.data,d=f.startOffset;/\w/.test(c.charAt(d));)--d;d!=f.startOffset&&f.setStart(f.startContainer,d+1)}if(3==f.endContainer.nodeType){for(var c=f.endContainer.data,d=f.endOffset;/\w/.test(c.charAt(d));)++d;d!=f.endOffset&&f.setEnd(f.endContainer,d)}}var g=a(b.annot_url?"<a class='iComment iComment-new' />":"<span class='iComment iComment-new' />");if(f.surroundContents(g[0]),g.find(".iComment").length>0){var d=n(g);return g.contents().unwrap(),l(h("iComment-warning-badselection2"),d),void 0}if(b.cannot_comment){var d=n(g);return g.contents().unwrap(),l(a(b.cannot_comment),d),void 0}if(b.min_words){var i=g.text();if(i=i.split(/\W+/),i.length<b.min_words){var d=n(g);return g.contents().unwrap(),l(a(b.min_words_error),d),void 0}}if(b.max_words){var i=g.text();if(i=i.split(/\W+/),i.length>b.max_words){var d=n(g);return g.contents().unwrap(),l(a(b.max_words_error),d),void 0}}o(b,e,g)}catch(m){if(j-->0){if(b.select_dammit){for(var p=f.commonAncestorContainer,q=f.startContainer,r=f.endContainer;q&&q.parentNode!==p;)q=q.parentNode;for(;r&&r.parentNode!==p;)r=r.parentNode;return q!==f.startContainer&&f.setStartBefore(q),r!==f.endContainer&&f.setEndAfter(r),k(),void 0}if(3==f.startContainer.nodeType&&0==f.startOffset)return f.setStartBefore(f.startContainer.parentNode),k();if(3==f.endContainer.nodeType&&f.endOffset==f.endContainer.data.length)return f.setEndAfter(f.endContainer.parentNode),k();if(f.endContainer.parentNode==f.startContainer)return f.setStartBefore(f.startContainer.childNodes[f.startOffset].firstChild),k();if(3==f.startContainer.nodeType&&f.startOffset==f.startContainer.data.length&&f.startContainer.nextSibling&&1==f.startContainer.nextSibling.nodeType)return f.setStartBefore(f.startContainer.nextSibling.firstChild),k();if(3==f.endContainer.nodeType&&0==f.endOffset&&f.endContainer.previousSibling&&1==f.endContainer.previousSibling.nodeType)return f.setEndAfter(f.endContainer.previousSibling.lastChild),k()}var s=f.commonAncestorContainer;f=f.cloneRange(),f.collapse(!0);var t=a("<span></span>");f.insertNode(t[0]);var d=n(t);t.remove(),s.normalize(),l(h("iComment-warning-badselection"),{left:d.left,top:d.top})}}()}}function f(a,b){return null==a?b:"1"==a||"true"==a||"yes"==a?!0:!1}function g(a,b){return null==a?b:(a=parseFloat(a),isNaN(a)?b:a)}var e=this;return b=m(b,{id:e.attr("data-id"),url:e.attr("data-url"),annot_url:e.attr("data-annot-url"),can_annotate:f(e.attr("data-can-annotate"),!0),can_comment:f(e.attr("data-can-comment"),!0),select_dammit:f(e.attr("data-select-dammit"),!1),cannot_comment:e.attr("data-cannot-comment"),min_words:g(e.attr("data-min-words"),null),min_words_error:e.attr("data-min-words-error"),max_words:g(e.attr("data-max-words"),null),max_words_error:e.attr("data-max-words-error"),min_comment_len:e.attr("data-min-comment-len"),max_comment_len:e.attr("data-max-comment-len"),max_comment_len_label:e.attr("data-max-comment-len-label")}),e.on("mousedown",".iComment",function(c){p(),o(b,e,a(c.target).closest(".iComment")),c.preventDefault(),c.stopPropagation()}),b.can_annotate&&(d?(e.on("touchstart",function(a){var b=r();b&&c(a,!0)}),e.on("touchend",function(){})):e.on("mouseup",c)),e.on("click",".iComment",function(a){a.preventDefault()}),e};var p=function(){q().removeAllRanges()},q=function(){return rangy.getSelection()},r=function(){var a=q();return a.rangeCount>0?q().getRangeAt(0):null}}(jQuery,window,navigator.userAgent);
40
- </script>
41
-
42
-
43
- <!-- head info -->
44
-
45
-
46
-
47
-
48
- <script type="text/javascript">
49
- $(function(){
50
- $.superbox();
51
- });
52
- </script>
53
-
54
- <script type="text/javascript">
55
- //<![CDATA[
56
- $(document).ready(function() {
57
- function addMega(){
58
- $(this).addClass("hovering");
59
- $($(this).find("h2 a")).addClass("hover");
60
- }
61
- function removeMega(){
62
- $(this).removeClass("hovering");
63
- $($(this).find("h2 a")).removeClass("hover");
64
- }
65
- var megaConfig = {
66
- interval: 30,
67
- sensitivity: 4,
68
- over: addMega,
69
- timeout: 30,
70
- out: removeMega
71
- };
72
- $("li.mega").hoverIntent(megaConfig)
73
- });
74
- //]]>
75
- </script>
76
-
77
- <script type="text/javascript">
78
- var _gaq = _gaq || [];
79
- _gaq.push(['_setAccount', 'UA-235369-1']);
80
- _gaq.push(['_setDomainName', 'songlyrics.com']);
81
- _gaq.push(['_trackPageview']);
82
- _gaq.push(['_trackPageLoadTime']);
83
-
84
- (function() {
85
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
86
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
87
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
88
- })();
89
- </script>
90
-
91
- <!-- Quantcast Tag, part 1 -->
92
- <script type="text/javascript">
93
- var _qevents = _qevents || [];
94
-
95
- (function() {
96
- var elem = document.createElement('script');
97
- elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js";
98
- elem.async = true;
99
- elem.type = "text/javascript";
100
- var scpt = document.getElementsByTagName('script')[0];
101
- scpt.parentNode.insertBefore(elem, scpt);
102
- })();
103
- </script>
104
- <!-- End Quantcast tag, part 1 -->
105
-
106
-
107
-
108
-
109
-
110
-
111
- <script src="https://cmp.uniconsent.com/v2/stub.min.js"></script>
112
- <script async src='https://cmp.uniconsent.com/v2/4d73da4430/cmp.js'></script>
113
- <script type="text/javascript">
114
- window.googletag = window.googletag || {};
115
- window.googletag.cmd = window.googletag.cmd || [];
116
- window.googletag.cmd.push(function () {
117
- window.googletag.pubads().enableAsyncRendering();
118
- window.googletag.pubads().disableInitialLoad();
119
- });
120
- (adsbygoogle = window.adsbygoogle || []).pauseAdRequests = 1;
121
- </script>
122
- <script>
123
- __tcfapi("addEventListener", 2, function(tcData, success) {
124
- if (success && tcData.unicLoad === true) {
125
- if(!window._initAds) {
126
- window._initAds = true;
127
- var script = document.createElement('script');
128
- script.async = true;
129
- script.src = 'https://dsh7ky7308k4b.cloudfront.net/publishers/songlyricscom.new.min.js';
130
- document.head.appendChild(script);
131
- var script = document.createElement('script');
132
- script.async = true;
133
- script.src = '//srv.clickfuse.com/showads/showad.js';
134
- document.head.appendChild(script);
135
- var script = document.createElement('script');
136
- script.async = true;
137
- script.src = '//pagead2.googlesyndication.com/pagead/show_ads.js';
138
- document.head.appendChild(script);
139
- var script = document.createElement('script');
140
- script.defer = true;
141
- script.innerHTML =
142
- `/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
143
- var disqus_shortname = 'song-lyrics'; // required: replace example with your forum shortname
144
- var disqus_developer = 1; // developer mode is off
145
- var disqus_container_id = 'disqus_thread';
146
-
147
- var disqus_config = function () {
148
- var config = this; // Access to the config object
149
- config.callbacks.preData.push(function() {
150
- // clear out the container (its filled for SEO/legacy purposes)
151
- document.getElementById(disqus_container_id).innerHTML = '';
152
- });
153
-
154
- };
155
- /* * * DON'T EDIT BELOW THIS LINE * * */
156
- (function() {
157
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
158
- dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
159
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
160
- })();`
161
- document.body.appendChild(script);
162
- }
163
- }
164
- });
165
- </script>
166
- <script>
167
- (function waitGEO() {
168
- var readyGEO;
169
- if (window['UnicI'] && window['UnicI'].geo && window['UnicI'].geo !== '-' ) {
170
- readyGEO = true;
171
- console.log(window['UnicI'].geo);
172
- if (window['UnicI'].geo === 'EU') {
173
- if(document.getElementById("unic-gdpr")) {
174
- document.getElementById("unic-gdpr").style.display = 'block';
175
- }
176
- }
177
- if (window['UnicI'].geo === 'CA') {
178
- if(document.getElementById("unic-ccpa")) {
179
- document.getElementById("unic-ccpa").style.display = 'block';
180
- }
181
- }
182
- }
183
- if (!readyGEO) {
184
- setTimeout(waitGEO, 200);
185
- }
186
- })();
187
- </script>
188
-
189
-
190
- </head>
191
- <body >
192
- <div id='fb-root'></div>
193
-
194
- <div id="header">
195
-
196
- <div id="headernav">
197
- <div class="headinner">
198
-
199
- <ul class="menu floatleft">
200
- <li class="mega">
201
- <h2><a href="/">Lyrics</a></h2>
202
- <div>
203
- <p><a href="/top-songs-lyrics.html">Popular Song Lyrics</a></p>
204
- <p><a href="/top100.php">Billboard Hot 100</a></p>
205
- <p><a href="/top-upcoming-songs.html">Upcoming Lyrics</a></p>
206
- <p><a href="/latestAddedSongs">Recently Added</a></p>
207
- <p class="menu-hr"></p>
208
- <p><a href="/news/top-songs/2011/">Top Lyrics of 2011</a></p>
209
- <p><a href="/news/top-songs/2010/">Top Lyrics of 2010</a></p>
210
- <p><a href="/news/top-songs/2009/">Top Lyrics of 2009</a></p>
211
- <p><a href="/news/top-songs/all-time/">More &raquo;</a></p>
212
- </div>
213
- </li>
214
- <li class="mega">
215
- <h2><a href="/top-artists-lyrics.html">Artists</a></h2>
216
- <div>
217
- <p><a href="/top-artists-lyrics.html">Popular Artists</a></p>
218
- <p><a href="/a/">Artists A-Z</a></p>
219
- <p class="menu-hr"></p>
220
- <p><a href="/top-albums-lyrics.html">Popular Albums</a></p>
221
- <p><a href="/top-upcoming-albums.html">Upcoming Albums</a></p>
222
- <p class="menu-hr"></p>
223
- <p><a href="/adele-lyrics/">Adele</a></p>
224
- <p><a href="/rihanna-lyrics/">Rihanna</a></p>
225
- <p><a href="/katy-perry-lyrics/">Katy Perry</a></p>
226
- <p><a href="/lady-gaga-lyrics/">Lady Gaga</a></p>
227
- <p><a href="/lil-wayne-lyrics/">Lil Wayne</a></p>
228
-
229
- </div>
230
- </li>
231
- <li class="mega">
232
- <h2><a href="/musicgenres.php">Genres</a></h2>
233
- <div>
234
- <p><a href="/rock-lyrics.php" title="Rock Lyrics">Rock</a></p>
235
- <p><a href="/r-and-b-lyrics.php" title="R&B Lyrics">R&amp;B</a></p>
236
- <p><a href="/country-music-lyrics.php" title="Country Lyrics">Country</a></p>
237
- <p><a href="/hip-hop-rap-lyrics.php" title="Hip Hop and Rap Lyrics">Hip Hop/Rap</a></p>
238
- <p><a href="/pop-lyrics.php" title="Pop Lyrics">Pop</a></p>
239
- <p><a href="/christian-lyrics.php" title="Christian Lyrics">Christian</a></p>
240
- <p><a href="/dance-lyrics.php" title="Dance Lyrics">Dance</a></p>
241
- <p><a href="/latin-lyrics.php" title="Latin Lyrics">Latin</a></p>
242
- <p class="menu-hr"></p>
243
- <p><a href="/musicgenres.php" title="All Genre Charts">All Genres &raquo;</a></p>
244
- </div>
245
- </li>
246
-
247
- <li class="mega">
248
- <h2><a href="/news/">News</a></h2>
249
- <div>
250
- <p><a href="/news/">All News</a></p>
251
- <p><a href="/news/category/news-roundup/">Daily Roundup</a></p>
252
- </div>
253
- </li>
254
-
255
- <li class="mega">
256
- <h2><a href="/news/album-reviews/">Reviews</a></h2>
257
- <div>
258
- <p><a href="/news/album-reviews/">Album Reviews</a></p>
259
- <p><a href="/news/category/song-reviews/">Song Reviews</a></p>
260
- </div>
261
- </li>
262
-
263
- <li class="mega">
264
- <h2><a href="/news/category/spotlight/">Spotlight</a></h2>
265
- </li>
266
-
267
- </ul>
268
- <p class="login-menu"><a class="btn" href="/member-login.php" rel="nofollow">Sign In</a><a class="btn" rel="nofollow" href="/member-register.php">Register</a></p>
269
- <ul class="menu floatright clearright">
270
- <li class="mega">
271
- <h2><a href="https://www.facebook.com/SongLyrics">Facebook</a></h2>
272
- </li>
273
- <li>
274
- <h2><a href="/news/advertise/">Advertise</a></h2>
275
- </li>
276
- <li class="lasttab">
277
- <h2><a href="/news/submit-lyrics/">Submit Lyrics</a></h2>
278
- </li>
279
- </ul>
280
-
281
-
282
- </div><!-- end headerinner -->
283
- </div><!-- end headernav -->
284
-
285
-
286
- <!-- HEADERNAV MOBILE -->
287
-
288
- <div id="headernav-mobile">
289
- <div class="headinner">
290
-
291
- <nav id="nav" role="navigation">
292
- <a href="#nav" title="Show navigation">Show navigation
293
- <i class="line-1 line"></i>
294
- <i class="line-2 line"></i>
295
- <i class="line-3 line"></i>
296
- </a>
297
- <a href="#" class="hide" title="Hide navigation">Hide navigation
298
- <i class="line-1 line"></i>
299
- <i class="line-2 line"></i>
300
- <i class="line-3 line"></i>
301
- </a>
302
- <ul>
303
- <li><a href="/" aria-haspopup="true">Lyrics</a>
304
- <ul>
305
- <li><a href="/top-songs-lyrics.html">Popular Song Lyrics</a></li>
306
- <li><a href="/top100.php">Billboard Hot 100</a></li>
307
- <li><a href="/top-upcoming-songs.html">Upcoming Lyrics</a></li>
308
- <li><a href="/latestAddedSongs">Recently Added</a></li>
309
- <li><a href="/news/top-songs/2011/">Top Lyrics of 2011</a></li>
310
- <li><a href="/news/top-songs/2010/">Top Lyrics of 2010</a></li>
311
- <li><a href="/news/top-songs/2009/">Top Lyrics of 2009</a></li>
312
- <li><a href="/news/top-songs/all-time/">More &raquo;</a></li>
313
- </ul>
314
- </li>
315
- <li><a href="/top-artists-lyrics.html" aria-haspopup="true">Artists</a>
316
- <ul>
317
- <li><a href="/top-artists-lyrics.html">Popular Artists</a></li>
318
- <li><a href="/a/">Artists A-Z</a></li>
319
- <li><a href="/top-albums-lyrics.html">Popular Albums</a></li>
320
- <li><a href="/top-upcoming-albums.html">Upcoming Albums</a></li>
321
- <li><a href="/adele-lyrics/">Adele</a></li>
322
- <li><a href="/rihanna-lyrics/">Rihanna</a></li>
323
- <li><a href="/katy-perry-lyrics/">Katy Perry</a></li>
324
- <li><a href="/lady-gaga-lyrics/">Lady Gaga</a></li>
325
- <li><a href="/lil-wayne-lyrics/">Lil Wayne</a></li>
326
- </ul>
327
- </li>
328
- <li><a href="/musicgenres.php" aria-haspopup="true">Genres</a>
329
- <ul>
330
- <li><a href="/rock-lyrics.php" title="Rock Lyrics">Rock</a></li>
331
- <li><a href="/r-and-b-lyrics.php" title="R&B Lyrics">R&amp;B</a></li>
332
- <li><a href="/country-music-lyrics.php" title="Country Lyrics">Country</a></li>
333
- <li><a href="/hip-hop-rap-lyrics.php" title="Hip Hop and Rap Lyrics">Hip Hop/Rap</a></li>
334
- <li><a href="/pop-lyrics.php" title="Pop Lyrics">Pop</a></li>
335
- <li><a href="/christian-lyrics.php" title="Christian Lyrics">Christian</a></li>
336
- <li><a href="/dance-lyrics.php" title="Dance Lyrics">Dance</a></li>
337
- <li><a href="/latin-lyrics.php" title="Latin Lyrics">Latin</a></li>
338
- <li><a href="/musicgenres.php" title="All Genre Charts">All Genres &raquo;</a></li>
339
- </ul>
340
- </li>
341
- <li><a href="/news/" aria-haspopup="true">News</a>
342
- <ul>
343
- <li><a href="/news/">All News</a></li>
344
- <li><a href="/news/category/news-roundup/">Daily Roundup</a></li>
345
- </ul>
346
- </li>
347
- <li><a href="/news/album-reviews/" aria-haspopup="true">Reviews</a>
348
- <ul>
349
- <li><a href="/news/album-reviews/">Album Reviews</a></li>
350
- <li><a href="/news/category/song-reviews/">Song Reviews</a></li>
351
- </ul>
352
- </li>
353
- <li><a href="/news/category/spotlight/" aria-haspopup="true">Spotlight</a></li>
354
- <li><a href="https://www.facebook.com/SongLyrics" aria-haspopup="true">Facebook</a>
355
- <li><a href="/news/advertise/" aria-haspopup="true">Advertise</a>
356
- <li><a href="/news/submit-lyrics/" aria-haspopup="true">Submit Lyrics</a>
357
- </li>
358
- <div id="header_search-mobile">
359
- <form name="searchForm" class="searchForm" method="get" action="/index.php">
360
- <input type="hidden" name="section" value="search" />
361
-
362
- <fieldset>
363
- <input type="text" name="searchW" class="searchW input" value="Search artists, albums, and songs" onfocus="if(this.value=='Search artists, albums, and songs')(this.value='');" onblur="if(this.value=='')(this.value='Search artists, albums, and songs');" />
364
- <div class="submit-btn"><input type="submit" name="submit" value="Search" class="submit-input-wrapped searchSubmit" /></div>
365
- </fieldset>
366
- </form>
367
- </div>
368
- </ul>
369
- </nav>
370
- </div><!-- end headerinner -->
371
- </div><!-- end headernav mobile -->
372
-
373
-
374
- <div class="headinner">
375
-
376
-
377
- <a id="logo" href="/" title="Lyrics">Song Lyrics</a>
378
-
379
- <div id="header_search">
380
- <form name="searchForm" class="searchForm" method="get" action="/index.php">
381
- <input type="hidden" name="section" value="search" />
382
-
383
- <fieldset>
384
- <input type="text" name="searchW" class="searchW input" value="Search artists, albums, and songs" onfocus="if(this.value=='Search artists, albums, and songs')(this.value='');" onblur="if(this.value=='')(this.value='Search artists, albums, and songs');" />
385
- <div class="submit-btn"><input type="submit" name="submit" value="Search" class="submit-input-wrapped searchSubmit" /></div>
386
- </fieldset>
387
- </form>
388
- </div>
389
-
390
- </div><!-- end headerinner -->
391
- </div><!-- end header -->
392
-
393
- <div id="wrapper">
394
-
395
- <div id="fbbox">
396
- <div id="fbbox-count">
397
- <span id="fbbox-total">
398
- 55k
399
- </span>
400
- </div>
401
- <a id="fbbox-likebutton" target="_blank" href="https://www.facebook.com/SongLyrics">Like</a>
402
- </div>
403
-
404
-
405
- <script>
406
- __tcfapi("addEventListener", 2, function(tcData, success) {
407
- if (success && tcData.unicLoad === true) {
408
- var script = document.createElement('script');
409
- script.async = true;
410
- script.src = 'https://cdn.avantisvideo.com/avm/js/video-loader.js?id=eec17e69-33ef-460c-9b7f-fcdee34a6d99&tagId=1&subId=&callback=';
411
- script.id = 'avantisJS';
412
- document.head.appendChild(script);
413
- }
414
- });
415
- </script>
416
-
417
- <div class="masthead">
418
- <div id="div-gpt-ad-songlyricscom37728">
419
- </div>
420
- </div>
421
- <div class="wrapper-inner footer-ad">
422
-
423
- <div class="topnav">
424
-
425
- <ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="home" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="http://www.songlyrics.com/" itemprop="item"><span itemprop="name">Song Lyrics</span></a><meta itemprop="position" content="1" /></li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="http://www.songlyrics.com/m/168/" itemprop="item"><span itemprop="name">Artists - M</span></a><meta itemprop="position" content="2" /></li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="http://www.songlyrics.com/michael-jackson-lyrics/" itemprop="item"><span itemprop="name">Michael Jackson Lyrics</span></a><meta itemprop="position" content="3" /></li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a href="http://www.songlyrics.com/michael-jackson/miscellaneous/" itemprop="item"><span itemprop="name">Miscellaneous Album</span></a><meta itemprop="position" content="4" /></li><li class="current" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><span itemprop="name">Thriller Lyrics</span><meta itemprop="position" content="5" /></li></ul>
426
-
427
- <ul class="social-links">
428
- <li class="fb">
429
- <div class="pw_widget pw_size_24 pw_post_false pw_counter_true">
430
- <a class="pw_facebook"></a>
431
- <a class="pw_twitter"></a>
432
- <a class="pw_email"></a>
433
- <a class="pw_googleplus"></a>
434
- </div>
435
- </li>
436
- </ul>
437
-
438
- </div><!-- end topnav -->
439
-
440
- <div id="colone-container" class="lyrics-inner-col-wrap">
441
-
442
- <div class="col-one col-one-leftad">
443
-
444
- <div class="pagetitle">
445
- <h1>Michael Jackson - Thriller Lyrics</h1>
446
- <p>Artist: <a href="http://www.songlyrics.com/michael-jackson-lyrics/" title="Michael Jackson Lyrics">Michael Jackson</a></p>
447
- <p>Album: <a href="http://www.songlyrics.com/michael-jackson/miscellaneous/" title="Miscellaneous Album Lyrics">Miscellaneous</a></p>
448
- <p>Genre: <a href="http://www.songlyrics.com/r-and-b-lyrics.php" title="R&B Lyrics">R&B</a></p>
449
- <div class="riff-title">
450
- Heyo! SONGLYRICS just got interactive. <span>Highlight.</span> Review: RIFF-it. <br /> <big><a href="http://www.songlyrics.com/about.php">RIFF-it good.</a></big>
451
- </div>
452
- </div> <!--end pagetitle-->
453
-
454
-
455
-
456
- <!-- Begin comScore Tag -->
457
- <script>
458
- var _comscore = _comscore || [];
459
- _comscore.push({ c1: "2", c2: "6772046" });
460
- (function() {
461
- var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
462
- s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
463
- el.parentNode.insertBefore(s, el);
464
- })();
465
- </script>
466
- <noscript>
467
- <img src="http://b.scorecardresearch.com/p?c1=2&c2=6772046&cv=2.0&cj=1" />
468
- </noscript>
469
- <!-- End comScore Tag -->
470
- <script>
471
- /* TFP - Songlyrics.com - Above Lyrics */
472
- (function() {
473
- var opts = {
474
- artist: "Michael Jackson",
475
- song: "Thriller",
476
- adunit_id: 39382089,
477
- div_id: "cf_async_" + Math.floor((Math.random() * 999999999))
478
- };
479
- document.write('<div id="'+opts.div_id+'"></div>');var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.clickfuse.com/showads/showad.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)};
480
- })();
481
- </script>
482
-
483
-
484
- <div id="songLyricsContainer">
485
-
486
- <div class="ringtone-matcher">
487
-
488
- </div>
489
- <div class="video-link">
490
- <a href="https://www.youtube.com/watch?v=hG6oy46qKE4" tabindex="1" title="Michael Jackson - Thriller">Listen while you read!</a>
491
- </div>
492
-
493
-
494
-
495
-
496
-
497
- <div id="songLyricsDiv-outer">
498
- <p id="songLyricsDiv" class="songLyricsV14 iComment-text">It's close to midnight and something evil's lurking in the dark<br />
499
- Under the moonlight you see a sight that almost stops your heart<br />
500
- You try to scream but terror takes the sound before you make it<br />
501
- You start to freeze as horror looks you right between the eyes<br />
502
- You're paralyzed<br />
503
- <br />
504
- 'Cause this is thriller, thriller night<br />
505
- And no one's gonna save you from the beast about to strike<br />
506
- You know it's thriller, thriller a' night<br />
507
- You're fighting for your life inside a killer, thriller tonight<br />
508
- <br />
509
- You hear the door slam and realize there's nowhere left to run<br />
510
- You feel the cold hand and wonder if you'll ever see the sun<br />
511
- You close your eyes and hope that this is just imagination, girl<br />
512
- But all the while you hear a creature creepin' up behind<br />
513
- You're out of time<br />
514
- <br />
515
- â€~Cause this is thriller, thriller night<br />
516
- There ain't no second chance against the thing with forty eyes girl<br />
517
- Thriller, thriller night<br />
518
- You're fighting for your life inside of killer, thriller tonight<br />
519
- <br />
520
- Night creatures call<br />
521
- And the dead start to walk in their masquerade<br />
522
- There's no escapin' the jaws of the alien this time<br />
523
- (They're open wide)<br />
524
- This is the end of your life<br />
525
- <br />
526
- They're out to get you, there's demons close to the inn on every side<br />
527
- They will possess you unless you change that number on your dial<br />
528
- Now is the time for you and I to cuddle close together, yeah<br />
529
- All through the night I'll save you from the terror on the screen<br />
530
- <br />
531
- I'll make you see that this is thriller, thriller night<br />
532
- Girl, I can thrill you more than any ghoul would ever dare try<br />
533
- Thriller, thriller night<br />
534
- So let me hold you tight and share a killer, diller, chiller<br />
535
- Thriller here tonight<br />
536
- <br />
537
- â€~Cause this is thriller, thriller a night<br />
538
- Girl, I can thrill you more than any ghoul would ever dare try<br />
539
- Thriller, thriller night<br />
540
- So let me hold you tight and share a killer, diller<br />
541
- <br />
542
- I'm gonna be here tonight<br />
543
- <br />
544
- Darkness falls across the land<br />
545
- The midnight hour is close at hand<br />
546
- Creatures crawl in search of blood<br />
547
- To terrorize y'alls neighborhood<br />
548
- <br />
549
- And whosoever shall be found<br />
550
- Without the soul for getting down<br />
551
- Must stand and face the hounds of hell<br />
552
- And rot inside a corpse's shell<br />
553
- <br />
554
- I'm gonna be here tonight<br />
555
- I'm gonna be here tonight<br />
556
- I'm gonna be here tonight<br />
557
- I'm gonna be here tonight<br />
558
- Oh darlin' thriller night<br />
559
- <br />
560
- The foulest stenches in the air<br />
561
- The funk of forty thousand years<br />
562
- And grizzly ghouls from every tomb<br />
563
- Are closing in to seal your doom<br />
564
- <br />
565
- And though you fight to stay alive<br />
566
- Your body starts to shiver<br />
567
- For no mere mortal can resist<br />
568
- The evil of the thriller<br /></p>
569
- </div>
570
- <div itemscope itemtype="http://schema.org/MusicRecording">
571
- <meta itemprop="name" content="Thriller"/>
572
- <meta itemprop="description" content=""/>
573
- <div itemprop="byArtist" itemscope itemtype="http://schema.org/MusicGroup"/>
574
- <meta itemprop="name" content ="Michael Jackson"/>
575
- <meta itemprop="url" content ="http://www.songlyrics.com/michael-jackson-lyrics/"/>
576
- </div>
577
- <div itemprop="inAlbum" itemscope itemtype="http://schema.org/MusicAlbum"/>
578
- <meta itemprop="name" content ="Miscellaneous"/>
579
- <meta itemprop="url" content ="http://www.songlyrics.com/michael-jackson/miscellaneous/"/>
580
- </div>
581
- </div>
582
-
583
- <script type="text/javascript">
584
-
585
- $("#songLyricsDiv").iComment({
586
- cannot_comment: "<span><br /><br />You must be <a href='/member-login.php'>logged in</a> to comment<br /></span> ",
587
- id : "216126",
588
- url : "http://www.songlyrics.com/ajax-post-icomment.php",
589
- annot_url : "http://www.songlyrics.com/annot-$id",
590
- min_words : 3,
591
- min_words_error : "<br /><br /><p>Min 3 words are required for selection!</p>",
592
- max_words : 75,
593
- max_words_error : "<br /><br /><p>Max 30 words are allowed for selection!</p>",
594
- max_comment_len : 300,
595
- max_comment_len_label : "Remaining __REMAX__ | Minimum __MIN__",
596
- min_comment_len : 50
597
- });
598
-
599
-
600
- </script>
601
-
602
-
603
- <div class="ringtone-matcher">
604
- </div>
605
-
606
- <ul class="albuminfo">
607
- <li>
608
- </li>
609
- </ul>
610
-
611
- <script>
612
- /* TFP - Songlyrics.com - Below Lyrics */
613
- (function() {
614
- var opts = {
615
- artist: "Michael Jackson",
616
- song: "Thriller",
617
- adunit_id: 39382090,
618
- div_id: "cf_async_" + Math.floor((Math.random() * 999999999))
619
- };
620
- document.write('<div id="'+opts.div_id+'"></div>');var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.clickfuse.com/showads/showad.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)};
621
- })();
622
- </script>
623
-
624
-
625
- <div class="ringtone-matcher"><strong><a href="/news/lyrics-correction/" target="_blank">Submit lyrics correction &rarr;</a></strong></div>
626
- </div> <!--end songLyricsContainer-->
627
-
628
- </div>
629
-
630
- <div class="masthead-content lyrics-inner-ad-wrap">
631
- <div id="ad-absolute-728-relocated" >
632
-
633
- <!-- /1008608/GENERIC_728_ATF -->
634
- <!--div id='div-gpt-ad-1494449587349-2' style='height:90px; width:728px;'>
635
- <script>
636
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1494449587349-2'); });
637
- </script>
638
- </div-->
639
-
640
- </div>
641
-
642
- <div id="fbbox-relocated">
643
- <div id="fbbox-count">
644
- <span id="fbbox-total">
645
- 55k
646
- </span>
647
- </div>
648
- <a id="fbbox-likebutton" target="_blank" href="https://www.facebook.com/SongLyrics">Like</a>
649
- </div>
650
- </div>
651
-
652
-
653
- <div id="ad-absolute-160">
654
-
655
- <div id='div-gpt-ad-songlyricscom37729' style='height:600px; width:160px;'>
656
-
657
- </div>
658
-
659
- </div>
660
-
661
- <div id="ros_5150" class='mobile_ad'></div>
662
-
663
- <div class="col-one clear">
664
-
665
- <div id="comments">
666
-
667
- <!-- missing
668
- /* Songlyrics 300x250 Hybrid */
669
- -->
670
-
671
-
672
- <h3>Add Comment</h3>
673
-
674
- <div id="disqus_thread">
675
-
676
- </div>
677
-
678
- <script type="text/javascript" defer>
679
-
680
- /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
681
- var disqus_shortname = 'song-lyrics'; // required: replace example with your forum shortname
682
- var disqus_developer = 1; // developer mode is off
683
- var disqus_container_id = 'disqus_thread';
684
-
685
- var disqus_config = function () {
686
- var config = this; // Access to the config object
687
- config.callbacks.preData.push(function() {
688
- // clear out the container (its filled for SEO/legacy purposes)
689
- document.getElementById(disqus_container_id).innerHTML = '';
690
- });
691
-
692
- };
693
-
694
-
695
- /* * * DON'T EDIT BELOW THIS LINE * * */
696
- (function() {
697
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
698
- dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
699
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
700
- })();
701
-
702
-
703
- </script>
704
-
705
- </div><!-- end comments -->
706
-
707
- <div id="ros_5150" class='mobile_ad'></div>
708
-
709
- </div> <!--end colone-->
710
-
711
- </div><!-- end colone-container -->
712
-
713
- <div class="colthree">
714
-
715
- <div id="gracenote">
716
- <div id="gracenote-credits">
717
-
718
-
719
- </div>
720
- </div>
721
-
722
-
723
- <div class="adblock">
724
- <div id="div-gpt-ad-songlyricscom37735">
725
-
726
- </div>
727
-
728
- <div id="div-gpt-ad-songlyricscom37730">
729
-
730
- </div>
731
- </div>
732
-
733
- <div id="adblock-jango">
734
- <iframe width="300" scrolling="no" height="50" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" style="border: 0px none; padding-left:0px" allowtransparency="true"
735
- src="https://jangomusicnetwork.cdn107.com/sl?cust_params=j_artist=Michael Jackson&j_title=Thriller"></iframe>
736
- </div>
737
-
738
-
739
-
740
- <div class="box listbox">
741
-
742
- <h2>Miscellaneous Tracklist</h2>
743
-
744
- <table class="tracklist">
745
- <tbody>
746
- <tr>
747
- <td class="td-iter" width="21">1</td>
748
- <td><a href="http://www.songlyrics.com/michael-jackson/2-bad-lyrics/" title="2 Bad Lyrics Michael Jackson">2 Bad</a></td>
749
- </tr>
750
- <tr>
751
- <td class="td-iter" width="21">2</td>
752
- <td><a href="http://www.songlyrics.com/michael-jackson/2000-watts-lyrics/" title="2000 Watts Lyrics Michael Jackson">2000 Watts</a></td>
753
- </tr>
754
- <tr>
755
- <td class="td-iter" width="21">3</td>
756
- <td><a href="http://www.songlyrics.com/michael-jackson/25-miles-lyrics/" title="25 Miles Lyrics Michael Jackson">25 Miles</a></td>
757
- </tr>
758
- <tr>
759
- <td class="td-iter" width="21">4</td>
760
- <td><a href="http://www.songlyrics.com/michael-jackson/a-brand-new-day-lyrics/" title="A Brand New Day Lyrics Michael Jackson">A Brand New Day</a></td>
761
- </tr>
762
- <tr>
763
- <td class="td-iter" width="21">5</td>
764
- <td><a href="http://www.songlyrics.com/michael-jackson/abc-123-lyrics/" title="Abc 123 Lyrics Michael Jackson">Abc 123</a></td>
765
- </tr>
766
- <tr>
767
- <td class="td-iter" width="21">6</td>
768
- <td><a href="http://www.songlyrics.com/michael-jackson/ain-t-no-sunshine-lyrics/" title="Ain't No Sunshine Lyrics Michael Jackson">Ain't No Sunshine</a></td>
769
- </tr>
770
- <tr>
771
- <td class="td-iter" width="21">7</td>
772
- <td><a href="http://www.songlyrics.com/michael-jackson/ain-t-no-sunshine-benny-blanco-remix-lyrics/" title="Ain't No Sunshine (Benny Blanco Remix) Lyrics Michael Jackson">Ain't No Sunshine (Benny Blanco Remix)</a></td>
773
- </tr>
774
- <tr>
775
- <td class="td-iter" width="21">8</td>
776
- <td><a href="http://www.songlyrics.com/michael-jackson/all-the-things-you-are-lyrics/" title="All the Things You Are Lyrics Michael Jackson">All the Things You Are</a></td>
777
- </tr>
778
- <tr>
779
- <td class="td-iter" width="21">9</td>
780
- <td><a href="http://www.songlyrics.com/michael-jackson/another-part-of-me-lyrics/" title="Another Part Of Me Lyrics Michael Jackson">Another Part Of Me</a></td>
781
- </tr>
782
- <tr>
783
- <td class="td-iter" width="21">10</td>
784
- <td><a href="http://www.songlyrics.com/michael-jackson/baby-be-mine-lyrics/" title="Baby Be Mine Lyrics Michael Jackson">Baby Be Mine</a></td>
785
- </tr>
786
- <tr>
787
- <td class="td-iter" width="21">11</td>
788
- <td><a href="http://www.songlyrics.com/michael-jackson/bad-lyrics/" title="Bad Lyrics Michael Jackson">Bad</a></td>
789
- </tr>
790
- <tr>
791
- <td class="td-iter" width="21">12</td>
792
- <td><a href="http://www.songlyrics.com/michael-jackson/be-a-lion-lyrics/" title="Be A Lion Lyrics Michael Jackson">Be A Lion</a></td>
793
- </tr>
794
- <tr>
795
- <td class="td-iter" width="21">13</td>
796
- <td><a href="http://www.songlyrics.com/michael-jackson/beat-it-lyrics/" title="Beat It Lyrics Michael Jackson">Beat It</a></td>
797
- </tr>
798
- <tr>
799
- <td class="td-iter" width="21">14</td>
800
- <td><a href="http://www.songlyrics.com/michael-jackson/ben-lyrics/" title="Ben Lyrics Michael Jackson">Ben</a></td>
801
- </tr>
802
- <tr>
803
- <td class="td-iter" width="21">15</td>
804
- <td><a href="http://www.songlyrics.com/michael-jackson/ben-single-version-lyrics/" title="Ben (Single Version) Lyrics Michael Jackson">Ben (Single Version)</a></td>
805
- </tr>
806
- <tr>
807
- <td class="td-iter" width="21">16</td>
808
- <td><a href="http://www.songlyrics.com/michael-jackson/billie-jean-lyrics/" title="Billie Jean Lyrics Michael Jackson">Billie Jean</a></td>
809
- </tr>
810
- <tr>
811
- <td class="td-iter" width="21">17</td>
812
- <td><a href="http://www.songlyrics.com/michael-jackson/billy-jean-lyrics/" title="Billy Jean Lyrics Michael Jackson">Billy Jean</a></td>
813
- </tr>
814
- <tr>
815
- <td class="td-iter" width="21">18</td>
816
- <td><a href="http://www.songlyrics.com/michael-jackson/black-or-white-lyrics/" title="Black or White Lyrics Michael Jackson">Black or White</a></td>
817
- </tr>
818
- <tr>
819
- <td class="td-iter" width="21">19</td>
820
- <td><a href="http://www.songlyrics.com/michael-jackson/black-or-white-clivilles-and-cole-house-club-mix-lyrics/" title="Black Or White - Clivilles And Cole House /Club Mix Lyrics Michael Jackson">Black Or White - Clivilles And Cole House /Club Mix</a></td>
821
- </tr>
822
- <tr>
823
- <td class="td-iter" width="21">20</td>
824
- <td><a href="http://www.songlyrics.com/michael-jackson/blood-on-the-dance-floor-lyrics/" title="Blood On The Dance Floor Lyrics Michael Jackson">Blood On The Dance Floor</a></td>
825
- </tr>
826
- <tr>
827
- <td class="td-iter" width="21">21</td>
828
- <td><a href="http://www.songlyrics.com/michael-jackson/break-of-dawn-lyrics/" title="Break Of Dawn Lyrics Michael Jackson">Break Of Dawn</a></td>
829
- </tr>
830
- <tr>
831
- <td class="td-iter" width="21">22</td>
832
- <td><a href="http://www.songlyrics.com/michael-jackson/burn-this-disco-out-lyrics/" title="Burn This Disco Out Lyrics Michael Jackson">Burn This Disco Out</a></td>
833
- </tr>
834
- <tr>
835
- <td class="td-iter" width="21">23</td>
836
- <td><a href="http://www.songlyrics.com/michael-jackson/burn-tonight-lyrics/" title="Burn Tonight Lyrics Michael Jackson">Burn Tonight</a></td>
837
- </tr>
838
- <tr>
839
- <td class="td-iter" width="21">24</td>
840
- <td><a href="http://www.songlyrics.com/michael-jackson/butterflies-lyrics/" title="Butterflies Lyrics Michael Jackson">Butterflies</a></td>
841
- </tr>
842
- <tr>
843
- <td class="td-iter" width="21">25</td>
844
- <td><a href="http://www.songlyrics.com/michael-jackson/butterflies-remix-lyrics/" title="Butterflies (Remix) Lyrics Michael Jackson">Butterflies (Remix)</a></td>
845
- </tr>
846
- <tr>
847
- <td class="td-iter" width="21">26</td>
848
- <td><a href="http://www.songlyrics.com/michael-jackson/call-on-me-lyrics/" title="Call On Me Lyrics Michael Jackson">Call On Me</a></td>
849
- </tr>
850
- <tr>
851
- <td class="td-iter" width="21">27</td>
852
- <td><a href="http://www.songlyrics.com/michael-jackson/can-i-go-on-lyrics/" title="Can I Go On? Lyrics Michael Jackson">Can I Go On?</a></td>
853
- </tr>
854
- <tr>
855
- <td class="td-iter" width="21">28</td>
856
- <td><a href="http://www.songlyrics.com/michael-jackson/can-you-feel-it-single-version-lyrics/" title="Can You Feel It (Single Version) Lyrics Michael Jackson">Can You Feel It (Single Version)</a></td>
857
- </tr>
858
- <tr>
859
- <td class="td-iter" width="21">29</td>
860
- <td><a href="http://www.songlyrics.com/michael-jackson/can-t-let-her-get-away-lyrics/" title="Can't Let Her Get Away Lyrics Michael Jackson">Can't Let Her Get Away</a></td>
861
- </tr>
862
- <tr>
863
- <td class="td-iter" width="21">30</td>
864
- <td><a href="http://www.songlyrics.com/michael-jackson/carousel-lyrics/" title="Carousel Lyrics Michael Jackson">Carousel</a></td>
865
- </tr>
866
-
867
- <tr>
868
- <td class="td-item td-header aligncenter" colspan="2">
869
- <a title="Michael Jackson Albums" href="http://www.songlyrics.com/michael-jackson-lyrics/">More Albums</a>
870
- </td>
871
- </tr>
872
-
873
- </tbody>
874
- </table>
875
-
876
- </div><!-- end listbox -->
877
-
878
-
879
- <a href="#embed-content-2" rel="superbox[content]" class="embed-button" style='display: block; float: none; top: -25px; position: relative;'>embed &lt;/&gt;</a>
880
- <div id="embed-content-2" class="embed-content">
881
-
882
- <div class="embed-text">Embed</div>
883
- <div class="embed-get">
884
- <p>Get the embed code</p>
885
-
886
- <textarea name="widget_embed" class="widget_embed_box" rows="10" cols="34" onClick="select()"><table class="songlyrics" style="width: 100%; table-layout: fixed;"><col width="40" /><col /><tbody><tr><th colspan="2">Michael Jackson - Miscellaneous Album Lyrics</th></tr><tr><td class="sl-td-left">1.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/2-bad-lyrics/" title="2 Bad Lyrics Michael Jackson">2 Bad</a></td></tr><tr><td class="sl-td-left">2.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/2000-watts-lyrics/" title="2000 Watts Lyrics Michael Jackson">2000 Watts</a></td></tr><tr><td class="sl-td-left">3.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/25-miles-lyrics/" title="25 Miles Lyrics Michael Jackson">25 Miles</a></td></tr><tr><td class="sl-td-left">4.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/a-brand-new-day-lyrics/" title="A Brand New Day Lyrics Michael Jackson">A Brand New Day</a></td></tr><tr><td class="sl-td-left">5.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/abc-123-lyrics/" title="Abc 123 Lyrics Michael Jackson">Abc 123</a></td></tr><tr><td class="sl-td-left">6.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/ain-t-no-sunshine-lyrics/" title="Ain't No Sunshine Lyrics Michael Jackson">Ain't No Sunshine</a></td></tr><tr><td class="sl-td-left">7.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/ain-t-no-sunshine-benny-blanco-remix-lyrics/" title="Ain't No Sunshine (Benny Blanco Remix) Lyrics Michael Jackson">Ain't No Sunshine (Benny Blanco Remix)</a></td></tr><tr><td class="sl-td-left">8.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/all-the-things-you-are-lyrics/" title="All the Things You Are Lyrics Michael Jackson">All the Things You Are</a></td></tr><tr><td class="sl-td-left">9.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/another-part-of-me-lyrics/" title="Another Part Of Me Lyrics Michael Jackson">Another Part Of Me</a></td></tr><tr><td class="sl-td-left">10.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/baby-be-mine-lyrics/" title="Baby Be Mine Lyrics Michael Jackson">Baby Be Mine</a></td></tr><tr><td class="sl-td-left">11.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/bad-lyrics/" title="Bad Lyrics Michael Jackson">Bad</a></td></tr><tr><td class="sl-td-left">12.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/be-a-lion-lyrics/" title="Be A Lion Lyrics Michael Jackson">Be A Lion</a></td></tr><tr><td class="sl-td-left">13.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/beat-it-lyrics/" title="Beat It Lyrics Michael Jackson">Beat It</a></td></tr><tr><td class="sl-td-left">14.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/ben-lyrics/" title="Ben Lyrics Michael Jackson">Ben</a></td></tr><tr><td class="sl-td-left">15.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/ben-single-version-lyrics/" title="Ben (Single Version) Lyrics Michael Jackson">Ben (Single Version)</a></td></tr><tr><td class="sl-td-left">16.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/billie-jean-lyrics/" title="Billie Jean Lyrics Michael Jackson">Billie Jean</a></td></tr><tr><td class="sl-td-left">17.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/billy-jean-lyrics/" title="Billy Jean Lyrics Michael Jackson">Billy Jean</a></td></tr><tr><td class="sl-td-left">18.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/black-or-white-lyrics/" title="Black or White Lyrics Michael Jackson">Black or White</a></td></tr><tr><td class="sl-td-left">19.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/black-or-white-clivilles-and-cole-house-club-mix-lyrics/" title="Black Or White - Clivilles And Cole House /Club Mix Lyrics Michael Jackson">Black Or White - Clivilles And Cole House /Club Mix</a></td></tr><tr><td class="sl-td-left">20.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/blood-on-the-dance-floor-lyrics/" title="Blood On The Dance Floor Lyrics Michael Jackson">Blood On The Dance Floor</a></td></tr><tr><td class="sl-td-left">21.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/break-of-dawn-lyrics/" title="Break Of Dawn Lyrics Michael Jackson">Break Of Dawn</a></td></tr><tr><td class="sl-td-left">22.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/burn-this-disco-out-lyrics/" title="Burn This Disco Out Lyrics Michael Jackson">Burn This Disco Out</a></td></tr><tr><td class="sl-td-left">23.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/burn-tonight-lyrics/" title="Burn Tonight Lyrics Michael Jackson">Burn Tonight</a></td></tr><tr><td class="sl-td-left">24.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/butterflies-lyrics/" title="Butterflies Lyrics Michael Jackson">Butterflies</a></td></tr><tr><td class="sl-td-left">25.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/butterflies-remix-lyrics/" title="Butterflies (Remix) Lyrics Michael Jackson">Butterflies (Remix)</a></td></tr><tr><td class="sl-td-left">26.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/call-on-me-lyrics/" title="Call On Me Lyrics Michael Jackson">Call On Me</a></td></tr><tr><td class="sl-td-left">27.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/can-i-go-on-lyrics/" title="Can I Go On? Lyrics Michael Jackson">Can I Go On?</a></td></tr><tr><td class="sl-td-left">28.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/can-you-feel-it-single-version-lyrics/" title="Can You Feel It (Single Version) Lyrics Michael Jackson">Can You Feel It (Single Version)</a></td></tr><tr><td class="sl-td-left">29.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/can-t-let-her-get-away-lyrics/" title="Can't Let Her Get Away Lyrics Michael Jackson">Can't Let Her Get Away</a></td></tr><tr><td class="sl-td-left">30.</td><td class="sl-td-right"><a href="http://www.songlyrics.com/michael-jackson/carousel-lyrics/" title="Carousel Lyrics Michael Jackson">Carousel</a></td></tr></tbody></table><p class="sl-credit"><a href="http://www.songlyrics.com/michael-jackson-lyrics/" title="Michael Jackson Lyrics">Michael Jackson Lyrics</a> provided by <a href="/" title="Lyrics">SongLyrics.com</a></p></textarea>
887
-
888
- <p class="desc"><strong>Note:</strong> When you embed the widget in your site, it will match your site's styles (CSS). This is just a preview!</p>
889
-
890
- </div><!-- end embed-get -->
891
-
892
- <div class="embed-preview">
893
- <p>Preview the embedded widget</p>
894
-
895
- <table class="songlyrics" style="width: 100%; table-layout: fixed;"><col width="40" /><col /><tbody><tr><th colspan="2">Michael Jackson - Miscellaneous Album Lyrics</th></tr><tr><td class="sl-td-left">1.</td><td class="sl-td-right"><a href="#" title="2 Bad Lyrics Michael Jackson">2 Bad</a></td></tr><tr><td class="sl-td-left">2.</td><td class="sl-td-right"><a href="#" title="2000 Watts Lyrics Michael Jackson">2000 Watts</a></td></tr><tr><td class="sl-td-left">3.</td><td class="sl-td-right"><a href="#" title="25 Miles Lyrics Michael Jackson">25 Miles</a></td></tr><tr><td class="sl-td-left">4.</td><td class="sl-td-right"><a href="#" title="A Brand New Day Lyrics Michael Jackson">A Brand New Day</a></td></tr><tr><td class="sl-td-left">5.</td><td class="sl-td-right"><a href="#" title="Abc 123 Lyrics Michael Jackson">Abc 123</a></td></tr><tr><td class="sl-td-left">6.</td><td class="sl-td-right"><a href="#" title="Ain't No Sunshine Lyrics Michael Jackson">Ain't No Sunshine</a></td></tr><tr><td class="sl-td-left">7.</td><td class="sl-td-right"><a href="#" title="Ain't No Sunshine (Benny Blanco Remix) Lyrics Michael Jackson">Ain't No Sunshine (Benny Blanco Remix)</a></td></tr><tr><td class="sl-td-left">8.</td><td class="sl-td-right"><a href="#" title="All the Things You Are Lyrics Michael Jackson">All the Things You Are</a></td></tr><tr><td class="sl-td-left">9.</td><td class="sl-td-right"><a href="#" title="Another Part Of Me Lyrics Michael Jackson">Another Part Of Me</a></td></tr><tr><td class="sl-td-left">10.</td><td class="sl-td-right"><a href="#" title="Baby Be Mine Lyrics Michael Jackson">Baby Be Mine</a></td></tr><tr><td class="sl-td-left">11.</td><td class="sl-td-right"><a href="#" title="Bad Lyrics Michael Jackson">Bad</a></td></tr><tr><td class="sl-td-left">12.</td><td class="sl-td-right"><a href="#" title="Be A Lion Lyrics Michael Jackson">Be A Lion</a></td></tr><tr><td class="sl-td-left">13.</td><td class="sl-td-right"><a href="#" title="Beat It Lyrics Michael Jackson">Beat It</a></td></tr><tr><td class="sl-td-left">14.</td><td class="sl-td-right"><a href="#" title="Ben Lyrics Michael Jackson">Ben</a></td></tr><tr><td class="sl-td-left">15.</td><td class="sl-td-right"><a href="#" title="Ben (Single Version) Lyrics Michael Jackson">Ben (Single Version)</a></td></tr><tr><td class="sl-td-left">16.</td><td class="sl-td-right"><a href="#" title="Billie Jean Lyrics Michael Jackson">Billie Jean</a></td></tr><tr><td class="sl-td-left">17.</td><td class="sl-td-right"><a href="#" title="Billy Jean Lyrics Michael Jackson">Billy Jean</a></td></tr><tr><td class="sl-td-left">18.</td><td class="sl-td-right"><a href="#" title="Black or White Lyrics Michael Jackson">Black or White</a></td></tr><tr><td class="sl-td-left">19.</td><td class="sl-td-right"><a href="#" title="Black Or White - Clivilles And Cole House /Club Mix Lyrics Michael Jackson">Black Or White - Clivilles And Cole House /Club Mix</a></td></tr><tr><td class="sl-td-left">20.</td><td class="sl-td-right"><a href="#" title="Blood On The Dance Floor Lyrics Michael Jackson">Blood On The Dance Floor</a></td></tr><tr><td class="sl-td-left">21.</td><td class="sl-td-right"><a href="#" title="Break Of Dawn Lyrics Michael Jackson">Break Of Dawn</a></td></tr><tr><td class="sl-td-left">22.</td><td class="sl-td-right"><a href="#" title="Burn This Disco Out Lyrics Michael Jackson">Burn This Disco Out</a></td></tr><tr><td class="sl-td-left">23.</td><td class="sl-td-right"><a href="#" title="Burn Tonight Lyrics Michael Jackson">Burn Tonight</a></td></tr><tr><td class="sl-td-left">24.</td><td class="sl-td-right"><a href="#" title="Butterflies Lyrics Michael Jackson">Butterflies</a></td></tr><tr><td class="sl-td-left">25.</td><td class="sl-td-right"><a href="#" title="Butterflies (Remix) Lyrics Michael Jackson">Butterflies (Remix)</a></td></tr><tr><td class="sl-td-left">26.</td><td class="sl-td-right"><a href="#" title="Call On Me Lyrics Michael Jackson">Call On Me</a></td></tr><tr><td class="sl-td-left">27.</td><td class="sl-td-right"><a href="#" title="Can I Go On? Lyrics Michael Jackson">Can I Go On?</a></td></tr><tr><td class="sl-td-left">28.</td><td class="sl-td-right"><a href="#" title="Can You Feel It (Single Version) Lyrics Michael Jackson">Can You Feel It (Single Version)</a></td></tr><tr><td class="sl-td-left">29.</td><td class="sl-td-right"><a href="#" title="Can't Let Her Get Away Lyrics Michael Jackson">Can't Let Her Get Away</a></td></tr><tr><td class="sl-td-left">30.</td><td class="sl-td-right"><a href="#" title="Carousel Lyrics Michael Jackson">Carousel</a></td></tr></tbody></table><p class="sl-credit"><a href="#" title="Michael Jackson Lyrics">Michael Jackson Lyrics</a> provided by <a href="#" title="Lyrics">SongLyrics.com</a></p>
896
-
897
- </div><!-- end embed-preview -->
898
- </div><!-- end embed-content -->
899
-
900
-
901
-
902
- <div class="box listbox">
903
- <h3 class="listbox-title">Popular Michael Jackson Lyrics</h3>
904
- <table class="tracklist">
905
- <tbody>
906
- <tr>
907
- <td class="td-iter" width="21">1</td>
908
- <td><a href="http://www.songlyrics.com/michael-jackson/weve-got-a-good-thing-going-lyrics/">We’ve Got a Good Thing Going</a></td>
909
- </tr>
910
- <tr>
911
- <td class="td-iter" width="21">2</td>
912
- <td><a href="http://www.songlyrics.com/michael-jackson/they-don-t-care-about-us-immortal-version-lyrics/">They Don't Care About Us - Immortal Version</a></td>
913
- </tr>
914
- <tr>
915
- <td class="td-iter" width="21">3</td>
916
- <td><a href="http://www.songlyrics.com/michael-jackson/slave-to-the-rhythm-audien-remix-radio-edit-lyrics/">Slave to the Rhythm - Audien Remix Radio Edit</a></td>
917
- </tr>
918
- <tr>
919
- <td class="td-iter" width="21">4</td>
920
- <td><a href="http://www.songlyrics.com/michael-jackson/love-never-felt-so-good-dm-red-zone-mix-lyrics/">Love Never Felt so Good - DM RED ZONE MIX</a></td>
921
- </tr>
922
- <tr>
923
- <td class="td-iter" width="21">5</td>
924
- <td><a href="http://www.songlyrics.com/michael-jackson/don-t-be-messin-round-lyrics/">Don't Be Messin' 'Round</a></td>
925
- </tr>
926
- <tr>
927
- <td class="td-iter" width="21">6</td>
928
- <td><a href="http://www.songlyrics.com/michael-jackson/maria-you-were-the-only-one-emile-haynie-remix-lyrics/">Maria (You Were The Only One) - Emile Haynie Remix</a></td>
929
- </tr>
930
- </tbody>
931
- </table>
932
- </div>
933
-
934
-
935
- <!--
936
- /* Songlyrics 300x250 Hybrid */
937
- -->
938
- <div class="adblock">
939
-
940
-
941
- <!-- TAGNAME: 300x250_Bot_RSB -->
942
- <!-- /8095840/.2_A.37731.4_songlyrics.com_tier1 -->
943
- <div id='div-gpt-ad-songlyricscom37731'>
944
-
945
- </div>
946
-
947
- </div>
948
-
949
- <div class="adblock">
950
- <!--
951
- /* Songlyrics 300x250 Hybrid */
952
- -->
953
-
954
- <!-- TAGNAME: 300x600_RSB -->
955
- <!-- /8095840/.2_A.37732.7_songlyrics.com_tier1 -->
956
- <div id='div-gpt-ad-songlyricscom37732'>
957
-
958
- </div>
959
-
960
- </div>
961
-
962
-
963
-
964
- </div> <!--end colthree-->
965
-
966
- </div> <!--end wrapper-inner-->
967
-
968
- <div id="ad-728-footer">
969
- <!-- missing
970
- /* Songlyrics 728x90 Hybrid */
971
- -->
972
- <!-- Leaderboard: 728x90 -->
973
- </div>
974
-
975
-
976
- </div>
977
-
978
- <div class="footer">
979
- <table class="footer-inner">
980
- <tbody>
981
-
982
- <tr>
983
-
984
- <td width="145" class="genres">
985
- <h3>Genres</h3>
986
- <ul>
987
- <li><a href="/rock-lyrics.php" title="Rock Lyrics">Rock</a></li>
988
- <li><a href="/r-and-b-lyrics.php" title="R&B Lyrics">R&amp;B</a></li>
989
- <li><a href="/country-music-lyrics.php" title="Country Lyrics">Country</a></li>
990
- <li><a href="/hip-hop-rap-lyrics.php" title="Hip Hop and Rap Lyrics">Hip Hop/Rap</a></li>
991
- <li><a href="/pop-lyrics.php" title="Pop Lyrics">Pop</a></li>
992
- <li><a href="/christian-lyrics.php" title="Christian Lyrics">Christian</a></li>
993
- </ul>
994
- </td>
995
-
996
- <td width="170" class="top-lyrics">
997
- <h3>Top Lyrics</h3>
998
- <ul>
999
- <li><a href="/top-songs-lyrics.html">Top Songs</a></li>
1000
- <li><a href="/top-artists-lyrics.html">Top Artists</a></li>
1001
- <li><a href="/top-albums-lyrics.html">Top Albums</a></li>
1002
- <li><a href="/top-upcoming-songs.html">Upcoming Songs</a></li>
1003
- <li><a href="/top-upcoming-albums.html">Upcoming Albums</a></li>
1004
- <li><a href="/top100.php" title="Billboard Hot 100 Songs">Billboard Hot 100</a></li>
1005
- </ul>
1006
- </td>
1007
-
1008
- <td width="180" class="songlyrics">
1009
- <h3>SongLyrics</h3>
1010
- <ul>
1011
- <li><a href="/news/advertise/" title="Advertise on SongLyrics.com">Advertise on SL</a></li>
1012
- <li><a href="/news/featured-blogs/" title="Featured Blogs">Featured Blogs</a></li>
1013
- <li><a href="/news/contact-us/" title="Contact Us">Contact Us</a></li>
1014
- <li><a href="/news" title="Music News">Music News</a></li>
1015
- <li><a href="/privacy.php" title="Privacy Policy">Privacy Policy</a></li>
1016
- <li><a href="/termsconditions.php" title="Terms of Use">Terms of Use</a></li>
1017
- </ul>
1018
- </td>
1019
-
1020
- <td width="210" class="td-footer-last">
1021
- <h3>Company</h3>
1022
- <ul>
1023
- <li class="ftlast-li">Copyright &copy; 2021 SongLyrics</li>
1024
- <li class="ftlast-li">
1025
- <ul>
1026
- <li class="ft-social">Follow us:</li>
1027
- <li class="ft-social"><a class="ft-fb" href="https://www.facebook.com/SongLyrics" target="_blank" title="SongLyrics on Facebook">Facebook</a></li>
1028
- <li class="ft-social"><a class="ft-tw" href="https://twitter.com/#!/songlyrics" target="_blank" title="Follow SongLyrics on Twitter">Twitter</a></li>
1029
- </ul>
1030
- </li>
1031
- <li class="ftlast-li">
1032
- <a href="/about.php">About</a>
1033
- </li>
1034
- <li class="ftlast-li">
1035
- <a id='unic-gdpr' onclick='__tcfapi("openunic");return false;' style='display:none;cursor:pointer;'>Change Ad Consent</a>
1036
- <a id='unic-ccpa' onclick="window.__uspapi('openunic')" style='display:none;cursor:pointer;'>Do not sell my data</a>
1037
- </li>
1038
- <!--<li class="ftlast-li">Created in 0.022498 sec</li>-->
1039
- <li class="ftlast-li">
1040
- <ul>
1041
- <li class="ft-logo"><a class="ft-sm" href="http://www.soundmedia.com/" target="_blank" title="Advertise on SongLyrics">SoundMedia</a></li>
1042
- </ul>
1043
- </li>
1044
- </ul>
1045
- </td>
1046
-
1047
- </tr>
1048
-
1049
- </tbody>
1050
- </table>
1051
-
1052
- <div id="footer-bottom">
1053
-
1054
- <ul id="footer-artists">
1055
- <li class="artist"><h4>Artists:</h4></li>
1056
- <li><a href="/a/" title="A">A</a></li>
1057
- <li><a href="/b/" title="B">B</a></li>
1058
- <li><a href="/c/" title="C">C</a></li>
1059
- <li><a href="/d/" title="D">D</a></li>
1060
- <li><a href="/e/" title="E">E</a></li>
1061
- <li><a href="/f/" title="F">F</a></li>
1062
- <li><a href="/g/" title="G">G</a></li>
1063
- <li><a href="/h/" title="H">H</a></li>
1064
- <li><a href="/i/" title="I">I</a></li>
1065
- <li><a href="/j/" title="J">J</a></li>
1066
- <li><a href="/k/" title="K">K</a></li>
1067
- <li><a href="/l/" title="L">L</a></li>
1068
- <li><a href="/m/" title="M">M</a></li>
1069
- <li><a href="/n/" title="N">N</a></li>
1070
- <li><a href="/o/" title="O">O</a></li>
1071
- <li><a href="/p/" title="P">P</a></li>
1072
- <li><a href="/q/" title="Q">Q</a></li>
1073
- <li><a href="/r/" title="R">R</a></li>
1074
- <li><a href="/s/" title="S">S</a></li>
1075
- <li><a href="/t/" title="T">T</a></li>
1076
- <li><a href="/u/" title="U">U</a></li>
1077
- <li><a href="/v/" title="V">V</a></li>
1078
- <li><a href="/w/" title="W">W</a></li>
1079
- <li><a href="/x/" title="X">X</a></li>
1080
- <li><a href="/y/" title="Y">Y</a></li>
1081
- <li><a href="/z/" title="Z">Z</a></li>
1082
- <li><a href="/0/" title="#">#</a></li>
1083
- </ul>
1084
-
1085
- </div><!-- end footer-bottom -->
1086
-
1087
- </div><!-- end footer -->
1088
-
1089
-
1090
- <script type="text/javascript">
1091
- function rm_client_callback(flex_type) {
1092
- // If not a Flextitial duo, end here
1093
- if (flex_type != "duo")
1094
- return;
1095
-
1096
- // Height and footer settings
1097
- var rm_header_height = 67; // px
1098
- var rm_footer_height = 200; // px
1099
-
1100
- // Store so jquery only has to find them once
1101
- var rm_gutters = $("#rm_gutter_left, #rm_gutter_right");
1102
-
1103
- // Set initial gutter position
1104
- rm_gutters.css("top", rm_header_height + "px");
1105
-
1106
- // Attach to window's scroll event
1107
- $(window).scroll(function() {
1108
- st = $(this).scrollTop();
1109
- h = $(document).height() - $(window).height();
1110
-
1111
- if (st < rm_header_height) {
1112
- rm_gutters.css({"top": rm_header_height + "px", "bottom": "auto"});
1113
- } else if (st < h - rm_footer_height) {
1114
- rm_gutters.css({"top": 0, "bottom": "auto"});
1115
- } else {
1116
- rm_gutters.css({"top": "auto", "bottom": rm_footer_height + "px"});
1117
- }
1118
- });
1119
- }
1120
- </script>
1121
-
1122
-
1123
- <!-- BEGIN: Templates to be included in the HTML page -->
1124
-
1125
- <div id="iComment-templates">
1126
-
1127
- <div class="iComment-popup" style="display: none">
1128
- <div class="iComment-popup-content">
1129
- Cheeeek<br /> that<br /> out<br /> dude.
1130
- </div>
1131
- <div class="iComment-close-btn"></div>
1132
- </div>
1133
-
1134
- <div class="iComment-form-new">
1135
- <div class="iComment-selection-text"></div>
1136
- <div class="iComment-existing-comments-container">
1137
- <b class="iComment-title">Lead RIFFs:</b>
1138
- <div class="iComment-existing-comments"></div>
1139
- </div>
1140
- <div class="iComment-new-comment" style="display:none">
1141
- <label>
1142
- <b class="iComment-title">RIFF it:</b>
1143
- <textarea name="comment" class="comment-editor"></textarea>
1144
- </label>
1145
- <div class="iComment-buttons">
1146
- <button class="iComment-submit-btn" data-inline="true">Submit</button>
1147
- <button class="iComment-cancel-btn secondary" data-inline="true">Cancel</button>
1148
- </div>
1149
- </div>
1150
- </div>
1151
-
1152
- <div class="iComment-warning iComment-warning-badselection">
1153
- <div class="iComment-title">Bad selection</div>
1154
- <div class="iComment-body">
1155
- <p>Cannot annotate a non-flat selection. Make sure your selection
1156
- starts and ends within the same node.</p>
1157
- <div class="iComment-text iComment-warn" style="text-align: center">
1158
- (example of bad selection): <strong>This is <span class="iComment">bold
1159
- text</span></strong><span class="iComment"> and this</span> is normal text.
1160
- </div>
1161
- <div class="iComment-text" style="text-align: center">
1162
- (example of good selection): <strong>This is bold
1163
- text</strong> <span class="iComment">and this</span> is normal text.
1164
- </div>
1165
- </div>
1166
- </div>
1167
-
1168
- <div class="iComment-warning iComment-warning-badselection2">
1169
- <div class="iComment-title">Bad selection</div>
1170
- <div class="iComment-body">
1171
- <p>An annotation cannot contain another annotation.</p>
1172
- </div>
1173
- </div>
1174
-
1175
-
1176
-
1177
- <!-- first comment
1178
- =================================================== -->
1179
-
1180
- <div data-template-id="iComment-existing-comment-first" class="iComment-existing-comment-first iComment-body iComment-main-comment">
1181
- <div class="body">
1182
-
1183
-
1184
- <div class="info">
1185
- <div class="author-name">Anonymous</div>
1186
- <span class="date"></span>
1187
- <span class="votes">
1188
- <span class="score"></span>
1189
- </span>
1190
- </div>
1191
-
1192
-
1193
- <div class="text"></div>
1194
-
1195
-
1196
- <div class="editor">
1197
- <textarea></textarea>
1198
- <div class="buttons">
1199
- <button class="iComment-save-btn" data-inline="true">Save</button>
1200
- <button class="iComment-discard-btn secondary" data-inline="true">Cancel</button>
1201
- </div>
1202
- </div>
1203
-
1204
-
1205
- <div class="delete">
1206
- <div class="center">
1207
- <strong>Really delete this comment?</strong>
1208
- <div class="buttons">
1209
- <button class="iComment-yes-btn" data-inline="true">Yes</button>
1210
- <button class="iComment-nope-btn secondary" data-inline="true">No</button>
1211
- </div>
1212
- </div>
1213
- </div>
1214
-
1215
-
1216
- </div>
1217
-
1218
- <div class="author">
1219
- <a class="author-url" href="#"><img class="author-avatar" src="images/avatar-default.png" /></a>
1220
- </div>
1221
-
1222
-
1223
- <div class="operations">
1224
- <span class="operation vote icon up-vote" title="Vote"></span>
1225
- <span class="operation icon edit" title="Edit"></span>
1226
- <span class="operation icon delete" title="Delete"></span>
1227
- </div>
1228
-
1229
- </div>
1230
-
1231
-
1232
- <!-- repetitive comment
1233
- =========================================================== -->
1234
-
1235
- <div data-template-id="iComment-existing-comment" class="iComment-existing-comment iComment-body">
1236
-
1237
-
1238
- <div class="body">
1239
-
1240
-
1241
- <div class="info">
1242
- <div class="author-name">Anonymous</div>
1243
- <span class="date"></span>
1244
- <span class="votes">
1245
- <span class="score"></span>
1246
- </span>
1247
- </div>
1248
-
1249
-
1250
- <div class="text"></div>
1251
-
1252
-
1253
- <div class="editor">
1254
- <textarea></textarea>
1255
- <div class="buttons">
1256
- <button class="iComment-save-btn" data-inline="true">Save</button>
1257
- <button class="iComment-discard-btn secondary" data-inline="true">Cancel</button>
1258
- </div>
1259
- </div>
1260
-
1261
-
1262
- <div class="delete">
1263
- <div class="center">
1264
- <strong>Really delete this comment?</strong>
1265
- <div class="buttons">
1266
- <button class="iComment-yes-btn" data-inline="true">Yes</button>
1267
- <button class="iComment-nope-btn secondary" data-inline="true">No</button>
1268
- </div>
1269
- </div>
1270
- </div>
1271
-
1272
- </div>
1273
-
1274
- <div class="author">
1275
- <a class="author-url" href="#"><img class="author-avatar" src="images/avatar-default.png" /></a>
1276
- </div>
1277
-
1278
-
1279
- <div class="operations">
1280
- <span class="operation vote icon up-vote" title="Up-vote"></span>
1281
- <span class="operation icon edit" title="Edit"></span>
1282
- <span class="operation icon delete" title="Delete"></span>
1283
- </div>
1284
-
1285
- </div>
1286
-
1287
- </div>
1288
-
1289
-
1290
- <!-- END: Templates to be included in the HTML page -->
1291
-
1292
-
1293
-
1294
- <script src="/js/dropdown.js" type="text/javascript"></script>
1295
-
1296
- <script type="text/javascript">
1297
- $( '#nav li:has(ul)' ).doubleTapToGo(); <!-- DROPDOWN MENU -->
1298
- </script>
1299
-
1300
- </body>
1301
- </html>