rails_auth 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1067) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +39 -0
  3. data/Rakefile +38 -0
  4. data/app/assets/config/rails_auth_manifest.js +2 -0
  5. data/app/assets/javascripts/controllers/rails_auth_admin/users/index.js +18 -0
  6. data/app/assets/javascripts/controllers/rails_auth_my/users/edit.js +20 -0
  7. data/app/assets/javascripts/controllers/rails_auth_my/users/edit.ready.js +4 -0
  8. data/app/assets/javascripts/controllers/rails_auth_web/join/new_mobile.js +4 -0
  9. data/app/assets/stylesheets/controllers/rails_auth_web/login/new.css +4 -0
  10. data/app/assets/stylesheets/controllers/rails_auth_web/password/new.css +4 -0
  11. data/app/controllers/concerns/rails_auth_api.rb +59 -0
  12. data/app/controllers/concerns/rails_auth_controller.rb +46 -0
  13. data/app/controllers/rails_auth_admin/base_controller.rb +5 -0
  14. data/app/controllers/rails_auth_admin/oauth_users_controller.rb +33 -0
  15. data/app/controllers/rails_auth_admin/users_controller.rb +61 -0
  16. data/app/controllers/rails_auth_api/base_controller.rb +11 -0
  17. data/app/controllers/rails_auth_api/join_controller.rb +105 -0
  18. data/app/controllers/rails_auth_api/login_controller.rb +28 -0
  19. data/app/controllers/rails_auth_api/mes_controller.rb +25 -0
  20. data/app/controllers/rails_auth_api/oauth_users_controller.rb +19 -0
  21. data/app/controllers/the_auth_my/base_controller.rb +4 -0
  22. data/app/controllers/the_auth_my/oauth_users_controller.rb +66 -0
  23. data/app/controllers/the_auth_my/users_controller.rb +64 -0
  24. data/app/controllers/the_auth_web/base_controller.rb +13 -0
  25. data/app/controllers/the_auth_web/confirm_controller.rb +21 -0
  26. data/app/controllers/the_auth_web/join_controller.rb +69 -0
  27. data/app/controllers/the_auth_web/login_controller.rb +53 -0
  28. data/app/controllers/the_auth_web/password_controller.rb +41 -0
  29. data/app/mailers/user_mailer.rb +15 -0
  30. data/app/models/rails_auth/concerns/facebook_helper.rb +14 -0
  31. data/app/models/rails_auth/concerns/jwt_token.rb +27 -0
  32. data/app/models/rails_auth/concerns/rails_auth_user.rb +106 -0
  33. data/app/models/rails_auth/concerns/verify_helper.rb +32 -0
  34. data/app/models/rails_auth/oauth_user.rb +27 -0
  35. data/app/models/rails_auth/verify_token.rb +25 -0
  36. data/app/models/rails_auth/verify_tokens/access_token.rb +9 -0
  37. data/app/models/rails_auth/verify_tokens/confirm_token.rb +9 -0
  38. data/app/models/rails_auth/verify_tokens/email_token.rb +22 -0
  39. data/app/models/rails_auth/verify_tokens/mobile_token.rb +29 -0
  40. data/app/models/rails_auth/verify_tokens/reset_token.rb +9 -0
  41. data/app/views/layouts/rails_auth_web/base.html.erb +32 -0
  42. data/app/views/rails_auth_admin/base/_nav_role.html.erb +5 -0
  43. data/app/views/rails_auth_admin/oauth_users/_search_form.html.erb +10 -0
  44. data/app/views/rails_auth_admin/oauth_users/index.html.erb +44 -0
  45. data/app/views/rails_auth_admin/users/_form.html.erb +10 -0
  46. data/app/views/rails_auth_admin/users/_nav_show.html.erb +8 -0
  47. data/app/views/rails_auth_admin/users/_search_form.html.erb +10 -0
  48. data/app/views/rails_auth_admin/users/edit.html.erb +13 -0
  49. data/app/views/rails_auth_admin/users/index.html.erb +68 -0
  50. data/app/views/rails_auth_admin/users/new.html.erb +13 -0
  51. data/app/views/rails_auth_admin/users/show.html.erb +12 -0
  52. data/app/views/rails_auth_my/oauth_users/index.html.erb +32 -0
  53. data/app/views/rails_auth_my/oauth_users/show.html.erb +3 -0
  54. data/app/views/rails_auth_my/users/edit.html.erb +55 -0
  55. data/app/views/rails_auth_my/users/show.html.erb +37 -0
  56. data/app/views/rails_auth_my/users/show.js.erb +2 -0
  57. data/app/views/rails_auth_my/users/update.js.erb +0 -0
  58. data/app/views/rails_auth_web/base/_footer.html.erb +12 -0
  59. data/app/views/rails_auth_web/base/_navbar.html.erb +34 -0
  60. data/app/views/rails_auth_web/confirm/confirm.html.erb +9 -0
  61. data/app/views/rails_auth_web/join/_form.html.erb +7 -0
  62. data/app/views/rails_auth_web/join/_new.html.erb +22 -0
  63. data/app/views/rails_auth_web/join/create.js.erb +0 -0
  64. data/app/views/rails_auth_web/join/new.html.erb +10 -0
  65. data/app/views/rails_auth_web/join/new.js.erb +7 -0
  66. data/app/views/rails_auth_web/join/new_mobile.html.erb +24 -0
  67. data/app/views/rails_auth_web/join/unlock.html.erb +12 -0
  68. data/app/views/rails_auth_web/login/_form.html.erb +16 -0
  69. data/app/views/rails_auth_web/login/_new.html.erb +27 -0
  70. data/app/views/rails_auth_web/login/create.js.erb +17 -0
  71. data/app/views/rails_auth_web/login/new.html+phone.erb +15 -0
  72. data/app/views/rails_auth_web/login/new.html.erb +10 -0
  73. data/app/views/rails_auth_web/login/new.js.erb +16 -0
  74. data/app/views/rails_auth_web/password/create.html.erb +8 -0
  75. data/app/views/rails_auth_web/password/edit.html.erb +11 -0
  76. data/app/views/rails_auth_web/password/edit_error.html.erb +7 -0
  77. data/app/views/rails_auth_web/password/new.html.erb +7 -0
  78. data/app/views/user_mailer/confirmation_instructions.html.erb +5 -0
  79. data/app/views/user_mailer/password_reset.html.erb +11 -0
  80. data/app/views/user_mailer/unlock_instructions.html.erb +7 -0
  81. data/config/locales/en.yml +11 -0
  82. data/config/locales/zh.yml +4 -0
  83. data/config/routes.rb +56 -0
  84. data/db/migrate/20170518023400_the_auth_init.rb +32 -0
  85. data/db/migrate/20170614071849_create_oauth_users.rb +17 -0
  86. data/lib/rails_auth/config.rb +14 -0
  87. data/lib/rails_auth/engine.rb +25 -0
  88. data/lib/rails_auth/version.rb +3 -0
  89. data/lib/rails_auth.rb +3 -0
  90. data/test/controllers/the_auth_my/oauth_users_controller_test.rb +48 -0
  91. data/test/controllers/the_auth_my/users_controller_test.rb +48 -0
  92. data/test/controllers/the_auth_web/join_controller_test.rb +21 -0
  93. data/test/dummy/README.md +9 -0
  94. data/test/dummy/Rakefile +6 -0
  95. data/test/dummy/app/assets/config/manifest.js +3 -0
  96. data/test/dummy/app/assets/javascripts/application.js +2 -0
  97. data/test/dummy/app/assets/javascripts/cable.js +13 -0
  98. data/test/dummy/app/assets/stylesheets/application.css +5 -0
  99. data/test/dummy/app/channels/application_cable/channel.rb +4 -0
  100. data/test/dummy/app/channels/application_cable/connection.rb +4 -0
  101. data/test/dummy/app/controllers/admin/base_controller.rb +7 -0
  102. data/test/dummy/app/controllers/application_controller.rb +3 -0
  103. data/test/dummy/app/controllers/home_controller.rb +11 -0
  104. data/test/dummy/app/controllers/my/base_controller.rb +7 -0
  105. data/test/dummy/app/helpers/application_helper.rb +2 -0
  106. data/test/dummy/app/jobs/application_job.rb +2 -0
  107. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  108. data/test/dummy/app/models/application_record.rb +3 -0
  109. data/test/dummy/app/models/user.rb +4 -0
  110. data/test/dummy/app/views/layouts/_navbar.html.erb +7 -0
  111. data/test/dummy/app/views/layouts/_right_menu.html.erb +4 -0
  112. data/test/dummy/app/views/layouts/application.html.erb +19 -0
  113. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  114. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  115. data/test/dummy/bin/bundle +3 -0
  116. data/test/dummy/bin/rails +4 -0
  117. data/test/dummy/bin/rake +4 -0
  118. data/test/dummy/bin/setup +34 -0
  119. data/test/dummy/bin/update +29 -0
  120. data/test/dummy/config/application.rb +14 -0
  121. data/test/dummy/config/boot.rb +5 -0
  122. data/test/dummy/config/cable.yml +9 -0
  123. data/test/dummy/config/database.yml +12 -0
  124. data/test/dummy/config/database.yml.mysql +14 -0
  125. data/test/dummy/config/database.yml.sqlite3 +12 -0
  126. data/test/dummy/config/environment.rb +5 -0
  127. data/test/dummy/config/environments/development.rb +54 -0
  128. data/test/dummy/config/environments/production.rb +86 -0
  129. data/test/dummy/config/environments/test.rb +44 -0
  130. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  131. data/test/dummy/config/initializers/assets.rb +6 -0
  132. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  133. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  134. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  135. data/test/dummy/config/initializers/inflections.rb +16 -0
  136. data/test/dummy/config/initializers/mime_types.rb +4 -0
  137. data/test/dummy/config/initializers/new_framework_defaults.rb +18 -0
  138. data/test/dummy/config/initializers/session_store.rb +3 -0
  139. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  140. data/test/dummy/config/locales/en.yml +23 -0
  141. data/test/dummy/config/puma.rb +47 -0
  142. data/test/dummy/config/routes.rb +6 -0
  143. data/test/dummy/config/secrets.yml +22 -0
  144. data/test/dummy/config/spring.rb +6 -0
  145. data/test/dummy/config/storage.yml +3 -0
  146. data/test/dummy/config.ru +5 -0
  147. data/test/dummy/db/migrate/20180525090830_create_active_storage_tables.active_storage.rb +26 -0
  148. data/test/dummy/db/migrate/20180916100159_create_users.rb +8 -0
  149. data/test/dummy/db/schema.rb +81 -0
  150. data/test/dummy/db/test.sqlite3 +0 -0
  151. data/test/dummy/log/development.log +2512 -0
  152. data/test/dummy/log/test.log +1574 -0
  153. data/test/dummy/node_modules/jquery/AUTHORS.txt +313 -0
  154. data/test/dummy/node_modules/jquery/LICENSE.txt +36 -0
  155. data/test/dummy/node_modules/jquery/README.md +67 -0
  156. data/test/dummy/node_modules/jquery/bower.json +14 -0
  157. data/test/dummy/node_modules/jquery/dist/core.js +399 -0
  158. data/test/dummy/node_modules/jquery/dist/jquery.js +10364 -0
  159. data/test/dummy/node_modules/jquery/dist/jquery.min.js +2 -0
  160. data/test/dummy/node_modules/jquery/dist/jquery.min.map +1 -0
  161. data/test/dummy/node_modules/jquery/dist/jquery.slim.js +8269 -0
  162. data/test/dummy/node_modules/jquery/dist/jquery.slim.min.js +2 -0
  163. data/test/dummy/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  164. data/test/dummy/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  165. data/test/dummy/node_modules/jquery/external/sizzle/dist/sizzle.js +2272 -0
  166. data/test/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  167. data/test/dummy/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  168. data/test/dummy/node_modules/jquery/package.json +108 -0
  169. data/test/dummy/node_modules/jquery/src/ajax/jsonp.js +103 -0
  170. data/test/dummy/node_modules/jquery/src/ajax/load.js +77 -0
  171. data/test/dummy/node_modules/jquery/src/ajax/parseXML.js +30 -0
  172. data/test/dummy/node_modules/jquery/src/ajax/script.js +77 -0
  173. data/test/dummy/node_modules/jquery/src/ajax/var/location.js +5 -0
  174. data/test/dummy/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  175. data/test/dummy/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  176. data/test/dummy/node_modules/jquery/src/ajax/xhr.js +170 -0
  177. data/test/dummy/node_modules/jquery/src/ajax.js +856 -0
  178. data/test/dummy/node_modules/jquery/src/attributes/attr.js +141 -0
  179. data/test/dummy/node_modules/jquery/src/attributes/classes.js +186 -0
  180. data/test/dummy/node_modules/jquery/src/attributes/prop.js +143 -0
  181. data/test/dummy/node_modules/jquery/src/attributes/support.js +33 -0
  182. data/test/dummy/node_modules/jquery/src/attributes/val.js +191 -0
  183. data/test/dummy/node_modules/jquery/src/attributes.js +13 -0
  184. data/test/dummy/node_modules/jquery/src/callbacks.js +236 -0
  185. data/test/dummy/node_modules/jquery/src/core/DOMEval.js +30 -0
  186. data/test/dummy/node_modules/jquery/src/core/access.js +72 -0
  187. data/test/dummy/node_modules/jquery/src/core/camelCase.js +23 -0
  188. data/test/dummy/node_modules/jquery/src/core/init.js +129 -0
  189. data/test/dummy/node_modules/jquery/src/core/nodeName.js +13 -0
  190. data/test/dummy/node_modules/jquery/src/core/parseHTML.js +65 -0
  191. data/test/dummy/node_modules/jquery/src/core/ready-no-deferred.js +97 -0
  192. data/test/dummy/node_modules/jquery/src/core/ready.js +86 -0
  193. data/test/dummy/node_modules/jquery/src/core/readyException.js +13 -0
  194. data/test/dummy/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  195. data/test/dummy/node_modules/jquery/src/core/support.js +20 -0
  196. data/test/dummy/node_modules/jquery/src/core/toType.js +20 -0
  197. data/test/dummy/node_modules/jquery/src/core/var/rsingleTag.js +6 -0
  198. data/test/dummy/node_modules/jquery/src/core.js +399 -0
  199. data/test/dummy/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  200. data/test/dummy/node_modules/jquery/src/css/adjustCSS.js +73 -0
  201. data/test/dummy/node_modules/jquery/src/css/curCSS.js +65 -0
  202. data/test/dummy/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  203. data/test/dummy/node_modules/jquery/src/css/showHide.js +105 -0
  204. data/test/dummy/node_modules/jquery/src/css/support.js +102 -0
  205. data/test/dummy/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  206. data/test/dummy/node_modules/jquery/src/css/var/getStyles.js +17 -0
  207. data/test/dummy/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  208. data/test/dummy/node_modules/jquery/src/css/var/rboxStyle.js +7 -0
  209. data/test/dummy/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  210. data/test/dummy/node_modules/jquery/src/css/var/swap.js +26 -0
  211. data/test/dummy/node_modules/jquery/src/css.js +481 -0
  212. data/test/dummy/node_modules/jquery/src/data/Data.js +162 -0
  213. data/test/dummy/node_modules/jquery/src/data/var/acceptData.js +19 -0
  214. data/test/dummy/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  215. data/test/dummy/node_modules/jquery/src/data/var/dataUser.js +7 -0
  216. data/test/dummy/node_modules/jquery/src/data.js +180 -0
  217. data/test/dummy/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  218. data/test/dummy/node_modules/jquery/src/deferred.js +399 -0
  219. data/test/dummy/node_modules/jquery/src/deprecated.js +98 -0
  220. data/test/dummy/node_modules/jquery/src/dimensions.js +57 -0
  221. data/test/dummy/node_modules/jquery/src/effects/Tween.js +123 -0
  222. data/test/dummy/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  223. data/test/dummy/node_modules/jquery/src/effects.js +702 -0
  224. data/test/dummy/node_modules/jquery/src/event/ajax.js +22 -0
  225. data/test/dummy/node_modules/jquery/src/event/alias.js +29 -0
  226. data/test/dummy/node_modules/jquery/src/event/focusin.js +55 -0
  227. data/test/dummy/node_modules/jquery/src/event/support.js +11 -0
  228. data/test/dummy/node_modules/jquery/src/event/trigger.js +199 -0
  229. data/test/dummy/node_modules/jquery/src/event.js +748 -0
  230. data/test/dummy/node_modules/jquery/src/exports/amd.js +26 -0
  231. data/test/dummy/node_modules/jquery/src/exports/global.js +34 -0
  232. data/test/dummy/node_modules/jquery/src/jquery.js +40 -0
  233. data/test/dummy/node_modules/jquery/src/manipulation/_evalUrl.js +23 -0
  234. data/test/dummy/node_modules/jquery/src/manipulation/buildFragment.js +105 -0
  235. data/test/dummy/node_modules/jquery/src/manipulation/getAll.js +32 -0
  236. data/test/dummy/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  237. data/test/dummy/node_modules/jquery/src/manipulation/support.js +35 -0
  238. data/test/dummy/node_modules/jquery/src/manipulation/var/rcheckableType.js +5 -0
  239. data/test/dummy/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  240. data/test/dummy/node_modules/jquery/src/manipulation/var/rtagName.js +5 -0
  241. data/test/dummy/node_modules/jquery/src/manipulation/wrapMap.js +29 -0
  242. data/test/dummy/node_modules/jquery/src/manipulation.js +486 -0
  243. data/test/dummy/node_modules/jquery/src/offset.js +233 -0
  244. data/test/dummy/node_modules/jquery/src/queue/delay.js +24 -0
  245. data/test/dummy/node_modules/jquery/src/queue.js +145 -0
  246. data/test/dummy/node_modules/jquery/src/selector-native.js +237 -0
  247. data/test/dummy/node_modules/jquery/src/selector-sizzle.js +19 -0
  248. data/test/dummy/node_modules/jquery/src/selector.js +3 -0
  249. data/test/dummy/node_modules/jquery/src/serialize.js +132 -0
  250. data/test/dummy/node_modules/jquery/src/traversing/findFilter.js +97 -0
  251. data/test/dummy/node_modules/jquery/src/traversing/var/dir.js +22 -0
  252. data/test/dummy/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  253. data/test/dummy/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  254. data/test/dummy/node_modules/jquery/src/traversing.js +191 -0
  255. data/test/dummy/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  256. data/test/dummy/node_modules/jquery/src/var/arr.js +5 -0
  257. data/test/dummy/node_modules/jquery/src/var/class2type.js +6 -0
  258. data/test/dummy/node_modules/jquery/src/var/concat.js +7 -0
  259. data/test/dummy/node_modules/jquery/src/var/document.js +5 -0
  260. data/test/dummy/node_modules/jquery/src/var/documentElement.js +7 -0
  261. data/test/dummy/node_modules/jquery/src/var/fnToString.js +7 -0
  262. data/test/dummy/node_modules/jquery/src/var/getProto.js +5 -0
  263. data/test/dummy/node_modules/jquery/src/var/hasOwn.js +7 -0
  264. data/test/dummy/node_modules/jquery/src/var/indexOf.js +7 -0
  265. data/test/dummy/node_modules/jquery/src/var/isFunction.js +13 -0
  266. data/test/dummy/node_modules/jquery/src/var/isWindow.js +8 -0
  267. data/test/dummy/node_modules/jquery/src/var/pnum.js +5 -0
  268. data/test/dummy/node_modules/jquery/src/var/push.js +7 -0
  269. data/test/dummy/node_modules/jquery/src/var/rcssNum.js +9 -0
  270. data/test/dummy/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  271. data/test/dummy/node_modules/jquery/src/var/slice.js +7 -0
  272. data/test/dummy/node_modules/jquery/src/var/support.js +6 -0
  273. data/test/dummy/node_modules/jquery/src/var/toString.js +7 -0
  274. data/test/dummy/node_modules/jquery/src/wrap.js +78 -0
  275. data/test/dummy/node_modules/turbolinks/CHANGELOG.md +3 -0
  276. data/test/dummy/node_modules/turbolinks/LICENSE +20 -0
  277. data/test/dummy/node_modules/turbolinks/README.md +558 -0
  278. data/test/dummy/node_modules/turbolinks/dist/turbolinks.js +6 -0
  279. data/test/dummy/node_modules/turbolinks/package.json +28 -0
  280. data/test/dummy/node_modules/turbolinks/src/turbolinks/BANNER.js.erb +4 -0
  281. data/test/dummy/node_modules/turbolinks/src/turbolinks/VERSION +1 -0
  282. data/test/dummy/node_modules/turbolinks/src/turbolinks/browser_adapter.coffee +60 -0
  283. data/test/dummy/node_modules/turbolinks/src/turbolinks/compatibility.coffee +30 -0
  284. data/test/dummy/node_modules/turbolinks/src/turbolinks/controller.coffee +244 -0
  285. data/test/dummy/node_modules/turbolinks/src/turbolinks/error_renderer.coffee +27 -0
  286. data/test/dummy/node_modules/turbolinks/src/turbolinks/head_details.coffee +68 -0
  287. data/test/dummy/node_modules/turbolinks/src/turbolinks/helpers.coffee +74 -0
  288. data/test/dummy/node_modules/turbolinks/src/turbolinks/history.coffee +48 -0
  289. data/test/dummy/node_modules/turbolinks/src/turbolinks/http_request.coffee +88 -0
  290. data/test/dummy/node_modules/turbolinks/src/turbolinks/index.coffee +22 -0
  291. data/test/dummy/node_modules/turbolinks/src/turbolinks/location.coffee +70 -0
  292. data/test/dummy/node_modules/turbolinks/src/turbolinks/progress_bar.coffee +83 -0
  293. data/test/dummy/node_modules/turbolinks/src/turbolinks/renderer.coffee +28 -0
  294. data/test/dummy/node_modules/turbolinks/src/turbolinks/script_warning.coffee +16 -0
  295. data/test/dummy/node_modules/turbolinks/src/turbolinks/scroll_manager.coffee +28 -0
  296. data/test/dummy/node_modules/turbolinks/src/turbolinks/snapshot.coffee +65 -0
  297. data/test/dummy/node_modules/turbolinks/src/turbolinks/snapshot_cache.coffee +43 -0
  298. data/test/dummy/node_modules/turbolinks/src/turbolinks/snapshot_renderer.coffee +104 -0
  299. data/test/dummy/node_modules/turbolinks/src/turbolinks/start.coffee +18 -0
  300. data/test/dummy/node_modules/turbolinks/src/turbolinks/view.coffee +37 -0
  301. data/test/dummy/node_modules/turbolinks/src/turbolinks/visit.coffee +162 -0
  302. data/test/dummy/node_modules/yougexiangfa_ui/404.html +1 -0
  303. data/test/dummy/node_modules/yougexiangfa_ui/CNAME +1 -0
  304. data/test/dummy/node_modules/yougexiangfa_ui/Gemfile +7 -0
  305. data/test/dummy/node_modules/yougexiangfa_ui/Gemfile.lock +79 -0
  306. data/test/dummy/node_modules/yougexiangfa_ui/LICENSE +674 -0
  307. data/test/dummy/node_modules/yougexiangfa_ui/README.md +29 -0
  308. data/test/dummy/node_modules/yougexiangfa_ui/_config.yml +33 -0
  309. data/test/dummy/node_modules/yougexiangfa_ui/_includes/categorie_list.html +11 -0
  310. data/test/dummy/node_modules/yougexiangfa_ui/_includes/categories_list.html +18 -0
  311. data/test/dummy/node_modules/yougexiangfa_ui/_includes/footer.html +8 -0
  312. data/test/dummy/node_modules/yougexiangfa_ui/_includes/nav.html +16 -0
  313. data/test/dummy/node_modules/yougexiangfa_ui/_includes/pages_list.html +39 -0
  314. data/test/dummy/node_modules/yougexiangfa_ui/_includes/side_bar.html +10 -0
  315. data/test/dummy/node_modules/yougexiangfa_ui/_includes/sidenav.html +17 -0
  316. data/test/dummy/node_modules/yougexiangfa_ui/_includes/sidenav_collection.html +17 -0
  317. data/test/dummy/node_modules/yougexiangfa_ui/_includes/sidenav_example.html +14 -0
  318. data/test/dummy/node_modules/yougexiangfa_ui/_includes/sidenav_js.html +13 -0
  319. data/test/dummy/node_modules/yougexiangfa_ui/_includes/tags_list.html +26 -0
  320. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/about.html +28 -0
  321. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/blog.html +33 -0
  322. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/category.html +10 -0
  323. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/collection.html +17 -0
  324. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/default.html +21 -0
  325. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/example.html +18 -0
  326. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/module.html +17 -0
  327. data/test/dummy/node_modules/yougexiangfa_ui/_layouts/post.html +21 -0
  328. data/test/dummy/node_modules/yougexiangfa_ui/_plugins/debug.rb +38 -0
  329. data/test/dummy/node_modules/yougexiangfa_ui/_plugins/lessjs.rb +30 -0
  330. data/test/dummy/node_modules/yougexiangfa_ui/_plugins/url.rb +11 -0
  331. data/test/dummy/node_modules/yougexiangfa_ui/_posts/2013-05-28-3-vacuous-topics.md +72 -0
  332. data/test/dummy/node_modules/yougexiangfa_ui/_posts/git/2014-09-14-git-skill-ignore.md +92 -0
  333. data/test/dummy/node_modules/yougexiangfa_ui/_posts/git/2014-12-21-remove-git-history.md +53 -0
  334. data/test/dummy/node_modules/yougexiangfa_ui/_posts/git/2014-12-7-git-sheet.md +45 -0
  335. data/test/dummy/node_modules/yougexiangfa_ui/_posts/git/ssh-agent-config.md +49 -0
  336. data/test/dummy/node_modules/yougexiangfa_ui/_posts/linux/2017-05-17-nginx.md +36 -0
  337. data/test/dummy/node_modules/yougexiangfa_ui/_posts/linux/2018-01-23-nginx/351/205/215/347/275/256/347/244/272/344/276/213.md +57 -0
  338. data/test/dummy/node_modules/yougexiangfa_ui/_posts/linux/2018-03-24-linux/345/270/270/347/224/250/345/221/275/344/273/244.md +36 -0
  339. data/test/dummy/node_modules/yougexiangfa_ui/_posts/one-work//347/220/206/345/277/265.md +18 -0
  340. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-08-20-rack-based-app-boot.md +36 -0
  341. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-08-21-ruby/347/216/257/345/242/203.md +68 -0
  342. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-08-22-how-to-write-rakefile.md +56 -0
  343. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-09-17-migrate-from-mongodb-to-mysql.md +47 -0
  344. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-09-27-activesupport-message-verifier.md +60 -0
  345. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-10-12-ruby-serialize.md +69 -0
  346. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-10-19-rails-middleware.md +60 -0
  347. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-10-26-research-ruby.md +40 -0
  348. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-11-16-ruby-code-and-decode.md +37 -0
  349. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-11-24-mysql-sheet.md +38 -0
  350. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-11-25-ruby-require.md +127 -0
  351. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-12-14-ruby-observer-pattern.md +80 -0
  352. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-12-28-rescue-exception.md +44 -0
  353. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2014-12-31-linux-ready.md +11 -0
  354. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-01-07-socket-basic.md +110 -0
  355. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-01-25-rails-request.md +105 -0
  356. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-02-01-activesupport-notifications.md +46 -0
  357. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-02-04-activesupport-notifications-2.md +103 -0
  358. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-02-04-activesupport-notifications-3.md +48 -0
  359. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-03-01-object-space.md +66 -0
  360. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-03-08-ruby-module-position.md +54 -0
  361. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-03-15-web-and-sales.md +46 -0
  362. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-03-22-return-break-next.md +104 -0
  363. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-03-27-trace-point.md +58 -0
  364. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2015-04-12-file-dir-pathname.md +42 -0
  365. data/test/dummy/node_modules/yougexiangfa_ui/_posts/ruby/2018-05-05-eql.md +36 -0
  366. data/test/dummy/node_modules/yougexiangfa_ui/_posts//344/272/247/345/223/201/2014-08-21-how-to-classify-better.md +33 -0
  367. data/test/dummy/node_modules/yougexiangfa_ui/_posts//344/272/247/345/223/201/2015-07-17-programer-think-with-product.md +48 -0
  368. data/test/dummy/node_modules/yougexiangfa_ui/_posts//345/205/263/344/272/216/346/210/221/344/273/254/2017-05-17-group-wenhua.md +19 -0
  369. data/test/dummy/node_modules/yougexiangfa_ui/_posts//345/216/237/345/210/231.md +11 -0
  370. data/test/dummy/node_modules/yougexiangfa_ui/_posts//345/267/245/345/205/267/2016-4-11-ipsec.md +79 -0
  371. data/test/dummy/node_modules/yougexiangfa_ui/_posts//346/212/200/346/234/257/351/203/250/351/227/250/347/256/241/347/220/206/345/217/212/346/262/237/351/200/232.md +41 -0
  372. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/237/346/264/273/2013-05-28-vacuous-topics.md +72 -0
  373. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/237/346/264/273/2015-04-04-what-is-pleaure.md +9 -0
  374. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2013-06-06-10-persuade.md +32 -0
  375. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2013-06-06-11-a-better-web1.md +35 -0
  376. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2013-06-06-12-a-better-web.md +31 -0
  377. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2013-06-06-6-the-coming-e-business.md +70 -0
  378. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2013-06-06-8-howto-keep-users.md +21 -0
  379. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2013-06-07-14-why-do-b2c-self.md +36 -0
  380. data/test/dummy/node_modules/yougexiangfa_ui/_posts//347/224/265/345/255/220/345/225/206/345/212/241/2017-05-17-why-build-website.md +74 -0
  381. data/test/dummy/node_modules/yougexiangfa_ui/about.html +15 -0
  382. data/test/dummy/node_modules/yougexiangfa_ui/assets/semantic.less +53 -0
  383. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/breadcrumb.overrides +3 -0
  384. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/breadcrumb.variables +3 -0
  385. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/form.overrides +37 -0
  386. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/form.variables +1 -0
  387. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/grid.overrides +3 -0
  388. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/grid.variables +3 -0
  389. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/menu.overrides +23 -0
  390. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/menu.variables +1 -0
  391. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/message.overrides +3 -0
  392. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/message.variables +3 -0
  393. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/table.overrides +12 -0
  394. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/collections/table.variables +3 -0
  395. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/button.overrides +3 -0
  396. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/button.variables +1 -0
  397. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/container.overrides +3 -0
  398. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/container.variables +3 -0
  399. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/divider.overrides +3 -0
  400. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/divider.variables +3 -0
  401. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/flag.overrides +3 -0
  402. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/flag.variables +3 -0
  403. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/header.overrides +3 -0
  404. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/header.variables +3 -0
  405. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/icon.overrides +3 -0
  406. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/icon.variables +3 -0
  407. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/image.overrides +3 -0
  408. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/image.variables +3 -0
  409. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/input.overrides +3 -0
  410. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/input.variables +3 -0
  411. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/label.overrides +3 -0
  412. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/label.variables +3 -0
  413. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/list.overrides +3 -0
  414. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/list.variables +3 -0
  415. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/loader.overrides +3 -0
  416. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/loader.variables +3 -0
  417. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/rail.overrides +3 -0
  418. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/rail.variables +3 -0
  419. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/reveal.overrides +3 -0
  420. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/reveal.variables +3 -0
  421. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/segment.overrides +7 -0
  422. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/segment.variables +3 -0
  423. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/step.overrides +9 -0
  424. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/elements/step.variables +3 -0
  425. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/globals/reset.overrides +33 -0
  426. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/globals/reset.variables +3 -0
  427. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/globals/site.overrides +88 -0
  428. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/globals/site.variables +4 -0
  429. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/accordion.overrides +3 -0
  430. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/accordion.variables +3 -0
  431. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/chatroom.overrides +3 -0
  432. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/chatroom.variables +3 -0
  433. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/checkbox.overrides +3 -0
  434. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/checkbox.variables +3 -0
  435. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/dimmer.overrides +3 -0
  436. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/dimmer.variables +3 -0
  437. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/dropdown.overrides +3 -0
  438. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/dropdown.variables +0 -0
  439. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/embed.overrides +3 -0
  440. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/embed.variables +0 -0
  441. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/modal.overrides +3 -0
  442. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/modal.variables +3 -0
  443. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/nag.overrides +3 -0
  444. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/nag.variables +3 -0
  445. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/popup.overrides +3 -0
  446. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/popup.variables +3 -0
  447. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/progress.overrides +3 -0
  448. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/progress.variables +3 -0
  449. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/rating.overrides +3 -0
  450. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/rating.variables +3 -0
  451. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/search.overrides +3 -0
  452. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/search.variables +3 -0
  453. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/shape.overrides +3 -0
  454. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/shape.variables +3 -0
  455. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/sidebar.overrides +3 -0
  456. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/sidebar.variables +3 -0
  457. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/sticky.overrides +3 -0
  458. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/sticky.variables +3 -0
  459. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/tab.overrides +3 -0
  460. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/tab.variables +3 -0
  461. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/transition.overrides +3 -0
  462. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/modules/transition.variables +3 -0
  463. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/ad.overrides +3 -0
  464. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/ad.variables +3 -0
  465. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/card.overrides +3 -0
  466. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/card.variables +3 -0
  467. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/comment.overrides +3 -0
  468. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/comment.variables +3 -0
  469. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/feed.overrides +3 -0
  470. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/feed.variables +3 -0
  471. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/item.overrides +44 -0
  472. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/item.variables +2 -0
  473. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/statistic.overrides +3 -0
  474. data/test/dummy/node_modules/yougexiangfa_ui/assets/site/views/statistic.variables +3 -0
  475. data/test/dummy/node_modules/yougexiangfa_ui/assets/theme.config +62 -0
  476. data/test/dummy/node_modules/yougexiangfa_ui/assets/theme.less +27 -0
  477. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/brand-icons.eot +0 -0
  478. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/brand-icons.svg +1008 -0
  479. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/brand-icons.ttf +0 -0
  480. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/brand-icons.woff +0 -0
  481. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  482. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/icons.eot +0 -0
  483. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/icons.otf +0 -0
  484. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/icons.svg +1518 -0
  485. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/icons.ttf +0 -0
  486. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/icons.woff +0 -0
  487. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/icons.woff2 +0 -0
  488. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/outline-icons.eot +0 -0
  489. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/outline-icons.svg +366 -0
  490. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/outline-icons.ttf +0 -0
  491. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/outline-icons.woff +0 -0
  492. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  493. data/test/dummy/node_modules/yougexiangfa_ui/assets/themes/default/assets/images/flags.png +0 -0
  494. data/test/dummy/node_modules/yougexiangfa_ui/category.html +4 -0
  495. data/test/dummy/node_modules/yougexiangfa_ui/dist/favicon.ico +0 -0
  496. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/avatar/famale.jpg +0 -0
  497. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/avatar/male.jpg +0 -0
  498. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/avatar/nan.jpg +0 -0
  499. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/avatar/tom.jpg +0 -0
  500. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/centered-paragraph.png +0 -0
  501. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/image-square.png +0 -0
  502. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/image-text.png +0 -0
  503. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/image.png +0 -0
  504. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/media-paragraph-alt.png +0 -0
  505. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/media-paragraph.png +0 -0
  506. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/paragraph.png +0 -0
  507. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/short-paragraph.png +0 -0
  508. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/square-image.png +0 -0
  509. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/text-image.png +0 -0
  510. data/test/dummy/node_modules/yougexiangfa_ui/dist/images/wireframe/white-image.png +0 -0
  511. data/test/dummy/node_modules/yougexiangfa_ui/dist/javascripts/footer.js +40 -0
  512. data/test/dummy/node_modules/yougexiangfa_ui/dist/javascripts/jquery.min.js +4 -0
  513. data/test/dummy/node_modules/yougexiangfa_ui/dist/javascripts/semantic.js +11 -0
  514. data/test/dummy/node_modules/yougexiangfa_ui/dist/javascripts/turbolinks.js +6 -0
  515. data/test/dummy/node_modules/yougexiangfa_ui/dist/stylesheets/semantic.css +21147 -0
  516. data/test/dummy/node_modules/yougexiangfa_ui/dist/stylesheets/syntax.css +60 -0
  517. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/breadcrumb.html +78 -0
  518. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/card.html +249 -0
  519. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/form.html +264 -0
  520. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/grid.html +55 -0
  521. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/item.html +113 -0
  522. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/menu.html +117 -0
  523. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/message.html +120 -0
  524. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections/table.html +426 -0
  525. data/test/dummy/node_modules/yougexiangfa_ui/examples/collections.html +4 -0
  526. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/button.html +163 -0
  527. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/divider.html +88 -0
  528. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/header.html +38 -0
  529. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/image.html +40 -0
  530. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/input.html +101 -0
  531. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/label.html +286 -0
  532. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/loader.html +18 -0
  533. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/segment.html +169 -0
  534. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/site.html +40 -0
  535. data/test/dummy/node_modules/yougexiangfa_ui/examples/elements/step.html +201 -0
  536. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/admin.html +445 -0
  537. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/am.html +321 -0
  538. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/archives.html +687 -0
  539. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/attached.html +348 -0
  540. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/bootstrap.html +428 -0
  541. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/clientFiles.html +650 -0
  542. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/collectionManagement.html +220 -0
  543. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/customerDistribution.html +190 -0
  544. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/enquiry.html +176 -0
  545. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/fixed.html +92 -0
  546. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/grid.html +317 -0
  547. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/homepage.html +147 -0
  548. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/index.html +4 -0
  549. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/invoice-print.html +108 -0
  550. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/leads.html +403 -0
  551. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/login.html +39 -0
  552. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/myTask.html +160 -0
  553. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/order.html +210 -0
  554. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/orderDetails.html +241 -0
  555. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/poManagement.html +168 -0
  556. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/quotation.html +330 -0
  557. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/responsive.html +674 -0
  558. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/sticky.html +115 -0
  559. data/test/dummy/node_modules/yougexiangfa_ui/examples/examples/verification.html +228 -0
  560. data/test/dummy/node_modules/yougexiangfa_ui/examples/index.md +13 -0
  561. data/test/dummy/node_modules/yougexiangfa_ui/examples/modules/accordion.html +116 -0
  562. data/test/dummy/node_modules/yougexiangfa_ui/examples/modules/modal.html +89 -0
  563. data/test/dummy/node_modules/yougexiangfa_ui/examples/modules/popup.html +48 -0
  564. data/test/dummy/node_modules/yougexiangfa_ui/examples/modules/search.html +33 -0
  565. data/test/dummy/node_modules/yougexiangfa_ui/examples/modules.html +4 -0
  566. data/test/dummy/node_modules/yougexiangfa_ui/index.html +20 -0
  567. data/test/dummy/node_modules/yougexiangfa_ui/package.json +26 -0
  568. data/test/dummy/node_modules/yougexiangfa_ui/postcss.config.js +42 -0
  569. data/test/dummy/node_modules/yougexiangfa_ui/postcss.json +18 -0
  570. data/test/dummy/node_modules/yougexiangfa_ui/yarn.lock +3605 -0
  571. data/test/dummy/package.json +7 -0
  572. data/test/dummy/public/404.html +67 -0
  573. data/test/dummy/public/422.html +67 -0
  574. data/test/dummy/public/500.html +66 -0
  575. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  576. data/test/dummy/public/apple-touch-icon.png +0 -0
  577. data/test/dummy/public/favicon.ico +0 -0
  578. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-M/-MkEXK0qHwpu1hAhaFD1TPJsRSrZGlbrXZ8Jf2xDhZg.cache +1 -0
  579. data/test/dummy/tmp/cache/assets/sprockets/v3.0/06/067Joj_N0JJvxTXsmHbENplZY5Pl94SYRUamc0cUxfc.cache +1 -0
  580. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0q/0qC4YsbJvF6X2X_XrpAP-ItFgfq8t8Mebh_bkKVYplo.cache +1 -0
  581. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0s/0sh1kxIWXp8tHKrhjON4zAsdienBBmvcL7A4Te6k83w.cache +0 -0
  582. data/test/dummy/tmp/cache/assets/sprockets/v3.0/10/10pE1b83xlNyVJ8lwtbU6qNOd1ooWfnkMXa-2QZKjsE.cache +1 -0
  583. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1L/1L0EvxEF85lQVCRcfxJaogkVXXdc9jRQ9b2CSmIk3QA.cache +1 -0
  584. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1M/1M1-Koy2UtUc6vmO2zH0yQoPamVO_yTDdUYxHAjE-Kw.cache +3 -0
  585. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1b/1bBQw6uREDRzPWfFwx5ztKhd2sWeOx2a_JBqAyUHoU4.cache +3 -0
  586. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1r/1rAmdS0RwJ7Y8fvSMuFmGaP4NEyyv3YSTBeXRl5h5qQ.cache +2 -0
  587. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1r/1ruYmBsnOcoQfLK2ZJ374pOpHWTAwWCculvLMqyEP_k.cache +0 -0
  588. data/test/dummy/tmp/cache/assets/sprockets/v3.0/1t/1tZENCdbD18Absj5VJT3jnNKckUM-YbinCHsfsXNTUQ.cache +0 -0
  589. data/test/dummy/tmp/cache/assets/sprockets/v3.0/2O/2O_t58eG-Ff5oWLoL_5Ndn9jw2QscQKK4pKmgSZWbtw.cache +0 -0
  590. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3m/3mV4EKCOSssf7xk_fU0wELZBwd0woDATazbRzmhMjdQ.cache +0 -0
  591. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3p/3peAGjQgdpgKKMfzWSxIr-pIIs_b_xMmv9wy7kGSIIM.cache +1 -0
  592. data/test/dummy/tmp/cache/assets/sprockets/v3.0/3t/3tYk_T8haIzrDjJXh81kY4ybamHx6XJlQU2puIgwqnQ.cache +0 -0
  593. data/test/dummy/tmp/cache/assets/sprockets/v3.0/46/46UkV-60OA-H_1AKnSISXMgBUW3-dR-W1bft6FtbIN8.cache +0 -0
  594. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4Z/4ZIgv7vDbVHIIgrzxYL2poHHQB64Mr7G49xG6HBNua8.cache +1 -0
  595. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4m/4mRmCUjkMrERSGbDr097x9JNGK6i7uw8rqsoUq8SA78.cache +0 -0
  596. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4w/4wFWSVKelaxWSHtZ5J3RxAwk6hv8XEhZ3lXsti9laFc.cache +0 -0
  597. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5O/5O2twjpLzmTXnnycA-OkvFAIPe-LnCqmMufzuKi_uCU.cache +3 -0
  598. data/test/dummy/tmp/cache/assets/sprockets/v3.0/65/65tMd-uwkfzBh9h1fX87ck145YCkeDb6IlK_2FK_NJQ.cache +2 -0
  599. data/test/dummy/tmp/cache/assets/sprockets/v3.0/66/66ob78vB1kvmBnpsCTA3TCqpR4gJOgMWxO5-LKJcCIg.cache +1 -0
  600. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6P/6PNtC7LiuNb8zChuSCbXt8hIFXbLy3rzhnWF3kXUs78.cache +1 -0
  601. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6b/6bll8f2cMtMFF70TozSoCW5fgCSr6FFefsg_6Tte94o.cache +0 -0
  602. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6y/6yvoSXerqKRjKi_FI7GO_8tREv5SOVYu37mVS_T7xiQ.cache +1 -0
  603. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7b/7b6uxXhXhqw0gC9uuIIO8KYexdZ5oG6q-zVuFH1Iq7w.cache +0 -0
  604. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7f/7f6yYPXhb0iZicPQ863koC6UsxpkAus_Nfgy1aunDkk.cache +4 -0
  605. data/test/dummy/tmp/cache/assets/sprockets/v3.0/7h/7h7oPxo15-xFCTKW6UUIy-034OXkCrniKNDRu-MeoDI.cache +0 -0
  606. data/test/dummy/tmp/cache/assets/sprockets/v3.0/85/85p0pjnHCIFmiB_yCgyiELiuj3AFIrQDjJrtJYeh64I.cache +1 -0
  607. data/test/dummy/tmp/cache/assets/sprockets/v3.0/87/87vQIpovqz4PhewWJvwSqsC1xV8RmtL6-eykbMOyUjE.cache +0 -0
  608. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8H/8HD51CuRLpqXLgq4F0MMpYBMfRrIrL-LE96eDDqMsWw.cache +1 -0
  609. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8k/8khqGAqyDaP4POrc7VmcKrc4uRzuIqKpnsyLP7lVHEk.cache +0 -0
  610. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8p/8pL09DfkGBglTpmm1vFAYm9ketP4gkmYl92zFrI9rw0.cache +0 -0
  611. data/test/dummy/tmp/cache/assets/sprockets/v3.0/94/94Y7SGknBIM4nTlVPrz_dPJmfqC1MPLJhBLrSDlOlHc.cache +0 -0
  612. data/test/dummy/tmp/cache/assets/sprockets/v3.0/99/99_kKH2j9N0WXjLl08Pb14qvelAYeKQF36X3ZwFOLIc.cache +2 -0
  613. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9Z/9ZuY06Jg-JPXrBDARk6U8SNFcH8lWh7l_dQuqDIQyok.cache +1 -0
  614. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9b/9b-UtUPzC6Vd99L-mVFGSYPL6Vbcp75zVIktSoxDqxs.cache +0 -0
  615. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9l/9ljCgq4RN7_r_qyROJAeZur971xFTWu3RKeylKpNBA0.cache +1 -0
  616. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9u/9uoXc_A1D9KX284lQ6RUjIrGrgQDzaGWdnCNvWybGQg.cache +1 -0
  617. data/test/dummy/tmp/cache/assets/sprockets/v3.0/A6/A6Kj2CcF5QEDIq0pw2Gzz3GTAsEwrFrm-ShYX1k6ljk.cache +1 -0
  618. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AH/AHDoQuKdfS4eJi0TeJyte_kdZ9q2LGpD73j3mXlrWJc.cache +1 -0
  619. data/test/dummy/tmp/cache/assets/sprockets/v3.0/AV/AVRzuC3oKwV5S2p0KecGs-VlZlVyjifP2UVzfi3Yl5o.cache +1 -0
  620. data/test/dummy/tmp/cache/assets/sprockets/v3.0/B8/B89c51UbCE49-vu62dirRUKsPy4ufy6nPnp1dc2TUiM.cache +0 -0
  621. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BI/BIw_9hg6oq6Xji_PyvJ_6oqqGpVQ9yMdf5M3Q9c5-LY.cache +1 -0
  622. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bo/Bog5NkVzBTCYEqzG4Q8Ube-twNtemBSEZ_3_lPbNrnk.cache +1 -0
  623. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bz/BzTn6SQBGSpPItsTi-UV-bZPGChETJpQDM94NOuwH4E.cache +0 -0
  624. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Bz/BztZMhOx_59J4miS3L9-k3LrUntg8NnjuwSB5X7nKRs.cache +1 -0
  625. data/test/dummy/tmp/cache/assets/sprockets/v3.0/CQ/CQSWGMWEMAxvbagcOPIIhDAAGMiGfy1Kn3IMVOBkOsA.cache +0 -0
  626. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ca/CAgKkgED0Ke7iiTUUgscUqdRfbXMLHurOMwn1o85eN0.cache +0 -0
  627. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ca/CaWHFI_lzzG9wP5bJRRUejLCE7wdGnjYXRxNl_W45l0.cache +1 -0
  628. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cg/CgoZ2hoi4rMGlBpJw5rJVF53BEph0gZxlnGi_RqKQqo.cache +1 -0
  629. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dc/Dc-XG8jrPZf4bAegLX1NIT2hCGcpV5qxtA6RFdNQWxE.cache +1 -0
  630. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dj/DjUbVgnKr0Txipx6bU8olkWMVfsGrJ-UQxU953xB_Wc.cache +0 -0
  631. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ES/ESSr4GgDhxy88ErCbfdxNO37d0poaSukweRbWRyB8CI.cache +2 -0
  632. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ES/ESUnmaEESyPlQJTFjGWflgOBAsI_xg2LH2LpUIutOPA.cache +1 -0
  633. data/test/dummy/tmp/cache/assets/sprockets/v3.0/El/ElpgrpUMFIwxclK_CFWpc1cg8Lombab2C-921bCJD84.cache +1 -0
  634. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F5/F5lpCVuHGaSaZoWY2_J0NKRd2Gw41bEqOKA1LF3ry0c.cache +1 -0
  635. data/test/dummy/tmp/cache/assets/sprockets/v3.0/F9/F9FKuW692ATt4c7riTXW92QHc4ynjucfnwnUptnB5AA.cache +1 -0
  636. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FH/FHMWTWz3orG_HNZRqNr3EV7-Z-kkFidD5Zc0jnqW4u0.cache +1 -0
  637. data/test/dummy/tmp/cache/assets/sprockets/v3.0/FT/FTgGOe0gH_EVsjGGSIyjNrtSviKpkNLQ_RUURlHkLXE.cache +1 -0
  638. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fg/Fg-U1JnPxKFpLo6k3BizLXcseJI1-Rfy_FQXc70kERw.cache +0 -0
  639. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fs/Fs17Nxsqrsw8zo0bSvGkrFOTUnK5wr84EPrl8abbQT4.cache +1 -0
  640. data/test/dummy/tmp/cache/assets/sprockets/v3.0/G1/G1hJ9O7IdXxxpoqly4nGipJR6GNhbOkbh-ridZM8Dj0.cache +0 -0
  641. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hd/HdF6QSBTv5ZPQFZIVzWqXS0rDbLnuHzkwjMjiTMrg4M.cache +0 -0
  642. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hd/hDayQD51ZeNrIUxwB3ajBeWEoKjv3XC2jqu2DsVjJeA.cache +0 -0
  643. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hq/Hqn8waDsoK4Un2uguvvnKf9IO9CpW60FHy2ICqpNqes.cache +1 -0
  644. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hs/HsnzfshPRl6cEqE8FY9GV5xmiGRCCbFCRNT8E4q0MvQ.cache +1 -0
  645. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hu/HuYYpPOCNiAHWYD5J-XdUzjNV-OO7TkLOKosVP0kW5w.cache +0 -0
  646. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ID/IDuDPxel9WMdxbBOa2KDYjmWK7UMrO-F3ePsjiGQ8dA.cache +1 -0
  647. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IH/IHNU4L2hDW8MimRnv-z4407N9pNdjTKW7SMSh6BGGSk.cache +0 -0
  648. data/test/dummy/tmp/cache/assets/sprockets/v3.0/IP/IPB4tPpXnRI0EHtbcDlQPy7U5ueQzYaMG6TEaW118QY.cache +0 -0
  649. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Il/IlPq-0v9CRnv5i4h6S6Q11jWvx7pxlwZUELW4oW1AII.cache +0 -0
  650. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Il/il2UQMfN6yjxjlDHICUxki3I4fCOklUZUEZRPRWKYcg.cache +0 -0
  651. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Io/Io1waBaeVXr-bLO7IDdunIrPJAfqxODuysh67UQJ-pU.cache +0 -0
  652. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Io/ioHeIlJyeUpIDpVZbASRqgmnPBf2219LofFk0iyk1mw.cache +1 -0
  653. data/test/dummy/tmp/cache/assets/sprockets/v3.0/J-/J-MFMmHRrqE6Jqm0iGwDHY4kqywfY-nBtEWsFtZ_qOY.cache +2 -0
  654. data/test/dummy/tmp/cache/assets/sprockets/v3.0/J0/J04LdCnlf749JZClOZeZ1i07EKWvUPUEQfS-45_EBIM.cache +3 -0
  655. data/test/dummy/tmp/cache/assets/sprockets/v3.0/JG/JGB01igQ1TXyDvUUXUw7PRQa4km76xXqtERtVaV1XPg.cache +0 -0
  656. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jz/Jz5b_8XOQzceOIkO-mhQrvhFLe5wJbKxtWzXl9os4_0.cache +0 -0
  657. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KF/KFNhns8LkpTF1ixdjKCt2j4Wjt534cEaRFPuJHoW_l0.cache +1 -0
  658. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Kj/Kj9K12g5cbKrta5fyLbbXR4h3OiT_kVplt-5sAyRdds.cache +1 -0
  659. data/test/dummy/tmp/cache/assets/sprockets/v3.0/L8/L8b8aIpoSB3il8Pro0hGs3xA4sncnbx8vJN1pH0sUQo.cache +0 -0
  660. data/test/dummy/tmp/cache/assets/sprockets/v3.0/L8/L8m1rXgccp0BGS0z7H4H_OvHYszEQvBYwG5LbuNTyKY.cache +1 -0
  661. data/test/dummy/tmp/cache/assets/sprockets/v3.0/LT/LTqlN8HxEHKRv3SUUBaEcZp3DlTvcEKj2krGx63Cd_Q.cache +0 -0
  662. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ll/LlTIjtC2JsIkG64DpVPJvrl3y997HRD3cWKAo3M5kwY.cache +2 -0
  663. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lm/Lm3qPpO2_YPD8lIcW2ULyjJJq-M3iFDQv9dZN2p7fpA.cache +1 -0
  664. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MF/MFLDq4URM0StVh9cW19udcxbc41t4hsNnRK1tF6yTKo.cache +0 -0
  665. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MH/MHzDtMVlH1Pud_QxNIUKKiSZ8nYt4s0BeTRCUxNcE_c.cache +1 -0
  666. data/test/dummy/tmp/cache/assets/sprockets/v3.0/MY/MY1LgL2CoUPw305YxcCg20mg5CuC_xkqU40RM6unkeY.cache +0 -0
  667. data/test/dummy/tmp/cache/assets/sprockets/v3.0/NG/NGkmu_ZEj05vRRKGCXGTZLfao2zK9ThV3mJyaC1LG2k.cache +2 -0
  668. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ne/NeXkmfJL6svXKb3L9aP7fsZIj11CkwiENiAuZVeJsq4.cache +1 -0
  669. data/test/dummy/tmp/cache/assets/sprockets/v3.0/No/NoRCh4kHXad8ryvSNBmK2aDTgPmWbL3920JgYqMM0K8.cache +1 -0
  670. data/test/dummy/tmp/cache/assets/sprockets/v3.0/No/Nouo16MJbE6g4NXKuc7sfv97gHF3nFxZJNECzVV5lqQ.cache +0 -0
  671. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nz/Nz1ttFmSfftC_0gq0CdAtwDoqeEBiyUm3Ws5Fa4a9PM.cache +0 -0
  672. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Nz/nZ44PA8R-Bw0YDxlHydm9ir461Qk0ipTV-DBWJT3Nho.cache +0 -0
  673. data/test/dummy/tmp/cache/assets/sprockets/v3.0/O8/O8x6MmsR7JcKzWGbxIKMoE8ny7e8AXpYjwh0_p2BDsM.cache +2 -0
  674. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OV/OVW5bQtyUZ6FveK0ltULiWg4gWuOiRweNjcMV2Ix5I0.cache +1 -0
  675. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Oo/OoX1HEhvrOxnHNyfKpQKbBsVk4MKuxcgHZJ50sqNI9g.cache +1 -0
  676. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pn/PnkZz8Zmj7fd97jotMG5uAYj5tkdTQ8OtkNFQaTupEs.cache +1 -0
  677. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pn/pnQ2iX7EWFsckgSofkoGmd90_8uTAJAMuvBS2LMcJMg.cache +1 -0
  678. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Q2/Q2eMbHuImKddX2slL6xJ19cCBCG7NLxLFffbASae7oA.cache +2 -0
  679. data/test/dummy/tmp/cache/assets/sprockets/v3.0/QQ/QQLW_e8aRcc37CB9X6LpuNeTiHlHcuPYUn7vMzmnEVU.cache +1 -0
  680. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qd/Qd-dbbmKyx0er-F_mzfPvdCoWC7zVvA5GFccGQeswzI.cache +0 -0
  681. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qf/Qf_I2G-h3kZQX5oY8WP8qOTKahChnTsvfTAeW7Gl58M.cache +0 -0
  682. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qk/QkVYMPqu1kVMignVM2gGnMFkGm0J1290aCY43ChxGEQ.cache +3 -0
  683. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qp/QpIyRNYUTNnNpEGFFL6YbY2xAT6bHSXhQOAmk2W1rgk.cache +1 -0
  684. data/test/dummy/tmp/cache/assets/sprockets/v3.0/R5/R53eX6dKpCERhgKeR8BPX_A4EIL76NzRgOUoJuT-97k.cache +1 -0
  685. data/test/dummy/tmp/cache/assets/sprockets/v3.0/R9/R9UMd3wpOQ5qgdI3f8EfAs9zHG-N0mfbqoG5IOZUN1c.cache +1 -0
  686. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RE/REw_3N5MZ9zxTWBsYrK_udxWv4FkuCncWPrPdGXWL_w.cache +1 -0
  687. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RS/RSbZ5TDIFhrRR1Rq9ye9MKSNil5Co0Du5xLzo-53t0I.cache +1 -0
  688. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RX/RXtaxVxvIKpaTD-YvU2AOB8Asot-joXtjWDBI2QM_0g.cache +1 -0
  689. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RZ/RZCGZEJr8lekWZWk4xjDcNYg8f6h_YYbbW73Q9j3br0.cache +1 -0
  690. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rd/RdFBcncTpZwnUf7AZyLCsMUXiOp78p3VSJmpIAgkIlk.cache +0 -0
  691. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rd/rDaje5nLkUcfI5krh3bE5UKwgyGxScLDkqNAP6TuKvc.cache +1 -0
  692. data/test/dummy/tmp/cache/assets/sprockets/v3.0/S_/S_fAHR48DRK3X1bYg-IuUQWH8hdmmOZkPV6gIKIEg_8.cache +1 -0
  693. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sc/ScXmTwCt-3jcOwaqs_wrdte5UT_4Xu_gXZJU38T-rOA.cache +0 -0
  694. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Se/Sepj5qdky8MeilZJTigfYY5_rDHh0ND8yK7TitQfNb8.cache +0 -0
  695. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sp/SpfyYHc-b8L2JwBOZ71Rg2gphDzy05coKgi_D1udzkc.cache +0 -0
  696. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TG/TGbsCVu85g_VAE2vaz-DSBqmmXfqRHfynVDfoHcDRTA.cache +0 -0
  697. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tf/Tf1NLvJLJLlGTWpnxaHpZD-z-axJtH9PtIBj0SGAFmw.cache +1 -0
  698. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tf/tf6-yepCHuVqX3y97OlqauFgMzY_CFaJMIFa-ojPylk.cache +1 -0
  699. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Th/Th6DJP_cxn1BFv2XnF2zzy4gw6q0jmmwzFlbmpIAYTc.cache +5 -0
  700. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tr/Tr7TcOVyfEQlyEMNbcd8eARVW2hLHnhZH_P8uGJZE_0.cache +0 -0
  701. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Um/Um4iZ2VxA4Pu9Rd3fFfdB1Sb0sWsrejIckslBMAUNDg.cache +0 -0
  702. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Um/UmvZiL6gVXlil8cO8ZZBt8qQwJqi2O9uO5yw212AAc4.cache +3 -0
  703. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ux/Ux43_p9wVXeESRS9yWZS66ki4vWckQZiG7og0U083Wg.cache +0 -0
  704. data/test/dummy/tmp/cache/assets/sprockets/v3.0/V3/V3h1gDfRjoafAoi43oG7K_jsDIoPgcMI4UaQaOHjw6g.cache +1 -0
  705. data/test/dummy/tmp/cache/assets/sprockets/v3.0/V5/V5O7JjRtAIvQX1NZyHqtGqWuooLHw8Qeu5igSUd-tqE.cache +1 -0
  706. data/test/dummy/tmp/cache/assets/sprockets/v3.0/V9/V9Hf7FDN8i3nwz9JWRTeLU8o5gvoA3m2CAE3unGj6Y0.cache +1 -0
  707. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VP/VPOCzpC_UV7ufOk79PTsRTYi3PfTpQyY-7t-ZFIgN18.cache +1 -0
  708. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VU/VUGK8LXcfk6uVPTikJz1zQYVPd6tshDg7CPHjWfSLjk.cache +0 -0
  709. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Vn/Vnx7_4fe33hE8e3ItntbuMPKWFi6FztqF7nZ1kejxjg.cache +1 -0
  710. data/test/dummy/tmp/cache/assets/sprockets/v3.0/WX/WXDYoEXUg7YGVdSzul5-rLfwn0dd0AZtcT--NXJ9MK4.cache +1 -0
  711. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wl/Wl9_LQjwcK1fhk0srRsv2XhLAWzgf-LVeKwotq1s2IE.cache +1 -0
  712. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xg/XgM1_T9by5VdoI54kNeYQXcebzV-wSf4Emx334pRuYw.cache +2 -0
  713. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Xg/XgcmB_gl-YJz7DJANeKH_x2TuYH7ZuKkUhMel-ujqYM.cache +0 -0
  714. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Y2/Y2OpVZIgeUO0Nc5wibYqXixtiRgAiJV0zcmzSPAm-dE.cache +1 -0
  715. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YH/YHXaDenxFt-ULk_Ya4ZVTTNNgzW5gbUf_ARHjsI2974.cache +1 -0
  716. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YR/YR5NHNobBFDgETuRBaQD7TRgijqLsuPUw_u9OLdxkPw.cache +1 -0
  717. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YX/YX0srnvlCYpB9F5i6xEuJB328jeEIw8wCceZOCOR-M0.cache +1 -0
  718. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YX/yXx4S0xorXR-I7eODEIU18e1IH60tD_ZlcHCMXyJMg8.cache +0 -0
  719. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yk/YksrckSnDmihvv6XedtFgJ0zdfrav-Cf6W65PHkLHCQ.cache +1 -0
  720. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yk/ykG_XFeUjo8slW-51gYtFWz1XDxfBKcbLFJ3G92md2k.cache +0 -0
  721. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yo/YoI2ymnUKI7WiMvxI70dCPov4GOg4eqTaDxXx2_oiKg.cache +0 -0
  722. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Yu/YukUy25MPtBFfrn9Bz9gb7-_6T1sLIaqhkrTYoDLy5w.cache +0 -0
  723. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z1/Z1oRDWrV3NLUUXEXsjvcd_ZtNrqnDIhx7vjSNQPHPMI.cache +1 -0
  724. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Z4/Z4330ElJAZ8WEhwpjDlRucV2bLAV-Qegb_Gl1Aox8EM.cache +0 -0
  725. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZC/ZCy6lupzZspa3NxNxutT8uqo-Q6I4O1u2Y-m2ydzQ5c.cache +5 -0
  726. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZG/ZGUTg_KCAG9DL6zfc30Lh4PqgYrrDIzvoY9We21nwqo.cache +0 -0
  727. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZJ/ZJYIdEU95UzZr_-4C2pc8JZM8wDItOcC9oPzNo9LA4k.cache +1 -0
  728. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZJ/zj_kxl94UEGescsAg8OMTdsjvhWxa99BesCc2QJOuWk.cache +1 -0
  729. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZM/ZMKPdJq2EkiNPeGU1_iBpaEz78BkfhBk2SQLmD9c4zI.cache +1 -0
  730. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZM/ZMYCw1Beuf2X9oSjlFTxDJiW0V6pl7ooqwrZgHMWExQ.cache +1 -0
  731. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zb/ZbC8kDDWqG1yE_tqBHW_ddmFJYbMs_TrockDs9FpD2w.cache +0 -0
  732. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zd/ZdRcv_1q3K73YYuM2P6FvylwyH6rNFutY9otH7Wj6Aw.cache +0 -0
  733. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zd/zd5AdPW1qPWYnXt3hsCakZ28-bZK1ElyGLW7l1lErb8.cache +1 -0
  734. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ze/ZeMAiijOdj_duDnxcsKXm7bxv6NTDsmR4cduAOyLtIE.cache +1 -0
  735. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ze/zeFYJ44_F50CtOkpxpQMt5FVtczrQX3bQy9V7bTXT5I.cache +1 -0
  736. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zf/ZfheBLXuaHl5Qw8n6CghKvhUktYCeTgrE48U5qB9zYg.cache +1 -0
  737. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zi/ZiBDN6oCO2hl-wfnEU7nEmdZ2CzH6zYyMYMRcmRwWCM.cache +1 -0
  738. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Zl/Zlkz1N9AAJ5c_uRYdqSPrpukVYbW3dJQdRWPCrXVN84.cache +0 -0
  739. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_8/_8-T9Nuzho7J9nuQLeuE1cS4ZzygnD4gjHUCu6Ki0_Y.cache +0 -0
  740. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_8/_8VjO38REmO_8c54lGssvNN4QE02NyPjlD0ksKkXffY.cache +2 -0
  741. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_A/_ACDSJFbKwQCGi1D8PfrFJfxyIBMW4ux9brB22_tAQc.cache +0 -0
  742. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_N/_N4TGRztKgSVX_lI6RUkHCQZgURXKVE4Xj8nTrjA94E.cache +2 -0
  743. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_S/_Ssbc6aeIEJqR5LiP34KVce78fDVpm4Gu1-0OZiZArc.cache +1 -0
  744. data/test/dummy/tmp/cache/assets/sprockets/v3.0/_X/_XCSPPPOaQfLAbE8DUJKlZLC3A0FmPQwr0kLPJEggu0.cache +1 -0
  745. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aB/aBiaOadikbonE73A_pT1FfOzxufO6ctwK4xdmyWGbF0.cache +1 -0
  746. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aD/aDVDTy-4GcdF95xchaQOv5tudXrE4VIhzBDufBUTsq0.cache +0 -0
  747. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aU/aULydCjq9WV3UdJdvIOPvaH6-_GsWHKFWe866ofTggs.cache +0 -0
  748. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ax/axQZtfiHvmG8kjv887C56dVBZUGCQ0m_h7b5MYGjO0U.cache +1 -0
  749. data/test/dummy/tmp/cache/assets/sprockets/v3.0/b-/b-m9u8yCxBEFRjA1AQXgRFT0r-xkOmF_ZnQTTGa6FjU.cache +1 -0
  750. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bQ/bQmmIoVu8L25M-mfFUu_bZfCjPBPz372GK4I3d-fsuU.cache +1 -0
  751. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bc/bcbT8as0OkdGGvC8SL32t61N2frn2bRPB8SLCJI2qBA.cache +0 -0
  752. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bk/bK5lpPuSbHOczT7k1UxStDz7PNZTKQqFUEWniOVmfQ8.cache +1 -0
  753. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bk/bk-fVRBLyDwTN38I_OeUBuucb7ab6KlF-g6W5l6YsyY.cache +1 -0
  754. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bn/bn2u8Gk-zWLgFpsm_0xEhdR_7NKWnlcy_gssvz6hSbE.cache +1 -0
  755. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bu/BU5BYFOtfh6_H7TFFFsq-_w-oQJFHwlEak-5Idd2GAg.cache +0 -0
  756. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bu/buGKMscDW1-jZVeeluKi2TI8e2aEKxsuG1tZAM4D0lk.cache +0 -0
  757. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bx/bx8mXM9T7dqgh3tVPajQwz1IDZ4SH634xOYjtcCfhZI.cache +0 -0
  758. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c-/c-pZDJ_2vxjTMSM33wupE0XubVHK0Pnmx3IHdXDjbT4.cache +0 -0
  759. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c7/c7-L3n_h8uim6DKKofwgqFXTDeAntEUJ0KOrVVBC-HI.cache +1 -0
  760. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cB/cBrZVOhbA_3bfAt5qy4SJPcVSRFPtdQ_SuvjQYrTeTE.cache +0 -0
  761. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cT/cTO6HWMiKlQ88IL378mSXcDpEKuN2bPSk9U72E9n3t0.cache +1 -0
  762. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cW/cW0P9OIEph7oQOP-Nv0v7k0trDIJb9-TXhGg2aOOdIs.cache +3 -0
  763. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cm/cmzw9N3auHrlY4vyAKTgJqmaFnkNA9ESpHHoykQ9U3A.cache +3 -0
  764. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cn/cN0xdRjo4XWBL_Ef0Rpi7A6qlu9WneXfuhOL10g9oyI.cache +2 -0
  765. data/test/dummy/tmp/cache/assets/sprockets/v3.0/cn/cnBP0oFgUkltvcUhTgXyr5QYDeCP7enrSUuV8KUEOiM.cache +0 -0
  766. data/test/dummy/tmp/cache/assets/sprockets/v3.0/d-/d-UkYxjG-4nDR6juaMtG6EhWph6YUEBN--6c3BIou1M.cache +1 -0
  767. data/test/dummy/tmp/cache/assets/sprockets/v3.0/dk/dkJSmZDOFwucYACocRIVRPljJpsYmw0MddqM4aV80Q8.cache +1 -0
  768. data/test/dummy/tmp/cache/assets/sprockets/v3.0/e-/e-lEALGLtHBBOrxttDCaBEpAvPotzMR0pjmCcSkbhr0.cache +0 -0
  769. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eJ/eJ7oiWhCPKuX8OGxnR53zVgDvZfJo08HevYwlQzvYuI.cache +3 -0
  770. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eY/eYN-nRBHw_mOYO7ScMK9wca70gcBtxdAmd4-dBDO1_E.cache +0 -0
  771. data/test/dummy/tmp/cache/assets/sprockets/v3.0/er/erxVyBQs1Te7WPzSapDTBht1xreb6HZjg97JVjZyoN0.cache +1 -0
  772. data/test/dummy/tmp/cache/assets/sprockets/v3.0/et/etDGBgjDY5YBEmXc-MYEImcLSteHn48xQCL395ifouA.cache +1 -0
  773. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ex/exDVCg8px2s9oU8Ng3yLh1mEI9CUDvnxniTSSwKk7qI.cache +1 -0
  774. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fB/fBdQN2Jl7w9lG-SgU944fjt7NU_WCYABQPGtrtwYP-Q.cache +0 -0
  775. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fN/fNVSg1rTLREsz0moQE0kQRe49nLW6yhuAEyJ0bMHDKg.cache +0 -0
  776. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fR/fRzcVciVDPPxkOJmdFTjCwPSTAEVTaWN2dOtQzJ3UuY.cache +1 -0
  777. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fV/fVoryFXpcTlqRAOaxVx0i-FM5vFJs7aHjCZs0stKHVg.cache +0 -0
  778. data/test/dummy/tmp/cache/assets/sprockets/v3.0/g2/g2Q5Cju1RKpdYQ-O9mJZaTxFEA_zrfuQtI7EGkNCtGQ.cache +1 -0
  779. data/test/dummy/tmp/cache/assets/sprockets/v3.0/g9/g9NAG18gDccQ7Cd-VVQM_eBpTL6_BdkUibQUUPZswDk.cache +0 -0
  780. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gI/gIdseODEGfRwmx_ouz2-FpFxDfERPkPKYuLoLqnmjAw.cache +1 -0
  781. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gV/gV_DJq1kGLlqKcZXYaRB0O3Jjv4oTcnUF4_MEIwzAQM.cache +0 -0
  782. data/test/dummy/tmp/cache/assets/sprockets/v3.0/h0/h0TzUNxPqG5-LSZ03y_sKGNTluktXuRvJMKkfD-NkgA.cache +1 -0
  783. data/test/dummy/tmp/cache/assets/sprockets/v3.0/h3/h3LUTjA5rXOTJF-WGpKw6uH3sV6fprJ02_knTOOzr0o.cache +0 -0
  784. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hO/hOPN3iMhPS55AlbWnB3_lt0Ml-9lO5NBvpHsseUfXzI.cache +1 -0
  785. data/test/dummy/tmp/cache/assets/sprockets/v3.0/he/heFwXy2MtYezl49pYwZHmemRcWq4NK4CBpaBuaz7Pyc.cache +1 -0
  786. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hl/hldSB0JIPew2zl-5vK96KRgc40IQVM716nzdiDfT2V8.cache +1 -0
  787. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hz/hzSPiTz8z5F0jFoScGlw_3jo--28w8f3uutr8Ft7dH4.cache +1 -0
  788. data/test/dummy/tmp/cache/assets/sprockets/v3.0/i-/i-vfittJWbHhszmrxPFC-c0w4vWxpY72XWZjq8bgMSs.cache +0 -0
  789. data/test/dummy/tmp/cache/assets/sprockets/v3.0/iE/iEzDDOmCkeXawHeny7_65LPtyWnI1UASUvjEdG8J6HA.cache +1 -0
  790. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ia/ia1P3cyQyeHAVhjkma5ZJfz7Dye8A3HotCUCFCBrOe0.cache +0 -0
  791. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ir/irXQsC_MTBbWvzZoQjPKeLbQrkH6on5K9v54zcuB6q4.cache +0 -0
  792. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j3/j3AtBCvTE6-t8NV-Z1zcPnJgzhXidy_sUNVmsZx8R5k.cache +0 -0
  793. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j4/j4t6pApdl3Uq-XyHD6oE4BztHkRjQ5wqUc-Jz4MRDyM.cache +2 -0
  794. data/test/dummy/tmp/cache/assets/sprockets/v3.0/j9/j9wUMM63eav4GHtex0btysItZA_ogkYHi0KunAhr9oE.cache +1 -0
  795. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jJ/jJA8pFSpkBxs5GqZg6IcF-uKOkymWki2t6J1tscEHRM.cache +0 -0
  796. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jR/jR8jsNuNdizf_RLUc8RiiYT0OEgPdhtGmaEeqbMG2SU.cache +0 -0
  797. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jV/jVSFco95Eg9mcOf2lqjINbDoumsnWqoRDR6eGfJyy8o.cache +0 -0
  798. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jY/jYJSBhmzr3HOfALbhZvNkshranGT2WWtlArUFHVUiEM.cache +0 -0
  799. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kI/kIVJsTCCCKIEPn6B7GlwMN8tZSFk4tjyZ8iWf9phlyY.cache +2 -0
  800. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lF/lFRQ_IJGALDl7VpTcemmYVITLHhZ-oZ6uwW2nCPm_aQ.cache +1 -0
  801. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lQ/lQhS5sutT_ix838J9l0Yoof0aocCSoGMITm-fg9pvt4.cache +0 -0
  802. data/test/dummy/tmp/cache/assets/sprockets/v3.0/li/liMDXE7v_K8hsOsDAbEvnzFWUcBzYGlLx2G4egedmoM.cache +1 -0
  803. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lj/lj7kfcn50dFxxkI_F0x4Hr04kBjneGJBzFo5uKiaZvE.cache +0 -0
  804. data/test/dummy/tmp/cache/assets/sprockets/v3.0/lw/lwezXs1L2P00-iJmBjHnSDs_MmYgG98G3l5texI0rGY.cache +1 -0
  805. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m7/m7TY9DVmPIqzSqje9jFwmShZNnuJImxfs9lfsrGyW3s.cache +1 -0
  806. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mI/mIRVKJyux1JVqft9XLv8vgBkVNS3TUB5tXjct7aMymk.cache +0 -0
  807. data/test/dummy/tmp/cache/assets/sprockets/v3.0/me/Me_MU5-33Fz2UnO3CDsvkt0qSZcVHsQj5aLl6-LPc50.cache +1 -0
  808. data/test/dummy/tmp/cache/assets/sprockets/v3.0/me/meoD-Ds4DPMYR8U5F989C97-RWDk82ijQtN2Jiukjeo.cache +1 -0
  809. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mz/mzBdVykCLK3VhiU3UnR5v8r9KRxFF-99kSWgR_OXfLs.cache +1 -0
  810. data/test/dummy/tmp/cache/assets/sprockets/v3.0/o4/o4Rbmfmj3Bk_98VTprxYY36wMK0VsDnI9qIrBki324Q.cache +1 -0
  811. data/test/dummy/tmp/cache/assets/sprockets/v3.0/oK/oKaQZZpTL8ZevvoV5MawRL3FqKhOt2Gln5TQqHRbYMo.cache +1 -0
  812. data/test/dummy/tmp/cache/assets/sprockets/v3.0/o_/o_Q2cvjHNFB017rfkS46z7LsMDFZeDlXzHLZuKQW5xI.cache +1 -0
  813. data/test/dummy/tmp/cache/assets/sprockets/v3.0/og/ogkubP8IrtoUJYpDwuUA4QC3A9P0wJrwoIDSeiDgE3U.cache +3 -0
  814. data/test/dummy/tmp/cache/assets/sprockets/v3.0/om/omCm_3DCdFxe1SuqGDx35cj50JxrKa6-eQ-6uR725wc.cache +0 -0
  815. data/test/dummy/tmp/cache/assets/sprockets/v3.0/p5/p5ydKKbvZuNz_1nJQ-ACW-atAHkEavzYReLkxT5wOk8.cache +1 -0
  816. data/test/dummy/tmp/cache/assets/sprockets/v3.0/p7/p7P9-K3ySa_n6euQhlelRVkHaeWWUPnDDv0Nkdq7trU.cache +0 -0
  817. data/test/dummy/tmp/cache/assets/sprockets/v3.0/p_/p_ltyim8ihaVfGFdLhgQ4oK-6RCSLKssWi6jZJR1Zyc.cache +0 -0
  818. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pg/pgcxvM0IelX3lvs-C083VsqciHSehoTCJKJYB-zx1lc.cache +1 -0
  819. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pl/plL4v6QZ_saK-o9SmIxcffCZWSdBhaQPfIgiKVKXbIQ.cache +0 -0
  820. data/test/dummy/tmp/cache/assets/sprockets/v3.0/q9/q9SRpHQNgz2dqTPRNRifYoJ0xjSBJOlef1XKidtgPOY.cache +0 -0
  821. data/test/dummy/tmp/cache/assets/sprockets/v3.0/qM/qMPjjnOmZnmet95cBLE1aog54LnVsdkXJ0HutmulfrY.cache +1 -0
  822. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ql/ql0AbEjKX04DZvMBealT-eqb3atiGtLBGGiS0fArUIk.cache +0 -0
  823. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r7/r7zBNyf6JLJNLzLj3ciC5MdsMk7mme29rC93ip-r-fQ.cache +1 -0
  824. data/test/dummy/tmp/cache/assets/sprockets/v3.0/s3/s37EH9gmSTWv1nImQd4nZlg-t-TJGQDlDZ3EX0N_8aA.cache +3 -0
  825. data/test/dummy/tmp/cache/assets/sprockets/v3.0/s8/s8uYoY9FQ5Zsex9LaC94WZW8nYiFtQiul-ktpB7K0MM.cache +0 -0
  826. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sL/sLPAiQd7QTe1ZeVqx5NYUM5huUAQBwpsnMN9Zc3f4No.cache +0 -0
  827. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sf/sfcsEK45xZumqTE1gcc_2yIgo37Ba-VpFzeusMacnXQ.cache +1 -0
  828. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sm/smapFFdC1LyjJhp_fPQd4yuNTUoKOHe8Zj85PIcku0k.cache +1 -0
  829. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sq/sq6OSAOZtaRvF3nq8tNZk6epLfLS9OvsaZtY8yexGfQ.cache +1 -0
  830. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t0/t0cstjFBNC3OJBhdATUle0q5AMH8S_INTMGVla0Dq7k.cache +0 -0
  831. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t2/t2lhYbTPCPFvtwQeJU5TWf8gDiPjfZbGC80sxYqygHE.cache +0 -0
  832. data/test/dummy/tmp/cache/assets/sprockets/v3.0/t9/t9R2-cR4hxqnQVVfB4X30lMdHJLMiUkeS6N7dYI6f0A.cache +1 -0
  833. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tA/tA3akHoInCqzQ53PMrTrMpCyopE2PGe8Z3yKfJlqEAo.cache +1 -0
  834. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tA/tASYsyuVbAkZIfhyUTQQw270pSqq7O0_RL-dkw34MbY.cache +1 -0
  835. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tN/tN9Q7Cy-vZOsSYsHWOTxcZIHGiDl4VMBI19sko0hM2s.cache +1 -0
  836. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ts/tsvFfMkzPABXkDtuaGEEd6HFxYhu1ua20IZ6v12GYLQ.cache +0 -0
  837. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tw/Twx_66_CNB76KlSBX3tUuvsHxsMnSvbIxvLxwJx330A.cache +0 -0
  838. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tw/tw0Sp5pTpHORktzzHpv45_RK1aTBzRlvb59VzutdQyA.cache +1 -0
  839. data/test/dummy/tmp/cache/assets/sprockets/v3.0/u4/u4tRy7KCMwlfVoAHKLlbeloVco6-dHjQuf93JG6ERHU.cache +0 -0
  840. data/test/dummy/tmp/cache/assets/sprockets/v3.0/u6/u6rD9OPVuVXvncXqYsapUWxjUnnVU0sxVis5OPTIxl4.cache +1 -0
  841. data/test/dummy/tmp/cache/assets/sprockets/v3.0/u9/u9_QmMLt6rCHpI5naUN3ANjOy6jbhtWJj_cKr8BMh50.cache +0 -0
  842. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uB/uBQqg7pISXBBYTUvCEpdxHhHemgFlkxUauT-7koHyOk.cache +0 -0
  843. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uR/uRZPol6sodI8ojAJNt_YuwNaep5cdYOYTuMli9hpJ48.cache +1 -0
  844. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ut/utoxKbBZnYI6P-w_Zi6oo4BptxcWNicL6gvWQcrmGUM.cache +1 -0
  845. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uy/uykVJqXSICUis2YvYiKZXg8CtY2vVnwaZrISnqnMYvc.cache +1 -0
  846. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uz/uzmX347dwenkAQFszo1V0dV1Cy4zZdnJRLJFMUM1clE.cache +0 -0
  847. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vI/vI1RooKd6it5rCV0ByLw_inChjzhKGLeL-uNsDdU7UI.cache +1 -0
  848. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vV/vVA0awgOSwWDRDoJ2ICIDBviV3tVpaJ9zbEBwwS0k5Y.cache +2 -0
  849. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vd/vdYcXh2j0mzlP6DYCfmXnt45jEG-s7y2cTM7PG2d6Os.cache +0 -0
  850. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vs/vs0bZ78LozN7mNpDLSRmJTak8OF81hlYdu_MKxHextw.cache +1 -0
  851. data/test/dummy/tmp/cache/assets/sprockets/v3.0/vs/vsJQIHfOQP9rwOQCr0Q7Ptt_7duMUbUaJTRQdbrEjLI.cache +2 -0
  852. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wQ/wQSs5mPFL5FDhpTzyJO1MrLG1ZUMj2Ihn9UdP5C4hoM.cache +1 -0
  853. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wy/wyom3yyC5EpXFKYGzGFaKYsFZ-_y0Reb6-XqcXy-g50.cache +3 -0
  854. data/test/dummy/tmp/cache/assets/sprockets/v3.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +0 -0
  855. data/test/dummy/tmp/cache/assets/sprockets/v3.0/x9/x9kYUMDsV4ARlVRhByYXKvXnVW_Ai3DojIUoiBODXa0.cache +0 -0
  856. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xl/xLoiUUOJ1ItWnIVScHfQatuY0RBHle2F3EqNDjDq_G4.cache +0 -0
  857. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xl/xl_vDYfpe05FsyufAxfJIhUlgwQTBgQHOx2gD-L-WDg.cache +0 -0
  858. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xq/xqUNjanZ9c9T3jcjPlNpCYOk_jiyCcvjnon2RB5izXc.cache +1 -0
  859. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ye/YeYo5la5d5htOE7Qlq1Zj9faHjQ48RazLw68H6kGltI.cache +0 -0
  860. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ye/ye7GRQsbivfcFBvgo9TNp8VDKvoGNBogpjsFnDEmzzA.cache +1 -0
  861. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yi/yiC6C0MvEv_omyb1l6g3ZdfnMOqjrU99ZQGQOZi825c.cache +0 -0
  862. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yj/yjG9gaQh_UFv3mGkdqnILnPEl8WM1xBTaz2P1jlPl0s.cache +0 -0
  863. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z0/z0-D43mSZX82L-Fr7uimjFbuZdPrYy2X83rQP5ns00E.cache +1 -0
  864. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zP/zPA0Rs-8ljm56_FFC8G6UG2W2hDWxG35Q19AnokNt0Q.cache +1 -0
  865. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zS/zSThYdCw9u8CXob5DBMZBKsSF0RdH44HiNvJLGnP_SQ.cache +0 -0
  866. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/-A/-A3Ndc4_jEm1yuTyYgWmGqZ9p3Whhw7yMyp-WGyUdc8.cache +0 -0
  867. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/-I/-Ip6yN20dIDfG-0sUQKNVSxEPpM7R-k5NANs_90fTbI.cache +1 -0
  868. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/-x/-x_JXC2N1oWpCNEPi1VbuEpzlzom9_WzDow9TtqkMLE.cache +1 -0
  869. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/0C/0CEki9udzRWAEENVlheNOVmlGbboKG83wvp8QTtF1FU.cache +1 -0
  870. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/12/12wXLQ-wo6IZ8M8Rb-hJiL2JbbHX1JiR6-T7I9NbEhM.cache +1 -0
  871. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1L/1L0EvxEF85lQVCRcfxJaogkVXXdc9jRQ9b2CSmIk3QA.cache +1 -0
  872. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1R/1R_QdAGrGMYB_N1nK8p0B9H30nWEgXc1Y7nsohKdZI8.cache +0 -0
  873. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1f/1f6JIDvPtmY5K4YykDEXmF8Gm-tTdEhp53KvCnWlFJA.cache +0 -0
  874. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/1k/1kCMdi7-qQMmhGRFi-KkDFJevRiQf4wInv-JdWeCxJo.cache +1 -0
  875. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2-/2-45kGxGtRe1p1Gx4ayluOe7a8ToI1Rrpf75RI_qufA.cache +0 -0
  876. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2-/2-OIwNgj9fdSDJMY5T_3lvlXc2vEmT0Gm26V90dXzo4.cache +1 -0
  877. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2C/2CGSZLxo50Yo7xekGIkJdMCqxxZIzr8CZxa_SloGn2Q.cache +0 -0
  878. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/2F/2FnGlDta3AeYaFVMqSCQG8tIjKD9HJbEcWJdnhsSZ58.cache +0 -0
  879. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4d/4d3R5YzN-EjlCkhlrChVn35lvb29_ICYV6AvCi8c90E.cache +1 -0
  880. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4n/4NyulnO47CtD1TzB_yc23D4cAiWmkQNcL102pDKXyQw.cache +1 -0
  881. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4n/4na_bZ_W0FEp5BK0iqiMKTTuGwrSzyNhXJBqrfyhNCw.cache +0 -0
  882. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/4u/4uOIqE5yiets3t9WSyq3AZBd0queIUYR_prWEdrf4FM.cache +1 -0
  883. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5K/5K3bukv7znJ1doFntv-4e0KlCiMDoRqcFhkKp44hpxE.cache +0 -0
  884. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5S/5SGIB5MJDLatRpAm0cRa9mBp0cZl0GIs2KTgZnV2ZM8.cache +1 -0
  885. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5b/5b7dx09SSfOyx3F5_T8fI1dLQ6OgdnEDbbzoh-4BFR8.cache +1 -0
  886. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5j/5j1FaxS1eYjd9gE5DPyCMnH9VktmvnFM-vwNjnlBIpM.cache +0 -0
  887. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5m/5mOTBDcbIKN9xR8PVP5FgN38MoXJu-rBlZ4tchECsAY.cache +1 -0
  888. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/5y/5yK7Hgu8XDoph_K8lllqYFaSRHKQBVJA4UJ_CyZwnck.cache +1 -0
  889. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/6-/6-ZeK-mGo0IUG7u20x9tw8CdWCwAC7L6Kv8Y-eF6MqU.cache +1 -0
  890. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/6e/6e1N70V7pJ2QM7cdXd0WSwGg85euTmrktTo4-97bvk0.cache +1 -0
  891. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/6l/6l3FVEIfvNEmafN5Y9xLR4NVyQ9MOJ7khyf5hiJqzps.cache +0 -0
  892. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/7U/7Uyq1vnnMKFaQZwiEOhmSt-SmeD2muq8FlU3VhLSuU8.cache +1 -0
  893. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/7X/7XmEoATBblIjulwscLBR7skbjNuRiudytexgRI-Ctb4.cache +0 -0
  894. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/80/80QxmJR_TOpnxFuvPfnw4qeHOhObQ7Wmcn3Zf85t6K0.cache +0 -0
  895. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/8B/8BdNVuFdQW-7YobRs-4Qp2oar9BSUsjGS6192bYrMhA.cache +0 -0
  896. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/8H/8HwPcynnpODYfJ2nKPPT7OD8nzZOVx2b0aQEjpW8jBU.cache +2 -0
  897. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/8S/8SMwC4Z0KuUfq3W7HvLeOrC40TmPXMJKWJ43viuIRko.cache +0 -0
  898. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/8r/8rXkBPAzkVArGkJq7LcwxN7-i6JhopVENg9RM2qstfU.cache +1 -0
  899. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/9A/9AmJ16EPc0JnA1dBPlg8XpKRnoYke_mWcPaj-TToMn0.cache +2 -0
  900. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/9Z/9ZMDITiX81kh2ughwDArZo9MgWF1FZELhhDcPtbUpX8.cache +1 -0
  901. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/9u/9uA5Qm2y6foBd1J5utYec4_N1JHnrDKbbMgqVJHqIys.cache +1 -0
  902. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/9u/9uB_o7s4BrmZ4WdlvMv6VwKFDThkiKZ7tNLKveyn0hg.cache +0 -0
  903. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/9w/9wMEBDfag9W8KSQKopLnNKbdY10o_XYQxgtEY8dHC1Q.cache +0 -0
  904. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/A9/A926RDKpxIyjtFz2Zylpad5MAKApVyEoerprfMvuHPw.cache +0 -0
  905. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/AV/AV2_gQKjpZ9yXp-mYKElAt5gkliRxzJe6ZIhLLaEvZk.cache +0 -0
  906. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/AZ/AZ29dubCiNi-8VLpPWnhOfZON9rv1ojYipOX-zaR3hM.cache +0 -0
  907. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ap/ApLGNMMP15BxvkgIPVhm7tMw1axx2FzalGhdCV1EKBM.cache +2 -0
  908. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ap/Apo4ys34yqctwCwVRfJ2JS-fsEdkRNibCyBc5Ngl_gY.cache +0 -0
  909. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/C1/C1E6V236N1Whw-EqjQhirNA0j1hDBnblbH8j3r1SPjU.cache +0 -0
  910. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/C1/C1prwfWjNAyD30jln1auOqr2KAvGUlf50avBhGyM7Mk.cache +0 -0
  911. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/C1/c1DW3OqWrHFML18sSmj5dxsZAVbdAit0DV_AA0VjwcA.cache +0 -0
  912. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/CC/CCwwOSHjS5eRE2aAZm23hBz3Zqy7a-IdFXYfM9r8nbU.cache +1 -0
  913. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/CJ/CJCRBUt_zD2Sn6R92m6-Z-BNdlth7JgeemMfEUz-X9I.cache +1 -0
  914. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/CQ/CQb3XoNJrPW1UQLYBQINMTHM2bnB7k0GcDGGhIJ2SWg.cache +0 -0
  915. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Cf/CfJy7x3UE7t4mWN5nhK2n-9ypZWL97HaGnIT-RUwbh4.cache +0 -0
  916. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/D0/D0bqzrsAzgLyBhvAw5YO6SPRvA16j2teMS5AWpBXoEM.cache +0 -0
  917. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/D5/D5RGNZxX1e0-6D5nRjDDebqzXLqjAssd5n1FwdzBhB0.cache +0 -0
  918. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/D7/D7T_eD1ZRv-NUeHewU8aLftQvUsX5jTWhCjJLqCjQ2s.cache +0 -0
  919. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/DO/DONZFB2OUukD_QJD_jzhfr9pZGN9au8mFOktMc1GEe8.cache +0 -0
  920. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Dl/DlViL8VKS9BoNAIQKaiXJZK21ZrE9vCKMsWgMfp_X-8.cache +0 -0
  921. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/FF/FFkmnWhcejN9KCs1CRGSkRjOFeEmzSf0gRK-Qa-yWXE.cache +1 -0
  922. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/FF/FflBwhFOFQz5ded02oDqtdLN_hY-yqBO3bJ7AVZJoRU.cache +0 -0
  923. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Fb/FbqNRpvViMelaH4_WougBHLejafwxmuCB7_NiW61BXI.cache +1 -0
  924. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Fi/FisBxgFTDmYllseRmMMhLBXSpmqQtLjEqVzs9NQSlEE.cache +0 -0
  925. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Gf/Gf8dpGF7Yb47kf1A4kFT_avnEcaW7KuRYViIlCpdf9U.cache +0 -0
  926. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Gi/GiFk2TU35799eLI1t407pcTL5FwwHYyEU97oUGMyt0s.cache +0 -0
  927. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/HG/HGeSZIJPZ7JYc1k1TcAdyeezwSYarD8NOCAkSPYcqE8.cache +1 -0
  928. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/HH/HHnoSbh-3sP-zIDszqlyPCeMcuBo6AlNPDGjr-AaDkY.cache +0 -0
  929. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Hi/Hi7VnLWK1qWcUTRp6PJxB3UtqJ8CXfw6ZfPxZlfaoqA.cache +3 -0
  930. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Hi/HiLAxAYSkm9IUF_TO0NSh0tqjHd1N5FUcgJGEao8QSw.cache +0 -0
  931. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ID/IDuDPxel9WMdxbBOa2KDYjmWK7UMrO-F3ePsjiGQ8dA.cache +1 -0
  932. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ID/iDJuSLTx6s5mgKYuqkMjlwKdX0b43iFznhv6mY-SouA.cache +0 -0
  933. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/IE/IERkTpNRMMpRJ6sph_D8H5lORzLq9B9ctXw1g6AQyDA.cache +0 -0
  934. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Jg/Jg9ixVMZ-n4hBjgiQo9lATXBXhlWQNR0pipSNoGKh1w.cache +1 -0
  935. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Jj/Jjg6oCBSp1SMLZAH6N7-QSfnGDAFGOemOT63jg2qkYM.cache +1 -0
  936. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Jj/jjjajfMvhkFQN4_cXQbi4sl7Q3Vd2qna9Pt8JjRRsvs.cache +0 -0
  937. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/K-/K-Gvrr685LWNTKWCKsBKUre9H1NxPb0_WM34weSc1UY.cache +1 -0
  938. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/K6/K6yH_yjZBvrJK3iXbPmBxV14l7jAMMx2FLUXYu57R4g.cache +0 -0
  939. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/KD/KDQM0lewlNlKvR6sUcWtKSTMqsABKjWMIHW97m9tz7U.cache +1 -0
  940. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/KO/KOCN2FgEmqnM61gA4f16eJBrqqQk82Sd2KFxLp0jKGg.cache +0 -0
  941. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/KT/KTi5eDjxLgMsY-tG7nbEZtfo3KfCUwJUaZ8T4QptOp8.cache +0 -0
  942. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Kw/KwaYTPXEB-OVIuFcpl1xKBZfn5jW1Oe4Aqx0xEl36ig.cache +0 -0
  943. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/MV/MVeKJ_f7auIdSQdb--yoRaHwqHfE0xyiMRZw_pD27fY.cache +0 -0
  944. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Md/MdQJEX39lIRy78_RcCpy81Z-Q-XBltcedLyZCXX6V0Q.cache +1 -0
  945. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/My/Myuze3S8di1KOdW5DRbGcDcnJXB6dqO80dTGD4RIVlQ.cache +1 -0
  946. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/N1/N15PHR_Khz6jvrDLjL5X-p3WKIBvBv5FBR-238Q5XzY.cache +0 -0
  947. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/NK/NKML0Izxq8UCD80eFVXlYp8HW32TUyonyarvw6FBIDI.cache +1 -0
  948. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/NP/NPAaTkz3DT34Ui315dT3mz-qLOa8EghKhbDLG9V8LaE.cache +0 -0
  949. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Na/NaxpKAvTF2U04xjybPJ7xru39PDt7SxF-gyswB9ggFM.cache +1 -0
  950. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Nn/Nn_0I0PThcVZvgSiRrwXSEJan5_2aanfGqjGggZUcrM.cache +1 -0
  951. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Nt/NtrUG1QPl9_j5SLvR_ZaZtQzh74YShCm00QWbRtP8_s.cache +0 -0
  952. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/OV/OVW5bQtyUZ6FveK0ltULiWg4gWuOiRweNjcMV2Ix5I0.cache +1 -0
  953. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/P5/P5sszPOkPGIEHDpBvVDyy78p30wgfh8-xq71vTgzWQw.cache +0 -0
  954. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Po/PoWOvfDfEClPri2hgFP0e-9vN6zb_ARq5lWlQrtP_GU.cache +1 -0
  955. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Px/PxLwiEQHb_Qbhn2lr3Lp8el1fAS9-Iq8y3wjs8JzkFw.cache +1 -0
  956. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Q7/Q7HmiFv3L6OyTR861zNnUuqd1Vx9fLkK0eAGdZPAA5g.cache +1 -0
  957. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/QG/QG0_TJgsdfSoeGbgfBzEATMQQIT6clQ9k6aTlVgAt3o.cache +1 -0
  958. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Qi/QiBN09OoH0QSdOvfoPxCYmxCP7BG9gBZa3Vp7aN-AQ4.cache +0 -0
  959. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/RY/RYVRXQ4YiJROgc-gZMHHLjODESTjYNQxmgCJthR7Dac.cache +0 -0
  960. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Rf/RfzdzleXI3x3hReb1gB4iStYwXbolkRHdxIUCdWAdJM.cache +1 -0
  961. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Rm/Rmn64XKjNJLUUcDtLMxdfzmI6QH3rxYU_Lt3i3w4yXc.cache +0 -0
  962. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ST/ST_ddQ-GdYvkj4_2E2zv9nP-K6KszNKXaFFY8NH2U04.cache +0 -0
  963. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Sv/SvoTRo11BR7tnqi3YxDhpKFDzu19798n0t4eqlFIZRE.cache +1 -0
  964. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/T1/T1NJGnxKu54Eb1nJbgKvO2NzpYPbX41FXGhDMP4p7-E.cache +1 -0
  965. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/T_/T_2s1nXJFJJDHBzMO9YR-dqupDcyvaNNhVKF16XDRUc.cache +1 -0
  966. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Tg/TgTbmLvJ_bMdnY1szufmBQitbrfPwdjXx-GRCS5fg8A.cache +1 -0
  967. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Tm/Tm-NZLa9u7WX3NfK7Ds1jL-F2GymVCKR3e4wJETPFdQ.cache +1 -0
  968. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Tp/Tpt9H9BMFA40hGCtkIMjmsoaZGyUPgceZJe9SfxCnx4.cache +1 -0
  969. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Tv/TvmYpNlAOLwlnqv1R_4ombfLA-3jJARYX82SnCsMFP0.cache +0 -0
  970. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Tw/TwjKwlDIwKzL-V-JtWx2m_1sLoQkIlTQTpzOibysdUs.cache +1 -0
  971. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ub/UbVFEHA2NspFRc5Tc_i760MTBUR5XOmvZ6m-7DnBLOc.cache +0 -0
  972. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ux/UxIO0nLf1zQ303KAlnaNsIho0ea3_4Y5XuQeiUOXQCw.cache +1 -0
  973. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/VJ/VJ3DALuZ7Y7n9QI_vOhI2mYovwMb5T_Lu1Wmw5uAWNk.cache +1 -0
  974. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/VU/VUF2FJrkCLUHpvd7n8hC30pX_rwWXsPgo6KEFYlQr5U.cache +1 -0
  975. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/WB/WB7A0tQtRkUF8B0FGIwlcyAW-roU5fapMsa1vuM7OB0.cache +1 -0
  976. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/WK/WKGkT4heEH6Os_O_D1bS-MbqkjU2Ufg6XZXqBZuCCHo.cache +1 -0
  977. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Wa/WaKN01tOvD0FctxO9Ar5SoHZyoqh7sKyj8k9vAoxgcU.cache +1 -0
  978. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Ww/Wwws5e6PYGY3Iq-xqu-7mJCuTDrkkwDc03rb5O9s1ws.cache +1 -0
  979. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/XH/XHoK-91v0_qagLEOS4wK7iT6l4F_dkoAZTKspMadA4I.cache +0 -0
  980. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Xq/Xqf5CzxAbCcTmhVnlMptAc5pbtCxIxyJ3zw3EHwfTmU.cache +0 -0
  981. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Y6/Y6vMI5KeWt61h-SrW-cu0D04mEx4jvnwzV8GRfHdvd0.cache +0 -0
  982. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Y7/Y79-qeIQkNWOK2-vdxQGfWqlla8rj5r-7MxnCG7YT4s.cache +1 -0
  983. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ZC/ZCZt2XCDHeFoFlh67JLNbRzvs3Vds45xts7kn0yDmww.cache +1 -0
  984. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Z_/Z_jnPTvf5YLcpDviPR2QLzSul0dz0BtOkbKZjQe-8H0.cache +1 -0
  985. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Zb/ZbC8kDDWqG1yE_tqBHW_ddmFJYbMs_TrockDs9FpD2w.cache +0 -0
  986. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Zo/Zo4ZF2E1pLxM91h2oODwb5bgBWToG438oLWIoMFRRYs.cache +0 -0
  987. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/Zz/ZzCi9UViPDUXtau7s4FIjR8olGkJGDDfK9deIIlOYvs.cache +1 -0
  988. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/_B/_Bb-da79iYMwsu8aSUxJMif2EDMIHYiuV5VDz9evsB0.cache +1 -0
  989. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/_o/_ot7K8KtifZueQsx81UY_6NM4F0GcC32lbA_Frz5cbA.cache +1 -0
  990. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/_w/_wKYWrdL166oHEwCH1DTdddVAgXAZKDNmt_wjgJ__IE.cache +0 -0
  991. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/a-/a-QpEesxkTOvkpq1jBz7jc3B6inE6d62pQfoJGZCqjk.cache +0 -0
  992. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/a2/a2ZeE-bV6DVJpqwDCFhY6-I2DXhqJdxzlmGuZ22MKY8.cache +1 -0
  993. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/aN/aNBElmGVD0fNgATHY42wcmpQjcY9nda3VknyVn9DQ3E.cache +0 -0
  994. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/as/as5z22bzDOlRwL2XbZcjDNM5GWQn-XQ7Df-vXvxjbrE.cache +1 -0
  995. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/at/at3Cbd1lE-lS1uyjkLJpQFoHYiPAgDAEvPVGppfaGMo.cache +1 -0
  996. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/bT/bTQmLHjCjfmAfL8ezUSHAckfNTzWmVHGaWP5RB0n-fE.cache +0 -0
  997. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/b_/b_Itlk9QZZd7Rvf8kcA4yLP1R5Acu7jB-m1xQiSU0qE.cache +3 -0
  998. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/br/brSB2fGEYhVcK-lhULJMWut_2nLI9eEv7_USBuCUQMc.cache +0 -0
  999. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/c4/c4JuItZ8OC8ty_CFP7JHS4ImM_IX0vYPEwije2DdwZY.cache +1 -0
  1000. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/c7/c72tXAOcdtjiiRytsBCVWh8zlB_Vel-PG5AiPnBmMQM.cache +0 -0
  1001. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/cV/cV5fQLxdUmHIs288-PI0aMX8W7Nh0ifpkLhdxB0DVoE.cache +0 -0
  1002. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/d_/d_MW3T-uGbCMno2tBVIcARff26UKyB9KzDFB5a3aZbU.cache +0 -0
  1003. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/di/diEAVKjQ-_vod4AiCtS6ym8718VuHaeA4n2MjoOkVe4.cache +0 -0
  1004. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/di/diXEpN06nqkFqWhxjNJiuUCbrQLTOQjWpEZDG-Gnys4.cache +1 -0
  1005. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/dm/dmexeqnm7oSqnpTN8pyFPra-FO9RlVld7c1OfiVGmnM.cache +1 -0
  1006. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/du/du6LZvvprR4AjeVbsCpgkgow2paNBKuymIlgk2oz7Yk.cache +1 -0
  1007. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/e-/e-ImROT8EIdvE8f6ohsFyM-Scd_Blz71vr4pDvHqzrQ.cache +0 -0
  1008. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/eP/ePl-DdQAUi5XFPsfXznXvxWZGMELrBRJB2PfgoPNIEo.cache +0 -0
  1009. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ed/edySPCZphMyQce_gPZKK2tHae0wk4xHt38EYVa0QXok.cache +1 -0
  1010. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ee/eEuVU1xSyMOQIE6e5ft2ifa2JYUTzZYqosfkae7Hmkk.cache +1 -0
  1011. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ee/eekmX_k75ktzmFAfOS_T5WHq4sxiPSwyXmzJ_6EDXk0.cache +1 -0
  1012. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ex/exDVCg8px2s9oU8Ng3yLh1mEI9CUDvnxniTSSwKk7qI.cache +1 -0
  1013. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/fv/fv0YkU4gUlaPqnoBOJxQYVzO4hTt5CeKgEey567hJDM.cache +1 -0
  1014. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/go/go8-Qjt1OkRrre3szpZGK1ltcW7XRtyGpUExVcWblS0.cache +1 -0
  1015. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/h3/h3cKhoJ_tlxjfSnXi8d9eCU7uaC8uGf34lIQowVGgYg.cache +1 -0
  1016. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/if/ifWg8CzF_pJQNSRqPNBtDp88537Sm3eL1qSYr2T0JZ0.cache +2 -0
  1017. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ir/irLLELUmJx-pU8usACB0U5rRBWKoHdoQRy-C0P3Y-r0.cache +1 -0
  1018. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/j9/j97B16ZobCwlHCmgWLOjvBMwxV8YpqcfCJ-40alB3BU.cache +2 -0
  1019. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/jr/jrBAq5zZpW1tB6WsfGn-uxM9Y1gBbFlJDkKFYoYiPZk.cache +1 -0
  1020. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/kP/kPDUD989rMQWUhrtwwzF4ixPZ_AFhT5lbgafjckvsI8.cache +1 -0
  1021. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ki/kidoJrhvNGakRsBogPFja1MtRSUpuyuQNYZkqtMQRU4.cache +0 -0
  1022. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/lP/lPVvvIFgqkMg3MzzJ4YLrt8I15BnwHPnQdd5I-w8VLw.cache +0 -0
  1023. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/m4/m4dhyunRq-Uind1bd5unwA-rlu2G4uC8pY4JfGRubiA.cache +0 -0
  1024. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/mX/mX1nlsL_SWOB4y22W5FheRX0YEONKyOY7xUeIvRiHco.cache +0 -0
  1025. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/MaBzscu747pD3AimboWmAvdJU-ljDZGRNvrxgbfmqZg.cache +0 -0
  1026. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ma/maRh7IPZQtQrSfaUm8HhfhdTj_YHBLPJMIvtVE4ZW8E.cache +1 -0
  1027. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +0 -0
  1028. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +0 -0
  1029. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/oF/oFR4LgVRWsPSfgcZ6W4EyLT7BcnYuK3BBeaSl4cy2rE.cache +1 -0
  1030. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/oP/oPW8p13sUzwKMjxYG0-jZx8HaDohCTRyi-oDKh74JOA.cache +1 -0
  1031. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ox/oxhfh6f_Dg-TItnJ5SDMhVBBlA3o3ELNPcxnYQzy1o0.cache +1 -0
  1032. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/pC/pCDwOVVUkPmcyKN3-iebog0lfBhpJPRNtqCdVQwi_ps.cache +0 -0
  1033. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/pI/pIAR0T2DJoxc731z7A7cubgdGmULdrzlKqxuKjm_flw.cache +1 -0
  1034. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/q3/q3AD_JUTGIOnua_lqRQ7RD7z8PUaK5AV6pTAODraFbo.cache +1 -0
  1035. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/qY/qYpUDaRLUN3Vi0C_FqrNR5QGO80X6SaqCBLJkRut6Hk.cache +1 -0
  1036. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/qe/qeIqqQaV5akagAtl8PUz5T9rDefpuU9Co54jgHBQUW8.cache +0 -0
  1037. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/qm/qmHE7QEU5wolclFvrtf43tOTYJarEb-i42c6ht9m4HY.cache +3 -0
  1038. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/s_/s_wRPqTOjY28omUsIHBA93hmuud1MQiePMQqrdrO4ww.cache +0 -0
  1039. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/sf/sfcsEK45xZumqTE1gcc_2yIgo37Ba-VpFzeusMacnXQ.cache +1 -0
  1040. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/ts/tspTVu_uTDRLQPTjLEUPbGaBRKgSAhFwJYeWG1-a258.cache +0 -0
  1041. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/u1/u1nRuOZThzHmY1_g1WoZ4ylqVj4odtcTD6NzHxz1isE.cache +0 -0
  1042. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/uG/uGV3RZHWVB7i51h_f5Vy6_DBIlYb44UR_13caon7-yg.cache +0 -0
  1043. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/v-/v-5z8NAgmOgJu0vNVTyQtiXIs-ORcxPaHUEU4d10tXs.cache +1 -0
  1044. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/v9/V9OkwJGRpnkfZ6EsZztX6hEQM7jwtW_4qWJlubWTrM8.cache +1 -0
  1045. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/v9/v96ET90iXN8Zq8H1AZ_gfeZ07vFkbL_uTXKHAYFZCMU.cache +0 -0
  1046. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/vL/vLfnm_0qGW2wxYbSrJNo2JDSkewtJaohHwJ0q8c6PYc.cache +1 -0
  1047. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/vV/vVA0awgOSwWDRDoJ2ICIDBviV3tVpaJ9zbEBwwS0k5Y.cache +2 -0
  1048. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/wC/wC9loRKK3ywXgiG0lHlD7NCnwk0WH1wPFjEwdk674ms.cache +0 -0
  1049. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/wh/whzETExjcZCkn4msasD2aylgfhfpKPZrNxTkY-SOIDg.cache +0 -0
  1050. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/wu/wuub1kuCla39MNVitiXr3pZZLKjF7LNq7Dz1sduet0U.cache +0 -0
  1051. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/x4/x4p2nKw6chtgc_Y_lZszfk2Xkmj0mE6aicIz8LRDOAU.cache +1 -0
  1052. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/x7/x7PYh8DJvPykcEqpVab2vcY9-GFz-3cqtoMlRAu94Uc.cache +0 -0
  1053. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/xg/xg2uAZHgmmvdj6bFd7GKD3zckwRelPpfVTjPLZwIQEA.cache +1 -0
  1054. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/xi/xi7OTBT1iAxzM5s4yhDdCgZxvnTSX_nSIJVpp2AoQBQ.cache +1 -0
  1055. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/y1/y1ngk_2OPPbuJ68zLv6nnjRVEUWcs9x1dEzBfikNAAI.cache +1 -0
  1056. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/yt/yt9ja-PNYPX4ES65GcCs5H7vc5xS9oCJz6s0CoVJtAc.cache +0 -0
  1057. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/yu/yupBqv0LYrJoFiqgqb8acBhUktFM5MIdvtpFQU-WBHo.cache +1 -0
  1058. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/z0/z0YCOJslHB8asAKUz--3fDwXUh5odTPA639UUIecR6U.cache +1 -0
  1059. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/z6/z6ZONv_5EBJET4qSgLYrqb30Mz2w9Qexso5KOfZr3Uw.cache +1 -0
  1060. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/zK/zKS_M0o9NqNIqUZQF4o604dLae8MHDJYRzfZnIex5Y0.cache +0 -0
  1061. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/zq/zqNJkrWuLypnGlSDnN-5Dt6WJ1rtTbDb1XoAUZuEIVU.cache +0 -0
  1062. data/test/dummy/tmp/cache/assets/sprockets/v4.0.0/zr/zrUCq5mEZpUMt9C31q4jU7UE5qHQ2IVQ5xJhM8fRbjI.cache +0 -0
  1063. data/test/dummy/yarn.lock +15 -0
  1064. data/test/factories/users.rb +7 -0
  1065. data/test/models/the_auth_user_test.rb +13 -0
  1066. data/test/test_helper.rb +16 -0
  1067. metadata +2156 -0
@@ -0,0 +1,2272 @@
1
+ /*!
2
+ * Sizzle CSS Selector Engine v2.3.3
3
+ * https://sizzlejs.com/
4
+ *
5
+ * Copyright jQuery Foundation and other contributors
6
+ * Released under the MIT license
7
+ * http://jquery.org/license
8
+ *
9
+ * Date: 2016-08-08
10
+ */
11
+ (function( window ) {
12
+
13
+ var i,
14
+ support,
15
+ Expr,
16
+ getText,
17
+ isXML,
18
+ tokenize,
19
+ compile,
20
+ select,
21
+ outermostContext,
22
+ sortInput,
23
+ hasDuplicate,
24
+
25
+ // Local document vars
26
+ setDocument,
27
+ document,
28
+ docElem,
29
+ documentIsHTML,
30
+ rbuggyQSA,
31
+ rbuggyMatches,
32
+ matches,
33
+ contains,
34
+
35
+ // Instance-specific data
36
+ expando = "sizzle" + 1 * new Date(),
37
+ preferredDoc = window.document,
38
+ dirruns = 0,
39
+ done = 0,
40
+ classCache = createCache(),
41
+ tokenCache = createCache(),
42
+ compilerCache = createCache(),
43
+ sortOrder = function( a, b ) {
44
+ if ( a === b ) {
45
+ hasDuplicate = true;
46
+ }
47
+ return 0;
48
+ },
49
+
50
+ // Instance methods
51
+ hasOwn = ({}).hasOwnProperty,
52
+ arr = [],
53
+ pop = arr.pop,
54
+ push_native = arr.push,
55
+ push = arr.push,
56
+ slice = arr.slice,
57
+ // Use a stripped-down indexOf as it's faster than native
58
+ // https://jsperf.com/thor-indexof-vs-for/5
59
+ indexOf = function( list, elem ) {
60
+ var i = 0,
61
+ len = list.length;
62
+ for ( ; i < len; i++ ) {
63
+ if ( list[i] === elem ) {
64
+ return i;
65
+ }
66
+ }
67
+ return -1;
68
+ },
69
+
70
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
71
+
72
+ // Regular expressions
73
+
74
+ // http://www.w3.org/TR/css3-selectors/#whitespace
75
+ whitespace = "[\\x20\\t\\r\\n\\f]",
76
+
77
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
78
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
79
+
80
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
81
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
82
+ // Operator (capture 2)
83
+ "*([*^$|!~]?=)" + whitespace +
84
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
85
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
86
+ "*\\]",
87
+
88
+ pseudos = ":(" + identifier + ")(?:\\((" +
89
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
90
+ // 1. quoted (capture 3; capture 4 or capture 5)
91
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
92
+ // 2. simple (capture 6)
93
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
94
+ // 3. anything else (capture 2)
95
+ ".*" +
96
+ ")\\)|)",
97
+
98
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
99
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
100
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
101
+
102
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
103
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
104
+
105
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
106
+
107
+ rpseudo = new RegExp( pseudos ),
108
+ ridentifier = new RegExp( "^" + identifier + "$" ),
109
+
110
+ matchExpr = {
111
+ "ID": new RegExp( "^#(" + identifier + ")" ),
112
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
113
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
114
+ "ATTR": new RegExp( "^" + attributes ),
115
+ "PSEUDO": new RegExp( "^" + pseudos ),
116
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
117
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
118
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
119
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
120
+ // For use in libraries implementing .is()
121
+ // We use this for POS matching in `select`
122
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
123
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
124
+ },
125
+
126
+ rinputs = /^(?:input|select|textarea|button)$/i,
127
+ rheader = /^h\d$/i,
128
+
129
+ rnative = /^[^{]+\{\s*\[native \w/,
130
+
131
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
132
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
133
+
134
+ rsibling = /[+~]/,
135
+
136
+ // CSS escapes
137
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
138
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
139
+ funescape = function( _, escaped, escapedWhitespace ) {
140
+ var high = "0x" + escaped - 0x10000;
141
+ // NaN means non-codepoint
142
+ // Support: Firefox<24
143
+ // Workaround erroneous numeric interpretation of +"0x"
144
+ return high !== high || escapedWhitespace ?
145
+ escaped :
146
+ high < 0 ?
147
+ // BMP codepoint
148
+ String.fromCharCode( high + 0x10000 ) :
149
+ // Supplemental Plane codepoint (surrogate pair)
150
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
151
+ },
152
+
153
+ // CSS string/identifier serialization
154
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
155
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
156
+ fcssescape = function( ch, asCodePoint ) {
157
+ if ( asCodePoint ) {
158
+
159
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
160
+ if ( ch === "\0" ) {
161
+ return "\uFFFD";
162
+ }
163
+
164
+ // Control characters and (dependent upon position) numbers get escaped as code points
165
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
166
+ }
167
+
168
+ // Other potentially-special ASCII characters get backslash-escaped
169
+ return "\\" + ch;
170
+ },
171
+
172
+ // Used for iframes
173
+ // See setDocument()
174
+ // Removing the function wrapper causes a "Permission Denied"
175
+ // error in IE
176
+ unloadHandler = function() {
177
+ setDocument();
178
+ },
179
+
180
+ disabledAncestor = addCombinator(
181
+ function( elem ) {
182
+ return elem.disabled === true && ("form" in elem || "label" in elem);
183
+ },
184
+ { dir: "parentNode", next: "legend" }
185
+ );
186
+
187
+ // Optimize for push.apply( _, NodeList )
188
+ try {
189
+ push.apply(
190
+ (arr = slice.call( preferredDoc.childNodes )),
191
+ preferredDoc.childNodes
192
+ );
193
+ // Support: Android<4.0
194
+ // Detect silently failing push.apply
195
+ arr[ preferredDoc.childNodes.length ].nodeType;
196
+ } catch ( e ) {
197
+ push = { apply: arr.length ?
198
+
199
+ // Leverage slice if possible
200
+ function( target, els ) {
201
+ push_native.apply( target, slice.call(els) );
202
+ } :
203
+
204
+ // Support: IE<9
205
+ // Otherwise append directly
206
+ function( target, els ) {
207
+ var j = target.length,
208
+ i = 0;
209
+ // Can't trust NodeList.length
210
+ while ( (target[j++] = els[i++]) ) {}
211
+ target.length = j - 1;
212
+ }
213
+ };
214
+ }
215
+
216
+ function Sizzle( selector, context, results, seed ) {
217
+ var m, i, elem, nid, match, groups, newSelector,
218
+ newContext = context && context.ownerDocument,
219
+
220
+ // nodeType defaults to 9, since context defaults to document
221
+ nodeType = context ? context.nodeType : 9;
222
+
223
+ results = results || [];
224
+
225
+ // Return early from calls with invalid selector or context
226
+ if ( typeof selector !== "string" || !selector ||
227
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
228
+
229
+ return results;
230
+ }
231
+
232
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
233
+ if ( !seed ) {
234
+
235
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
236
+ setDocument( context );
237
+ }
238
+ context = context || document;
239
+
240
+ if ( documentIsHTML ) {
241
+
242
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
243
+ // (excepting DocumentFragment context, where the methods don't exist)
244
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
245
+
246
+ // ID selector
247
+ if ( (m = match[1]) ) {
248
+
249
+ // Document context
250
+ if ( nodeType === 9 ) {
251
+ if ( (elem = context.getElementById( m )) ) {
252
+
253
+ // Support: IE, Opera, Webkit
254
+ // TODO: identify versions
255
+ // getElementById can match elements by name instead of ID
256
+ if ( elem.id === m ) {
257
+ results.push( elem );
258
+ return results;
259
+ }
260
+ } else {
261
+ return results;
262
+ }
263
+
264
+ // Element context
265
+ } else {
266
+
267
+ // Support: IE, Opera, Webkit
268
+ // TODO: identify versions
269
+ // getElementById can match elements by name instead of ID
270
+ if ( newContext && (elem = newContext.getElementById( m )) &&
271
+ contains( context, elem ) &&
272
+ elem.id === m ) {
273
+
274
+ results.push( elem );
275
+ return results;
276
+ }
277
+ }
278
+
279
+ // Type selector
280
+ } else if ( match[2] ) {
281
+ push.apply( results, context.getElementsByTagName( selector ) );
282
+ return results;
283
+
284
+ // Class selector
285
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
286
+ context.getElementsByClassName ) {
287
+
288
+ push.apply( results, context.getElementsByClassName( m ) );
289
+ return results;
290
+ }
291
+ }
292
+
293
+ // Take advantage of querySelectorAll
294
+ if ( support.qsa &&
295
+ !compilerCache[ selector + " " ] &&
296
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
297
+
298
+ if ( nodeType !== 1 ) {
299
+ newContext = context;
300
+ newSelector = selector;
301
+
302
+ // qSA looks outside Element context, which is not what we want
303
+ // Thanks to Andrew Dupont for this workaround technique
304
+ // Support: IE <=8
305
+ // Exclude object elements
306
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
307
+
308
+ // Capture the context ID, setting it first if necessary
309
+ if ( (nid = context.getAttribute( "id" )) ) {
310
+ nid = nid.replace( rcssescape, fcssescape );
311
+ } else {
312
+ context.setAttribute( "id", (nid = expando) );
313
+ }
314
+
315
+ // Prefix every selector in the list
316
+ groups = tokenize( selector );
317
+ i = groups.length;
318
+ while ( i-- ) {
319
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
320
+ }
321
+ newSelector = groups.join( "," );
322
+
323
+ // Expand context for sibling selectors
324
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
325
+ context;
326
+ }
327
+
328
+ if ( newSelector ) {
329
+ try {
330
+ push.apply( results,
331
+ newContext.querySelectorAll( newSelector )
332
+ );
333
+ return results;
334
+ } catch ( qsaError ) {
335
+ } finally {
336
+ if ( nid === expando ) {
337
+ context.removeAttribute( "id" );
338
+ }
339
+ }
340
+ }
341
+ }
342
+ }
343
+ }
344
+
345
+ // All others
346
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
347
+ }
348
+
349
+ /**
350
+ * Create key-value caches of limited size
351
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
352
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
353
+ * deleting the oldest entry
354
+ */
355
+ function createCache() {
356
+ var keys = [];
357
+
358
+ function cache( key, value ) {
359
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
360
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
361
+ // Only keep the most recent entries
362
+ delete cache[ keys.shift() ];
363
+ }
364
+ return (cache[ key + " " ] = value);
365
+ }
366
+ return cache;
367
+ }
368
+
369
+ /**
370
+ * Mark a function for special use by Sizzle
371
+ * @param {Function} fn The function to mark
372
+ */
373
+ function markFunction( fn ) {
374
+ fn[ expando ] = true;
375
+ return fn;
376
+ }
377
+
378
+ /**
379
+ * Support testing using an element
380
+ * @param {Function} fn Passed the created element and returns a boolean result
381
+ */
382
+ function assert( fn ) {
383
+ var el = document.createElement("fieldset");
384
+
385
+ try {
386
+ return !!fn( el );
387
+ } catch (e) {
388
+ return false;
389
+ } finally {
390
+ // Remove from its parent by default
391
+ if ( el.parentNode ) {
392
+ el.parentNode.removeChild( el );
393
+ }
394
+ // release memory in IE
395
+ el = null;
396
+ }
397
+ }
398
+
399
+ /**
400
+ * Adds the same handler for all of the specified attrs
401
+ * @param {String} attrs Pipe-separated list of attributes
402
+ * @param {Function} handler The method that will be applied
403
+ */
404
+ function addHandle( attrs, handler ) {
405
+ var arr = attrs.split("|"),
406
+ i = arr.length;
407
+
408
+ while ( i-- ) {
409
+ Expr.attrHandle[ arr[i] ] = handler;
410
+ }
411
+ }
412
+
413
+ /**
414
+ * Checks document order of two siblings
415
+ * @param {Element} a
416
+ * @param {Element} b
417
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
418
+ */
419
+ function siblingCheck( a, b ) {
420
+ var cur = b && a,
421
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
422
+ a.sourceIndex - b.sourceIndex;
423
+
424
+ // Use IE sourceIndex if available on both nodes
425
+ if ( diff ) {
426
+ return diff;
427
+ }
428
+
429
+ // Check if b follows a
430
+ if ( cur ) {
431
+ while ( (cur = cur.nextSibling) ) {
432
+ if ( cur === b ) {
433
+ return -1;
434
+ }
435
+ }
436
+ }
437
+
438
+ return a ? 1 : -1;
439
+ }
440
+
441
+ /**
442
+ * Returns a function to use in pseudos for input types
443
+ * @param {String} type
444
+ */
445
+ function createInputPseudo( type ) {
446
+ return function( elem ) {
447
+ var name = elem.nodeName.toLowerCase();
448
+ return name === "input" && elem.type === type;
449
+ };
450
+ }
451
+
452
+ /**
453
+ * Returns a function to use in pseudos for buttons
454
+ * @param {String} type
455
+ */
456
+ function createButtonPseudo( type ) {
457
+ return function( elem ) {
458
+ var name = elem.nodeName.toLowerCase();
459
+ return (name === "input" || name === "button") && elem.type === type;
460
+ };
461
+ }
462
+
463
+ /**
464
+ * Returns a function to use in pseudos for :enabled/:disabled
465
+ * @param {Boolean} disabled true for :disabled; false for :enabled
466
+ */
467
+ function createDisabledPseudo( disabled ) {
468
+
469
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
470
+ return function( elem ) {
471
+
472
+ // Only certain elements can match :enabled or :disabled
473
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
474
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
475
+ if ( "form" in elem ) {
476
+
477
+ // Check for inherited disabledness on relevant non-disabled elements:
478
+ // * listed form-associated elements in a disabled fieldset
479
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
480
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
481
+ // * option elements in a disabled optgroup
482
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
483
+ // All such elements have a "form" property.
484
+ if ( elem.parentNode && elem.disabled === false ) {
485
+
486
+ // Option elements defer to a parent optgroup if present
487
+ if ( "label" in elem ) {
488
+ if ( "label" in elem.parentNode ) {
489
+ return elem.parentNode.disabled === disabled;
490
+ } else {
491
+ return elem.disabled === disabled;
492
+ }
493
+ }
494
+
495
+ // Support: IE 6 - 11
496
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
497
+ return elem.isDisabled === disabled ||
498
+
499
+ // Where there is no isDisabled, check manually
500
+ /* jshint -W018 */
501
+ elem.isDisabled !== !disabled &&
502
+ disabledAncestor( elem ) === disabled;
503
+ }
504
+
505
+ return elem.disabled === disabled;
506
+
507
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
508
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
509
+ // even exist on them, let alone have a boolean value.
510
+ } else if ( "label" in elem ) {
511
+ return elem.disabled === disabled;
512
+ }
513
+
514
+ // Remaining elements are neither :enabled nor :disabled
515
+ return false;
516
+ };
517
+ }
518
+
519
+ /**
520
+ * Returns a function to use in pseudos for positionals
521
+ * @param {Function} fn
522
+ */
523
+ function createPositionalPseudo( fn ) {
524
+ return markFunction(function( argument ) {
525
+ argument = +argument;
526
+ return markFunction(function( seed, matches ) {
527
+ var j,
528
+ matchIndexes = fn( [], seed.length, argument ),
529
+ i = matchIndexes.length;
530
+
531
+ // Match elements found at the specified indexes
532
+ while ( i-- ) {
533
+ if ( seed[ (j = matchIndexes[i]) ] ) {
534
+ seed[j] = !(matches[j] = seed[j]);
535
+ }
536
+ }
537
+ });
538
+ });
539
+ }
540
+
541
+ /**
542
+ * Checks a node for validity as a Sizzle context
543
+ * @param {Element|Object=} context
544
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
545
+ */
546
+ function testContext( context ) {
547
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
548
+ }
549
+
550
+ // Expose support vars for convenience
551
+ support = Sizzle.support = {};
552
+
553
+ /**
554
+ * Detects XML nodes
555
+ * @param {Element|Object} elem An element or a document
556
+ * @returns {Boolean} True iff elem is a non-HTML XML node
557
+ */
558
+ isXML = Sizzle.isXML = function( elem ) {
559
+ // documentElement is verified for cases where it doesn't yet exist
560
+ // (such as loading iframes in IE - #4833)
561
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
562
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
563
+ };
564
+
565
+ /**
566
+ * Sets document-related variables once based on the current document
567
+ * @param {Element|Object} [doc] An element or document object to use to set the document
568
+ * @returns {Object} Returns the current document
569
+ */
570
+ setDocument = Sizzle.setDocument = function( node ) {
571
+ var hasCompare, subWindow,
572
+ doc = node ? node.ownerDocument || node : preferredDoc;
573
+
574
+ // Return early if doc is invalid or already selected
575
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
576
+ return document;
577
+ }
578
+
579
+ // Update global variables
580
+ document = doc;
581
+ docElem = document.documentElement;
582
+ documentIsHTML = !isXML( document );
583
+
584
+ // Support: IE 9-11, Edge
585
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
586
+ if ( preferredDoc !== document &&
587
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
588
+
589
+ // Support: IE 11, Edge
590
+ if ( subWindow.addEventListener ) {
591
+ subWindow.addEventListener( "unload", unloadHandler, false );
592
+
593
+ // Support: IE 9 - 10 only
594
+ } else if ( subWindow.attachEvent ) {
595
+ subWindow.attachEvent( "onunload", unloadHandler );
596
+ }
597
+ }
598
+
599
+ /* Attributes
600
+ ---------------------------------------------------------------------- */
601
+
602
+ // Support: IE<8
603
+ // Verify that getAttribute really returns attributes and not properties
604
+ // (excepting IE8 booleans)
605
+ support.attributes = assert(function( el ) {
606
+ el.className = "i";
607
+ return !el.getAttribute("className");
608
+ });
609
+
610
+ /* getElement(s)By*
611
+ ---------------------------------------------------------------------- */
612
+
613
+ // Check if getElementsByTagName("*") returns only elements
614
+ support.getElementsByTagName = assert(function( el ) {
615
+ el.appendChild( document.createComment("") );
616
+ return !el.getElementsByTagName("*").length;
617
+ });
618
+
619
+ // Support: IE<9
620
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
621
+
622
+ // Support: IE<10
623
+ // Check if getElementById returns elements by name
624
+ // The broken getElementById methods don't pick up programmatically-set names,
625
+ // so use a roundabout getElementsByName test
626
+ support.getById = assert(function( el ) {
627
+ docElem.appendChild( el ).id = expando;
628
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
629
+ });
630
+
631
+ // ID filter and find
632
+ if ( support.getById ) {
633
+ Expr.filter["ID"] = function( id ) {
634
+ var attrId = id.replace( runescape, funescape );
635
+ return function( elem ) {
636
+ return elem.getAttribute("id") === attrId;
637
+ };
638
+ };
639
+ Expr.find["ID"] = function( id, context ) {
640
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
641
+ var elem = context.getElementById( id );
642
+ return elem ? [ elem ] : [];
643
+ }
644
+ };
645
+ } else {
646
+ Expr.filter["ID"] = function( id ) {
647
+ var attrId = id.replace( runescape, funescape );
648
+ return function( elem ) {
649
+ var node = typeof elem.getAttributeNode !== "undefined" &&
650
+ elem.getAttributeNode("id");
651
+ return node && node.value === attrId;
652
+ };
653
+ };
654
+
655
+ // Support: IE 6 - 7 only
656
+ // getElementById is not reliable as a find shortcut
657
+ Expr.find["ID"] = function( id, context ) {
658
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
659
+ var node, i, elems,
660
+ elem = context.getElementById( id );
661
+
662
+ if ( elem ) {
663
+
664
+ // Verify the id attribute
665
+ node = elem.getAttributeNode("id");
666
+ if ( node && node.value === id ) {
667
+ return [ elem ];
668
+ }
669
+
670
+ // Fall back on getElementsByName
671
+ elems = context.getElementsByName( id );
672
+ i = 0;
673
+ while ( (elem = elems[i++]) ) {
674
+ node = elem.getAttributeNode("id");
675
+ if ( node && node.value === id ) {
676
+ return [ elem ];
677
+ }
678
+ }
679
+ }
680
+
681
+ return [];
682
+ }
683
+ };
684
+ }
685
+
686
+ // Tag
687
+ Expr.find["TAG"] = support.getElementsByTagName ?
688
+ function( tag, context ) {
689
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
690
+ return context.getElementsByTagName( tag );
691
+
692
+ // DocumentFragment nodes don't have gEBTN
693
+ } else if ( support.qsa ) {
694
+ return context.querySelectorAll( tag );
695
+ }
696
+ } :
697
+
698
+ function( tag, context ) {
699
+ var elem,
700
+ tmp = [],
701
+ i = 0,
702
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
703
+ results = context.getElementsByTagName( tag );
704
+
705
+ // Filter out possible comments
706
+ if ( tag === "*" ) {
707
+ while ( (elem = results[i++]) ) {
708
+ if ( elem.nodeType === 1 ) {
709
+ tmp.push( elem );
710
+ }
711
+ }
712
+
713
+ return tmp;
714
+ }
715
+ return results;
716
+ };
717
+
718
+ // Class
719
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
720
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
721
+ return context.getElementsByClassName( className );
722
+ }
723
+ };
724
+
725
+ /* QSA/matchesSelector
726
+ ---------------------------------------------------------------------- */
727
+
728
+ // QSA and matchesSelector support
729
+
730
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
731
+ rbuggyMatches = [];
732
+
733
+ // qSa(:focus) reports false when true (Chrome 21)
734
+ // We allow this because of a bug in IE8/9 that throws an error
735
+ // whenever `document.activeElement` is accessed on an iframe
736
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
737
+ // See https://bugs.jquery.com/ticket/13378
738
+ rbuggyQSA = [];
739
+
740
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
741
+ // Build QSA regex
742
+ // Regex strategy adopted from Diego Perini
743
+ assert(function( el ) {
744
+ // Select is set to empty string on purpose
745
+ // This is to test IE's treatment of not explicitly
746
+ // setting a boolean content attribute,
747
+ // since its presence should be enough
748
+ // https://bugs.jquery.com/ticket/12359
749
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
750
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
751
+ "<option selected=''></option></select>";
752
+
753
+ // Support: IE8, Opera 11-12.16
754
+ // Nothing should be selected when empty strings follow ^= or $= or *=
755
+ // The test attribute must be unknown in Opera but "safe" for WinRT
756
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
757
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
758
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
759
+ }
760
+
761
+ // Support: IE8
762
+ // Boolean attributes and "value" are not treated correctly
763
+ if ( !el.querySelectorAll("[selected]").length ) {
764
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
765
+ }
766
+
767
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
768
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
769
+ rbuggyQSA.push("~=");
770
+ }
771
+
772
+ // Webkit/Opera - :checked should return selected option elements
773
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
774
+ // IE8 throws error here and will not see later tests
775
+ if ( !el.querySelectorAll(":checked").length ) {
776
+ rbuggyQSA.push(":checked");
777
+ }
778
+
779
+ // Support: Safari 8+, iOS 8+
780
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
781
+ // In-page `selector#id sibling-combinator selector` fails
782
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
783
+ rbuggyQSA.push(".#.+[+~]");
784
+ }
785
+ });
786
+
787
+ assert(function( el ) {
788
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
789
+ "<select disabled='disabled'><option/></select>";
790
+
791
+ // Support: Windows 8 Native Apps
792
+ // The type and name attributes are restricted during .innerHTML assignment
793
+ var input = document.createElement("input");
794
+ input.setAttribute( "type", "hidden" );
795
+ el.appendChild( input ).setAttribute( "name", "D" );
796
+
797
+ // Support: IE8
798
+ // Enforce case-sensitivity of name attribute
799
+ if ( el.querySelectorAll("[name=d]").length ) {
800
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
801
+ }
802
+
803
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
804
+ // IE8 throws error here and will not see later tests
805
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
806
+ rbuggyQSA.push( ":enabled", ":disabled" );
807
+ }
808
+
809
+ // Support: IE9-11+
810
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
811
+ docElem.appendChild( el ).disabled = true;
812
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
813
+ rbuggyQSA.push( ":enabled", ":disabled" );
814
+ }
815
+
816
+ // Opera 10-11 does not throw on post-comma invalid pseudos
817
+ el.querySelectorAll("*,:x");
818
+ rbuggyQSA.push(",.*:");
819
+ });
820
+ }
821
+
822
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
823
+ docElem.webkitMatchesSelector ||
824
+ docElem.mozMatchesSelector ||
825
+ docElem.oMatchesSelector ||
826
+ docElem.msMatchesSelector) )) ) {
827
+
828
+ assert(function( el ) {
829
+ // Check to see if it's possible to do matchesSelector
830
+ // on a disconnected node (IE 9)
831
+ support.disconnectedMatch = matches.call( el, "*" );
832
+
833
+ // This should fail with an exception
834
+ // Gecko does not error, returns false instead
835
+ matches.call( el, "[s!='']:x" );
836
+ rbuggyMatches.push( "!=", pseudos );
837
+ });
838
+ }
839
+
840
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
841
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
842
+
843
+ /* Contains
844
+ ---------------------------------------------------------------------- */
845
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
846
+
847
+ // Element contains another
848
+ // Purposefully self-exclusive
849
+ // As in, an element does not contain itself
850
+ contains = hasCompare || rnative.test( docElem.contains ) ?
851
+ function( a, b ) {
852
+ var adown = a.nodeType === 9 ? a.documentElement : a,
853
+ bup = b && b.parentNode;
854
+ return a === bup || !!( bup && bup.nodeType === 1 && (
855
+ adown.contains ?
856
+ adown.contains( bup ) :
857
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
858
+ ));
859
+ } :
860
+ function( a, b ) {
861
+ if ( b ) {
862
+ while ( (b = b.parentNode) ) {
863
+ if ( b === a ) {
864
+ return true;
865
+ }
866
+ }
867
+ }
868
+ return false;
869
+ };
870
+
871
+ /* Sorting
872
+ ---------------------------------------------------------------------- */
873
+
874
+ // Document order sorting
875
+ sortOrder = hasCompare ?
876
+ function( a, b ) {
877
+
878
+ // Flag for duplicate removal
879
+ if ( a === b ) {
880
+ hasDuplicate = true;
881
+ return 0;
882
+ }
883
+
884
+ // Sort on method existence if only one input has compareDocumentPosition
885
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
886
+ if ( compare ) {
887
+ return compare;
888
+ }
889
+
890
+ // Calculate position if both inputs belong to the same document
891
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
892
+ a.compareDocumentPosition( b ) :
893
+
894
+ // Otherwise we know they are disconnected
895
+ 1;
896
+
897
+ // Disconnected nodes
898
+ if ( compare & 1 ||
899
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
900
+
901
+ // Choose the first element that is related to our preferred document
902
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
903
+ return -1;
904
+ }
905
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
906
+ return 1;
907
+ }
908
+
909
+ // Maintain original order
910
+ return sortInput ?
911
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
912
+ 0;
913
+ }
914
+
915
+ return compare & 4 ? -1 : 1;
916
+ } :
917
+ function( a, b ) {
918
+ // Exit early if the nodes are identical
919
+ if ( a === b ) {
920
+ hasDuplicate = true;
921
+ return 0;
922
+ }
923
+
924
+ var cur,
925
+ i = 0,
926
+ aup = a.parentNode,
927
+ bup = b.parentNode,
928
+ ap = [ a ],
929
+ bp = [ b ];
930
+
931
+ // Parentless nodes are either documents or disconnected
932
+ if ( !aup || !bup ) {
933
+ return a === document ? -1 :
934
+ b === document ? 1 :
935
+ aup ? -1 :
936
+ bup ? 1 :
937
+ sortInput ?
938
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
939
+ 0;
940
+
941
+ // If the nodes are siblings, we can do a quick check
942
+ } else if ( aup === bup ) {
943
+ return siblingCheck( a, b );
944
+ }
945
+
946
+ // Otherwise we need full lists of their ancestors for comparison
947
+ cur = a;
948
+ while ( (cur = cur.parentNode) ) {
949
+ ap.unshift( cur );
950
+ }
951
+ cur = b;
952
+ while ( (cur = cur.parentNode) ) {
953
+ bp.unshift( cur );
954
+ }
955
+
956
+ // Walk down the tree looking for a discrepancy
957
+ while ( ap[i] === bp[i] ) {
958
+ i++;
959
+ }
960
+
961
+ return i ?
962
+ // Do a sibling check if the nodes have a common ancestor
963
+ siblingCheck( ap[i], bp[i] ) :
964
+
965
+ // Otherwise nodes in our document sort first
966
+ ap[i] === preferredDoc ? -1 :
967
+ bp[i] === preferredDoc ? 1 :
968
+ 0;
969
+ };
970
+
971
+ return document;
972
+ };
973
+
974
+ Sizzle.matches = function( expr, elements ) {
975
+ return Sizzle( expr, null, null, elements );
976
+ };
977
+
978
+ Sizzle.matchesSelector = function( elem, expr ) {
979
+ // Set document vars if needed
980
+ if ( ( elem.ownerDocument || elem ) !== document ) {
981
+ setDocument( elem );
982
+ }
983
+
984
+ // Make sure that attribute selectors are quoted
985
+ expr = expr.replace( rattributeQuotes, "='$1']" );
986
+
987
+ if ( support.matchesSelector && documentIsHTML &&
988
+ !compilerCache[ expr + " " ] &&
989
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
990
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
991
+
992
+ try {
993
+ var ret = matches.call( elem, expr );
994
+
995
+ // IE 9's matchesSelector returns false on disconnected nodes
996
+ if ( ret || support.disconnectedMatch ||
997
+ // As well, disconnected nodes are said to be in a document
998
+ // fragment in IE 9
999
+ elem.document && elem.document.nodeType !== 11 ) {
1000
+ return ret;
1001
+ }
1002
+ } catch (e) {}
1003
+ }
1004
+
1005
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
1006
+ };
1007
+
1008
+ Sizzle.contains = function( context, elem ) {
1009
+ // Set document vars if needed
1010
+ if ( ( context.ownerDocument || context ) !== document ) {
1011
+ setDocument( context );
1012
+ }
1013
+ return contains( context, elem );
1014
+ };
1015
+
1016
+ Sizzle.attr = function( elem, name ) {
1017
+ // Set document vars if needed
1018
+ if ( ( elem.ownerDocument || elem ) !== document ) {
1019
+ setDocument( elem );
1020
+ }
1021
+
1022
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
1023
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
1024
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
1025
+ fn( elem, name, !documentIsHTML ) :
1026
+ undefined;
1027
+
1028
+ return val !== undefined ?
1029
+ val :
1030
+ support.attributes || !documentIsHTML ?
1031
+ elem.getAttribute( name ) :
1032
+ (val = elem.getAttributeNode(name)) && val.specified ?
1033
+ val.value :
1034
+ null;
1035
+ };
1036
+
1037
+ Sizzle.escape = function( sel ) {
1038
+ return (sel + "").replace( rcssescape, fcssescape );
1039
+ };
1040
+
1041
+ Sizzle.error = function( msg ) {
1042
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
1043
+ };
1044
+
1045
+ /**
1046
+ * Document sorting and removing duplicates
1047
+ * @param {ArrayLike} results
1048
+ */
1049
+ Sizzle.uniqueSort = function( results ) {
1050
+ var elem,
1051
+ duplicates = [],
1052
+ j = 0,
1053
+ i = 0;
1054
+
1055
+ // Unless we *know* we can detect duplicates, assume their presence
1056
+ hasDuplicate = !support.detectDuplicates;
1057
+ sortInput = !support.sortStable && results.slice( 0 );
1058
+ results.sort( sortOrder );
1059
+
1060
+ if ( hasDuplicate ) {
1061
+ while ( (elem = results[i++]) ) {
1062
+ if ( elem === results[ i ] ) {
1063
+ j = duplicates.push( i );
1064
+ }
1065
+ }
1066
+ while ( j-- ) {
1067
+ results.splice( duplicates[ j ], 1 );
1068
+ }
1069
+ }
1070
+
1071
+ // Clear input after sorting to release objects
1072
+ // See https://github.com/jquery/sizzle/pull/225
1073
+ sortInput = null;
1074
+
1075
+ return results;
1076
+ };
1077
+
1078
+ /**
1079
+ * Utility function for retrieving the text value of an array of DOM nodes
1080
+ * @param {Array|Element} elem
1081
+ */
1082
+ getText = Sizzle.getText = function( elem ) {
1083
+ var node,
1084
+ ret = "",
1085
+ i = 0,
1086
+ nodeType = elem.nodeType;
1087
+
1088
+ if ( !nodeType ) {
1089
+ // If no nodeType, this is expected to be an array
1090
+ while ( (node = elem[i++]) ) {
1091
+ // Do not traverse comment nodes
1092
+ ret += getText( node );
1093
+ }
1094
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
1095
+ // Use textContent for elements
1096
+ // innerText usage removed for consistency of new lines (jQuery #11153)
1097
+ if ( typeof elem.textContent === "string" ) {
1098
+ return elem.textContent;
1099
+ } else {
1100
+ // Traverse its children
1101
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1102
+ ret += getText( elem );
1103
+ }
1104
+ }
1105
+ } else if ( nodeType === 3 || nodeType === 4 ) {
1106
+ return elem.nodeValue;
1107
+ }
1108
+ // Do not include comment or processing instruction nodes
1109
+
1110
+ return ret;
1111
+ };
1112
+
1113
+ Expr = Sizzle.selectors = {
1114
+
1115
+ // Can be adjusted by the user
1116
+ cacheLength: 50,
1117
+
1118
+ createPseudo: markFunction,
1119
+
1120
+ match: matchExpr,
1121
+
1122
+ attrHandle: {},
1123
+
1124
+ find: {},
1125
+
1126
+ relative: {
1127
+ ">": { dir: "parentNode", first: true },
1128
+ " ": { dir: "parentNode" },
1129
+ "+": { dir: "previousSibling", first: true },
1130
+ "~": { dir: "previousSibling" }
1131
+ },
1132
+
1133
+ preFilter: {
1134
+ "ATTR": function( match ) {
1135
+ match[1] = match[1].replace( runescape, funescape );
1136
+
1137
+ // Move the given value to match[3] whether quoted or unquoted
1138
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
1139
+
1140
+ if ( match[2] === "~=" ) {
1141
+ match[3] = " " + match[3] + " ";
1142
+ }
1143
+
1144
+ return match.slice( 0, 4 );
1145
+ },
1146
+
1147
+ "CHILD": function( match ) {
1148
+ /* matches from matchExpr["CHILD"]
1149
+ 1 type (only|nth|...)
1150
+ 2 what (child|of-type)
1151
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
1152
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
1153
+ 5 sign of xn-component
1154
+ 6 x of xn-component
1155
+ 7 sign of y-component
1156
+ 8 y of y-component
1157
+ */
1158
+ match[1] = match[1].toLowerCase();
1159
+
1160
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
1161
+ // nth-* requires argument
1162
+ if ( !match[3] ) {
1163
+ Sizzle.error( match[0] );
1164
+ }
1165
+
1166
+ // numeric x and y parameters for Expr.filter.CHILD
1167
+ // remember that false/true cast respectively to 0/1
1168
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
1169
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
1170
+
1171
+ // other types prohibit arguments
1172
+ } else if ( match[3] ) {
1173
+ Sizzle.error( match[0] );
1174
+ }
1175
+
1176
+ return match;
1177
+ },
1178
+
1179
+ "PSEUDO": function( match ) {
1180
+ var excess,
1181
+ unquoted = !match[6] && match[2];
1182
+
1183
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
1184
+ return null;
1185
+ }
1186
+
1187
+ // Accept quoted arguments as-is
1188
+ if ( match[3] ) {
1189
+ match[2] = match[4] || match[5] || "";
1190
+
1191
+ // Strip excess characters from unquoted arguments
1192
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
1193
+ // Get excess from tokenize (recursively)
1194
+ (excess = tokenize( unquoted, true )) &&
1195
+ // advance to the next closing parenthesis
1196
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
1197
+
1198
+ // excess is a negative index
1199
+ match[0] = match[0].slice( 0, excess );
1200
+ match[2] = unquoted.slice( 0, excess );
1201
+ }
1202
+
1203
+ // Return only captures needed by the pseudo filter method (type and argument)
1204
+ return match.slice( 0, 3 );
1205
+ }
1206
+ },
1207
+
1208
+ filter: {
1209
+
1210
+ "TAG": function( nodeNameSelector ) {
1211
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
1212
+ return nodeNameSelector === "*" ?
1213
+ function() { return true; } :
1214
+ function( elem ) {
1215
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
1216
+ };
1217
+ },
1218
+
1219
+ "CLASS": function( className ) {
1220
+ var pattern = classCache[ className + " " ];
1221
+
1222
+ return pattern ||
1223
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
1224
+ classCache( className, function( elem ) {
1225
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
1226
+ });
1227
+ },
1228
+
1229
+ "ATTR": function( name, operator, check ) {
1230
+ return function( elem ) {
1231
+ var result = Sizzle.attr( elem, name );
1232
+
1233
+ if ( result == null ) {
1234
+ return operator === "!=";
1235
+ }
1236
+ if ( !operator ) {
1237
+ return true;
1238
+ }
1239
+
1240
+ result += "";
1241
+
1242
+ return operator === "=" ? result === check :
1243
+ operator === "!=" ? result !== check :
1244
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
1245
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
1246
+ operator === "$=" ? check && result.slice( -check.length ) === check :
1247
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
1248
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
1249
+ false;
1250
+ };
1251
+ },
1252
+
1253
+ "CHILD": function( type, what, argument, first, last ) {
1254
+ var simple = type.slice( 0, 3 ) !== "nth",
1255
+ forward = type.slice( -4 ) !== "last",
1256
+ ofType = what === "of-type";
1257
+
1258
+ return first === 1 && last === 0 ?
1259
+
1260
+ // Shortcut for :nth-*(n)
1261
+ function( elem ) {
1262
+ return !!elem.parentNode;
1263
+ } :
1264
+
1265
+ function( elem, context, xml ) {
1266
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
1267
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
1268
+ parent = elem.parentNode,
1269
+ name = ofType && elem.nodeName.toLowerCase(),
1270
+ useCache = !xml && !ofType,
1271
+ diff = false;
1272
+
1273
+ if ( parent ) {
1274
+
1275
+ // :(first|last|only)-(child|of-type)
1276
+ if ( simple ) {
1277
+ while ( dir ) {
1278
+ node = elem;
1279
+ while ( (node = node[ dir ]) ) {
1280
+ if ( ofType ?
1281
+ node.nodeName.toLowerCase() === name :
1282
+ node.nodeType === 1 ) {
1283
+
1284
+ return false;
1285
+ }
1286
+ }
1287
+ // Reverse direction for :only-* (if we haven't yet done so)
1288
+ start = dir = type === "only" && !start && "nextSibling";
1289
+ }
1290
+ return true;
1291
+ }
1292
+
1293
+ start = [ forward ? parent.firstChild : parent.lastChild ];
1294
+
1295
+ // non-xml :nth-child(...) stores cache data on `parent`
1296
+ if ( forward && useCache ) {
1297
+
1298
+ // Seek `elem` from a previously-cached index
1299
+
1300
+ // ...in a gzip-friendly way
1301
+ node = parent;
1302
+ outerCache = node[ expando ] || (node[ expando ] = {});
1303
+
1304
+ // Support: IE <9 only
1305
+ // Defend against cloned attroperties (jQuery gh-1709)
1306
+ uniqueCache = outerCache[ node.uniqueID ] ||
1307
+ (outerCache[ node.uniqueID ] = {});
1308
+
1309
+ cache = uniqueCache[ type ] || [];
1310
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1311
+ diff = nodeIndex && cache[ 2 ];
1312
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
1313
+
1314
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
1315
+
1316
+ // Fallback to seeking `elem` from the start
1317
+ (diff = nodeIndex = 0) || start.pop()) ) {
1318
+
1319
+ // When found, cache indexes on `parent` and break
1320
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
1321
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
1322
+ break;
1323
+ }
1324
+ }
1325
+
1326
+ } else {
1327
+ // Use previously-cached element index if available
1328
+ if ( useCache ) {
1329
+ // ...in a gzip-friendly way
1330
+ node = elem;
1331
+ outerCache = node[ expando ] || (node[ expando ] = {});
1332
+
1333
+ // Support: IE <9 only
1334
+ // Defend against cloned attroperties (jQuery gh-1709)
1335
+ uniqueCache = outerCache[ node.uniqueID ] ||
1336
+ (outerCache[ node.uniqueID ] = {});
1337
+
1338
+ cache = uniqueCache[ type ] || [];
1339
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
1340
+ diff = nodeIndex;
1341
+ }
1342
+
1343
+ // xml :nth-child(...)
1344
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
1345
+ if ( diff === false ) {
1346
+ // Use the same loop as above to seek `elem` from the start
1347
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
1348
+ (diff = nodeIndex = 0) || start.pop()) ) {
1349
+
1350
+ if ( ( ofType ?
1351
+ node.nodeName.toLowerCase() === name :
1352
+ node.nodeType === 1 ) &&
1353
+ ++diff ) {
1354
+
1355
+ // Cache the index of each encountered element
1356
+ if ( useCache ) {
1357
+ outerCache = node[ expando ] || (node[ expando ] = {});
1358
+
1359
+ // Support: IE <9 only
1360
+ // Defend against cloned attroperties (jQuery gh-1709)
1361
+ uniqueCache = outerCache[ node.uniqueID ] ||
1362
+ (outerCache[ node.uniqueID ] = {});
1363
+
1364
+ uniqueCache[ type ] = [ dirruns, diff ];
1365
+ }
1366
+
1367
+ if ( node === elem ) {
1368
+ break;
1369
+ }
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+
1375
+ // Incorporate the offset, then check against cycle size
1376
+ diff -= last;
1377
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
1378
+ }
1379
+ };
1380
+ },
1381
+
1382
+ "PSEUDO": function( pseudo, argument ) {
1383
+ // pseudo-class names are case-insensitive
1384
+ // http://www.w3.org/TR/selectors/#pseudo-classes
1385
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
1386
+ // Remember that setFilters inherits from pseudos
1387
+ var args,
1388
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
1389
+ Sizzle.error( "unsupported pseudo: " + pseudo );
1390
+
1391
+ // The user may use createPseudo to indicate that
1392
+ // arguments are needed to create the filter function
1393
+ // just as Sizzle does
1394
+ if ( fn[ expando ] ) {
1395
+ return fn( argument );
1396
+ }
1397
+
1398
+ // But maintain support for old signatures
1399
+ if ( fn.length > 1 ) {
1400
+ args = [ pseudo, pseudo, "", argument ];
1401
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
1402
+ markFunction(function( seed, matches ) {
1403
+ var idx,
1404
+ matched = fn( seed, argument ),
1405
+ i = matched.length;
1406
+ while ( i-- ) {
1407
+ idx = indexOf( seed, matched[i] );
1408
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
1409
+ }
1410
+ }) :
1411
+ function( elem ) {
1412
+ return fn( elem, 0, args );
1413
+ };
1414
+ }
1415
+
1416
+ return fn;
1417
+ }
1418
+ },
1419
+
1420
+ pseudos: {
1421
+ // Potentially complex pseudos
1422
+ "not": markFunction(function( selector ) {
1423
+ // Trim the selector passed to compile
1424
+ // to avoid treating leading and trailing
1425
+ // spaces as combinators
1426
+ var input = [],
1427
+ results = [],
1428
+ matcher = compile( selector.replace( rtrim, "$1" ) );
1429
+
1430
+ return matcher[ expando ] ?
1431
+ markFunction(function( seed, matches, context, xml ) {
1432
+ var elem,
1433
+ unmatched = matcher( seed, null, xml, [] ),
1434
+ i = seed.length;
1435
+
1436
+ // Match elements unmatched by `matcher`
1437
+ while ( i-- ) {
1438
+ if ( (elem = unmatched[i]) ) {
1439
+ seed[i] = !(matches[i] = elem);
1440
+ }
1441
+ }
1442
+ }) :
1443
+ function( elem, context, xml ) {
1444
+ input[0] = elem;
1445
+ matcher( input, null, xml, results );
1446
+ // Don't keep the element (issue #299)
1447
+ input[0] = null;
1448
+ return !results.pop();
1449
+ };
1450
+ }),
1451
+
1452
+ "has": markFunction(function( selector ) {
1453
+ return function( elem ) {
1454
+ return Sizzle( selector, elem ).length > 0;
1455
+ };
1456
+ }),
1457
+
1458
+ "contains": markFunction(function( text ) {
1459
+ text = text.replace( runescape, funescape );
1460
+ return function( elem ) {
1461
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
1462
+ };
1463
+ }),
1464
+
1465
+ // "Whether an element is represented by a :lang() selector
1466
+ // is based solely on the element's language value
1467
+ // being equal to the identifier C,
1468
+ // or beginning with the identifier C immediately followed by "-".
1469
+ // The matching of C against the element's language value is performed case-insensitively.
1470
+ // The identifier C does not have to be a valid language name."
1471
+ // http://www.w3.org/TR/selectors/#lang-pseudo
1472
+ "lang": markFunction( function( lang ) {
1473
+ // lang value must be a valid identifier
1474
+ if ( !ridentifier.test(lang || "") ) {
1475
+ Sizzle.error( "unsupported lang: " + lang );
1476
+ }
1477
+ lang = lang.replace( runescape, funescape ).toLowerCase();
1478
+ return function( elem ) {
1479
+ var elemLang;
1480
+ do {
1481
+ if ( (elemLang = documentIsHTML ?
1482
+ elem.lang :
1483
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
1484
+
1485
+ elemLang = elemLang.toLowerCase();
1486
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
1487
+ }
1488
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
1489
+ return false;
1490
+ };
1491
+ }),
1492
+
1493
+ // Miscellaneous
1494
+ "target": function( elem ) {
1495
+ var hash = window.location && window.location.hash;
1496
+ return hash && hash.slice( 1 ) === elem.id;
1497
+ },
1498
+
1499
+ "root": function( elem ) {
1500
+ return elem === docElem;
1501
+ },
1502
+
1503
+ "focus": function( elem ) {
1504
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
1505
+ },
1506
+
1507
+ // Boolean properties
1508
+ "enabled": createDisabledPseudo( false ),
1509
+ "disabled": createDisabledPseudo( true ),
1510
+
1511
+ "checked": function( elem ) {
1512
+ // In CSS3, :checked should return both checked and selected elements
1513
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
1514
+ var nodeName = elem.nodeName.toLowerCase();
1515
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
1516
+ },
1517
+
1518
+ "selected": function( elem ) {
1519
+ // Accessing this property makes selected-by-default
1520
+ // options in Safari work properly
1521
+ if ( elem.parentNode ) {
1522
+ elem.parentNode.selectedIndex;
1523
+ }
1524
+
1525
+ return elem.selected === true;
1526
+ },
1527
+
1528
+ // Contents
1529
+ "empty": function( elem ) {
1530
+ // http://www.w3.org/TR/selectors/#empty-pseudo
1531
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
1532
+ // but not by others (comment: 8; processing instruction: 7; etc.)
1533
+ // nodeType < 6 works because attributes (2) do not appear as children
1534
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
1535
+ if ( elem.nodeType < 6 ) {
1536
+ return false;
1537
+ }
1538
+ }
1539
+ return true;
1540
+ },
1541
+
1542
+ "parent": function( elem ) {
1543
+ return !Expr.pseudos["empty"]( elem );
1544
+ },
1545
+
1546
+ // Element/input types
1547
+ "header": function( elem ) {
1548
+ return rheader.test( elem.nodeName );
1549
+ },
1550
+
1551
+ "input": function( elem ) {
1552
+ return rinputs.test( elem.nodeName );
1553
+ },
1554
+
1555
+ "button": function( elem ) {
1556
+ var name = elem.nodeName.toLowerCase();
1557
+ return name === "input" && elem.type === "button" || name === "button";
1558
+ },
1559
+
1560
+ "text": function( elem ) {
1561
+ var attr;
1562
+ return elem.nodeName.toLowerCase() === "input" &&
1563
+ elem.type === "text" &&
1564
+
1565
+ // Support: IE<8
1566
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
1567
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
1568
+ },
1569
+
1570
+ // Position-in-collection
1571
+ "first": createPositionalPseudo(function() {
1572
+ return [ 0 ];
1573
+ }),
1574
+
1575
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
1576
+ return [ length - 1 ];
1577
+ }),
1578
+
1579
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
1580
+ return [ argument < 0 ? argument + length : argument ];
1581
+ }),
1582
+
1583
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
1584
+ var i = 0;
1585
+ for ( ; i < length; i += 2 ) {
1586
+ matchIndexes.push( i );
1587
+ }
1588
+ return matchIndexes;
1589
+ }),
1590
+
1591
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
1592
+ var i = 1;
1593
+ for ( ; i < length; i += 2 ) {
1594
+ matchIndexes.push( i );
1595
+ }
1596
+ return matchIndexes;
1597
+ }),
1598
+
1599
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
1600
+ var i = argument < 0 ? argument + length : argument;
1601
+ for ( ; --i >= 0; ) {
1602
+ matchIndexes.push( i );
1603
+ }
1604
+ return matchIndexes;
1605
+ }),
1606
+
1607
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
1608
+ var i = argument < 0 ? argument + length : argument;
1609
+ for ( ; ++i < length; ) {
1610
+ matchIndexes.push( i );
1611
+ }
1612
+ return matchIndexes;
1613
+ })
1614
+ }
1615
+ };
1616
+
1617
+ Expr.pseudos["nth"] = Expr.pseudos["eq"];
1618
+
1619
+ // Add button/input type pseudos
1620
+ for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
1621
+ Expr.pseudos[ i ] = createInputPseudo( i );
1622
+ }
1623
+ for ( i in { submit: true, reset: true } ) {
1624
+ Expr.pseudos[ i ] = createButtonPseudo( i );
1625
+ }
1626
+
1627
+ // Easy API for creating new setFilters
1628
+ function setFilters() {}
1629
+ setFilters.prototype = Expr.filters = Expr.pseudos;
1630
+ Expr.setFilters = new setFilters();
1631
+
1632
+ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
1633
+ var matched, match, tokens, type,
1634
+ soFar, groups, preFilters,
1635
+ cached = tokenCache[ selector + " " ];
1636
+
1637
+ if ( cached ) {
1638
+ return parseOnly ? 0 : cached.slice( 0 );
1639
+ }
1640
+
1641
+ soFar = selector;
1642
+ groups = [];
1643
+ preFilters = Expr.preFilter;
1644
+
1645
+ while ( soFar ) {
1646
+
1647
+ // Comma and first run
1648
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
1649
+ if ( match ) {
1650
+ // Don't consume trailing commas as valid
1651
+ soFar = soFar.slice( match[0].length ) || soFar;
1652
+ }
1653
+ groups.push( (tokens = []) );
1654
+ }
1655
+
1656
+ matched = false;
1657
+
1658
+ // Combinators
1659
+ if ( (match = rcombinators.exec( soFar )) ) {
1660
+ matched = match.shift();
1661
+ tokens.push({
1662
+ value: matched,
1663
+ // Cast descendant combinators to space
1664
+ type: match[0].replace( rtrim, " " )
1665
+ });
1666
+ soFar = soFar.slice( matched.length );
1667
+ }
1668
+
1669
+ // Filters
1670
+ for ( type in Expr.filter ) {
1671
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
1672
+ (match = preFilters[ type ]( match ))) ) {
1673
+ matched = match.shift();
1674
+ tokens.push({
1675
+ value: matched,
1676
+ type: type,
1677
+ matches: match
1678
+ });
1679
+ soFar = soFar.slice( matched.length );
1680
+ }
1681
+ }
1682
+
1683
+ if ( !matched ) {
1684
+ break;
1685
+ }
1686
+ }
1687
+
1688
+ // Return the length of the invalid excess
1689
+ // if we're just parsing
1690
+ // Otherwise, throw an error or return tokens
1691
+ return parseOnly ?
1692
+ soFar.length :
1693
+ soFar ?
1694
+ Sizzle.error( selector ) :
1695
+ // Cache the tokens
1696
+ tokenCache( selector, groups ).slice( 0 );
1697
+ };
1698
+
1699
+ function toSelector( tokens ) {
1700
+ var i = 0,
1701
+ len = tokens.length,
1702
+ selector = "";
1703
+ for ( ; i < len; i++ ) {
1704
+ selector += tokens[i].value;
1705
+ }
1706
+ return selector;
1707
+ }
1708
+
1709
+ function addCombinator( matcher, combinator, base ) {
1710
+ var dir = combinator.dir,
1711
+ skip = combinator.next,
1712
+ key = skip || dir,
1713
+ checkNonElements = base && key === "parentNode",
1714
+ doneName = done++;
1715
+
1716
+ return combinator.first ?
1717
+ // Check against closest ancestor/preceding element
1718
+ function( elem, context, xml ) {
1719
+ while ( (elem = elem[ dir ]) ) {
1720
+ if ( elem.nodeType === 1 || checkNonElements ) {
1721
+ return matcher( elem, context, xml );
1722
+ }
1723
+ }
1724
+ return false;
1725
+ } :
1726
+
1727
+ // Check against all ancestor/preceding elements
1728
+ function( elem, context, xml ) {
1729
+ var oldCache, uniqueCache, outerCache,
1730
+ newCache = [ dirruns, doneName ];
1731
+
1732
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
1733
+ if ( xml ) {
1734
+ while ( (elem = elem[ dir ]) ) {
1735
+ if ( elem.nodeType === 1 || checkNonElements ) {
1736
+ if ( matcher( elem, context, xml ) ) {
1737
+ return true;
1738
+ }
1739
+ }
1740
+ }
1741
+ } else {
1742
+ while ( (elem = elem[ dir ]) ) {
1743
+ if ( elem.nodeType === 1 || checkNonElements ) {
1744
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
1745
+
1746
+ // Support: IE <9 only
1747
+ // Defend against cloned attroperties (jQuery gh-1709)
1748
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
1749
+
1750
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
1751
+ elem = elem[ dir ] || elem;
1752
+ } else if ( (oldCache = uniqueCache[ key ]) &&
1753
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
1754
+
1755
+ // Assign to newCache so results back-propagate to previous elements
1756
+ return (newCache[ 2 ] = oldCache[ 2 ]);
1757
+ } else {
1758
+ // Reuse newcache so results back-propagate to previous elements
1759
+ uniqueCache[ key ] = newCache;
1760
+
1761
+ // A match means we're done; a fail means we have to keep checking
1762
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
1763
+ return true;
1764
+ }
1765
+ }
1766
+ }
1767
+ }
1768
+ }
1769
+ return false;
1770
+ };
1771
+ }
1772
+
1773
+ function elementMatcher( matchers ) {
1774
+ return matchers.length > 1 ?
1775
+ function( elem, context, xml ) {
1776
+ var i = matchers.length;
1777
+ while ( i-- ) {
1778
+ if ( !matchers[i]( elem, context, xml ) ) {
1779
+ return false;
1780
+ }
1781
+ }
1782
+ return true;
1783
+ } :
1784
+ matchers[0];
1785
+ }
1786
+
1787
+ function multipleContexts( selector, contexts, results ) {
1788
+ var i = 0,
1789
+ len = contexts.length;
1790
+ for ( ; i < len; i++ ) {
1791
+ Sizzle( selector, contexts[i], results );
1792
+ }
1793
+ return results;
1794
+ }
1795
+
1796
+ function condense( unmatched, map, filter, context, xml ) {
1797
+ var elem,
1798
+ newUnmatched = [],
1799
+ i = 0,
1800
+ len = unmatched.length,
1801
+ mapped = map != null;
1802
+
1803
+ for ( ; i < len; i++ ) {
1804
+ if ( (elem = unmatched[i]) ) {
1805
+ if ( !filter || filter( elem, context, xml ) ) {
1806
+ newUnmatched.push( elem );
1807
+ if ( mapped ) {
1808
+ map.push( i );
1809
+ }
1810
+ }
1811
+ }
1812
+ }
1813
+
1814
+ return newUnmatched;
1815
+ }
1816
+
1817
+ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
1818
+ if ( postFilter && !postFilter[ expando ] ) {
1819
+ postFilter = setMatcher( postFilter );
1820
+ }
1821
+ if ( postFinder && !postFinder[ expando ] ) {
1822
+ postFinder = setMatcher( postFinder, postSelector );
1823
+ }
1824
+ return markFunction(function( seed, results, context, xml ) {
1825
+ var temp, i, elem,
1826
+ preMap = [],
1827
+ postMap = [],
1828
+ preexisting = results.length,
1829
+
1830
+ // Get initial elements from seed or context
1831
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
1832
+
1833
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
1834
+ matcherIn = preFilter && ( seed || !selector ) ?
1835
+ condense( elems, preMap, preFilter, context, xml ) :
1836
+ elems,
1837
+
1838
+ matcherOut = matcher ?
1839
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
1840
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
1841
+
1842
+ // ...intermediate processing is necessary
1843
+ [] :
1844
+
1845
+ // ...otherwise use results directly
1846
+ results :
1847
+ matcherIn;
1848
+
1849
+ // Find primary matches
1850
+ if ( matcher ) {
1851
+ matcher( matcherIn, matcherOut, context, xml );
1852
+ }
1853
+
1854
+ // Apply postFilter
1855
+ if ( postFilter ) {
1856
+ temp = condense( matcherOut, postMap );
1857
+ postFilter( temp, [], context, xml );
1858
+
1859
+ // Un-match failing elements by moving them back to matcherIn
1860
+ i = temp.length;
1861
+ while ( i-- ) {
1862
+ if ( (elem = temp[i]) ) {
1863
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
1864
+ }
1865
+ }
1866
+ }
1867
+
1868
+ if ( seed ) {
1869
+ if ( postFinder || preFilter ) {
1870
+ if ( postFinder ) {
1871
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
1872
+ temp = [];
1873
+ i = matcherOut.length;
1874
+ while ( i-- ) {
1875
+ if ( (elem = matcherOut[i]) ) {
1876
+ // Restore matcherIn since elem is not yet a final match
1877
+ temp.push( (matcherIn[i] = elem) );
1878
+ }
1879
+ }
1880
+ postFinder( null, (matcherOut = []), temp, xml );
1881
+ }
1882
+
1883
+ // Move matched elements from seed to results to keep them synchronized
1884
+ i = matcherOut.length;
1885
+ while ( i-- ) {
1886
+ if ( (elem = matcherOut[i]) &&
1887
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
1888
+
1889
+ seed[temp] = !(results[temp] = elem);
1890
+ }
1891
+ }
1892
+ }
1893
+
1894
+ // Add elements to results, through postFinder if defined
1895
+ } else {
1896
+ matcherOut = condense(
1897
+ matcherOut === results ?
1898
+ matcherOut.splice( preexisting, matcherOut.length ) :
1899
+ matcherOut
1900
+ );
1901
+ if ( postFinder ) {
1902
+ postFinder( null, results, matcherOut, xml );
1903
+ } else {
1904
+ push.apply( results, matcherOut );
1905
+ }
1906
+ }
1907
+ });
1908
+ }
1909
+
1910
+ function matcherFromTokens( tokens ) {
1911
+ var checkContext, matcher, j,
1912
+ len = tokens.length,
1913
+ leadingRelative = Expr.relative[ tokens[0].type ],
1914
+ implicitRelative = leadingRelative || Expr.relative[" "],
1915
+ i = leadingRelative ? 1 : 0,
1916
+
1917
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
1918
+ matchContext = addCombinator( function( elem ) {
1919
+ return elem === checkContext;
1920
+ }, implicitRelative, true ),
1921
+ matchAnyContext = addCombinator( function( elem ) {
1922
+ return indexOf( checkContext, elem ) > -1;
1923
+ }, implicitRelative, true ),
1924
+ matchers = [ function( elem, context, xml ) {
1925
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
1926
+ (checkContext = context).nodeType ?
1927
+ matchContext( elem, context, xml ) :
1928
+ matchAnyContext( elem, context, xml ) );
1929
+ // Avoid hanging onto element (issue #299)
1930
+ checkContext = null;
1931
+ return ret;
1932
+ } ];
1933
+
1934
+ for ( ; i < len; i++ ) {
1935
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
1936
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
1937
+ } else {
1938
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
1939
+
1940
+ // Return special upon seeing a positional matcher
1941
+ if ( matcher[ expando ] ) {
1942
+ // Find the next relative operator (if any) for proper handling
1943
+ j = ++i;
1944
+ for ( ; j < len; j++ ) {
1945
+ if ( Expr.relative[ tokens[j].type ] ) {
1946
+ break;
1947
+ }
1948
+ }
1949
+ return setMatcher(
1950
+ i > 1 && elementMatcher( matchers ),
1951
+ i > 1 && toSelector(
1952
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
1953
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
1954
+ ).replace( rtrim, "$1" ),
1955
+ matcher,
1956
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
1957
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
1958
+ j < len && toSelector( tokens )
1959
+ );
1960
+ }
1961
+ matchers.push( matcher );
1962
+ }
1963
+ }
1964
+
1965
+ return elementMatcher( matchers );
1966
+ }
1967
+
1968
+ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
1969
+ var bySet = setMatchers.length > 0,
1970
+ byElement = elementMatchers.length > 0,
1971
+ superMatcher = function( seed, context, xml, results, outermost ) {
1972
+ var elem, j, matcher,
1973
+ matchedCount = 0,
1974
+ i = "0",
1975
+ unmatched = seed && [],
1976
+ setMatched = [],
1977
+ contextBackup = outermostContext,
1978
+ // We must always have either seed elements or outermost context
1979
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
1980
+ // Use integer dirruns iff this is the outermost matcher
1981
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
1982
+ len = elems.length;
1983
+
1984
+ if ( outermost ) {
1985
+ outermostContext = context === document || context || outermost;
1986
+ }
1987
+
1988
+ // Add elements passing elementMatchers directly to results
1989
+ // Support: IE<9, Safari
1990
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
1991
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
1992
+ if ( byElement && elem ) {
1993
+ j = 0;
1994
+ if ( !context && elem.ownerDocument !== document ) {
1995
+ setDocument( elem );
1996
+ xml = !documentIsHTML;
1997
+ }
1998
+ while ( (matcher = elementMatchers[j++]) ) {
1999
+ if ( matcher( elem, context || document, xml) ) {
2000
+ results.push( elem );
2001
+ break;
2002
+ }
2003
+ }
2004
+ if ( outermost ) {
2005
+ dirruns = dirrunsUnique;
2006
+ }
2007
+ }
2008
+
2009
+ // Track unmatched elements for set filters
2010
+ if ( bySet ) {
2011
+ // They will have gone through all possible matchers
2012
+ if ( (elem = !matcher && elem) ) {
2013
+ matchedCount--;
2014
+ }
2015
+
2016
+ // Lengthen the array for every element, matched or not
2017
+ if ( seed ) {
2018
+ unmatched.push( elem );
2019
+ }
2020
+ }
2021
+ }
2022
+
2023
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
2024
+ // makes the latter nonnegative.
2025
+ matchedCount += i;
2026
+
2027
+ // Apply set filters to unmatched elements
2028
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
2029
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
2030
+ // no element matchers and no seed.
2031
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
2032
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
2033
+ // numerically zero.
2034
+ if ( bySet && i !== matchedCount ) {
2035
+ j = 0;
2036
+ while ( (matcher = setMatchers[j++]) ) {
2037
+ matcher( unmatched, setMatched, context, xml );
2038
+ }
2039
+
2040
+ if ( seed ) {
2041
+ // Reintegrate element matches to eliminate the need for sorting
2042
+ if ( matchedCount > 0 ) {
2043
+ while ( i-- ) {
2044
+ if ( !(unmatched[i] || setMatched[i]) ) {
2045
+ setMatched[i] = pop.call( results );
2046
+ }
2047
+ }
2048
+ }
2049
+
2050
+ // Discard index placeholder values to get only actual matches
2051
+ setMatched = condense( setMatched );
2052
+ }
2053
+
2054
+ // Add matches to results
2055
+ push.apply( results, setMatched );
2056
+
2057
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
2058
+ if ( outermost && !seed && setMatched.length > 0 &&
2059
+ ( matchedCount + setMatchers.length ) > 1 ) {
2060
+
2061
+ Sizzle.uniqueSort( results );
2062
+ }
2063
+ }
2064
+
2065
+ // Override manipulation of globals by nested matchers
2066
+ if ( outermost ) {
2067
+ dirruns = dirrunsUnique;
2068
+ outermostContext = contextBackup;
2069
+ }
2070
+
2071
+ return unmatched;
2072
+ };
2073
+
2074
+ return bySet ?
2075
+ markFunction( superMatcher ) :
2076
+ superMatcher;
2077
+ }
2078
+
2079
+ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2080
+ var i,
2081
+ setMatchers = [],
2082
+ elementMatchers = [],
2083
+ cached = compilerCache[ selector + " " ];
2084
+
2085
+ if ( !cached ) {
2086
+ // Generate a function of recursive functions that can be used to check each element
2087
+ if ( !match ) {
2088
+ match = tokenize( selector );
2089
+ }
2090
+ i = match.length;
2091
+ while ( i-- ) {
2092
+ cached = matcherFromTokens( match[i] );
2093
+ if ( cached[ expando ] ) {
2094
+ setMatchers.push( cached );
2095
+ } else {
2096
+ elementMatchers.push( cached );
2097
+ }
2098
+ }
2099
+
2100
+ // Cache the compiled function
2101
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
2102
+
2103
+ // Save selector and tokenization
2104
+ cached.selector = selector;
2105
+ }
2106
+ return cached;
2107
+ };
2108
+
2109
+ /**
2110
+ * A low-level selection function that works with Sizzle's compiled
2111
+ * selector functions
2112
+ * @param {String|Function} selector A selector or a pre-compiled
2113
+ * selector function built with Sizzle.compile
2114
+ * @param {Element} context
2115
+ * @param {Array} [results]
2116
+ * @param {Array} [seed] A set of elements to match against
2117
+ */
2118
+ select = Sizzle.select = function( selector, context, results, seed ) {
2119
+ var i, tokens, token, type, find,
2120
+ compiled = typeof selector === "function" && selector,
2121
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
2122
+
2123
+ results = results || [];
2124
+
2125
+ // Try to minimize operations if there is only one selector in the list and no seed
2126
+ // (the latter of which guarantees us context)
2127
+ if ( match.length === 1 ) {
2128
+
2129
+ // Reduce context if the leading compound selector is an ID
2130
+ tokens = match[0] = match[0].slice( 0 );
2131
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2132
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
2133
+
2134
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
2135
+ if ( !context ) {
2136
+ return results;
2137
+
2138
+ // Precompiled matchers will still verify ancestry, so step up a level
2139
+ } else if ( compiled ) {
2140
+ context = context.parentNode;
2141
+ }
2142
+
2143
+ selector = selector.slice( tokens.shift().value.length );
2144
+ }
2145
+
2146
+ // Fetch a seed set for right-to-left matching
2147
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2148
+ while ( i-- ) {
2149
+ token = tokens[i];
2150
+
2151
+ // Abort if we hit a combinator
2152
+ if ( Expr.relative[ (type = token.type) ] ) {
2153
+ break;
2154
+ }
2155
+ if ( (find = Expr.find[ type ]) ) {
2156
+ // Search, expanding context for leading sibling combinators
2157
+ if ( (seed = find(
2158
+ token.matches[0].replace( runescape, funescape ),
2159
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2160
+ )) ) {
2161
+
2162
+ // If seed is empty or no tokens remain, we can return early
2163
+ tokens.splice( i, 1 );
2164
+ selector = seed.length && toSelector( tokens );
2165
+ if ( !selector ) {
2166
+ push.apply( results, seed );
2167
+ return results;
2168
+ }
2169
+
2170
+ break;
2171
+ }
2172
+ }
2173
+ }
2174
+ }
2175
+
2176
+ // Compile and execute a filtering function if one is not provided
2177
+ // Provide `match` to avoid retokenization if we modified the selector above
2178
+ ( compiled || compile( selector, match ) )(
2179
+ seed,
2180
+ context,
2181
+ !documentIsHTML,
2182
+ results,
2183
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
2184
+ );
2185
+ return results;
2186
+ };
2187
+
2188
+ // One-time assignments
2189
+
2190
+ // Sort stability
2191
+ support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
2192
+
2193
+ // Support: Chrome 14-35+
2194
+ // Always assume duplicates if they aren't passed to the comparison function
2195
+ support.detectDuplicates = !!hasDuplicate;
2196
+
2197
+ // Initialize against the default document
2198
+ setDocument();
2199
+
2200
+ // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
2201
+ // Detached nodes confoundingly follow *each other*
2202
+ support.sortDetached = assert(function( el ) {
2203
+ // Should return 1, but returns 4 (following)
2204
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
2205
+ });
2206
+
2207
+ // Support: IE<8
2208
+ // Prevent attribute/property "interpolation"
2209
+ // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
2210
+ if ( !assert(function( el ) {
2211
+ el.innerHTML = "<a href='#'></a>";
2212
+ return el.firstChild.getAttribute("href") === "#" ;
2213
+ }) ) {
2214
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
2215
+ if ( !isXML ) {
2216
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
2217
+ }
2218
+ });
2219
+ }
2220
+
2221
+ // Support: IE<9
2222
+ // Use defaultValue in place of getAttribute("value")
2223
+ if ( !support.attributes || !assert(function( el ) {
2224
+ el.innerHTML = "<input/>";
2225
+ el.firstChild.setAttribute( "value", "" );
2226
+ return el.firstChild.getAttribute( "value" ) === "";
2227
+ }) ) {
2228
+ addHandle( "value", function( elem, name, isXML ) {
2229
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
2230
+ return elem.defaultValue;
2231
+ }
2232
+ });
2233
+ }
2234
+
2235
+ // Support: IE<9
2236
+ // Use getAttributeNode to fetch booleans when getAttribute lies
2237
+ if ( !assert(function( el ) {
2238
+ return el.getAttribute("disabled") == null;
2239
+ }) ) {
2240
+ addHandle( booleans, function( elem, name, isXML ) {
2241
+ var val;
2242
+ if ( !isXML ) {
2243
+ return elem[ name ] === true ? name.toLowerCase() :
2244
+ (val = elem.getAttributeNode( name )) && val.specified ?
2245
+ val.value :
2246
+ null;
2247
+ }
2248
+ });
2249
+ }
2250
+
2251
+ // EXPOSE
2252
+ var _sizzle = window.Sizzle;
2253
+
2254
+ Sizzle.noConflict = function() {
2255
+ if ( window.Sizzle === Sizzle ) {
2256
+ window.Sizzle = _sizzle;
2257
+ }
2258
+
2259
+ return Sizzle;
2260
+ };
2261
+
2262
+ if ( typeof define === "function" && define.amd ) {
2263
+ define(function() { return Sizzle; });
2264
+ // Sizzle requires that there be a global window in Common-JS like environments
2265
+ } else if ( typeof module !== "undefined" && module.exports ) {
2266
+ module.exports = Sizzle;
2267
+ } else {
2268
+ window.Sizzle = Sizzle;
2269
+ }
2270
+ // EXPOSE
2271
+
2272
+ })( window );