columbus3 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (344) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/README.md +122 -0
  4. data/bin/console +0 -0
  5. data/bin/setup +0 -0
  6. data/bower.json +25 -0
  7. data/bower_components/jquery/.bower.json +7 -20
  8. data/bower_components/jquery/AUTHORS.txt +301 -0
  9. data/bower_components/jquery/{MIT-LICENSE.txt → LICENSE.txt} +17 -2
  10. data/bower_components/jquery/README.md +67 -0
  11. data/bower_components/jquery/bower.json +2 -16
  12. data/bower_components/jquery/dist/core.js +476 -0
  13. data/bower_components/jquery/dist/jquery.js +3861 -2818
  14. data/bower_components/jquery/dist/jquery.min.js +4 -5
  15. data/bower_components/jquery/dist/jquery.min.map +1 -1
  16. data/bower_components/jquery/dist/jquery.slim.js +8160 -0
  17. data/bower_components/jquery/dist/jquery.slim.min.js +4 -0
  18. data/bower_components/jquery/dist/jquery.slim.min.map +1 -0
  19. data/bower_components/jquery/external/sizzle/LICENSE.txt +36 -0
  20. data/bower_components/jquery/{src → external}/sizzle/dist/sizzle.js +445 -240
  21. data/bower_components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  22. data/bower_components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  23. data/bower_components/jquery/src/.eslintrc.json +5 -0
  24. data/bower_components/jquery/src/ajax.js +174 -105
  25. data/bower_components/jquery/src/ajax/jsonp.js +27 -14
  26. data/bower_components/jquery/src/ajax/load.js +24 -23
  27. data/bower_components/jquery/src/ajax/parseXML.js +8 -6
  28. data/bower_components/jquery/src/ajax/script.js +25 -12
  29. data/bower_components/jquery/src/ajax/var/location.js +5 -0
  30. data/bower_components/jquery/src/ajax/var/nonce.js +4 -2
  31. data/bower_components/jquery/src/ajax/var/rquery.js +5 -3
  32. data/bower_components/jquery/src/ajax/xhr.js +76 -43
  33. data/bower_components/jquery/src/attributes.js +4 -2
  34. data/bower_components/jquery/src/attributes/attr.js +60 -60
  35. data/bower_components/jquery/src/attributes/classes.js +87 -71
  36. data/bower_components/jquery/src/attributes/prop.js +81 -32
  37. data/bower_components/jquery/src/attributes/support.js +11 -13
  38. data/bower_components/jquery/src/attributes/val.js +66 -37
  39. data/bower_components/jquery/src/callbacks.js +119 -90
  40. data/bower_components/jquery/src/core.js +108 -134
  41. data/bower_components/jquery/src/core/DOMEval.js +16 -0
  42. data/bower_components/jquery/src/core/access.js +21 -11
  43. data/bower_components/jquery/src/core/init.js +33 -28
  44. data/bower_components/jquery/src/core/nodeName.js +13 -0
  45. data/bower_components/jquery/src/core/parseHTML.js +39 -13
  46. data/bower_components/jquery/src/core/ready-no-deferred.js +96 -0
  47. data/bower_components/jquery/src/core/ready.js +40 -51
  48. data/bower_components/jquery/src/core/readyException.js +13 -0
  49. data/bower_components/jquery/src/core/stripAndCollapse.js +14 -0
  50. data/bower_components/jquery/src/core/support.js +20 -0
  51. data/bower_components/jquery/src/core/var/rsingleTag.js +5 -3
  52. data/bower_components/jquery/src/css.js +146 -158
  53. data/bower_components/jquery/src/css/addGetHookIf.js +7 -3
  54. data/bower_components/jquery/src/css/adjustCSS.js +71 -0
  55. data/bower_components/jquery/src/css/curCSS.js +22 -14
  56. data/bower_components/jquery/src/css/hiddenVisibleSelectors.js +8 -8
  57. data/bower_components/jquery/src/css/showHide.js +105 -0
  58. data/bower_components/jquery/src/css/support.js +69 -76
  59. data/bower_components/jquery/src/css/var/cssExpand.js +4 -2
  60. data/bower_components/jquery/src/css/var/getStyles.js +11 -6
  61. data/bower_components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  62. data/bower_components/jquery/src/css/var/rmargin.js +5 -3
  63. data/bower_components/jquery/src/css/var/rnumnonpx.js +4 -2
  64. data/bower_components/jquery/src/css/{swap.js → var/swap.js} +5 -7
  65. data/bower_components/jquery/src/data.js +67 -66
  66. data/bower_components/jquery/src/data/Data.js +87 -107
  67. data/bower_components/jquery/src/data/{accepts.js → var/acceptData.js} +6 -7
  68. data/bower_components/jquery/src/data/var/{data_priv.js → dataPriv.js} +4 -2
  69. data/bower_components/jquery/src/data/var/{data_user.js → dataUser.js} +4 -2
  70. data/bower_components/jquery/src/deferred.js +314 -72
  71. data/bower_components/jquery/src/deferred/exceptionHook.js +21 -0
  72. data/bower_components/jquery/src/deprecated.js +36 -9
  73. data/bower_components/jquery/src/dimensions.js +16 -10
  74. data/bower_components/jquery/src/effects.js +257 -206
  75. data/bower_components/jquery/src/effects/Tween.js +18 -9
  76. data/bower_components/jquery/src/effects/animatedSelector.js +7 -5
  77. data/bower_components/jquery/src/event.js +297 -419
  78. data/bower_components/jquery/src/event/ajax.js +13 -4
  79. data/bower_components/jquery/src/event/alias.js +13 -23
  80. data/bower_components/jquery/src/event/focusin.js +55 -0
  81. data/bower_components/jquery/src/event/support.js +5 -3
  82. data/bower_components/jquery/src/event/trigger.js +185 -0
  83. data/bower_components/jquery/src/exports/amd.js +5 -3
  84. data/bower_components/jquery/src/exports/global.js +8 -6
  85. data/bower_components/jquery/src/jquery.js +6 -2
  86. data/bower_components/jquery/src/manipulation.js +218 -310
  87. data/bower_components/jquery/src/manipulation/_evalUrl.js +9 -4
  88. data/bower_components/jquery/src/manipulation/buildFragment.js +104 -0
  89. data/bower_components/jquery/src/manipulation/getAll.js +32 -0
  90. data/bower_components/jquery/src/manipulation/setGlobalEval.js +22 -0
  91. data/bower_components/jquery/src/manipulation/support.js +11 -8
  92. data/bower_components/jquery/src/manipulation/var/rcheckableType.js +5 -3
  93. data/bower_components/jquery/src/manipulation/var/rscriptType.js +5 -0
  94. data/bower_components/jquery/src/manipulation/var/rtagName.js +5 -0
  95. data/bower_components/jquery/src/manipulation/wrapMap.js +29 -0
  96. data/bower_components/jquery/src/offset.js +75 -53
  97. data/bower_components/jquery/src/queue.js +26 -23
  98. data/bower_components/jquery/src/queue/delay.js +8 -6
  99. data/bower_components/jquery/src/selector-native.js +133 -68
  100. data/bower_components/jquery/src/selector-sizzle.js +10 -5
  101. data/bower_components/jquery/src/selector.js +3 -1
  102. data/bower_components/jquery/src/serialize.js +52 -33
  103. data/bower_components/jquery/src/traversing.js +61 -69
  104. data/bower_components/jquery/src/traversing/findFilter.js +37 -31
  105. data/bower_components/jquery/src/traversing/var/dir.js +22 -0
  106. data/bower_components/jquery/src/traversing/var/rneedsContext.js +4 -2
  107. data/bower_components/jquery/src/traversing/var/siblings.js +17 -0
  108. data/bower_components/jquery/src/var/ObjectFunctionString.js +7 -0
  109. data/bower_components/jquery/src/var/arr.js +4 -2
  110. data/bower_components/jquery/src/var/class2type.js +4 -2
  111. data/bower_components/jquery/src/var/concat.js +4 -2
  112. data/bower_components/jquery/src/var/document.js +5 -0
  113. data/bower_components/jquery/src/var/documentElement.js +7 -0
  114. data/bower_components/jquery/src/var/fnToString.js +7 -0
  115. data/bower_components/jquery/src/var/getProto.js +5 -0
  116. data/bower_components/jquery/src/var/hasOwn.js +4 -2
  117. data/bower_components/jquery/src/var/indexOf.js +4 -2
  118. data/bower_components/jquery/src/var/pnum.js +5 -3
  119. data/bower_components/jquery/src/var/push.js +4 -2
  120. data/bower_components/jquery/src/var/rcssNum.js +9 -0
  121. data/bower_components/jquery/src/var/rnothtmlwhite.js +8 -0
  122. data/bower_components/jquery/src/var/slice.js +4 -2
  123. data/bower_components/jquery/src/var/support.js +4 -2
  124. data/bower_components/jquery/src/var/toString.js +4 -2
  125. data/bower_components/jquery/src/wrap.js +24 -26
  126. data/bower_components/leaflet-providers/.bower.json +6 -7
  127. data/bower_components/leaflet-providers/CHANGELOG.md +62 -0
  128. data/bower_components/leaflet-providers/README.md +12 -3
  129. data/bower_components/leaflet-providers/bower.json +1 -1
  130. data/bower_components/leaflet-providers/leaflet-providers.js +133 -92
  131. data/bower_components/leaflet-providers/package.json +14 -7
  132. data/bower_components/leaflet/.bower.json +10 -14
  133. data/bower_components/leaflet/CHANGELOG.md +648 -3
  134. data/bower_components/leaflet/CONTRIBUTING.md +88 -33
  135. data/bower_components/leaflet/ISSUE_TEMPLATE.md +25 -0
  136. data/bower_components/leaflet/Jakefile.js +73 -14
  137. data/bower_components/leaflet/LICENSE +1 -1
  138. data/bower_components/leaflet/PLUGIN-GUIDE.md +97 -3
  139. data/bower_components/leaflet/README.md +6 -8
  140. data/bower_components/leaflet/bower.json +3 -9
  141. data/bower_components/leaflet/dist/images/layers-2x.png +0 -0
  142. data/bower_components/leaflet/dist/images/layers.png +0 -0
  143. data/bower_components/leaflet/dist/images/marker-icon-2x.png +0 -0
  144. data/bower_components/leaflet/dist/images/marker-icon.png +0 -0
  145. data/bower_components/leaflet/dist/images/marker-shadow.png +0 -0
  146. data/bower_components/leaflet/dist/leaflet-src.js +12301 -7898
  147. data/bower_components/leaflet/dist/leaflet-src.js.map +1 -0
  148. data/bower_components/leaflet/dist/leaflet.css +196 -43
  149. data/bower_components/leaflet/dist/leaflet.js +6 -9
  150. data/bower_components/leaflet/dist/leaflet.js.map +1 -0
  151. data/bower_components/leaflet/docs/CNAME +1 -0
  152. data/bower_components/leaflet/docs/Gemfile +4 -0
  153. data/bower_components/leaflet/docs/_config.yml +19 -0
  154. data/bower_components/leaflet/docs/_includes/frame.html +9 -0
  155. data/bower_components/leaflet/docs/_includes/tutorial_link.html +8 -0
  156. data/bower_components/leaflet/docs/_layouts/post.html +30 -0
  157. data/bower_components/leaflet/docs/_layouts/redirected.html +14 -0
  158. data/bower_components/leaflet/docs/_layouts/tutorial.html +9 -0
  159. data/bower_components/leaflet/docs/_layouts/tutorial_frame.html +32 -0
  160. data/bower_components/leaflet/docs/_layouts/tutorial_v2.html +9 -0
  161. data/bower_components/leaflet/docs/_layouts/v2.html +159 -0
  162. data/bower_components/leaflet/docs/_posts/2012-07-30-leaflet-0-4-released.md +240 -0
  163. data/bower_components/leaflet/docs/_posts/2012-08-07-leaflet-0-4-3-and-a-new-tutorial.md +47 -0
  164. data/bower_components/leaflet/docs/_posts/2012-08-20-guest-post-markerclusterer-0-1-released.md +112 -0
  165. data/bower_components/leaflet/docs/_posts/2012-10-25-leaflet-0-4-5-bugfix-release-and-plans-for-0.5.md +36 -0
  166. data/bower_components/leaflet/docs/_posts/2013-01-17-leaflet-0-5-released.md +24 -0
  167. data/bower_components/leaflet/docs/_posts/2013-02-20-guest-post-draw.md +146 -0
  168. data/bower_components/leaflet/docs/_posts/2013-06-26-leaflet-0-6-released-dc-code-sprint-mapbox.md +31 -0
  169. data/bower_components/leaflet/docs/_posts/2013-06-28-leaflet-plugin-authoring-guide.md +111 -0
  170. data/bower_components/leaflet/docs/_posts/2013-11-18-leaflet-0-7-released-plans-for-future.md +56 -0
  171. data/bower_components/leaflet/docs/_posts/2015-07-01-leaflet-is-alive-and-kicking.md +21 -0
  172. data/bower_components/leaflet/docs/_posts/2015-07-15-leaflet-1.0-beta1-released.md +60 -0
  173. data/bower_components/leaflet/docs/_posts/2015-09-01-leaflet-0.7.4-released.md +29 -0
  174. data/bower_components/leaflet/docs/_posts/2015-10-14-leaflet-1.0-beta2-released.md +35 -0
  175. data/bower_components/leaflet/docs/_posts/2016-03-20-debugging-touch-interactions.md +101 -0
  176. data/bower_components/leaflet/docs/_posts/2016-04-18-leaflet-1.0-rc1.md +78 -0
  177. data/bower_components/leaflet/docs/_posts/2016-07-16-leaflet-1.0-rc2.md +60 -0
  178. data/bower_components/leaflet/docs/_posts/2016-08-05-leaflet-1.0-rc3.md +53 -0
  179. data/bower_components/leaflet/docs/_posts/2016-09-27-leaflet-1.0-final.md +50 -0
  180. data/bower_components/leaflet/docs/_posts/2016-11-21-leaflet-1.0.2.md +25 -0
  181. data/bower_components/leaflet/docs/_posts/2017-01-23-leaflet-1.0.3.md +27 -0
  182. data/bower_components/leaflet/docs/atom.xml +29 -0
  183. data/bower_components/leaflet/docs/blog.md +24 -0
  184. data/bower_components/leaflet/docs/docs/css/main.css +1092 -0
  185. data/bower_components/leaflet/docs/docs/css/normalize.css +426 -0
  186. data/bower_components/leaflet/docs/docs/highlight/LICENSE +24 -0
  187. data/bower_components/leaflet/docs/docs/highlight/highlight.pack.js +1 -0
  188. data/bower_components/leaflet/docs/docs/highlight/styles/github-gist.css +211 -0
  189. data/bower_components/leaflet/docs/docs/images/2016-03-20-prosthetic-hand-zooming.gif +0 -0
  190. data/bower_components/leaflet/docs/docs/images/2016-04-18-inheritances.gif +0 -0
  191. data/bower_components/leaflet/docs/docs/images/2016-04-18-leaflet-toilet-paper.jpeg +0 -0
  192. data/bower_components/leaflet/docs/docs/images/2016-04-18-madrid-leaflet-864px.jpg +0 -0
  193. data/bower_components/leaflet/docs/docs/images/2016-07-18-remote-session.png +0 -0
  194. data/bower_components/leaflet/docs/docs/images/2016-07-18-tooltip.png +0 -0
  195. data/bower_components/leaflet/docs/docs/images/2016-08-03-iraq-hacking.jpg +0 -0
  196. data/bower_components/leaflet/docs/docs/images/favicon.ico +0 -0
  197. data/bower_components/leaflet/docs/docs/images/forum-round.png +0 -0
  198. data/bower_components/leaflet/docs/docs/images/github-round.png +0 -0
  199. data/bower_components/leaflet/docs/docs/images/logo.png +0 -0
  200. data/bower_components/leaflet/docs/docs/images/logos.png +0 -0
  201. data/bower_components/leaflet/docs/docs/images/sprite.png +0 -0
  202. data/bower_components/leaflet/docs/docs/images/sprite.svg +75 -0
  203. data/bower_components/leaflet/docs/docs/images/twitter-round.png +0 -0
  204. data/bower_components/leaflet/docs/docs/images/twitter.png +0 -0
  205. data/bower_components/leaflet/docs/docs/js/docs.js +52 -0
  206. data/bower_components/leaflet/docs/download.md +95 -0
  207. data/bower_components/leaflet/docs/examples.md +125 -0
  208. data/bower_components/leaflet/docs/examples/choropleth-example.md +5 -0
  209. data/bower_components/leaflet/docs/examples/choropleth.md +5 -0
  210. data/bower_components/leaflet/docs/examples/choropleth/example-basic.md +20 -0
  211. data/bower_components/leaflet/docs/examples/choropleth/example-color.md +46 -0
  212. data/bower_components/leaflet/docs/examples/choropleth/example.md +159 -0
  213. data/bower_components/leaflet/docs/examples/choropleth/index.md +232 -0
  214. data/bower_components/leaflet/docs/examples/choropleth/thumbnail.png +0 -0
  215. data/bower_components/leaflet/docs/examples/choropleth/us-states.js +54 -0
  216. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple-example1.md +16 -0
  217. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple-example2.md +20 -0
  218. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple-example3.md +38 -0
  219. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple.md +117 -0
  220. data/bower_components/leaflet/docs/examples/crs-simple/thumbnail.png +0 -0
  221. data/bower_components/leaflet/docs/examples/crs-simple/uqm_map_400px.png +0 -0
  222. data/bower_components/leaflet/docs/examples/crs-simple/uqm_map_detail.png +0 -0
  223. data/bower_components/leaflet/docs/examples/crs-simple/uqm_map_full.png +0 -0
  224. data/bower_components/leaflet/docs/examples/custom-icons-example.md +5 -0
  225. data/bower_components/leaflet/docs/examples/custom-icons.md +5 -0
  226. data/bower_components/leaflet/docs/examples/custom-icons/example-one-icon.md +27 -0
  227. data/bower_components/leaflet/docs/examples/custom-icons/example.md +31 -0
  228. data/bower_components/leaflet/docs/examples/custom-icons/index.md +79 -0
  229. data/bower_components/leaflet/docs/examples/custom-icons/leaf-green.png +0 -0
  230. data/bower_components/leaflet/docs/examples/custom-icons/leaf-orange.png +0 -0
  231. data/bower_components/leaflet/docs/examples/custom-icons/leaf-red.png +0 -0
  232. data/bower_components/leaflet/docs/examples/custom-icons/leaf-shadow.png +0 -0
  233. data/bower_components/leaflet/docs/examples/custom-icons/thumbnail.png +0 -0
  234. data/bower_components/leaflet/docs/examples/extending/canvascircles.md +37 -0
  235. data/bower_components/leaflet/docs/examples/extending/class-diagram.md +24 -0
  236. data/bower_components/leaflet/docs/examples/extending/class-diagram.png +0 -0
  237. data/bower_components/leaflet/docs/examples/extending/class-diagram.txt +100 -0
  238. data/bower_components/leaflet/docs/examples/extending/extending-1-classes.md +196 -0
  239. data/bower_components/leaflet/docs/examples/extending/extending-2-layers.md +210 -0
  240. data/bower_components/leaflet/docs/examples/extending/extending-3-controls.md +100 -0
  241. data/bower_components/leaflet/docs/examples/extending/gridcoords.md +32 -0
  242. data/bower_components/leaflet/docs/examples/extending/kittenlayer.md +29 -0
  243. data/bower_components/leaflet/docs/examples/extending/pixelorigin.md +90 -0
  244. data/bower_components/leaflet/docs/examples/extending/thumbnail-1.png +0 -0
  245. data/bower_components/leaflet/docs/examples/extending/thumbnail-2.png +0 -0
  246. data/bower_components/leaflet/docs/examples/extending/thumbnail-3.png +0 -0
  247. data/bower_components/leaflet/docs/examples/extending/tilt.md +59 -0
  248. data/bower_components/leaflet/docs/examples/extending/watermark.md +36 -0
  249. data/bower_components/leaflet/docs/examples/geojson-example.md +5 -0
  250. data/bower_components/leaflet/docs/examples/geojson.md +5 -0
  251. data/bower_components/leaflet/docs/examples/geojson/baseball-marker.png +0 -0
  252. data/bower_components/leaflet/docs/examples/geojson/example.md +78 -0
  253. data/bower_components/leaflet/docs/examples/geojson/geojson-example.html +89 -0
  254. data/bower_components/leaflet/docs/examples/geojson/geojson.html +281 -0
  255. data/bower_components/leaflet/docs/examples/geojson/index.md +205 -0
  256. data/bower_components/leaflet/docs/examples/geojson/sample-geojson.js +248 -0
  257. data/bower_components/leaflet/docs/examples/geojson/thumbnail.png +0 -0
  258. data/bower_components/leaflet/docs/examples/layers-control-example.md +5 -0
  259. data/bower_components/leaflet/docs/examples/layers-control.md +5 -0
  260. data/bower_components/leaflet/docs/examples/layers-control/example.md +38 -0
  261. data/bower_components/leaflet/docs/examples/layers-control/index.md +72 -0
  262. data/bower_components/leaflet/docs/examples/layers-control/thumbnail.png +0 -0
  263. data/bower_components/leaflet/docs/examples/map-panes-example.md +5 -0
  264. data/bower_components/leaflet/docs/examples/map-panes.md +5 -0
  265. data/bower_components/leaflet/docs/examples/map-panes/eu-countries.js +79 -0
  266. data/bower_components/leaflet/docs/examples/map-panes/example.md +38 -0
  267. data/bower_components/leaflet/docs/examples/map-panes/index.md +105 -0
  268. data/bower_components/leaflet/docs/examples/map-panes/thumbnail.png +0 -0
  269. data/bower_components/leaflet/docs/examples/mobile-example.md +5 -0
  270. data/bower_components/leaflet/docs/examples/mobile.md +5 -0
  271. data/bower_components/leaflet/docs/examples/mobile/example.md +42 -0
  272. data/bower_components/leaflet/docs/examples/mobile/index.md +72 -0
  273. data/bower_components/leaflet/docs/examples/mobile/thumbnail.png +0 -0
  274. data/bower_components/leaflet/docs/examples/quick-start-example.md +5 -0
  275. data/bower_components/leaflet/docs/examples/quick-start.md +5 -0
  276. data/bower_components/leaflet/docs/examples/quick-start/example-basic.md +19 -0
  277. data/bower_components/leaflet/docs/examples/quick-start/example-overlays.md +35 -0
  278. data/bower_components/leaflet/docs/examples/quick-start/example-popups.md +37 -0
  279. data/bower_components/leaflet/docs/examples/quick-start/example.md +46 -0
  280. data/bower_components/leaflet/docs/examples/quick-start/index.md +143 -0
  281. data/bower_components/leaflet/docs/examples/quick-start/thumbnail.png +0 -0
  282. data/bower_components/leaflet/docs/examples/video-overlay/example-bounds.md +23 -0
  283. data/bower_components/leaflet/docs/examples/video-overlay/example-nocontrols.md +31 -0
  284. data/bower_components/leaflet/docs/examples/video-overlay/example.md +58 -0
  285. data/bower_components/leaflet/docs/examples/video-overlay/index.md +122 -0
  286. data/bower_components/leaflet/docs/examples/video-overlay/thumbnail.gif +0 -0
  287. data/bower_components/leaflet/docs/examples/wms/qgis-wms-layers.png +0 -0
  288. data/bower_components/leaflet/docs/examples/wms/thumbnail.png +0 -0
  289. data/bower_components/leaflet/docs/examples/wms/wms-example-crs.md +18 -0
  290. data/bower_components/leaflet/docs/examples/wms/wms-example1.md +16 -0
  291. data/bower_components/leaflet/docs/examples/wms/wms-example2.md +16 -0
  292. data/bower_components/leaflet/docs/examples/wms/wms-example3.md +34 -0
  293. data/bower_components/leaflet/docs/examples/wms/wms-example4.md +29 -0
  294. data/bower_components/leaflet/docs/examples/wms/wms.md +157 -0
  295. data/bower_components/leaflet/docs/examples/zoom-levels/example-delta.md +40 -0
  296. data/bower_components/leaflet/docs/examples/zoom-levels/example-fractional.md +56 -0
  297. data/bower_components/leaflet/docs/examples/zoom-levels/example-scale.md +29 -0
  298. data/bower_components/leaflet/docs/examples/zoom-levels/example-setzoom.md +44 -0
  299. data/bower_components/leaflet/docs/examples/zoom-levels/example-zero.md +19 -0
  300. data/bower_components/leaflet/docs/examples/zoom-levels/index.md +275 -0
  301. data/bower_components/leaflet/docs/examples/zoom-levels/thumbnail.png +0 -0
  302. data/bower_components/leaflet/docs/index.html +218 -0
  303. data/bower_components/leaflet/docs/plugins.md +3854 -0
  304. data/bower_components/leaflet/docs/reference-0.7.7.html +6424 -0
  305. data/bower_components/leaflet/docs/reference-1.0.0.html +22889 -0
  306. data/bower_components/leaflet/docs/reference-1.0.2.html +23382 -0
  307. data/bower_components/leaflet/docs/reference-1.0.3.html +23495 -0
  308. data/bower_components/leaflet/docs/reference-tpl.html +89 -0
  309. data/bower_components/leaflet/docs/reference-versions.html +16 -0
  310. data/bower_components/leaflet/docs/reference.html +3 -0
  311. data/bower_components/leaflet/package.json +77 -16
  312. data/columbus3.gemspec +1 -1
  313. data/doc/ChangeLog.org +10 -0
  314. data/doc/manual.txt +122 -0
  315. data/doc/todo.org +63 -0
  316. data/exe/columbus3 +2 -246
  317. data/lib/columbus3.rb +12 -7
  318. data/lib/columbus3/cli/command_semantics.rb +352 -0
  319. data/lib/columbus3/cli/command_syntax.rb +103 -0
  320. data/lib/columbus3/metadata/query_parser.racc +21 -7
  321. data/lib/columbus3/metadata/query_parser.tab.rb +34 -34
  322. data/lib/columbus3/metadata/sidecar.rb +1 -1
  323. data/lib/columbus3/renderer/flot_renderer.rb +3 -8
  324. data/lib/columbus3/renderer/leaflet_renderer.rb +18 -29
  325. data/lib/columbus3/renderer/sanitizer.rb +8 -0
  326. data/lib/columbus3/v900track/gpx2v900.rb +31 -0
  327. data/lib/columbus3/v900track/v900track.rb +34 -8
  328. data/lib/columbus3/v900track/v900waypoint.rb +9 -0
  329. data/lib/columbus3/version.rb +1 -1
  330. data/lib/html/flot.html.erb +6 -6
  331. data/lib/html/show.html.erb +53 -76
  332. data/lib/html/track.js.erb +58 -12
  333. metadata +222 -23
  334. data/README.textile +0 -67
  335. data/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  336. data/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  337. data/bower_components/jquery/src/css/var/isHidden.js +0 -13
  338. data/bower_components/jquery/src/intro.js +0 -44
  339. data/bower_components/jquery/src/outro.js +0 -1
  340. data/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  341. data/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  342. data/bower_components/jquery/src/var/rnotwhite.js +0 -3
  343. data/bower_components/jquery/src/var/strundefined.js +0 -3
  344. data/bower_components/leaflet/component.json +0 -20
@@ -1,13 +1,22 @@
1
- define([
1
+ define( [
2
2
  "../core",
3
3
  "../event"
4
4
  ], function( jQuery ) {
5
5
 
6
+ "use strict";
7
+
6
8
  // Attach a bunch of functions for handling common AJAX events
7
- jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
9
+ jQuery.each( [
10
+ "ajaxStart",
11
+ "ajaxStop",
12
+ "ajaxComplete",
13
+ "ajaxError",
14
+ "ajaxSuccess",
15
+ "ajaxSend"
16
+ ], function( i, type ) {
8
17
  jQuery.fn[ type ] = function( fn ) {
9
18
  return this.on( type, fn );
10
19
  };
11
- });
20
+ } );
12
21
 
13
- });
22
+ } );
@@ -1,11 +1,16 @@
1
- define([
1
+ define( [
2
2
  "../core",
3
- "../event"
3
+
4
+ "../event",
5
+ "./trigger"
4
6
  ], function( jQuery ) {
5
7
 
6
- jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
8
+ "use strict";
9
+
10
+ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
7
11
  "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
8
- "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
12
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
13
+ function( i, name ) {
9
14
 
10
15
  // Handle event binding
11
16
  jQuery.fn[ name ] = function( data, fn ) {
@@ -13,27 +18,12 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
13
18
  this.on( name, null, data, fn ) :
14
19
  this.trigger( name );
15
20
  };
16
- });
21
+ } );
17
22
 
18
- jQuery.fn.extend({
23
+ jQuery.fn.extend( {
19
24
  hover: function( fnOver, fnOut ) {
20
25
  return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
21
- },
22
-
23
- bind: function( types, data, fn ) {
24
- return this.on( types, null, data, fn );
25
- },
26
- unbind: function( types, fn ) {
27
- return this.off( types, null, fn );
28
- },
29
-
30
- delegate: function( selector, types, data, fn ) {
31
- return this.on( types, selector, data, fn );
32
- },
33
- undelegate: function( selector, types, fn ) {
34
- // ( namespace ) or ( selector, types [, fn] )
35
- return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
36
26
  }
37
- });
27
+ } );
38
28
 
39
- });
29
+ } );
@@ -0,0 +1,55 @@
1
+ define( [
2
+ "../core",
3
+ "../data/var/dataPriv",
4
+ "./support",
5
+
6
+ "../event",
7
+ "./trigger"
8
+ ], function( jQuery, dataPriv, support ) {
9
+
10
+ "use strict";
11
+
12
+ // Support: Firefox <=44
13
+ // Firefox doesn't have focus(in | out) events
14
+ // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
15
+ //
16
+ // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
17
+ // focus(in | out) events fire after focus & blur events,
18
+ // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
19
+ // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
20
+ if ( !support.focusin ) {
21
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
22
+
23
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
24
+ var handler = function( event ) {
25
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
26
+ };
27
+
28
+ jQuery.event.special[ fix ] = {
29
+ setup: function() {
30
+ var doc = this.ownerDocument || this,
31
+ attaches = dataPriv.access( doc, fix );
32
+
33
+ if ( !attaches ) {
34
+ doc.addEventListener( orig, handler, true );
35
+ }
36
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
37
+ },
38
+ teardown: function() {
39
+ var doc = this.ownerDocument || this,
40
+ attaches = dataPriv.access( doc, fix ) - 1;
41
+
42
+ if ( !attaches ) {
43
+ doc.removeEventListener( orig, handler, true );
44
+ dataPriv.remove( doc, fix );
45
+
46
+ } else {
47
+ dataPriv.access( doc, fix, attaches );
48
+ }
49
+ }
50
+ };
51
+ } );
52
+ }
53
+
54
+ return jQuery;
55
+ } );
@@ -1,9 +1,11 @@
1
- define([
1
+ define( [
2
2
  "../var/support"
3
3
  ], function( support ) {
4
4
 
5
- support.focusinBubbles = "onfocusin" in window;
5
+ "use strict";
6
+
7
+ support.focusin = "onfocusin" in window;
6
8
 
7
9
  return support;
8
10
 
9
- });
11
+ } );
@@ -0,0 +1,185 @@
1
+ define( [
2
+ "../core",
3
+ "../var/document",
4
+ "../data/var/dataPriv",
5
+ "../data/var/acceptData",
6
+ "../var/hasOwn",
7
+
8
+ "../event"
9
+ ], function( jQuery, document, dataPriv, acceptData, hasOwn ) {
10
+
11
+ "use strict";
12
+
13
+ var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
14
+
15
+ jQuery.extend( jQuery.event, {
16
+
17
+ trigger: function( event, data, elem, onlyHandlers ) {
18
+
19
+ var i, cur, tmp, bubbleType, ontype, handle, special,
20
+ eventPath = [ elem || document ],
21
+ type = hasOwn.call( event, "type" ) ? event.type : event,
22
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
23
+
24
+ cur = tmp = elem = elem || document;
25
+
26
+ // Don't do events on text and comment nodes
27
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
28
+ return;
29
+ }
30
+
31
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
32
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
33
+ return;
34
+ }
35
+
36
+ if ( type.indexOf( "." ) > -1 ) {
37
+
38
+ // Namespaced trigger; create a regexp to match event type in handle()
39
+ namespaces = type.split( "." );
40
+ type = namespaces.shift();
41
+ namespaces.sort();
42
+ }
43
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
44
+
45
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
46
+ event = event[ jQuery.expando ] ?
47
+ event :
48
+ new jQuery.Event( type, typeof event === "object" && event );
49
+
50
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
51
+ event.isTrigger = onlyHandlers ? 2 : 3;
52
+ event.namespace = namespaces.join( "." );
53
+ event.rnamespace = event.namespace ?
54
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
55
+ null;
56
+
57
+ // Clean up the event in case it is being reused
58
+ event.result = undefined;
59
+ if ( !event.target ) {
60
+ event.target = elem;
61
+ }
62
+
63
+ // Clone any incoming data and prepend the event, creating the handler arg list
64
+ data = data == null ?
65
+ [ event ] :
66
+ jQuery.makeArray( data, [ event ] );
67
+
68
+ // Allow special events to draw outside the lines
69
+ special = jQuery.event.special[ type ] || {};
70
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
71
+ return;
72
+ }
73
+
74
+ // Determine event propagation path in advance, per W3C events spec (#9951)
75
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
76
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
77
+
78
+ bubbleType = special.delegateType || type;
79
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
80
+ cur = cur.parentNode;
81
+ }
82
+ for ( ; cur; cur = cur.parentNode ) {
83
+ eventPath.push( cur );
84
+ tmp = cur;
85
+ }
86
+
87
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
88
+ if ( tmp === ( elem.ownerDocument || document ) ) {
89
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
90
+ }
91
+ }
92
+
93
+ // Fire handlers on the event path
94
+ i = 0;
95
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
96
+
97
+ event.type = i > 1 ?
98
+ bubbleType :
99
+ special.bindType || type;
100
+
101
+ // jQuery handler
102
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
103
+ dataPriv.get( cur, "handle" );
104
+ if ( handle ) {
105
+ handle.apply( cur, data );
106
+ }
107
+
108
+ // Native handler
109
+ handle = ontype && cur[ ontype ];
110
+ if ( handle && handle.apply && acceptData( cur ) ) {
111
+ event.result = handle.apply( cur, data );
112
+ if ( event.result === false ) {
113
+ event.preventDefault();
114
+ }
115
+ }
116
+ }
117
+ event.type = type;
118
+
119
+ // If nobody prevented the default action, do it now
120
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
121
+
122
+ if ( ( !special._default ||
123
+ special._default.apply( eventPath.pop(), data ) === false ) &&
124
+ acceptData( elem ) ) {
125
+
126
+ // Call a native DOM method on the target with the same name as the event.
127
+ // Don't do default actions on window, that's where global variables be (#6170)
128
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
129
+
130
+ // Don't re-trigger an onFOO event when we call its FOO() method
131
+ tmp = elem[ ontype ];
132
+
133
+ if ( tmp ) {
134
+ elem[ ontype ] = null;
135
+ }
136
+
137
+ // Prevent re-triggering of the same event, since we already bubbled it above
138
+ jQuery.event.triggered = type;
139
+ elem[ type ]();
140
+ jQuery.event.triggered = undefined;
141
+
142
+ if ( tmp ) {
143
+ elem[ ontype ] = tmp;
144
+ }
145
+ }
146
+ }
147
+ }
148
+
149
+ return event.result;
150
+ },
151
+
152
+ // Piggyback on a donor event to simulate a different one
153
+ // Used only for `focus(in | out)` events
154
+ simulate: function( type, elem, event ) {
155
+ var e = jQuery.extend(
156
+ new jQuery.Event(),
157
+ event,
158
+ {
159
+ type: type,
160
+ isSimulated: true
161
+ }
162
+ );
163
+
164
+ jQuery.event.trigger( e, null, elem );
165
+ }
166
+
167
+ } );
168
+
169
+ jQuery.fn.extend( {
170
+
171
+ trigger: function( type, data ) {
172
+ return this.each( function() {
173
+ jQuery.event.trigger( type, data, this );
174
+ } );
175
+ },
176
+ triggerHandler: function( type, data ) {
177
+ var elem = this[ 0 ];
178
+ if ( elem ) {
179
+ return jQuery.event.trigger( type, data, elem, true );
180
+ }
181
+ }
182
+ } );
183
+
184
+ return jQuery;
185
+ } );
@@ -1,7 +1,9 @@
1
- define([
1
+ define( [
2
2
  "../core"
3
3
  ], function( jQuery ) {
4
4
 
5
+ "use strict";
6
+
5
7
  // Register as a named AMD module, since jQuery can be concatenated with other
6
8
  // files that may use define, but not via a proper concatenation script that
7
9
  // understands anonymous AMD modules. A named AMD is safest and most robust
@@ -18,7 +20,7 @@ define([
18
20
  if ( typeof define === "function" && define.amd ) {
19
21
  define( "jquery", [], function() {
20
22
  return jQuery;
21
- });
23
+ } );
22
24
  }
23
25
 
24
- });
26
+ } );
@@ -1,9 +1,11 @@
1
- define([
2
- "../core",
3
- "../var/strundefined"
4
- ], function( jQuery, strundefined ) {
1
+ define( [
2
+ "../core"
3
+ ], function( jQuery, noGlobal ) {
4
+
5
+ "use strict";
5
6
 
6
7
  var
8
+
7
9
  // Map over jQuery in case of overwrite
8
10
  _jQuery = window.jQuery,
9
11
 
@@ -25,8 +27,8 @@ jQuery.noConflict = function( deep ) {
25
27
  // Expose jQuery and $ identifiers, even in AMD
26
28
  // (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
27
29
  // and CommonJS for browser emulators (#13566)
28
- if ( typeof noGlobal === strundefined ) {
30
+ if ( !noGlobal ) {
29
31
  window.jQuery = window.$ = jQuery;
30
32
  }
31
33
 
32
- });
34
+ } );
@@ -1,9 +1,10 @@
1
- define([
1
+ define( [
2
2
  "./core",
3
3
  "./selector",
4
4
  "./traversing",
5
5
  "./callbacks",
6
6
  "./deferred",
7
+ "./deferred/exceptionHook",
7
8
  "./core/ready",
8
9
  "./data",
9
10
  "./queue",
@@ -11,6 +12,7 @@ define([
11
12
  "./attributes",
12
13
  "./event",
13
14
  "./event/alias",
15
+ "./event/focusin",
14
16
  "./manipulation",
15
17
  "./manipulation/_evalUrl",
16
18
  "./wrap",
@@ -32,6 +34,8 @@ define([
32
34
  "./exports/global"
33
35
  ], function( jQuery ) {
34
36
 
37
+ "use strict";
38
+
35
39
  return jQuery;
36
40
 
37
- });
41
+ } );
@@ -1,65 +1,67 @@
1
- define([
1
+ define( [
2
2
  "./core",
3
3
  "./var/concat",
4
4
  "./var/push",
5
5
  "./core/access",
6
6
  "./manipulation/var/rcheckableType",
7
+ "./manipulation/var/rtagName",
8
+ "./manipulation/var/rscriptType",
9
+ "./manipulation/wrapMap",
10
+ "./manipulation/getAll",
11
+ "./manipulation/setGlobalEval",
12
+ "./manipulation/buildFragment",
7
13
  "./manipulation/support",
8
- "./data/var/data_priv",
9
- "./data/var/data_user",
14
+
15
+ "./data/var/dataPriv",
16
+ "./data/var/dataUser",
17
+ "./data/var/acceptData",
18
+ "./core/DOMEval",
19
+ "./core/nodeName",
10
20
 
11
21
  "./core/init",
12
- "./data/accepts",
13
22
  "./traversing",
14
23
  "./selector",
15
24
  "./event"
16
- ], function( jQuery, concat, push, access, rcheckableType, support, data_priv, data_user ) {
25
+ ], function( jQuery, concat, push, access,
26
+ rcheckableType, rtagName, rscriptType,
27
+ wrapMap, getAll, setGlobalEval, buildFragment, support,
28
+ dataPriv, dataUser, acceptData, DOMEval, nodeName ) {
17
29
 
18
- var
19
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
20
- rtagName = /<([\w:]+)/,
21
- rhtml = /<|&#?\w+;/,
22
- rnoInnerhtml = /<(?:script|style|link)/i,
23
- // checked="checked" or checked
24
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
25
- rscriptType = /^$|\/(?:java|ecma)script/i,
26
- rscriptTypeMasked = /^true\/(.*)/,
27
- rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
30
+ "use strict";
28
31
 
29
- // We have to close these tags to support XHTML (#13200)
30
- wrapMap = {
32
+ var
31
33
 
32
- // Support: IE9
33
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
34
+ /* eslint-disable max-len */
34
35
 
35
- thead: [ 1, "<table>", "</table>" ],
36
- col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
37
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
38
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
36
+ // See https://github.com/eslint/eslint/issues/3229
37
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
39
38
 
40
- _default: [ 0, "", "" ]
41
- };
39
+ /* eslint-enable */
42
40
 
43
- // Support: IE9
44
- wrapMap.optgroup = wrapMap.option;
41
+ // Support: IE <=10 - 11, Edge 12 - 13
42
+ // In IE/Edge using regex groups here causes severe slowdowns.
43
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
44
+ rnoInnerhtml = /<script|<style|<link/i,
45
45
 
46
- wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
47
- wrapMap.th = wrapMap.td;
46
+ // checked="checked" or checked
47
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
48
+ rscriptTypeMasked = /^true\/(.*)/,
49
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
48
50
 
49
- // Support: 1.x compatibility
50
- // Manipulating tables requires a tbody
51
+ // Prefer a tbody over its parent table for containing new rows
51
52
  function manipulationTarget( elem, content ) {
52
- return jQuery.nodeName( elem, "table" ) &&
53
- jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
53
+ if ( nodeName( elem, "table" ) &&
54
+ nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
55
+
56
+ return jQuery( ">tbody", elem )[ 0 ] || elem;
57
+ }
54
58
 
55
- elem.getElementsByTagName("tbody")[0] ||
56
- elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
57
- elem;
59
+ return elem;
58
60
  }
59
61
 
60
62
  // Replace/restore the type attribute of script elements for safe DOM manipulation
61
63
  function disableScript( elem ) {
62
- elem.type = (elem.getAttribute("type") !== null) + "/" + elem.type;
64
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
63
65
  return elem;
64
66
  }
65
67
  function restoreScript( elem ) {
@@ -68,24 +70,12 @@ function restoreScript( elem ) {
68
70
  if ( match ) {
69
71
  elem.type = match[ 1 ];
70
72
  } else {
71
- elem.removeAttribute("type");
73
+ elem.removeAttribute( "type" );
72
74
  }
73
75
 
74
76
  return elem;
75
77
  }
76
78
 
77
- // Mark scripts as having already been evaluated
78
- function setGlobalEval( elems, refElements ) {
79
- var i = 0,
80
- l = elems.length;
81
-
82
- for ( ; i < l; i++ ) {
83
- data_priv.set(
84
- elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" )
85
- );
86
- }
87
- }
88
-
89
79
  function cloneCopyEvent( src, dest ) {
90
80
  var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
91
81
 
@@ -94,9 +84,9 @@ function cloneCopyEvent( src, dest ) {
94
84
  }
95
85
 
96
86
  // 1. Copy private data: events, handlers, etc.
97
- if ( data_priv.hasData( src ) ) {
98
- pdataOld = data_priv.access( src );
99
- pdataCur = data_priv.set( dest, pdataOld );
87
+ if ( dataPriv.hasData( src ) ) {
88
+ pdataOld = dataPriv.access( src );
89
+ pdataCur = dataPriv.set( dest, pdataOld );
100
90
  events = pdataOld.events;
101
91
 
102
92
  if ( events ) {
@@ -112,24 +102,14 @@ function cloneCopyEvent( src, dest ) {
112
102
  }
113
103
 
114
104
  // 2. Copy user data
115
- if ( data_user.hasData( src ) ) {
116
- udataOld = data_user.access( src );
105
+ if ( dataUser.hasData( src ) ) {
106
+ udataOld = dataUser.access( src );
117
107
  udataCur = jQuery.extend( {}, udataOld );
118
108
 
119
- data_user.set( dest, udataCur );
109
+ dataUser.set( dest, udataCur );
120
110
  }
121
111
  }
122
112
 
123
- function getAll( context, tag ) {
124
- var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) :
125
- context.querySelectorAll ? context.querySelectorAll( tag || "*" ) :
126
- [];
127
-
128
- return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
129
- jQuery.merge( [ context ], ret ) :
130
- ret;
131
- }
132
-
133
113
  // Fix IE bugs, see support tests
134
114
  function fixInput( src, dest ) {
135
115
  var nodeName = dest.nodeName.toLowerCase();
@@ -144,7 +124,122 @@ function fixInput( src, dest ) {
144
124
  }
145
125
  }
146
126
 
147
- jQuery.extend({
127
+ function domManip( collection, args, callback, ignored ) {
128
+
129
+ // Flatten any nested arrays
130
+ args = concat.apply( [], args );
131
+
132
+ var fragment, first, scripts, hasScripts, node, doc,
133
+ i = 0,
134
+ l = collection.length,
135
+ iNoClone = l - 1,
136
+ value = args[ 0 ],
137
+ isFunction = jQuery.isFunction( value );
138
+
139
+ // We can't cloneNode fragments that contain checked, in WebKit
140
+ if ( isFunction ||
141
+ ( l > 1 && typeof value === "string" &&
142
+ !support.checkClone && rchecked.test( value ) ) ) {
143
+ return collection.each( function( index ) {
144
+ var self = collection.eq( index );
145
+ if ( isFunction ) {
146
+ args[ 0 ] = value.call( this, index, self.html() );
147
+ }
148
+ domManip( self, args, callback, ignored );
149
+ } );
150
+ }
151
+
152
+ if ( l ) {
153
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
154
+ first = fragment.firstChild;
155
+
156
+ if ( fragment.childNodes.length === 1 ) {
157
+ fragment = first;
158
+ }
159
+
160
+ // Require either new content or an interest in ignored elements to invoke the callback
161
+ if ( first || ignored ) {
162
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
163
+ hasScripts = scripts.length;
164
+
165
+ // Use the original fragment for the last item
166
+ // instead of the first because it can end up
167
+ // being emptied incorrectly in certain situations (#8070).
168
+ for ( ; i < l; i++ ) {
169
+ node = fragment;
170
+
171
+ if ( i !== iNoClone ) {
172
+ node = jQuery.clone( node, true, true );
173
+
174
+ // Keep references to cloned scripts for later restoration
175
+ if ( hasScripts ) {
176
+
177
+ // Support: Android <=4.0 only, PhantomJS 1 only
178
+ // push.apply(_, arraylike) throws on ancient WebKit
179
+ jQuery.merge( scripts, getAll( node, "script" ) );
180
+ }
181
+ }
182
+
183
+ callback.call( collection[ i ], node, i );
184
+ }
185
+
186
+ if ( hasScripts ) {
187
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
188
+
189
+ // Reenable scripts
190
+ jQuery.map( scripts, restoreScript );
191
+
192
+ // Evaluate executable scripts on first document insertion
193
+ for ( i = 0; i < hasScripts; i++ ) {
194
+ node = scripts[ i ];
195
+ if ( rscriptType.test( node.type || "" ) &&
196
+ !dataPriv.access( node, "globalEval" ) &&
197
+ jQuery.contains( doc, node ) ) {
198
+
199
+ if ( node.src ) {
200
+
201
+ // Optional AJAX dependency, but won't run scripts if not present
202
+ if ( jQuery._evalUrl ) {
203
+ jQuery._evalUrl( node.src );
204
+ }
205
+ } else {
206
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+
214
+ return collection;
215
+ }
216
+
217
+ function remove( elem, selector, keepData ) {
218
+ var node,
219
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
220
+ i = 0;
221
+
222
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
223
+ if ( !keepData && node.nodeType === 1 ) {
224
+ jQuery.cleanData( getAll( node ) );
225
+ }
226
+
227
+ if ( node.parentNode ) {
228
+ if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
229
+ setGlobalEval( getAll( node, "script" ) );
230
+ }
231
+ node.parentNode.removeChild( node );
232
+ }
233
+ }
234
+
235
+ return elem;
236
+ }
237
+
238
+ jQuery.extend( {
239
+ htmlPrefilter: function( html ) {
240
+ return html.replace( rxhtmlTag, "<$1></$2>" );
241
+ },
242
+
148
243
  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
149
244
  var i, l, srcElements, destElements,
150
245
  clone = elem.cloneNode( true ),
@@ -154,7 +249,7 @@ jQuery.extend({
154
249
  if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
155
250
  !jQuery.isXMLDoc( elem ) ) {
156
251
 
157
- // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
252
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
158
253
  destElements = getAll( clone );
159
254
  srcElements = getAll( elem );
160
255
 
@@ -187,102 +282,14 @@ jQuery.extend({
187
282
  return clone;
188
283
  },
189
284
 
190
- buildFragment: function( elems, context, scripts, selection ) {
191
- var elem, tmp, tag, wrap, contains, j,
192
- fragment = context.createDocumentFragment(),
193
- nodes = [],
194
- i = 0,
195
- l = elems.length;
196
-
197
- for ( ; i < l; i++ ) {
198
- elem = elems[ i ];
199
-
200
- if ( elem || elem === 0 ) {
201
-
202
- // Add nodes directly
203
- if ( jQuery.type( elem ) === "object" ) {
204
- // Support: QtWebKit, PhantomJS
205
- // push.apply(_, arraylike) throws on ancient WebKit
206
- jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
207
-
208
- // Convert non-html into a text node
209
- } else if ( !rhtml.test( elem ) ) {
210
- nodes.push( context.createTextNode( elem ) );
211
-
212
- // Convert html into DOM nodes
213
- } else {
214
- tmp = tmp || fragment.appendChild( context.createElement("div") );
215
-
216
- // Deserialize a standard representation
217
- tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
218
- wrap = wrapMap[ tag ] || wrapMap._default;
219
- tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[ 2 ];
220
-
221
- // Descend through wrappers to the right content
222
- j = wrap[ 0 ];
223
- while ( j-- ) {
224
- tmp = tmp.lastChild;
225
- }
226
-
227
- // Support: QtWebKit, PhantomJS
228
- // push.apply(_, arraylike) throws on ancient WebKit
229
- jQuery.merge( nodes, tmp.childNodes );
230
-
231
- // Remember the top-level container
232
- tmp = fragment.firstChild;
233
-
234
- // Ensure the created nodes are orphaned (#12392)
235
- tmp.textContent = "";
236
- }
237
- }
238
- }
239
-
240
- // Remove wrapper from fragment
241
- fragment.textContent = "";
242
-
243
- i = 0;
244
- while ( (elem = nodes[ i++ ]) ) {
245
-
246
- // #4087 - If origin and destination elements are the same, and this is
247
- // that element, do not do anything
248
- if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
249
- continue;
250
- }
251
-
252
- contains = jQuery.contains( elem.ownerDocument, elem );
253
-
254
- // Append to fragment
255
- tmp = getAll( fragment.appendChild( elem ), "script" );
256
-
257
- // Preserve script evaluation history
258
- if ( contains ) {
259
- setGlobalEval( tmp );
260
- }
261
-
262
- // Capture executables
263
- if ( scripts ) {
264
- j = 0;
265
- while ( (elem = tmp[ j++ ]) ) {
266
- if ( rscriptType.test( elem.type || "" ) ) {
267
- scripts.push( elem );
268
- }
269
- }
270
- }
271
- }
272
-
273
- return fragment;
274
- },
275
-
276
285
  cleanData: function( elems ) {
277
- var data, elem, type, key,
286
+ var data, elem, type,
278
287
  special = jQuery.event.special,
279
288
  i = 0;
280
289
 
281
- for ( ; (elem = elems[ i ]) !== undefined; i++ ) {
282
- if ( jQuery.acceptData( elem ) ) {
283
- key = elem[ data_priv.expando ];
284
-
285
- if ( key && (data = data_priv.cache[ key ]) ) {
290
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
291
+ if ( acceptData( elem ) ) {
292
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
286
293
  if ( data.events ) {
287
294
  for ( type in data.events ) {
288
295
  if ( special[ type ] ) {
@@ -294,91 +301,82 @@ jQuery.extend({
294
301
  }
295
302
  }
296
303
  }
297
- if ( data_priv.cache[ key ] ) {
298
- // Discard any remaining `private` data
299
- delete data_priv.cache[ key ];
300
- }
304
+
305
+ // Support: Chrome <=35 - 45+
306
+ // Assign undefined instead of using delete, see Data#remove
307
+ elem[ dataPriv.expando ] = undefined;
308
+ }
309
+ if ( elem[ dataUser.expando ] ) {
310
+
311
+ // Support: Chrome <=35 - 45+
312
+ // Assign undefined instead of using delete, see Data#remove
313
+ elem[ dataUser.expando ] = undefined;
301
314
  }
302
315
  }
303
- // Discard any remaining `user` data
304
- delete data_user.cache[ elem[ data_user.expando ] ];
305
316
  }
306
317
  }
307
- });
318
+ } );
319
+
320
+ jQuery.fn.extend( {
321
+ detach: function( selector ) {
322
+ return remove( this, selector, true );
323
+ },
324
+
325
+ remove: function( selector ) {
326
+ return remove( this, selector );
327
+ },
308
328
 
309
- jQuery.fn.extend({
310
329
  text: function( value ) {
311
330
  return access( this, function( value ) {
312
331
  return value === undefined ?
313
332
  jQuery.text( this ) :
314
- this.empty().each(function() {
333
+ this.empty().each( function() {
315
334
  if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
316
335
  this.textContent = value;
317
336
  }
318
- });
337
+ } );
319
338
  }, null, value, arguments.length );
320
339
  },
321
340
 
322
341
  append: function() {
323
- return this.domManip( arguments, function( elem ) {
342
+ return domManip( this, arguments, function( elem ) {
324
343
  if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
325
344
  var target = manipulationTarget( this, elem );
326
345
  target.appendChild( elem );
327
346
  }
328
- });
347
+ } );
329
348
  },
330
349
 
331
350
  prepend: function() {
332
- return this.domManip( arguments, function( elem ) {
351
+ return domManip( this, arguments, function( elem ) {
333
352
  if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
334
353
  var target = manipulationTarget( this, elem );
335
354
  target.insertBefore( elem, target.firstChild );
336
355
  }
337
- });
356
+ } );
338
357
  },
339
358
 
340
359
  before: function() {
341
- return this.domManip( arguments, function( elem ) {
360
+ return domManip( this, arguments, function( elem ) {
342
361
  if ( this.parentNode ) {
343
362
  this.parentNode.insertBefore( elem, this );
344
363
  }
345
- });
364
+ } );
346
365
  },
347
366
 
348
367
  after: function() {
349
- return this.domManip( arguments, function( elem ) {
368
+ return domManip( this, arguments, function( elem ) {
350
369
  if ( this.parentNode ) {
351
370
  this.parentNode.insertBefore( elem, this.nextSibling );
352
371
  }
353
- });
354
- },
355
-
356
- remove: function( selector, keepData /* Internal Use Only */ ) {
357
- var elem,
358
- elems = selector ? jQuery.filter( selector, this ) : this,
359
- i = 0;
360
-
361
- for ( ; (elem = elems[i]) != null; i++ ) {
362
- if ( !keepData && elem.nodeType === 1 ) {
363
- jQuery.cleanData( getAll( elem ) );
364
- }
365
-
366
- if ( elem.parentNode ) {
367
- if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
368
- setGlobalEval( getAll( elem, "script" ) );
369
- }
370
- elem.parentNode.removeChild( elem );
371
- }
372
- }
373
-
374
- return this;
372
+ } );
375
373
  },
376
374
 
377
375
  empty: function() {
378
376
  var elem,
379
377
  i = 0;
380
378
 
381
- for ( ; (elem = this[i]) != null; i++ ) {
379
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
382
380
  if ( elem.nodeType === 1 ) {
383
381
 
384
382
  // Prevent memory leaks
@@ -396,9 +394,9 @@ jQuery.fn.extend({
396
394
  dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
397
395
  deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
398
396
 
399
- return this.map(function() {
397
+ return this.map( function() {
400
398
  return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
401
- });
399
+ } );
402
400
  },
403
401
 
404
402
  html: function( value ) {
@@ -415,7 +413,7 @@ jQuery.fn.extend({
415
413
  if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
416
414
  !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
417
415
 
418
- value = value.replace( rxhtmlTag, "<$1></$2>" );
416
+ value = jQuery.htmlPrefilter( value );
419
417
 
420
418
  try {
421
419
  for ( ; i < l; i++ ) {
@@ -431,7 +429,7 @@ jQuery.fn.extend({
431
429
  elem = 0;
432
430
 
433
431
  // If using innerHTML throws an exception, use the fallback method
434
- } catch( e ) {}
432
+ } catch ( e ) {}
435
433
  }
436
434
 
437
435
  if ( elem ) {
@@ -441,115 +439,25 @@ jQuery.fn.extend({
441
439
  },
442
440
 
443
441
  replaceWith: function() {
444
- var arg = arguments[ 0 ];
445
-
446
- // Make the changes, replacing each context element with the new content
447
- this.domManip( arguments, function( elem ) {
448
- arg = this.parentNode;
449
-
450
- jQuery.cleanData( getAll( this ) );
451
-
452
- if ( arg ) {
453
- arg.replaceChild( elem, this );
454
- }
455
- });
456
-
457
- // Force removal if there was no new content (e.g., from empty arguments)
458
- return arg && (arg.length || arg.nodeType) ? this : this.remove();
459
- },
460
-
461
- detach: function( selector ) {
462
- return this.remove( selector, true );
463
- },
464
-
465
- domManip: function( args, callback ) {
466
-
467
- // Flatten any nested arrays
468
- args = concat.apply( [], args );
469
-
470
- var fragment, first, scripts, hasScripts, node, doc,
471
- i = 0,
472
- l = this.length,
473
- set = this,
474
- iNoClone = l - 1,
475
- value = args[ 0 ],
476
- isFunction = jQuery.isFunction( value );
477
-
478
- // We can't cloneNode fragments that contain checked, in WebKit
479
- if ( isFunction ||
480
- ( l > 1 && typeof value === "string" &&
481
- !support.checkClone && rchecked.test( value ) ) ) {
482
- return this.each(function( index ) {
483
- var self = set.eq( index );
484
- if ( isFunction ) {
485
- args[ 0 ] = value.call( this, index, self.html() );
486
- }
487
- self.domManip( args, callback );
488
- });
489
- }
490
-
491
- if ( l ) {
492
- fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );
493
- first = fragment.firstChild;
494
-
495
- if ( fragment.childNodes.length === 1 ) {
496
- fragment = first;
497
- }
498
-
499
- if ( first ) {
500
- scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
501
- hasScripts = scripts.length;
502
-
503
- // Use the original fragment for the last item instead of the first because it can end up
504
- // being emptied incorrectly in certain situations (#8070).
505
- for ( ; i < l; i++ ) {
506
- node = fragment;
442
+ var ignored = [];
507
443
 
508
- if ( i !== iNoClone ) {
509
- node = jQuery.clone( node, true, true );
444
+ // Make the changes, replacing each non-ignored context element with the new content
445
+ return domManip( this, arguments, function( elem ) {
446
+ var parent = this.parentNode;
510
447
 
511
- // Keep references to cloned scripts for later restoration
512
- if ( hasScripts ) {
513
- // Support: QtWebKit
514
- // jQuery.merge because push.apply(_, arraylike) throws
515
- jQuery.merge( scripts, getAll( node, "script" ) );
516
- }
517
- }
518
-
519
- callback.call( this[ i ], node, i );
520
- }
521
-
522
- if ( hasScripts ) {
523
- doc = scripts[ scripts.length - 1 ].ownerDocument;
524
-
525
- // Reenable scripts
526
- jQuery.map( scripts, restoreScript );
527
-
528
- // Evaluate executable scripts on first document insertion
529
- for ( i = 0; i < hasScripts; i++ ) {
530
- node = scripts[ i ];
531
- if ( rscriptType.test( node.type || "" ) &&
532
- !data_priv.access( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
533
-
534
- if ( node.src ) {
535
- // Optional AJAX dependency, but won't run scripts if not present
536
- if ( jQuery._evalUrl ) {
537
- jQuery._evalUrl( node.src );
538
- }
539
- } else {
540
- jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) );
541
- }
542
- }
543
- }
448
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
449
+ jQuery.cleanData( getAll( this ) );
450
+ if ( parent ) {
451
+ parent.replaceChild( elem, this );
544
452
  }
545
453
  }
546
- }
547
454
 
548
- return this;
455
+ // Force callback invocation
456
+ }, ignored );
549
457
  }
550
- });
458
+ } );
551
459
 
552
- jQuery.each({
460
+ jQuery.each( {
553
461
  appendTo: "append",
554
462
  prependTo: "prepend",
555
463
  insertBefore: "before",
@@ -567,14 +475,14 @@ jQuery.each({
567
475
  elems = i === last ? this : this.clone( true );
568
476
  jQuery( insert[ i ] )[ original ]( elems );
569
477
 
570
- // Support: QtWebKit
571
- // .get() because push.apply(_, arraylike) throws
478
+ // Support: Android <=4.0 only, PhantomJS 1 only
479
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
572
480
  push.apply( ret, elems.get() );
573
481
  }
574
482
 
575
483
  return this.pushStack( ret );
576
484
  };
577
- });
485
+ } );
578
486
 
579
487
  return jQuery;
580
- });
488
+ } );