iqvoc 4.8.2 → 4.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1545) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/Gemfile +15 -12
  4. data/Gemfile.lock +106 -105
  5. data/README.md +1 -1
  6. data/app/aides/skos_importer.rb +2 -2
  7. data/app/assets/javascripts/iqvoc/iqvoc.js +6 -3
  8. data/app/assets/javascripts/iqvoc/onebox.js.erb +4 -6
  9. data/app/assets/javascripts/iqvoc/treeview.js +46 -39
  10. data/app/assets/stylesheets/_framework.scss +0 -2
  11. data/app/assets/stylesheets/iqvoc/components/_entity_select.scss +1 -6
  12. data/app/assets/stylesheets/iqvoc/components/_sidebars.scss +5 -0
  13. data/app/assets/stylesheets/iqvoc/components/_treeview.scss.erb +7 -1
  14. data/app/assets/stylesheets/iqvoc/settings/_bootstrap-variables.scss +1 -1
  15. data/app/assets/stylesheets/iqvoc/settings/_bootstrap.scss +6 -1
  16. data/app/assets/stylesheets/manifest.css.scss +1 -0
  17. data/app/controllers/collections/versions_controller.rb +4 -1
  18. data/app/controllers/collections_controller.rb +2 -0
  19. data/app/controllers/concepts/hierarchical_controller.rb +5 -3
  20. data/app/controllers/concepts/scheme_controller.rb +1 -1
  21. data/app/controllers/concepts/versions_controller.rb +4 -1
  22. data/app/controllers/concepts_controller.rb +11 -72
  23. data/app/controllers/concepts_movement_controller.rb +101 -0
  24. data/app/controllers/reverse_matches_controller.rb +1 -0
  25. data/app/controllers/search_results_controller.rb +6 -3
  26. data/app/jobs/export_job.rb +7 -0
  27. data/app/jobs/import_job.rb +8 -0
  28. data/app/jobs/reverse_match_job.rb +11 -9
  29. data/app/models/collection/base.rb +4 -3
  30. data/app/models/concept/base.rb +121 -34
  31. data/app/models/concept/relation/skos/base.rb +1 -1
  32. data/app/models/concept/validations.rb +28 -1
  33. data/app/models/concerns/versioning.rb +7 -1
  34. data/app/models/dataset/adaptors/iqvoc/alphabetical_search_adaptor.rb +1 -1
  35. data/app/models/dataset/adaptors/iqvoc/search_adaptor.rb +1 -1
  36. data/app/models/label/base.rb +14 -0
  37. data/app/models/note/base.rb +2 -0
  38. data/app/models/services/reverse_match_service.rb +4 -4
  39. data/app/views/concepts/_form.html.erb +15 -6
  40. data/app/views/concepts/alphabetical/_search_result.html.erb +2 -2
  41. data/app/views/concepts/hierarchical/_treeview.html.erb +6 -2
  42. data/app/views/concepts/show_published.html.erb +1 -1
  43. data/app/views/concepts/show_unpublished.html.erb +1 -1
  44. data/app/views/concepts/sidebars/_plural.html.erb +10 -0
  45. data/app/views/frontpage/_title.html.erb +0 -0
  46. data/app/views/frontpage/index.html.erb +9 -8
  47. data/app/views/layouts/_navigation.html.erb +2 -5
  48. data/app/views/pages/version.html.erb +19 -4
  49. data/app/views/partials/concept/relation/_base.html.erb +5 -1
  50. data/app/views/partials/concept/relation/_ranked.html.erb +2 -1
  51. data/app/views/partials/labeling/skos/_base.html.erb +10 -2
  52. data/app/views/partials/note/_search_result.html.erb +1 -1
  53. data/config/database.yml +28 -9
  54. data/config/engine.rb +3 -0
  55. data/config/initializers/delayed_job.rb +2 -0
  56. data/config/initializers/secret_token.rb +28 -0
  57. data/config/locales/de.yml +5 -2
  58. data/config/locales/en.yml +5 -2
  59. data/config/routes.rb +2 -3
  60. data/db/iqvoc_test.sqlite3 +0 -0
  61. data/db/migrate/20150316103756_delayed_jobs_optimizations.rb +18 -0
  62. data/db/migrate/20150317162953_drop_job_relation.rb +5 -0
  63. data/db/schema.rb +34 -36
  64. data/iqvoc.gemspec +2 -1
  65. data/lib/generators/app/template.rb +1 -0
  66. data/lib/iqvoc/version.rb +1 -1
  67. data/lib/tasks/matches.rake +5 -7
  68. data/lib/tasks/release.rake +6 -0
  69. data/public/export/{104047454295817920610168807659129435311.nt → 10158182088297730056267397735998168332.nt} +0 -0
  70. data/public/export/{10726.nt → 10293.nt} +0 -0
  71. data/public/export/10355040109890452208129529415338468156.ttl +484 -0
  72. data/public/export/{10751365034669120987598940220863369604.nt → 10365.nt} +0 -0
  73. data/public/export/{111691466774189666307584118743393932328.nt → 10375.nt} +0 -0
  74. data/public/export/{12325399400132639231204595208154762660.nt → 10485.nt} +0 -0
  75. data/public/export/{151644452539207638297695765208032122293.nt → 10618.nt} +0 -0
  76. data/public/export/{15263706163704853684442315777380853572.nt → 108304459651561001978713658006686795270.nt} +0 -0
  77. data/public/export/{15327.nt → 10901.nt} +0 -0
  78. data/public/export/{15666.nt → 11021.nt} +0 -0
  79. data/public/export/{173626129450223321263719262149444213847.nt → 110912185041074063490387054266296215226.nt} +0 -0
  80. data/public/export/11187.nt +1 -0
  81. data/public/export/{18948.nt → 117847551547122078510708470877132805985.nt} +0 -0
  82. data/public/export/{199578749544886032300136278910417855540.nt → 118103962177408721707929575729081494395.nt} +0 -0
  83. data/public/export/{213890660005255527251394676521741138403.nt → 120970282668580446407680120374839093474.nt} +0 -0
  84. data/public/export/{213987519797093111958174693910375706600.nt → 121754937706381692876991690792495121904.nt} +0 -0
  85. data/public/export/{21930.nt → 122260914442863645931859998445130277888.nt} +0 -0
  86. data/public/export/122364731984913349664705209909914167570.ttl +484 -0
  87. data/public/export/{220598335291843294191166072463233833628.nt → 12677.nt} +0 -0
  88. data/public/export/{242910803893093872189091525372405462985.nt → 12709.nt} +0 -0
  89. data/public/export/{24509.nt → 128001060877041325334520248224375493920.nt} +0 -0
  90. data/public/export/{249458227092013520089223290936103182178.nt → 12827.nt} +0 -0
  91. data/public/export/{25981.nt → 12991.nt} +0 -0
  92. data/public/export/{271163890329327117562409702966294853312.nt → 13163.nt} +0 -0
  93. data/public/export/{27484.nt → 132190092835582981295172187161443503958.nt} +0 -0
  94. data/public/export/{287251617830426667971006908766107175810.nt → 135608311512803354903797293147209573688.nt} +0 -0
  95. data/public/export/{28754.nt → 135722566885940224110801255385500618104.nt} +0 -0
  96. data/public/export/{29022.nt → 137287705501981466637927873193647255895.nt} +0 -0
  97. data/public/export/{293720064238755056739270868818770835353.nt → 1396.nt} +0 -0
  98. data/public/export/{29976.nt → 141764860031047043043974016152358317161.nt} +0 -0
  99. data/public/export/{30643.nt → 14610.nt} +0 -0
  100. data/public/export/{309135899928267675232062298368405782595.nt → 14690.nt} +0 -0
  101. data/public/export/{3199.nt → 147550719456913144348085492569709902827.nt} +0 -0
  102. data/public/export/{32054.nt → 14882.nt} +0 -0
  103. data/public/export/{327890543532187929176278243423558506722.nt → 149603213673793551377622671217172624343.nt} +0 -0
  104. data/public/export/{33055.nt → 150139498963062024848273903714544194830.nt} +0 -0
  105. data/public/export/{337748600310244218106909976567220577473.nt → 15316.nt} +0 -0
  106. data/public/export/{33936.nt → 15412.nt} +0 -0
  107. data/public/export/{33993.nt → 15447.nt} +0 -0
  108. data/public/export/{34906.nt → 156970680970033710816543819314498193917.nt} +0 -0
  109. data/public/export/{35365.nt → 15839.nt} +0 -0
  110. data/public/export/{37098.nt → 158834208792323820331300411546959761429.nt} +0 -0
  111. data/public/export/{37534146541112437090211766955764945845.nt → 159.nt} +0 -0
  112. data/public/export/{39353594202090916952403280275602550330.nt → 16326.nt} +0 -0
  113. data/public/export/{41272.nt → 1672.nt} +0 -0
  114. data/public/export/{42271.nt → 168856642043887180245378608736052540509.nt} +0 -0
  115. data/public/export/{44392.nt → 172603891902934613010321750607882916084.nt} +0 -0
  116. data/public/export/{45675.nt → 173354950914523255001998948914138704856.nt} +0 -0
  117. data/public/export/{47529.nt → 17621.nt} +0 -0
  118. data/public/export/{48309.nt → 17911.nt} +0 -0
  119. data/public/export/{4956.nt → 18271.nt} +0 -0
  120. data/public/export/{49623.nt → 18536.nt} +0 -0
  121. data/public/export/{50516.nt → 18568.nt} +0 -0
  122. data/public/export/{50650725356216411444149011685563244498.nt → 186167758354016160061051942216737239930.nt} +0 -0
  123. data/public/export/{54880.nt → 18691370562573626405322536758281327051.nt} +0 -0
  124. data/public/export/{55142.nt → 19084.nt} +0 -0
  125. data/public/export/{55398.nt → 19294.nt} +0 -0
  126. data/public/export/{5754.nt → 19348.nt} +0 -0
  127. data/public/export/{57727.nt → 193521021474272492112555556929181105590.nt} +0 -0
  128. data/public/export/{58069939020968861674794480549301466954.nt → 19353.nt} +0 -0
  129. data/public/export/{5890.nt → 19380.nt} +0 -0
  130. data/public/export/{62809.nt → 197022024105761309639904976880182204551.nt} +0 -0
  131. data/public/export/{65156.nt → 199184810295792068795350125859358703878.nt} +0 -0
  132. data/public/export/{6520.nt → 200612101652468399974786473667518032292.nt} +0 -0
  133. data/public/export/{801.nt → 201109052077998074479194832840924938006.nt} +0 -0
  134. data/public/export/{863.nt → 20343.nt} +0 -0
  135. data/public/export/{9372.nt → 203533766956604779906168760342029963847.nt} +0 -0
  136. data/public/export/20615.nt +28 -0
  137. data/public/export/207752382127301320557558677406014305633.nt +28 -0
  138. data/public/export/207915524512289475621257575466768897802.nt +28 -0
  139. data/public/export/20905.nt +28 -0
  140. data/public/export/21128.nt +28 -0
  141. data/public/export/21339.nt +28 -0
  142. data/public/export/21393.nt +28 -0
  143. data/public/export/215472331382150887331614959315161756622.nt +28 -0
  144. data/public/export/217298949825310134484245506318404724340.nt +28 -0
  145. data/public/export/220757420981122769566521259515119787266.nt +28 -0
  146. data/public/export/22330.nt +28 -0
  147. data/public/export/22493.nt +28 -0
  148. data/public/export/22831.nt +28 -0
  149. data/public/export/23462.nt +28 -0
  150. data/public/export/23644.nt +28 -0
  151. data/public/export/237057688444752386439096664432122783038.nt +28 -0
  152. data/public/export/237604000427202320098202155281344548035.nt +28 -0
  153. data/public/export/238296123368175695476336025648621152983.nt +28 -0
  154. data/public/export/238748613185944587355157720783500018880.nt +28 -0
  155. data/public/export/2398.nt +28 -0
  156. data/public/export/24154.nt +28 -0
  157. data/public/export/24453.nt +28 -0
  158. data/public/export/248824582869005094796757796982726190611.nt +28 -0
  159. data/public/export/249181243272996686855538181507933173508.nt +28 -0
  160. data/public/export/253582497035603303866078761322036162874.nt +28 -0
  161. data/public/export/254139868754841331482887349839853388892.nt +28 -0
  162. data/public/export/256375490360455792675622506912403238161.nt +28 -0
  163. data/public/export/25754.nt +1 -0
  164. data/public/export/25780.nt +28 -0
  165. data/public/export/25915.nt +28 -0
  166. data/public/export/261038548285886356479754569434372588810.nt +30 -0
  167. data/public/export/26106.nt +28 -0
  168. data/public/export/26223.nt +28 -0
  169. data/public/export/26244.nt +28 -0
  170. data/public/export/26260.nt +28 -0
  171. data/public/export/26329.nt +28 -0
  172. data/public/export/26420.nt +28 -0
  173. data/public/export/265769856284889293029535135434272902519.nt +28 -0
  174. data/public/export/26742.nt +1 -0
  175. data/public/export/27047.nt +28 -0
  176. data/public/export/271248022528338833394320330267545874930.nt +28 -0
  177. data/public/export/272241410544406589494837867241403236083.nt +28 -0
  178. data/public/export/27459.nt +28 -0
  179. data/public/export/27532.nt +28 -0
  180. data/public/export/27597.nt +28 -0
  181. data/public/export/276171163521133198040192963990737421455.nt +28 -0
  182. data/public/export/276498420394966123669105815958263602173.nt +28 -0
  183. data/public/export/28120377636940276921470963366139826597.nt +28 -0
  184. data/public/export/28373.nt +28 -0
  185. data/public/export/28552.nt +28 -0
  186. data/public/export/286493008492865610082946020387838641121.nt +28 -0
  187. data/public/export/2868.nt +28 -0
  188. data/public/export/28687.nt +28 -0
  189. data/public/export/29026.nt +28 -0
  190. data/public/export/292727748311831589446200008996784028497.nt +28 -0
  191. data/public/export/293152283423483151472790884406044569395.nt +28 -0
  192. data/public/export/2934.nt +28 -0
  193. data/public/export/300036373342532087662234126721163577728.nt +28 -0
  194. data/public/export/30183.nt +28 -0
  195. data/public/export/30317.nt +28 -0
  196. data/public/export/304213352782651661049169435507171939143.nt +28 -0
  197. data/public/export/309236399351032059155111017983706239964.nt +28 -0
  198. data/public/export/310047931031467714359244603163170450252.nt +28 -0
  199. data/public/export/310068563626547921367603963199358485602.nt +28 -0
  200. data/public/export/313475272922839789677545656129659556680.nt +28 -0
  201. data/public/export/316022382649834543003583156554502604559.nt +28 -0
  202. data/public/export/31643.nt +28 -0
  203. data/public/export/318612775324407302123889368565451665720.nt +28 -0
  204. data/public/export/31924.nt +28 -0
  205. data/public/export/320874891685928754985418654392163327821.nt +28 -0
  206. data/public/export/32306.nt +28 -0
  207. data/public/export/32418.nt +28 -0
  208. data/public/export/32428.nt +28 -0
  209. data/public/export/324392164083144178905201975847452699660.nt +28 -0
  210. data/public/export/3253.nt +28 -0
  211. data/public/export/32615.nt +28 -0
  212. data/public/export/326564475357130308624740452388321660860.ttl +457 -0
  213. data/public/export/32753.nt +1 -0
  214. data/public/export/328967798715862704942781477811276688676.nt +28 -0
  215. data/public/export/32944.nt +28 -0
  216. data/public/export/329718650442342372263686212530374624887.nt +28 -0
  217. data/public/export/330538392029544204419156711892862534583.nt +28 -0
  218. data/public/export/334127090947629991539551714789916789321.nt +28 -0
  219. data/public/export/33439.nt +28 -0
  220. data/public/export/334787141982523864043222106826699075748.nt +28 -0
  221. data/public/export/33590.nt +28 -0
  222. data/public/export/335918735779828031060051702447685227892.nt +28 -0
  223. data/public/export/33630.nt +28 -0
  224. data/public/export/337299154238260764457586626232959751106.nt +28 -0
  225. data/public/export/338395662568762327453304065486723087878.nt +28 -0
  226. data/public/export/33896.nt +28 -0
  227. data/public/export/339887950386607015394478999784774320743.nt +28 -0
  228. data/public/export/34335.nt +28 -0
  229. data/public/export/34476.nt +1 -0
  230. data/public/export/34731.nt +28 -0
  231. data/public/export/35418.nt +28 -0
  232. data/public/export/35444.nt +28 -0
  233. data/public/export/35455.nt +28 -0
  234. data/public/export/35511044446539222159049442937796801772.nt +28 -0
  235. data/public/export/35666.nt +28 -0
  236. data/public/export/35870.nt +28 -0
  237. data/public/export/36322.nt +28 -0
  238. data/public/export/36494.nt +28 -0
  239. data/public/export/367.nt +28 -0
  240. data/public/export/36790240233870317522019829936769159636.nt +28 -0
  241. data/public/export/36808.nt +28 -0
  242. data/public/export/36979.nt +28 -0
  243. data/public/export/37037.nt +28 -0
  244. data/public/export/37357.nt +28 -0
  245. data/public/export/37570.nt +28 -0
  246. data/public/export/37849330793704327758529891524887236412.ttl +572 -0
  247. data/public/export/38277.nt +28 -0
  248. data/public/export/38788.nt +28 -0
  249. data/public/export/39528.nt +28 -0
  250. data/public/export/40110.nt +28 -0
  251. data/public/export/40459.nt +28 -0
  252. data/public/export/40949.nt +1 -0
  253. data/public/export/41185.nt +28 -0
  254. data/public/export/41390.nt +28 -0
  255. data/public/export/41564.nt +28 -0
  256. data/public/export/41685.nt +28 -0
  257. data/public/export/41747.nt +1 -0
  258. data/public/export/41772.nt +28 -0
  259. data/public/export/41812198660826269011267187122822598028.nt +28 -0
  260. data/public/export/42511.nt +28 -0
  261. data/public/export/4252.nt +28 -0
  262. data/public/export/42776.nt +28 -0
  263. data/public/export/42827.nt +28 -0
  264. data/public/export/43123.nt +28 -0
  265. data/public/export/43467.nt +28 -0
  266. data/public/export/43984.nt +28 -0
  267. data/public/export/44681271240138431736054468888279011559.nt +28 -0
  268. data/public/export/45050.nt +28 -0
  269. data/public/export/45295.nt +28 -0
  270. data/public/export/45343.nt +28 -0
  271. data/public/export/45410.nt +28 -0
  272. data/public/export/46545.nt +28 -0
  273. data/public/export/466.nt +1 -0
  274. data/public/export/46822.nt +28 -0
  275. data/public/export/46832.nt +28 -0
  276. data/public/export/46860.nt +28 -0
  277. data/public/export/47098.nt +28 -0
  278. data/public/export/47422.nt +28 -0
  279. data/public/export/47424.nt +28 -0
  280. data/public/export/47579.nt +28 -0
  281. data/public/export/47695.nt +28 -0
  282. data/public/export/47906.nt +28 -0
  283. data/public/export/47990.nt +28 -0
  284. data/public/export/48378.nt +28 -0
  285. data/public/export/48517.nt +28 -0
  286. data/public/export/49234.nt +28 -0
  287. data/public/export/50376.nt +28 -0
  288. data/public/export/50454.nt +28 -0
  289. data/public/export/51034.nt +28 -0
  290. data/public/export/5104.nt +28 -0
  291. data/public/export/5135.nt +28 -0
  292. data/public/export/5162.nt +28 -0
  293. data/public/export/51721.nt +28 -0
  294. data/public/export/51995.nt +28 -0
  295. data/public/export/52066.nt +28 -0
  296. data/public/export/52093.nt +28 -0
  297. data/public/export/52174.nt +28 -0
  298. data/public/export/52451.nt +28 -0
  299. data/public/export/5248.nt +28 -0
  300. data/public/export/52953.nt +28 -0
  301. data/public/export/53562.nt +28 -0
  302. data/public/export/53799.nt +28 -0
  303. data/public/export/53801.nt +28 -0
  304. data/public/export/54381592190676076898018811875568182166.nt +28 -0
  305. data/public/export/54743.nt +28 -0
  306. data/public/export/54831.nt +28 -0
  307. data/public/export/55091.nt +28 -0
  308. data/public/export/55436.nt +28 -0
  309. data/public/export/5571.nt +28 -0
  310. data/public/export/55762.nt +28 -0
  311. data/public/export/55849.nt +28 -0
  312. data/public/export/55853.nt +28 -0
  313. data/public/export/56421661380532590834847514342037574662.nt +28 -0
  314. data/public/export/56518078161845034442863845125367745411.nt +28 -0
  315. data/public/export/5663.nt +28 -0
  316. data/public/export/57640.nt +28 -0
  317. data/public/export/57691.nt +28 -0
  318. data/public/export/57816.nt +1 -0
  319. data/public/export/57956.nt +28 -0
  320. data/public/export/58151.nt +28 -0
  321. data/public/export/58306.nt +28 -0
  322. data/public/export/58535.nt +28 -0
  323. data/public/export/58623483227513279091270922289844563103.ttl +572 -0
  324. data/public/export/59053.nt +28 -0
  325. data/public/export/59512.nt +28 -0
  326. data/public/export/59825.nt +28 -0
  327. data/public/export/59961.nt +1 -0
  328. data/public/export/60026262021827678321813992040600201919.nt +28 -0
  329. data/public/export/6003.nt +28 -0
  330. data/public/export/60038.nt +1 -0
  331. data/public/export/60558.nt +28 -0
  332. data/public/export/60584.nt +28 -0
  333. data/public/export/61166.nt +28 -0
  334. data/public/export/61580.nt +28 -0
  335. data/public/export/6162.nt +28 -0
  336. data/public/export/61719.nt +28 -0
  337. data/public/export/61731.nt +28 -0
  338. data/public/export/61739.nt +28 -0
  339. data/public/export/6174.nt +28 -0
  340. data/public/export/61780.nt +28 -0
  341. data/public/export/62777.nt +28 -0
  342. data/public/export/62796693165492877930232365504539624835.nt +9 -0
  343. data/public/export/62968.nt +28 -0
  344. data/public/export/63538.nt +28 -0
  345. data/public/export/63749.nt +28 -0
  346. data/public/export/64124.nt +28 -0
  347. data/public/export/64129.nt +28 -0
  348. data/public/export/64255327948853849289303240079231197664.nt +28 -0
  349. data/public/export/64261.nt +28 -0
  350. data/public/export/64560.nt +28 -0
  351. data/public/export/64777.nt +28 -0
  352. data/public/export/64819.nt +28 -0
  353. data/public/export/6484.nt +28 -0
  354. data/public/export/65135.nt +28 -0
  355. data/public/export/65459.nt +28 -0
  356. data/public/export/6599.nt +28 -0
  357. data/public/export/6679.nt +28 -0
  358. data/public/export/70092841793149790468015562652881798960.nt +30 -0
  359. data/public/export/7108.nt +28 -0
  360. data/public/export/7260.nt +28 -0
  361. data/public/export/7351.nt +28 -0
  362. data/public/export/7579.nt +28 -0
  363. data/public/export/76995347700989788499412929461807500104.nt +28 -0
  364. data/public/export/7819.nt +28 -0
  365. data/public/export/7839.nt +28 -0
  366. data/public/export/83349977672792141100284173729186552927.nt +28 -0
  367. data/public/export/8354900743721593572643139855489420507.nt +28 -0
  368. data/public/export/85703772236531639880629922404090800447.nt +28 -0
  369. data/public/export/8646.nt +28 -0
  370. data/public/export/8658395739200600067868671630649943363.nt +28 -0
  371. data/public/export/8719.nt +28 -0
  372. data/public/export/8756536634842579424962922974968892253.nt +28 -0
  373. data/public/export/8928822333465579550735295671911007018.nt +28 -0
  374. data/public/export/91738681585473368364099375987469585611.nt +28 -0
  375. data/public/export/921.nt +28 -0
  376. data/public/export/92538517188336369074599747989986279930.nt +28 -0
  377. data/public/export/92563637517676596460047794573785525467.nt +28 -0
  378. data/public/export/93170914038817343101947508832766889427.nt +28 -0
  379. data/public/export/93637272857549450881626490805029696134.nt +28 -0
  380. data/public/export/94504745553732405370134469661392480807.nt +28 -0
  381. data/public/export/9712.nt +1 -0
  382. data/public/export/iqvoc_dump-2015-01-20_11-56.ttl +475 -0
  383. data/public/uploads/import/{038dd516e01fe211375441c3af8d90e8.nt → 007d3c06baa2ea61b44b51f88a3f1fed.nt} +0 -0
  384. data/public/uploads/import/{07e71ca0235e798be39acd246114d962.nt → 01274572a432509a3aeeb3f63dd40266.nt} +0 -0
  385. data/public/uploads/import/{0a4c173bc9db7a5cd469c9454fdfa749.nt → 01b1672f5b00ea964ace5a1683607b59.nt} +0 -0
  386. data/public/uploads/import/{0e8336cb2ef2c8b67767dfe8879d9cfb.nt → 01c9d62e1a3e82989cd778b592d9c939.nt} +0 -0
  387. data/public/uploads/import/{0f4eb8cd6390b1c5c5354a22e533ee0e.nt → 02ee37548ae03562975ff833668971f5.nt} +0 -0
  388. data/public/uploads/import/{105400714d68d2207209e23826345e76.nt → 0476c89ba3d71b5a14a60aaa43397abd.nt} +0 -0
  389. data/public/uploads/import/{1147ab054ce55abf0a5bf93b99220231.nt → 0492434582d791a833856759d9ce8b30.nt} +0 -0
  390. data/public/uploads/import/{14b64b1f2252aba1e89d83f770d14e29.nt → 04ea3395d988d8f8ede44ab1272bf3b6.nt} +0 -0
  391. data/public/uploads/import/{1c6f11c300224248bf919885f8545daf.nt → 05596f4a651ce2498b01c03472b790a4.nt} +0 -0
  392. data/public/uploads/import/{21d34b65ef0a8156111e845992fd004f.nt → 060706d673f8302f048b81761549fa4f.nt} +0 -0
  393. data/public/uploads/import/{2783fade523132942999836a74228d64.nt → 0648ee30731c939b0b29b8b3da02a37f.nt} +0 -0
  394. data/public/uploads/import/{2bc90e07e5c42e5f26a1607756cc0ab3.nt → 06d2ee839d694d606afe199fa01efeaa.nt} +0 -0
  395. data/public/uploads/import/{2e4073a94eeae98095de9f43b5e5774a.nt → 0800d8d59a1161217d2ce730b8ebd38d.nt} +0 -0
  396. data/public/uploads/import/{32548678e7d47b3e256590d6eef6fb03.nt → 08d444adb6dabf302f148b95c71a810f.nt} +0 -0
  397. data/public/uploads/import/{330e08c32fde94fb80f656346d1f8383.nt → 0949ce44d9dfe257aa29901e5921c68c.nt} +0 -0
  398. data/public/uploads/import/{337790be2663214e66066b1215fdd137.nt → 095d034a95ba3792446f37fcb78be344.nt} +0 -0
  399. data/public/uploads/import/{34b77ff970ca71511fb4b224b7dadd1c.nt → 0a196a06d3070f1a3c8945543c7b50c9.nt} +0 -0
  400. data/public/uploads/import/{38de0d3c9cba92e8a3c312e7e95e7ec1.nt → 0a727c7fb9c8f4c04f007c1b0a457de8.nt} +0 -0
  401. data/public/uploads/import/{3981aa91cf22e26fbf6b1312b2bcdcc8.nt → 0aa520cecf609511b87877bca3447e80.nt} +0 -0
  402. data/public/uploads/import/{3d01f84539a62ebe6f76124e8cdbbb23.nt → 0afe18f0c16490245499c7242bee2971.nt} +0 -0
  403. data/public/uploads/import/{3d05bb72c3751da3830cf53e966283d4.nt → 0be3bda2834a2c9a2a1c023f193f1557.nt} +0 -0
  404. data/public/uploads/import/{3e1d2f770bfe3c79a367780731536a3a.nt → 0beea5d524b2747d1e9cdda1d120376b.nt} +0 -0
  405. data/public/uploads/import/{3e41bd1875dc23401278c73bd12be881.nt → 0c8a99fab2d94f26d91a4c6cd5fb22c3.nt} +0 -0
  406. data/public/uploads/import/{3f3e3dbb09c3df6bfaed261311de3e7d.nt → 0e54d0a36679052c75be6c94760f2bd4.nt} +0 -0
  407. data/public/uploads/import/{4297d9970e47be5ced4991a083032eb9.nt → 0ff4f386b0ce742ae2393676fa283c03.nt} +0 -0
  408. data/public/uploads/import/{5925186958bd537ad5e79e76e3a1f714.nt → 103c3c895e2185d3b2f5785fd2852a02.nt} +0 -0
  409. data/public/uploads/import/{596c40774bb5979c8de5ce6daa58de35.nt → 107779d9f95d666deb17cde1a7088f3f.nt} +0 -0
  410. data/public/uploads/import/{5dc5dcd978db1c59ec074e9137f0109c.nt → 11358ab82ceeebc158527bfe4a18ea1f.nt} +0 -0
  411. data/public/uploads/import/{5e46663e7e2eb92e5e8846d7c0f8e713.nt → 11839084a8b31e71842a07c5ecbef8a2.nt} +0 -0
  412. data/public/uploads/import/{70022a2a7e808000dc3d55529d203480.nt → 1185628b03dc34398db8cc7866236417.nt} +0 -0
  413. data/public/uploads/import/{70b32583acaca5843ac7dbdc2a89de99.nt → 11c62934f93d6c7813eb8186c2a12b2f.nt} +0 -0
  414. data/public/uploads/import/{77ea050ae3a00aedd2a6e4158454a54d.nt → 11ce0fcb2f54de2632c32999b5107339.nt} +0 -0
  415. data/public/uploads/import/{7cc9feb5e9180d29865b9d4e81694921.nt → 11d17304b09bdec788eb0dbc514cd451.nt} +0 -0
  416. data/public/uploads/import/{8030e54313e2c7231c4c30cd4145d576.nt → 1288e0406223db92f08968b51a5ba466.nt} +0 -0
  417. data/public/uploads/import/{8bb6484a9eb0c3266274c08ad8500669.nt → 130dc4f9fa8abeb11ec1f6b58dcd328b.nt} +0 -0
  418. data/public/uploads/import/1326b6cb32770c5cda8307fb89ec95df.nt +260 -0
  419. data/public/uploads/import/{8e0bf83a2ca503753efaa29bff6f84f6.nt → 137983f32ae2cfcd197ca07f54bd8836.nt} +0 -0
  420. data/public/uploads/import/{90711ea002f6b7b4e5476e414e185603.nt → 1382bb2374b945a19bd2b7387e03f721.nt} +0 -0
  421. data/public/uploads/import/{918a5fc2c8fcdbaddc2a02588d599dcf.nt → 1397348a6f86aa6ed5331a84d3edcebc.nt} +0 -0
  422. data/public/uploads/import/{923f9ebccb7b0e9e9fafddc60750b989.nt → 1492b9925771519b15ea7b5483a0605a.nt} +0 -0
  423. data/public/uploads/import/{933e4e2baee4d91b8f7681fa4d2ad9fa.nt → 15ba5b8b64ea75f1c2e2ef32fda893e6.nt} +0 -0
  424. data/public/uploads/import/{93f642eacd966c98645345d2ccdf578d.nt → 15f25175384c6d83d405d7be7c469c21.nt} +0 -0
  425. data/public/uploads/import/{9a3d0f8d1872d4ba5dd281194ddea4a2.nt → 162836307ad6fb8d2009a0f06a3c4e51.nt} +0 -0
  426. data/public/uploads/import/{9a3f1c9de8e734b7e1d969d07ea57a83.nt → 163a6f9e618c181ba1383a18239eada1.nt} +0 -0
  427. data/public/uploads/import/{9f91263fee5275ecbf303c7da0a9e84d.nt → 1640b1dd4856e45948fff1ffd74e2b24.nt} +0 -0
  428. data/public/uploads/import/{9f9d6b4293be8def1b406156a3e2bcd9.nt → 1664ce32bc3ff624d243a094cab143f7.nt} +0 -0
  429. data/public/uploads/import/{a230b36c3666a6b16fec6283e99b221f.nt → 16cc058f85d9d1f68d1d01dc1d828bfd.nt} +0 -0
  430. data/public/uploads/import/{a51b35089dc096f0f1f5d5250edb8d5c.nt → 170d28cc5c12a69cea4d28c041ba71e8.nt} +0 -0
  431. data/public/uploads/import/{a5265a00946627588ecdac317c061c6c.nt → 17164ab2c5d76d6886fb2316daf2b103.nt} +0 -0
  432. data/public/uploads/import/{a712bf10adc7546d5c567194d7a13603.nt → 17755fbf4c7f42899d018864489783af.nt} +0 -0
  433. data/public/uploads/import/{a7e315db905ac7808126b600dd1f6203.nt → 17c9cfea5e6474535f3b4e6101328ab6.nt} +0 -0
  434. data/public/uploads/import/{a95b7d93b7483116ff13c894a46b5c1c.nt → 182c3304c71b88045df31677a33fae87.nt} +0 -0
  435. data/public/uploads/import/{b5e47ea582afb81341f7b7084cc17a06.nt → 18f77e8c6f48b2c1bdf1df4bd53e1237.nt} +0 -0
  436. data/public/uploads/import/{b826bcfad8f18294a425d65482c46033.nt → 1900792c209b84ea166ae02fb9ae37f4.nt} +0 -0
  437. data/public/uploads/import/{bcf18c9e4dbe72745f4ec2878a4b1690.nt → 19a09865f0f7f4b5f21b2e95b874a4ef.nt} +0 -0
  438. data/public/uploads/import/{c32855cb4b3e8616db2ef3f5f9cb5ca7.nt → 1acd24d6520a2ac111d7c090a04e5a35.nt} +0 -0
  439. data/public/uploads/import/{c8ee5bc696312468c4354bad6c583321.nt → 1adf13d48468d0b580a64c2e8bade470.nt} +0 -0
  440. data/public/uploads/import/{cfc73574fe398be7ce684fbc17aa1bb7.nt → 1d38d5a5a32c4589fbfc97c3f7cf1c72.nt} +0 -0
  441. data/public/uploads/import/{d038a0416528900076cdb4a28211a84c.nt → 1dceeacdfe6f8b141a37927660b64d87.nt} +0 -0
  442. data/public/uploads/import/{d2366992f6e9e4377d02fc691fc2d3d3.nt → 1ded60d0cf744eb35911817b2f75f616.nt} +0 -0
  443. data/public/uploads/import/{d250e9b7a2819d62a43d5270031eaa6d.nt → 1f66f0a021f39e74cd23bea59a7f7d7c.nt} +0 -0
  444. data/public/uploads/import/{dc14a0fa30c105a5770da2c960daaf29.nt → 1f7c501ac3f313a909c6992171e99b0d.nt} +0 -0
  445. data/public/uploads/import/{e9289f6f920cf44d0e81599410b39090.nt → 21f863e3e79111f70e12f9d662199b28.nt} +0 -0
  446. data/public/uploads/import/{ed1c212d4f320e414caacda7a7988f83.nt → 225591929a8422a299633566697cca7c.nt} +0 -0
  447. data/public/uploads/import/{ed460af60bf4d0884d37a86bb02411e7.nt → 22c657367d7c0481e180443be083011a.nt} +0 -0
  448. data/public/uploads/import/{f17024adf37be768041307528e848bd6.nt → 23825e7ae3e36cdcffa540b108d6162d.nt} +0 -0
  449. data/public/uploads/import/{f2f6025f6de90ee4609c2928a817c51d.nt → 2420d2dc3190495edae156ea12c2e643.nt} +0 -0
  450. data/public/uploads/import/{f427507b1c208ddf69204ea5414e5d18.nt → 24bd62a06efc3ad1ee105df06a8d74ff.nt} +0 -0
  451. data/public/uploads/import/{ffce91887b3ac5b7319a80926ff310ef.nt → 25deed29d38f0d216f20326ce0654142.nt} +0 -0
  452. data/public/uploads/{tmp/1417625624-7926-3861/hobbies.nt → import/2711fd4805d7d1fbfd920196a38e4bf9.nt} +0 -0
  453. data/public/uploads/{tmp/1417625658-7975-5171/hobbies.nt → import/27cc545e7107e263f53a90cfa5c9f811.nt} +0 -0
  454. data/public/uploads/{tmp/1418649743-7886-1510/hobbies.nt → import/28a591c94853a4ab9ac22b59fe13eb99.nt} +0 -0
  455. data/public/uploads/{tmp/1418653029-9019-1572/hobbies.nt → import/28ae19af26643a34ca902ddd18ccbd6a.nt} +0 -0
  456. data/public/uploads/{tmp/1418656093-9614-5971/hobbies.nt → import/28c1566df242762349e8be1c12ab438e.nt} +0 -0
  457. data/public/uploads/{tmp/1418659992-10218-8665/hobbies.nt → import/28d125898ea87cee27ebf9770d19216c.nt} +0 -0
  458. data/public/uploads/{tmp/1418664440-11199-8740/hobbies.nt → import/2a40b69c9f0c0d98c9a7e7de8c386f1d.nt} +0 -0
  459. data/public/uploads/{tmp/1418665022-11430-9919/hobbies.nt → import/2a9a484ac02216cdca624b9dd00d4996.nt} +0 -0
  460. data/public/uploads/{tmp/1418665225-11485-5805/hobbies.nt → import/2aef7428fe8406ee9c2c2b4778d78958.nt} +0 -0
  461. data/public/uploads/{tmp/1418665744-11777-4958/hobbies.nt → import/2b79db4bb7339fe5a572cf631f83c4b2.nt} +0 -0
  462. data/public/uploads/{tmp/1418666103-11837-9818/hobbies.nt → import/2b8a98ffd564195eee949dc6c7417a0c.nt} +0 -0
  463. data/public/uploads/{tmp/1418666157-11880-9002/hobbies.nt → import/2c514f4cfe8ae3b94e760a764d95c20d.nt} +0 -0
  464. data/public/uploads/{tmp/1418666292-11920-9076/hobbies.nt → import/2c8fdbeb9570de45f936aeccd248943a.nt} +0 -0
  465. data/public/uploads/{tmp/1418666482-11968-5799/hobbies.nt → import/2cb37a795fa90555992d3bc07d08d655.nt} +0 -0
  466. data/public/uploads/{tmp/1418666589-12006-6137/hobbies.nt → import/2d1ef0385be708d60117e263ed19d93d.nt} +0 -0
  467. data/public/uploads/{tmp/1419417707-62741-8601/hobbies.nt → import/2d21f0f17b326687068d4cd0e1a266d9.nt} +0 -0
  468. data/public/uploads/{tmp/1419418501-62977-9798/hobbies.nt → import/2d98375f0e4a5506e82166fde619101f.nt} +0 -0
  469. data/public/uploads/{tmp/1419419091-63178-5200/hobbies.nt → import/2ded3ed5e3deaf9e9d303efee0e67e5e.nt} +0 -0
  470. data/public/uploads/{tmp/1419845421-37940-7338/hobbies.nt → import/2eca7fe87ac05e2645ade8a7225abd5e.nt} +0 -0
  471. data/public/uploads/{tmp/1419872019-93309-7785/hobbies.nt → import/2fc38706c798f8f5f4d3e615e4d59727.nt} +0 -0
  472. data/public/uploads/{tmp/1419872459-93489-7475/hobbies.nt → import/303e650ab4ddc5d78543fa227f2d0f1b.nt} +0 -0
  473. data/public/uploads/{tmp/1420204292-55473-2339/hobbies.nt → import/30b4dac09c9698fc3357923887ec6565.nt} +0 -0
  474. data/public/uploads/{tmp/1420469113-94913-1977/hobbies.nt → import/30fac98c95c34b3711b4ab299b9aa0a7.nt} +0 -0
  475. data/public/uploads/{tmp/1420469218-94957-7818/hobbies.nt → import/327e3fd80933440d0c66ceb5616da556.nt} +0 -0
  476. data/public/uploads/{tmp/1420471310-95437-1840/hobbies.nt → import/340ed46da6fd370a21ceab23ea86e95c.nt} +0 -0
  477. data/public/uploads/{tmp/1420475764-97681-5693/hobbies.nt → import/34abcd7a9e41926d33d9e3681fb84cda.nt} +0 -0
  478. data/public/uploads/{tmp/1420475937-97729-2119/hobbies.nt → import/34ba57752426c098eb527fb72c1bc925.nt} +0 -0
  479. data/public/uploads/{tmp/1420476857-98058-7891/hobbies.nt → import/350013940118f7c3aea45afe9ed5b49f.nt} +0 -0
  480. data/public/uploads/{tmp/1420535851-99018-0174/hobbies.nt → import/35da42eb6ae0bb377f283a1750a5ac0a.nt} +0 -0
  481. data/public/uploads/{tmp/1420536204-1785-0172/hobbies.nt → import/36a623b679f8c39ce604a0c6e1d00443.nt} +0 -0
  482. data/public/uploads/{tmp/1420551687-4559-4581/hobbies.nt → import/36d52b5b63ee4fb1950ab93777f22b29.nt} +0 -0
  483. data/public/uploads/{tmp/1420553228-5060-8398/hobbies.nt → import/37b007bfc1d0f4d989c2fbf8905a7fca.nt} +0 -0
  484. data/public/uploads/{tmp/1420554138-5330-1218/hobbies.nt → import/394526f18260a158da9b9966486c7e3d.nt} +0 -0
  485. data/public/uploads/{tmp/1420623682-11549-0730/hobbies.nt → import/3986f1bfeb7747a510d04dbb2229463d.nt} +0 -0
  486. data/public/uploads/{tmp/1420627830-12489-1669/hobbies.nt → import/39ef9696a70b6a4f428eb6c60aa9a271.nt} +0 -0
  487. data/public/uploads/{tmp/1420643849-18200-3932/hobbies.nt → import/3a1d917725f09b076f16e7ca96afd740.nt} +0 -0
  488. data/public/uploads/{tmp/1420649772-21728-5542/hobbies.nt → import/3b4f9b71a37ec9b3d636305f6f6ad519.nt} +0 -0
  489. data/public/uploads/{tmp/1420708117-27095-8292/hobbies.nt → import/3bdeb517e30c38d46ae651199b265832.nt} +0 -0
  490. data/public/uploads/{tmp/1420708387-27223-6774/hobbies.nt → import/3c1a53dcde97dd7fdc99862147996717.nt} +0 -0
  491. data/public/uploads/{tmp/1420708470-27267-7475/hobbies.nt → import/3c5c7c63329f3b0ac08463464bc47fd4.nt} +0 -0
  492. data/public/uploads/{tmp/1420708517-27294-4695/hobbies.nt → import/3c60eb585816da29a3cd90a3c7ce70a8.nt} +0 -0
  493. data/public/uploads/{tmp/1420708539-27319-1354/hobbies.nt → import/3cc3ce2b87fefb02f8eb4bb3703aac7a.nt} +0 -0
  494. data/public/uploads/{tmp/1420708586-27334-3786/hobbies.nt → import/3d2d5b415c6e29963dce64017a3f0b64.nt} +0 -0
  495. data/public/uploads/{tmp/1420708992-27418-8019/hobbies.nt → import/3dafd1e300163c2f95c2f4790ef3acf3.nt} +0 -0
  496. data/public/uploads/{tmp/1420709221-27495-1252/hobbies.nt → import/3e7b846c89e9fda86148db18bfde007e.nt} +0 -0
  497. data/public/uploads/{tmp/1420709888-27667-9904/hobbies.nt → import/40cc28508c2c98f8e810db6a78c0f753.nt} +0 -0
  498. data/public/uploads/{tmp/1420710092-27729-5735/hobbies.nt → import/410b1af4b92ee575a5880a32e372ad4f.nt} +0 -0
  499. data/public/uploads/{tmp/1420710448-27814-7190/hobbies.nt → import/41b873b04b0fb717cccbf5acc4222747.nt} +0 -0
  500. data/public/uploads/{tmp/1420710886-27909-4558/hobbies.nt → import/41d6e5981acf86471a1c619aba157d52.nt} +0 -0
  501. data/public/uploads/{tmp/1420711474-28046-6914/hobbies.nt → import/41e11dc346003976ab6f84a93b1de0de.nt} +0 -0
  502. data/public/uploads/import/420dd350f5f168db9819f5615e7771c0.nt +260 -0
  503. data/public/uploads/{tmp/1420711601-28081-0714/hobbies.nt → import/429542042f555cabfe0c233cc37dbece.nt} +0 -0
  504. data/public/uploads/{tmp/1420711904-28153-8591/hobbies.nt → import/42f87717c106765541ecda33254d6fbc.nt} +0 -0
  505. data/public/uploads/{tmp/1420712160-28240-2054/hobbies.nt → import/4306ab3bb9e1783dadd21b303604fced.nt} +0 -0
  506. data/public/uploads/{tmp/1420712349-28303-3685/hobbies.nt → import/4370ea02aa094a56863382095c0e7187.nt} +0 -0
  507. data/public/uploads/{tmp/1420712756-28475-0893/hobbies.nt → import/43ba81cc0fb410dd50368aeb099a9390.nt} +0 -0
  508. data/public/uploads/{tmp/1420712995-28567-4743/hobbies.nt → import/43e3dfbf0be754ec0b5eb6e4fed0b8dc.nt} +0 -0
  509. data/public/uploads/{tmp/1420722946-31448-5312/hobbies.nt → import/43f27651b3a11872c6753d560f68896b.nt} +0 -0
  510. data/public/uploads/{tmp/1420723021-31498-6069/hobbies.nt → import/43f657bc5d415e55512f8d709682871b.nt} +0 -0
  511. data/public/uploads/{tmp/1420723172-31541-4390/hobbies.nt → import/44c05a66b8c2fcaeae1595124b4add28.nt} +0 -0
  512. data/public/uploads/{tmp/1420723249-31574-6508/hobbies.nt → import/4501df89a20228c77476147b965abe4b.nt} +0 -0
  513. data/public/uploads/{tmp/1422290833-38334-3392/hobbies.nt → import/451ea57160ab49b957cf36d2578a584e.nt} +0 -0
  514. data/public/uploads/{tmp/1422292996-38701-6635/hobbies.nt → import/45489385c79521e24b35a3a3ca5e73c7.nt} +0 -0
  515. data/public/uploads/{tmp/1422293183-38751-2662/hobbies.nt → import/45be2ea3017c3cb7e1d6b42e4020136e.nt} +0 -0
  516. data/public/uploads/{tmp/1422293478-38811-6215/hobbies.nt → import/45f09a6d14c36affc05014a9f32d6e2e.nt} +0 -0
  517. data/public/uploads/{tmp/1422300870-38980-1343/hobbies.nt → import/4648b24a76ef7a4210e83d907695bbba.nt} +0 -0
  518. data/public/uploads/{tmp/1422372626-67843-5956/hobbies.nt → import/46882dfcda4a4e3977f9a018d3cf66ce.nt} +0 -0
  519. data/public/uploads/{tmp/1422374262-68176-3483/hobbies.nt → import/46dbb9d15154dac47e0e233b236826e4.nt} +0 -0
  520. data/public/uploads/{tmp/1422374611-68319-4455/hobbies.nt → import/47fa9d0e431b00d5687399172ccbb17d.nt} +0 -0
  521. data/public/uploads/import/482d59458cf412b4ba43603740ba4018.nt +259 -0
  522. data/public/uploads/import/48f9906f336b36807c8252b9937cc65c.nt +259 -0
  523. data/public/uploads/import/49873a34ecbb5545637323f43e3fb30d.nt +259 -0
  524. data/public/uploads/import/49b8d43a601b6fba9fd8d7255cd90e3a.nt +259 -0
  525. data/public/uploads/import/49d1c90d0f5fedee1a1c336a52ee7204.nt +259 -0
  526. data/public/uploads/import/4a81c48be305ffcb1bf101f8e0c2fdf6.nt +259 -0
  527. data/public/uploads/import/4a8c4f0d3e8614a4d53a593eb1f30bb7.nt +259 -0
  528. data/public/uploads/import/4aab54eeefc9e9f2b5b2065619f38156.nt +259 -0
  529. data/public/uploads/import/4ae12040f3d62697fa3b27b0542d5b1d.nt +259 -0
  530. data/public/uploads/import/4b05a5ede9e5e572788db768be7128cf.nt +259 -0
  531. data/public/uploads/import/4b1152866dcb9dc71e44174cdee63e15.nt +259 -0
  532. data/public/uploads/import/4b87758cf43b730a5a71d56e93d6ff35.nt +259 -0
  533. data/public/uploads/import/4c2125ce64bd257bf4b5dc7bb603d5dc.nt +259 -0
  534. data/public/uploads/import/4ca9324e38c4c54e04de49af7fd78524.nt +259 -0
  535. data/public/uploads/import/4d1fc266f1d70eed6110589bfc7f9d8f.nt +259 -0
  536. data/public/uploads/import/4e87c9967400d6a68fca31f224ddf8c3.nt +259 -0
  537. data/public/uploads/import/4ec45005905f32fea8357e550fdbe06d.nt +259 -0
  538. data/public/uploads/import/4ed0f509d25963a64e819d4af4979f95.nt +259 -0
  539. data/public/uploads/import/4f32105f957f407e29f712d53cdb929c.nt +259 -0
  540. data/public/uploads/import/500a756cdf8db03fe71edebb91b8f21d.nt +259 -0
  541. data/public/uploads/import/500eab6383bc4ed60a06ff7d6ad9b39d.nt +259 -0
  542. data/public/uploads/import/5011ef53acb4fbbf837a1358d6a0143a.nt +259 -0
  543. data/public/uploads/import/5042e92d2eaf0909b0853350d2e1361f.nt +259 -0
  544. data/public/uploads/import/50b0de30c38cf81f4a0b77ffc7cf80e6.nt +259 -0
  545. data/public/uploads/import/50ca7df20d9e48d7612a622188e5ffdb.nt +259 -0
  546. data/public/uploads/import/50f796a4ad550c59259425e3411812ad.nt +259 -0
  547. data/public/uploads/import/51a3aed8420a697e9a4377e9470a5d44.nt +259 -0
  548. data/public/uploads/import/52c6186c3e5145cf367863218c9cae57.nt +259 -0
  549. data/public/uploads/import/52ef292bd121f1bfb8be32cdd9e8b6f1.nt +259 -0
  550. data/public/uploads/import/52f22184637c2c74ca2577564c708441.nt +259 -0
  551. data/public/uploads/import/53dfe4545844a297b3f12a1c6382a8fa.nt +259 -0
  552. data/public/uploads/import/54e0b71c44f69a52c417738481801f84.nt +259 -0
  553. data/public/uploads/import/555854f47dac3eb9cf211fd3becd8612.nt +259 -0
  554. data/public/uploads/import/562a64daf76491e0a287bb2bec3542ec.nt +259 -0
  555. data/public/uploads/import/56871dd391ba951e15d47831e3adc7ae.nt +259 -0
  556. data/public/uploads/import/56af5cd8c9d0aea5771b2dc986e23f77.nt +259 -0
  557. data/public/uploads/import/57dbb0dc4da021890130d4679d8e2599.nt +259 -0
  558. data/public/uploads/import/58a9c7ca4d1538a8ada0f66aafaf291c.nt +260 -0
  559. data/public/uploads/import/58ae97ef1c7d1ed92caf54d6116a0d5b.nt +259 -0
  560. data/public/uploads/import/5970365967c176996f0f349ec5525859.nt +259 -0
  561. data/public/uploads/import/599a0d389cd3b12f1722dc042efaf7e0.nt +259 -0
  562. data/public/uploads/import/59c145e15f686d0e96e5f2aa5c3317f6.nt +259 -0
  563. data/public/uploads/import/5a2e5f1e93cd5d27f3f5c1b9a9bbdce7.nt +259 -0
  564. data/public/uploads/import/5ad750b9ca7b37967e0168781fd5aa3f.nt +259 -0
  565. data/public/uploads/import/5b3b92b957743f2dcd330198f15666d2.nt +259 -0
  566. data/public/uploads/import/5b550d4c2c535d1e97edfe84d71bf058.nt +259 -0
  567. data/public/uploads/import/5b9ba35d13ab6f57d341dfc6b862ec8e.nt +259 -0
  568. data/public/uploads/import/5c4c46adc7482b8113db1e1885b7d7ce.nt +259 -0
  569. data/public/uploads/import/5ca3aff54967e963dc78b14cd5ad87bf.nt +259 -0
  570. data/public/uploads/import/5cddf0500fba319bffcd50a7d0d45730.nt +259 -0
  571. data/public/uploads/import/5d16f4a8d09afaadb60c4a895c8221c6.nt +259 -0
  572. data/public/uploads/import/5dcdff16d0cc1c7728ab6d4fd38a81bc.nt +259 -0
  573. data/public/uploads/import/5de0c8bf799d418f1d7e3aa165caa28a.nt +259 -0
  574. data/public/uploads/import/60203f59f5337207643bae365891f817.nt +259 -0
  575. data/public/uploads/import/6043cc7c245f0249dbb812f986307c5b.nt +259 -0
  576. data/public/uploads/import/606066b12237c640bf681291b71b49bb.nt +259 -0
  577. data/public/uploads/import/607cb5e807c6b40cca7a95f9ae755cf6.nt +259 -0
  578. data/public/uploads/import/61c09a74b5bc7751e872fdc9b9927e05.nt +259 -0
  579. data/public/uploads/import/62e4abc8bb1199ccabc52ec287c1b0d8.nt +259 -0
  580. data/public/uploads/import/631812196973d045e34e980d0598e9c3.nt +259 -0
  581. data/public/uploads/import/637bdeb8864e39e09502e86efc408577.nt +259 -0
  582. data/public/uploads/import/642383112706fa0022b8b45d5a940250.nt +259 -0
  583. data/public/uploads/import/64453e8dcdc9b8c2adfd5fb57107709f.nt +259 -0
  584. data/public/uploads/import/65017bf31d87f14a079a957e3efeaeea.nt +259 -0
  585. data/public/uploads/import/6559eb5f0434f16a8d3fa2d6c2fda568.nt +259 -0
  586. data/public/uploads/import/65d4825ef461eba02279d53fd69ea145.nt +259 -0
  587. data/public/uploads/import/66241aa245dd504eccc5107b37984182.nt +259 -0
  588. data/public/uploads/import/6699364c7a4e725f7ef52e5c8edc3b44.nt +259 -0
  589. data/public/uploads/import/66bf1828be70726d9f3d21f26aebba87.nt +259 -0
  590. data/public/uploads/import/66cab794b19872b597d0022523e33a60.nt +259 -0
  591. data/public/uploads/import/66d727df12afc80e06fb26c0cbc32699.nt +259 -0
  592. data/public/uploads/import/66e9624cc3784052f0cb4cd40be0719a.nt +259 -0
  593. data/public/uploads/import/675329ee5f6a98936021fafee0ce11d4.nt +259 -0
  594. data/public/uploads/import/68215556e3de730f958cab4984635451.nt +259 -0
  595. data/public/uploads/import/68dcbfd4457a91339dd8220be5d1f453.nt +259 -0
  596. data/public/uploads/import/697d9fb90fd840866b6432123637ac1f.nt +259 -0
  597. data/public/uploads/import/699909f8faa5743a897024a34a7c0672.nt +259 -0
  598. data/public/uploads/import/699f14f838ccc381ebd47c3c50fd4a3e.nt +259 -0
  599. data/public/uploads/import/6a491b96f717e4e71eca8c4f03d45829.nt +259 -0
  600. data/public/uploads/import/6b4f4f51764ef6eee839f798f5101719.nt +259 -0
  601. data/public/uploads/import/6bb24343924c96acc7c63c9a48a4e5fd.nt +259 -0
  602. data/public/uploads/import/6bcf78ccdcb97d1db5b355e419acf5e0.nt +259 -0
  603. data/public/uploads/import/6c52215c1e5fa9a01fc557c6b959ee88.nt +259 -0
  604. data/public/uploads/import/6c7e3c354d3f39b434efa0562d2143e3.nt +259 -0
  605. data/public/uploads/import/6cecd2a4b748a5320ac379c92012b93e.nt +259 -0
  606. data/public/uploads/import/6d444bcd4abb765e611dce0bd4ecb7cc.nt +259 -0
  607. data/public/uploads/import/6d836c4e8b9f9b5c21ceea20eafac8f5.nt +259 -0
  608. data/public/uploads/import/6db56825fa5aaf6c42b5ee83c9c5f379.nt +259 -0
  609. data/public/uploads/import/6e1d97455e979902cdd4d939e47ecfd1.nt +259 -0
  610. data/public/uploads/import/6e2243068ebab9d2643b073916f95988.nt +259 -0
  611. data/public/uploads/import/6e5cd6ffb21afde540cc59c48b720465.nt +259 -0
  612. data/public/uploads/import/6e84a93386c734cd9dc50e8e8e1d8dc7.nt +259 -0
  613. data/public/uploads/import/7055e32745c1b0890377ff2f056eb02a.nt +259 -0
  614. data/public/uploads/import/7069d54c62616c046562c0f1555cc062.nt +259 -0
  615. data/public/uploads/import/717bb08ef5040ec81e61a71e4111ecf4.nt +259 -0
  616. data/public/uploads/import/71beccfbfe8ec04b03edd5525eac8512.nt +259 -0
  617. data/public/uploads/import/71f36cdc5dd9fe14f354a761528e647c.nt +259 -0
  618. data/public/uploads/import/71f7d69319118b5e5c9dcbc3bdc5555c.nt +259 -0
  619. data/public/uploads/import/72a46ce2aeb5537c6bcaf8b2772d63e1.nt +259 -0
  620. data/public/uploads/import/740c700d05f9bf99545b91c9cd448c97.nt +259 -0
  621. data/public/uploads/import/74270d9c3383a1604014d19eafff7122.nt +259 -0
  622. data/public/uploads/import/748bfec2f75ab292c0c22ee449bc3617.nt +259 -0
  623. data/public/uploads/import/7500be0de2d7d5a134d1196b45d44162.nt +259 -0
  624. data/public/uploads/import/76071a3efeb2c6ac5a8226224d127a88.nt +259 -0
  625. data/public/uploads/import/761f68a7d6bec58f847d1496484afe5c.nt +259 -0
  626. data/public/uploads/import/7746b8be6292014985483ae00df54296.nt +259 -0
  627. data/public/uploads/import/779e0b14763164c16251919096704de5.nt +259 -0
  628. data/public/uploads/import/77b7585f51129c8e741af3e7c5f4fd62.nt +259 -0
  629. data/public/uploads/import/77ba9a1e0f0b6d9a58c8c9c3988d7677.nt +259 -0
  630. data/public/uploads/import/7848626f0bed92d1ccf1405867b0ad8b.nt +259 -0
  631. data/public/uploads/import/786416eb8178f085bfc43f35bf52b0be.nt +259 -0
  632. data/public/uploads/import/788e543040a08fb2895ada7b2e3bbc93.nt +259 -0
  633. data/public/uploads/import/78a8c345cfe97a90660cfa55881aadc7.nt +259 -0
  634. data/public/uploads/import/78d16c2d7483a3691ff1da2be21df82a.nt +259 -0
  635. data/public/uploads/import/7959a9252544e96b4ee358fd5e5e50f9.nt +259 -0
  636. data/public/uploads/import/79a79a81642d875b3fb4463a38ad7de0.nt +259 -0
  637. data/public/uploads/import/7b1dbbcc41d5153aff6da43964108e7d.nt +259 -0
  638. data/public/uploads/import/7c5e3295b32cd3267d1a644e29d0ab03.nt +259 -0
  639. data/public/uploads/import/7c856b05981ca0b2fabcd0492063363e.nt +259 -0
  640. data/public/uploads/import/7c9fd4a31e9360cd03331b4c302fc6bb.nt +259 -0
  641. data/public/uploads/import/7cc1fdc8146d7a7f4c62cd0fdb649665.nt +259 -0
  642. data/public/uploads/import/7ccf0b7865d3c31a58cb4adc1645a58d.nt +259 -0
  643. data/public/uploads/import/7cd25e803ecdccb5740e159a172aafaa.nt +259 -0
  644. data/public/uploads/import/7ce084b911171ad3f44ec4b194de4188.nt +259 -0
  645. data/public/uploads/import/7e48ed70ad06280e939101059a48b43f.nt +259 -0
  646. data/public/uploads/import/7e90b634ed27a0b1e455ddc804d89268.nt +259 -0
  647. data/public/uploads/import/7ef390c5f24d4edcc052f4715670d9c7.nt +259 -0
  648. data/public/uploads/import/7f832e06d9a3959fb34ce48782a036d2.nt +259 -0
  649. data/public/uploads/import/7f87755bb7b7c681d6b4b0ce0a8a504d.nt +259 -0
  650. data/public/uploads/import/7fe742df69c2683d4ee9a5cbba9cdfdc.nt +259 -0
  651. data/public/uploads/import/80c7811ed9f883d72b102757b3826751.nt +259 -0
  652. data/public/uploads/import/8101cd106dc1e723a2598422d65cc52c.nt +259 -0
  653. data/public/uploads/import/8232d1eb7dda206a50d15248fbf18e8a.nt +259 -0
  654. data/public/uploads/import/823d0e497f64cc8152bd14f9862ac741.nt +259 -0
  655. data/public/uploads/import/825ade9d3e5a1040481d26d873062d83.nt +259 -0
  656. data/public/uploads/import/8336dc3e977d3f186e95942ca0077fda.nt +259 -0
  657. data/public/uploads/import/8444e4fe95c316c88e795f3510d6c675.nt +259 -0
  658. data/public/uploads/import/8578a311f3c1de45bc18341ff187bf32.nt +259 -0
  659. data/public/uploads/import/859e0763655994d7808addd3607797b9.nt +259 -0
  660. data/public/uploads/import/8761c0c4546be2dee28b0878478aaf76.nt +259 -0
  661. data/public/uploads/import/88a9ec52d60760c84b7150a13f91bb7a.nt +259 -0
  662. data/public/uploads/import/88cd4af65af2d8be85b187993ff8b284.nt +259 -0
  663. data/public/uploads/import/899656cc9e6591d0a815b841552191d5.nt +259 -0
  664. data/public/uploads/import/8b092d652c87c475e6897178becdcafc.nt +259 -0
  665. data/public/uploads/import/8b33bbe3f412a44f6edd75d9acad634e.nt +259 -0
  666. data/public/uploads/import/8b4b89ea4a2f47f628102335f73eebdd.nt +259 -0
  667. data/public/uploads/import/8bfbebcdea11c878627803fbc0e4b202.nt +259 -0
  668. data/public/uploads/import/8c525c29316516b9ecac652d9d5ef54b.nt +259 -0
  669. data/public/uploads/import/8d131dd08127109c594d19309fb79569.nt +260 -0
  670. data/public/uploads/import/8d29df15ce736d30011afa3d87fb946d.nt +259 -0
  671. data/public/uploads/import/8ea836b8f52e21d51ff88d719d3c48d6.nt +259 -0
  672. data/public/uploads/import/8ed4493c1cc21a1a0af9f3fc383f4d7a.nt +259 -0
  673. data/public/uploads/import/8ee3768e65e09cf20576270576e1449c.nt +259 -0
  674. data/public/uploads/import/8f3c8d798f033efbe877d55208bba698.nt +259 -0
  675. data/public/uploads/import/8f8085f27df362e548d6cb870d2de7b1.nt +259 -0
  676. data/public/uploads/import/8fdb30330db253331eae0a7fb1dd0026.nt +259 -0
  677. data/public/uploads/import/9001d8854db817b9105a1c99166b2eb0.nt +259 -0
  678. data/public/uploads/import/904ea4877b6ff07075513167137c85ef.nt +259 -0
  679. data/public/uploads/import/906595928ece6a9279bc8ffeadce250e.nt +259 -0
  680. data/public/uploads/import/908dca654cf17e84c75887d1b1fb0c93.nt +259 -0
  681. data/public/uploads/import/90ca66dd5f68908129acb22bd1d4e3e7.nt +259 -0
  682. data/public/uploads/import/912725f40116f4a53c4029c33f43e5be.nt +259 -0
  683. data/public/uploads/import/932b712423b14c110fa43b3bad9f0aa9.nt +259 -0
  684. data/public/uploads/import/9370fda1bbc147869fba8a8f180f5f28.nt +259 -0
  685. data/public/uploads/import/9397e4e0eb64ba0871fd3956f36645c7.nt +259 -0
  686. data/public/uploads/import/93b6fe7114aa16708e46bfd22434e643.nt +259 -0
  687. data/public/uploads/import/93d710915123535827d989ed18c7f2b7.nt +259 -0
  688. data/public/uploads/import/940cc28717ef27f0c73b56455d6eeb4c.nt +259 -0
  689. data/public/uploads/import/94ca7c1f816107d85b6e9c3999dc94f4.nt +259 -0
  690. data/public/uploads/import/9537fe87eddca756d0b9eba9962d4655.nt +259 -0
  691. data/public/uploads/import/95a6d972b6925455b45450eb339de68c.nt +259 -0
  692. data/public/uploads/import/95ddb529a517c7dc8d6da9eec5a33cee.nt +259 -0
  693. data/public/uploads/import/95dee6ba13c9dbbda9ffbec5ef98a513.nt +259 -0
  694. data/public/uploads/import/970eda95c403ceb162943d694a83bc90.nt +259 -0
  695. data/public/uploads/import/9764d02bf8bd44cc49111dff48fe471a.nt +259 -0
  696. data/public/uploads/import/97bc2cca1e89efa7046153293e826bc0.nt +259 -0
  697. data/public/uploads/import/984ce53efe822de2ae1e0131398dc9fb.nt +259 -0
  698. data/public/uploads/import/9853224628875304e2c5b7a57e2bc8fe.nt +259 -0
  699. data/public/uploads/import/9856dcb2f79cf16a937d31ec449754db.nt +259 -0
  700. data/public/uploads/import/98ef9d61bbbc62df3b92b524ef963b60.nt +259 -0
  701. data/public/uploads/import/9930588b953932741a1966634e9fff9d.nt +259 -0
  702. data/public/uploads/import/9988a53b12465a21f9b0a4320f855f89.nt +259 -0
  703. data/public/uploads/import/99a84702352ceab4b6c116294c459214.nt +259 -0
  704. data/public/uploads/import/99d1ba29e9842384f26a9aa3d0367d0e.nt +259 -0
  705. data/public/uploads/import/9a1f68600b54d2fcda89d52f13aa871c.nt +259 -0
  706. data/public/uploads/import/9a8389d59bba796ace9b248d210eb4e9.nt +259 -0
  707. data/public/uploads/import/9a85badcdeeda6da83713b89b093ef18.nt +259 -0
  708. data/public/uploads/import/9abee9b0456c46ca0da883ee118840b3.nt +259 -0
  709. data/public/uploads/import/9ac1c49559ed81d09ef88b4885aa0796.nt +259 -0
  710. data/public/uploads/import/9b23b0b058b9bdd0dba9e0c00f1fc2f8.nt +259 -0
  711. data/public/uploads/import/9b9fb94bc6896028347510fb6c127258.nt +259 -0
  712. data/public/uploads/import/9ce8cae47b9309fe8bb936600f75affe.nt +259 -0
  713. data/public/uploads/import/9d352e441d5ba3e91b49c62aa46b9bf0.nt +259 -0
  714. data/public/uploads/import/9d757b5b0a68b605dfd95d40cfb02319.nt +259 -0
  715. data/public/uploads/import/9ddfc93e1ae65ebb342221b748937d83.nt +259 -0
  716. data/public/uploads/import/9e0d90feb716312cffaa226bacc9f30c.nt +259 -0
  717. data/public/uploads/import/9efcda45d4db9426a60ab2fcca982f26.nt +259 -0
  718. data/public/uploads/import/a020ad4d66aff5909b35ca0d7898ca70.nt +259 -0
  719. data/public/uploads/import/a094080a41c108174478548f43628743.nt +259 -0
  720. data/public/uploads/import/a0ff7e4bc10cb30de16334f85a594ee6.nt +260 -0
  721. data/public/uploads/import/a11cdadedf6a88611f962f46bdb635d3.nt +259 -0
  722. data/public/uploads/import/a21c2828241073241a23ff51783bb94a.nt +259 -0
  723. data/public/uploads/import/a24b5b72713423e964b73545bec1d38c.nt +259 -0
  724. data/public/uploads/import/a2a77c983169f0606625726dd9bc561a.nt +259 -0
  725. data/public/uploads/import/a30fa12f7c61642a94077b41a54cff93.nt +259 -0
  726. data/public/uploads/import/a350f5923ac9276420d9e7d6d5ec28cc.nt +259 -0
  727. data/public/uploads/import/a3bdb8f1055cdf67dc3459ed4b174bcc.nt +259 -0
  728. data/public/uploads/import/a474bf0531888f62c4c9687dbbf44fe1.nt +259 -0
  729. data/public/uploads/import/a4a24ec53bb0b81959cd0c36fbf2ec35.nt +259 -0
  730. data/public/uploads/import/a5a2ff38cd07078a3a8932bcf4e47fc4.nt +260 -0
  731. data/public/uploads/import/a699137d4cb8a4bb0ece35aed5cde80c.nt +23 -0
  732. data/public/uploads/import/a69eef9b18eba8ddd25b0783eeca1646.nt +259 -0
  733. data/public/uploads/import/a6c8604871db074b794a188e84c921b6.nt +259 -0
  734. data/public/uploads/import/a733fee9304bad1c68cde1bc5baf89e4.nt +259 -0
  735. data/public/uploads/import/a79c1ea75d7222fef7c390d78d30388e.nt +259 -0
  736. data/public/uploads/import/a7a39d9e22b6fe63fc6b0c2b1e44489f.nt +259 -0
  737. data/public/uploads/import/a97112822b17fe1d9c2ad70772cdd9d8.nt +259 -0
  738. data/public/uploads/import/a9c9b349be0cf98fdb01770cf9ed862c.nt +259 -0
  739. data/public/uploads/import/a9dd7be7b97f938ff3e7918cb4af3982.nt +259 -0
  740. data/public/uploads/import/a9e8888606ce487aca224f8f7b27e83a.nt +260 -0
  741. data/public/uploads/import/aa6870e4a14e8f35c679536942674693.nt +259 -0
  742. data/public/uploads/import/aa9a5c22f2bcbff8ce6cf7e274dbcc0e.nt +259 -0
  743. data/public/uploads/import/aac0606ba7d3a06815460713dfc3b421.nt +259 -0
  744. data/public/uploads/import/ab1cf28cd0271d93ad35cf350f173af3.nt +259 -0
  745. data/public/uploads/import/abbe158532fdbf9589c70697d6290b2e.nt +259 -0
  746. data/public/uploads/import/ac1fd17981183189167996eebe6a9948.nt +259 -0
  747. data/public/uploads/import/ad550942482cac5dcf93ce43b622999e.nt +259 -0
  748. data/public/uploads/import/add313ca261aab61e1e0459de2a015a0.nt +259 -0
  749. data/public/uploads/import/ade1b9fb83a3027bb40ac7d62a6d9ef9.nt +259 -0
  750. data/public/uploads/import/ae30adc4574aeecf683d61ce37abdb90.nt +259 -0
  751. data/public/uploads/import/aecb993260e733d626dfb32025e92caa.nt +259 -0
  752. data/public/uploads/import/af04fc05df612d22fb8090134cb7059b.nt +259 -0
  753. data/public/uploads/import/af2bcf9384c9ebf6bdc309aec1c2a3b4.nt +259 -0
  754. data/public/uploads/import/af6a9b869c6c4880e3989860ddeb98cb.nt +259 -0
  755. data/public/uploads/import/b142f5096ce10e66b112bad881905768.nt +259 -0
  756. data/public/uploads/import/b172b4fa35c8953111710bebf58bcbd4.nt +259 -0
  757. data/public/uploads/import/b2df88bcbc9bfb8bedd93abff523ff86.nt +259 -0
  758. data/public/uploads/import/b30672a01792d8d5d1962cab3381cb17.nt +259 -0
  759. data/public/uploads/import/b49531b0ad2d00472d2bc17b3aa0d221.nt +259 -0
  760. data/public/uploads/import/b52854fa217f3edee31a4cd292566285.nt +259 -0
  761. data/public/uploads/import/b5528d99e2de86b1e376d45e5d14b35f.nt +259 -0
  762. data/public/uploads/import/b5bf73b96cbf4b74d25b8b58a1ad1899.nt +259 -0
  763. data/public/uploads/import/b5d0fced3ae6e57db658d03e727dded4.nt +259 -0
  764. data/public/uploads/import/b671f994b84d97f4ea917dc3454d2fba.nt +259 -0
  765. data/public/uploads/import/b7a78e5265a1a94a5b630626f74163cc.nt +259 -0
  766. data/public/uploads/import/b827f68124d69e731b83c462f3a1d97d.nt +259 -0
  767. data/public/uploads/import/b8a7d32702291873a5e5e0ad974a6b6f.nt +259 -0
  768. data/public/uploads/import/b8cb21faeb051b63ff849860da1ba2c8.nt +259 -0
  769. data/public/uploads/import/b8e2c68c1c5c850dc1147c8f19c6218f.nt +259 -0
  770. data/public/uploads/import/b914aac6c06c88b7d99144f1f0033b5a.nt +259 -0
  771. data/public/uploads/import/b92ae723e99ff2d88946b9c37209a1ed.nt +259 -0
  772. data/public/uploads/import/b9e012058e4c34e18ab8890203d4b013.nt +259 -0
  773. data/public/uploads/import/ba407628b3bfba9a47e8e71724a312a9.nt +259 -0
  774. data/public/uploads/import/ba44861870c8f8140f1b0ba387c7695e.nt +259 -0
  775. data/public/uploads/import/bb117a42eec4ec22b8f10e15770f5583.nt +259 -0
  776. data/public/uploads/import/bb14e9984e8b2bfa259fdbda03266354.nt +259 -0
  777. data/public/uploads/import/bbee16059eda59fc191333bc645a7ca2.nt +259 -0
  778. data/public/uploads/import/bc1a621735e1281bfc471306001eff66.nt +259 -0
  779. data/public/uploads/import/bc3460cddade18bbcd4d98cab147ea17.nt +259 -0
  780. data/public/uploads/import/bc75f528910deffc64df46537d3e4bb0.nt +259 -0
  781. data/public/uploads/import/bdbdbd0daab224e45ec48a4448869988.nt +259 -0
  782. data/public/uploads/import/be96362caa02f6902bf85e2bc42a6c4b.nt +259 -0
  783. data/public/uploads/import/bea50ea04eda73bc9b82d32e23e988be.nt +259 -0
  784. data/public/uploads/import/bebd813ae2f7e002c02d40f529b4939f.nt +259 -0
  785. data/public/uploads/import/bfd652f1c5c144964f989d95672e9d8e.nt +259 -0
  786. data/public/uploads/import/c02b28340937f3f19fd49f6937c73c82.nt +259 -0
  787. data/public/uploads/import/c120e8da3b1b3c870a09bdee61de3af8.nt +259 -0
  788. data/public/uploads/import/c161fd679958431b7208f421abac8766.nt +259 -0
  789. data/public/uploads/import/c166f50f2c8ef2f87fb76311baf03a08.nt +259 -0
  790. data/public/uploads/import/c23720dccd5774281281cf4c68c48f05.nt +259 -0
  791. data/public/uploads/import/c246100fe6edaaff20fc5b698a26b4d3.nt +259 -0
  792. data/public/uploads/import/c29beb4d62c6f1db529cf5ff57684d34.nt +259 -0
  793. data/public/uploads/import/c30cc0ce2b6e92aad534adc54885dfaf.nt +259 -0
  794. data/public/uploads/import/c31c88aaf3fc7de5185284e2375f692f.nt +259 -0
  795. data/public/uploads/import/c38801d7ea2b633ddaf85b9f08dbb0ce.nt +259 -0
  796. data/public/uploads/import/c4012d3bc16fbec121f34eff9e3ca546.nt +259 -0
  797. data/public/uploads/import/c47961aca6ed2b2f9d9cdc5247a2cad8.nt +259 -0
  798. data/public/uploads/import/c4b92917c6db7f34f59068e1bc00f7d1.nt +259 -0
  799. data/public/uploads/import/c514ebccedfdea5742152242a2ba151f.nt +259 -0
  800. data/public/uploads/import/c5653c2416dba8796cfea8f665c0faca.nt +259 -0
  801. data/public/uploads/import/c5902c7493784c726c49b444bf2c6142.nt +259 -0
  802. data/public/uploads/import/c62c61170816636be4f3b1545bb78b50.nt +259 -0
  803. data/public/uploads/import/c63eb6926fdc889768f20ef082d43148.nt +259 -0
  804. data/public/uploads/import/c65388e3817bdab6c5d81839dc2efd1a.nt +259 -0
  805. data/public/uploads/import/c72f93d3a3330c8c87566ef93c616a99.nt +259 -0
  806. data/public/uploads/import/c7b046552eb249986baf20e39f1be173.nt +259 -0
  807. data/public/uploads/import/c7f2bd72a4f75cfd4c68aa43f2a5e6d1.nt +259 -0
  808. data/public/uploads/import/c88e5df655494cfca952a072e40c7c49.nt +259 -0
  809. data/public/uploads/import/c8966a0221ecbc33e827c285db50b731.nt +260 -0
  810. data/public/uploads/import/c8a73baa563770b0f90b137946cb1a6a.nt +259 -0
  811. data/public/uploads/import/c9522fe0bf5dd2a14910adebf0da8f42.nt +259 -0
  812. data/public/uploads/import/c99ba72a7425eba3fadb2c1b0a460cd9.nt +259 -0
  813. data/public/uploads/import/c9f2c5612d808d7562fbd28325b42c0f.nt +259 -0
  814. data/public/uploads/import/cad426d14050eecaa088fb9bf665c484.nt +259 -0
  815. data/public/uploads/import/cadcca7d94d54bd352932950c371667e.nt +259 -0
  816. data/public/uploads/import/cb0bf48f5f7c464e4faaee4e140f1fb8.nt +259 -0
  817. data/public/uploads/import/cc39e8bc4640d4f60e43561db83645d3.nt +259 -0
  818. data/public/uploads/import/cceaf795e270e55aca140d1e9eb6b54a.nt +259 -0
  819. data/public/uploads/import/cd0c38cd563fd46ffd6c846f7573324f.nt +259 -0
  820. data/public/uploads/import/ce7d86d559963d16bc68e734620c67e3.nt +259 -0
  821. data/public/uploads/import/cf738055852e5bf09158fd55b99f0905.nt +259 -0
  822. data/public/uploads/import/d024bc60f0b1531c88f8c4f5a05e5e32.nt +259 -0
  823. data/public/uploads/import/d0c9bb5f41fbc3374c5cc055f099a80b.nt +259 -0
  824. data/public/uploads/import/d13ee9f760518507035738266ffa65f7.nt +259 -0
  825. data/public/uploads/import/d16a315fe2145b4498b0b915d5b6218b.nt +259 -0
  826. data/public/uploads/import/d1b3bda70ded22f34436b7a22285082d.nt +259 -0
  827. data/public/uploads/import/d2f5fe4de6c1ddc71187f0d13b07b088.nt +259 -0
  828. data/public/uploads/import/d33795b637a83e7f375853458311012d.nt +259 -0
  829. data/public/uploads/import/d3ebea0fc87866ecbb029823bd232f61.nt +259 -0
  830. data/public/uploads/import/d4caf6d797b1c0d4aea497aa4ca9a0e2.nt +259 -0
  831. data/public/uploads/import/d509b96fafaf515cd092edd28fe15820.nt +259 -0
  832. data/public/uploads/import/d50b84732aeca82a2bcacb23f24fcc30.nt +259 -0
  833. data/public/uploads/import/d510a728654e9588f1ac7a4d7f9a8313.nt +259 -0
  834. data/public/uploads/import/d586f51f210c092a91f2aaee95d43b00.nt +259 -0
  835. data/public/uploads/import/d6f64d2df69186b7207c8e5bb7f07944.nt +259 -0
  836. data/public/uploads/import/d893f4a12f8c23d00ea8d9de154383d0.nt +259 -0
  837. data/public/uploads/import/d8f675148d53df3b65fa75bb7804c507.nt +259 -0
  838. data/public/uploads/import/d9f0214d0cab081c53bd66a38152cc09.nt +259 -0
  839. data/public/uploads/import/da2c59d35ebf8bd8ca020fae99a05d4e.nt +259 -0
  840. data/public/uploads/import/db4eaaa2353dfe380b3ca1bd86506f7b.nt +259 -0
  841. data/public/uploads/import/dbc34bf9b279800045c0afd5ef29dbe6.nt +259 -0
  842. data/public/uploads/import/dc8e04bab5d45a4bb551162138032a0f.nt +259 -0
  843. data/public/uploads/import/dcdfd24f1d1ba0848342f1d320691bf7.nt +259 -0
  844. data/public/uploads/import/dce056df8a156333c5016830ea4e2556.nt +259 -0
  845. data/public/uploads/import/dd9d95100b9ff2f4df7f090f16e1865a.nt +259 -0
  846. data/public/uploads/import/dfebb7929fbda930719a7e23f11db6ca.nt +259 -0
  847. data/public/uploads/import/e13db15d182fdf1fa63abdd567c66be5.nt +259 -0
  848. data/public/uploads/import/e1a5342ae5c2e553d9074d88e4d5e70a.nt +259 -0
  849. data/public/uploads/import/e2193aee0db0cb0dfc53be3499c4cf7c.nt +259 -0
  850. data/public/uploads/import/e2be0ee488011583f505c6d9407b80a0.nt +259 -0
  851. data/public/uploads/import/e31caef12266da837879306d25d1cf43.nt +259 -0
  852. data/public/uploads/import/e356d0f88a1e1c17a4836fac8f4976cc.nt +259 -0
  853. data/public/uploads/import/e5588a84be675e44627bd5ca1b74271e.nt +259 -0
  854. data/public/uploads/import/e5edf0c34a7f99310f94de6fbd13f6c2.nt +259 -0
  855. data/public/uploads/import/e6beda7fa6c2fa582581a1885d5e6922.nt +259 -0
  856. data/public/uploads/import/e6cb9cdc47022b297f784f1580622ecf.nt +259 -0
  857. data/public/uploads/import/e8bd05652ca2e7819ac4af31ea5afb00.nt +259 -0
  858. data/public/uploads/import/e96ebd454a5e6a0beda6269cc9b04351.nt +259 -0
  859. data/public/uploads/import/ebbb6dfa5a958e65077785f12e1e8652.nt +259 -0
  860. data/public/uploads/import/ec0d5d020660eb573907d7525f2c62b6.nt +259 -0
  861. data/public/uploads/import/ec5b61da759622ae4bfd75b3cf2593f1.nt +259 -0
  862. data/public/uploads/import/ec87d96c18c9746358e92607b3be254c.nt +259 -0
  863. data/public/uploads/import/ecacb51aef7e1e61aef38ac19eddf20e.nt +259 -0
  864. data/public/uploads/import/ed04f606e80441310d8307f7aaf2d5ac.nt +259 -0
  865. data/public/uploads/import/ed29b05b60e2fa9d59d0b20f2f65f358.nt +259 -0
  866. data/public/uploads/import/ed6318f00bbe4d8fcd9052398cec32cd.nt +259 -0
  867. data/public/uploads/import/edaf501947057f4bde44eebf81c9c8ab.nt +259 -0
  868. data/public/uploads/import/ee09cae1d25f2138f7811ae57956149c.nt +259 -0
  869. data/public/uploads/import/eed1f4659372746229f9927440c1cdd9.nt +259 -0
  870. data/public/uploads/import/eed78f652823c737e7d6428a94ff8630.nt +259 -0
  871. data/public/uploads/import/ef70cad10a327c30ae9920a75892df99.nt +259 -0
  872. data/public/uploads/import/efbefa10108a047fc471d32a6b12b4f7.nt +259 -0
  873. data/public/uploads/import/f0062c164dc5d5e0d8856d758c48d174.nt +259 -0
  874. data/public/uploads/import/f01de50b1fef0b545550891f14b8784f.nt +259 -0
  875. data/public/uploads/import/f0284471f4014e8fd5119852d4d4d679.nt +260 -0
  876. data/public/uploads/import/f046b203b2713403bae631f9a17dd58c.nt +259 -0
  877. data/public/uploads/import/f13a6e8a1d47f2aebb97d52ff32a76db.nt +9 -0
  878. data/public/uploads/import/f17505ae37dcffa827cdd8ce3319df3b.nt +259 -0
  879. data/public/uploads/import/f17f77d6e9eb9352c20cbf129c4a5b9d.nt +259 -0
  880. data/public/uploads/import/f1d271371d1669bfab7802d7ebe9126e.nt +259 -0
  881. data/public/uploads/import/f20c069e95627b40f9b9ad158d51a4db.nt +259 -0
  882. data/public/uploads/import/f250168cc364a3f1598d57f9435502b8.nt +259 -0
  883. data/public/uploads/import/f3288033bf127cb1adbf74a545a3b79e.nt +259 -0
  884. data/public/uploads/import/f33c811c7105c9e7da9bb1a9fd90da36.nt +259 -0
  885. data/public/uploads/import/f3ef83476290ab485e350cdae8473244.nt +259 -0
  886. data/public/uploads/import/f5ecff98370466cafe19a5c8de986888.nt +259 -0
  887. data/public/uploads/import/f5f50c1753efa157354993d34de2b678.nt +259 -0
  888. data/public/uploads/import/f7054a31d839d0eb8dfcf3ba82d41cbe.nt +259 -0
  889. data/public/uploads/import/f715e0736c6be751d8b1927a7f475ced.nt +259 -0
  890. data/public/uploads/import/f8b98dfdd442730ae2ef0b7c0d44b777.nt +259 -0
  891. data/public/uploads/import/f90c797e0ea7a6e9a76ae57fbe87aadf.nt +259 -0
  892. data/public/uploads/import/f93d28989056d5bb5c9abdc9a4aacb01.nt +259 -0
  893. data/public/uploads/import/f9596d1ad3c2f6273b5a4fcd5e66df53.nt +259 -0
  894. data/public/uploads/import/f9c20e1974cfb7f646caa7529bd40b18.nt +259 -0
  895. data/public/uploads/import/f9c6b49a958452cf45635af369d79066.nt +259 -0
  896. data/public/uploads/import/f9ce477f6935636b2f39148121e9a904.nt +259 -0
  897. data/public/uploads/import/fa1654920daeae2e2d40215a747423e9.nt +259 -0
  898. data/public/uploads/import/fa3abeb13b65e3502bbd5c245df49fb6.nt +259 -0
  899. data/public/uploads/import/fad426da6bfaaa0653baef182d188b02.nt +259 -0
  900. data/public/uploads/import/fca2fa2dd02e29c8d68b1c80846cb548.nt +259 -0
  901. data/public/uploads/import/fcdb5f1f04c1018ca519945ce5a60ca9.nt +259 -0
  902. data/public/uploads/import/fd2fe1d5fd251c9178979fade62db927.nt +259 -0
  903. data/public/uploads/import/fe7d841ddeb7b2143cf31216353740d9.nt +259 -0
  904. data/public/uploads/import/fedf6202889b3250226d4512a8552c67.nt +259 -0
  905. data/public/uploads/import/ff75881a3b4e6b96816667dd894ce3ff.nt +259 -0
  906. data/public/uploads/import/ff8caa734bf94f7f7bb710d293433cc4.nt +259 -0
  907. data/public/uploads/tmp/1400136441-8909-1864/hobbies.nt +260 -0
  908. data/public/uploads/tmp/1400136457-8954-9980/hobbies.nt +260 -0
  909. data/public/uploads/tmp/1400136538-9106-0637/hobbies.nt +260 -0
  910. data/public/uploads/tmp/1400155776-22890-8133/hobbies.nt +260 -0
  911. data/public/uploads/tmp/1400156580-24010-0098/hobbies.nt +260 -0
  912. data/public/uploads/tmp/1400575004-53088-8128/hobbies.nt +260 -0
  913. data/public/uploads/tmp/1400664724-92335-7096/hobbies.nt +260 -0
  914. data/public/uploads/tmp/1400664807-92408-6915/hobbies.nt +260 -0
  915. data/public/uploads/tmp/1400665873-95353-8270/hobbies.nt +259 -0
  916. data/public/uploads/tmp/1400683850-3037-4034/hobbies.nt +259 -0
  917. data/public/uploads/tmp/1400686016-3800-6238/hobbies.nt +259 -0
  918. data/public/uploads/tmp/1400686448-4179-9946/hobbies.nt +259 -0
  919. data/public/uploads/tmp/1400686559-4219-0427/hobbies.nt +259 -0
  920. data/public/uploads/tmp/1400686598-4240-9258/hobbies.nt +259 -0
  921. data/public/uploads/tmp/1400686723-4290-5978/hobbies.nt +259 -0
  922. data/public/uploads/tmp/1401257122-7735-8414/hobbies.nt +259 -0
  923. data/public/uploads/tmp/1401258388-8294-1832/hobbies.nt +259 -0
  924. data/public/uploads/tmp/1401258461-8320-6936/hobbies.nt +259 -0
  925. data/public/uploads/tmp/1401802495-9554-8946/hobbies.nt +259 -0
  926. data/public/uploads/tmp/1401873631-14485-9619/hobbies.nt +259 -0
  927. data/public/uploads/tmp/1401901913-25054-7929/hobbies.nt +259 -0
  928. data/public/uploads/tmp/1401901971-25132-6654/hobbies.nt +259 -0
  929. data/public/uploads/tmp/1401902595-26069-7978/hobbies.nt +259 -0
  930. data/public/uploads/tmp/1401902753-26355-3620/hobbies.nt +259 -0
  931. data/public/uploads/tmp/1401902841-26526-6201/hobbies.nt +259 -0
  932. data/public/uploads/tmp/1401902924-26767-2345/hobbies.nt +259 -0
  933. data/public/uploads/tmp/1401951168-31767-8671/hobbies.nt +259 -0
  934. data/public/uploads/tmp/1402039970-20044-5832/hobbies.nt +259 -0
  935. data/public/uploads/tmp/1402040206-20373-9283/hobbies.nt +259 -0
  936. data/public/uploads/tmp/1402040781-21399-3672/hobbies.nt +259 -0
  937. data/public/uploads/tmp/1402403722-54150-0143/hobbies.nt +259 -0
  938. data/public/uploads/tmp/1402904030-3645-4762/hobbies.nt +259 -0
  939. data/public/uploads/tmp/1402909552-7277-1590/hobbies.nt +259 -0
  940. data/public/uploads/tmp/1403085398-22253-1966/hobbies.nt +259 -0
  941. data/public/uploads/tmp/1403086253-23163-6328/hobbies.nt +259 -0
  942. data/public/uploads/tmp/1403092843-25514-4894/hobbies.nt +259 -0
  943. data/public/uploads/tmp/1403107450-31294-9405/hobbies.nt +259 -0
  944. data/public/uploads/tmp/1403246567-40664-7567/hobbies.nt +259 -0
  945. data/public/uploads/tmp/1403246819-40874-6180/hobbies.nt +259 -0
  946. data/public/uploads/tmp/1403246926-40970-5820/hobbies.nt +259 -0
  947. data/public/uploads/tmp/1403246969-41016-9015/hobbies.nt +259 -0
  948. data/public/uploads/tmp/1403247007-41106-1107/hobbies.nt +259 -0
  949. data/public/uploads/tmp/1405499354-16678-0536/hobbies.nt +259 -0
  950. data/public/uploads/tmp/1405507965-18359-1136/hobbies.nt +259 -0
  951. data/public/uploads/tmp/1405665751-36134-1680/hobbies.nt +259 -0
  952. data/public/uploads/tmp/1405666008-36190-0640/hobbies.nt +259 -0
  953. data/public/uploads/tmp/1405666068-36238-4803/hobbies.nt +259 -0
  954. data/public/uploads/tmp/1405666124-36304-9496/hobbies.nt +259 -0
  955. data/public/uploads/tmp/1405666623-36363-4960/hobbies.nt +259 -0
  956. data/public/uploads/tmp/1405668160-53225-8420/hobbies.nt +259 -0
  957. data/public/uploads/tmp/1405668259-53254-3943/hobbies.nt +259 -0
  958. data/public/uploads/tmp/1405950788-70170-9817/hobbies.nt +259 -0
  959. data/public/uploads/tmp/1406035464-78105-0726/hobbies.nt +259 -0
  960. data/public/uploads/tmp/1406037081-78776-6363/hobbies.nt +259 -0
  961. data/public/uploads/tmp/1406102345-80502-3431/hobbies.nt +259 -0
  962. data/public/uploads/tmp/1406104079-81087-0096/hobbies.nt +259 -0
  963. data/public/uploads/tmp/1406107061-82344-3430/hobbies.nt +259 -0
  964. data/public/uploads/tmp/1406187436-86466-6421/hobbies.nt +259 -0
  965. data/public/uploads/tmp/1406207261-97327-1775/hobbies.nt +259 -0
  966. data/public/uploads/tmp/1406207477-97714-7976/hobbies.nt +259 -0
  967. data/public/uploads/tmp/1406207785-98095-9895/hobbies.nt +259 -0
  968. data/public/uploads/tmp/1406210125-425-7547/hobbies.nt +259 -0
  969. data/public/uploads/tmp/1406704472-23289-6442/hobbies.nt +259 -0
  970. data/public/uploads/tmp/1406704801-23526-3968/hobbies.nt +259 -0
  971. data/public/uploads/tmp/1406790282-29330-1842/hobbies.nt +259 -0
  972. data/public/uploads/tmp/1406793457-30879-9653/hobbies.nt +259 -0
  973. data/public/uploads/tmp/1406794064-31233-6170/hobbies.nt +259 -0
  974. data/public/uploads/tmp/1406800828-34289-3506/hobbies.nt +259 -0
  975. data/public/uploads/tmp/1406897328-53459-8218/hobbies.nt +259 -0
  976. data/public/uploads/tmp/1406897516-53651-3601/hobbies.nt +259 -0
  977. data/public/uploads/tmp/1407146282-68166-6424/hobbies.nt +259 -0
  978. data/public/uploads/tmp/1407146467-68207-4153/hobbies.nt +259 -0
  979. data/public/uploads/tmp/1407308789-83575-4816/hobbies.nt +259 -0
  980. data/public/uploads/tmp/1407315773-88878-5428/hobbies.nt +259 -0
  981. data/public/uploads/tmp/1407327369-93658-3775/hobbies.nt +259 -0
  982. data/public/uploads/tmp/1407480326-61820-6782/hobbies.nt +259 -0
  983. data/public/uploads/tmp/1407480914-62732-4675/hobbies.nt +259 -0
  984. data/public/uploads/tmp/1407481222-63044-1363/hobbies.nt +259 -0
  985. data/public/uploads/tmp/1407481407-63198-8078/hobbies.nt +259 -0
  986. data/public/uploads/tmp/1407481774-63364-8454/hobbies.nt +259 -0
  987. data/public/uploads/tmp/1407481889-63528-5685/hobbies.nt +259 -0
  988. data/public/uploads/tmp/1407482056-63717-7127/hobbies.nt +259 -0
  989. data/public/uploads/tmp/1407482190-63874-3528/hobbies.nt +259 -0
  990. data/public/uploads/tmp/1407758145-85457-0968/hobbies.nt +259 -0
  991. data/public/uploads/tmp/1407835330-30825-9332/hobbies.nt +259 -0
  992. data/public/uploads/tmp/1407846652-37604-2441/hobbies.nt +259 -0
  993. data/public/uploads/tmp/1407846757-37727-6009/hobbies.nt +259 -0
  994. data/public/uploads/tmp/1407846820-37802-7221/hobbies.nt +259 -0
  995. data/public/uploads/tmp/1407846864-37891-0756/hobbies.nt +259 -0
  996. data/public/uploads/tmp/1407846903-37993-3442/hobbies.nt +259 -0
  997. data/public/uploads/tmp/1407846991-38198-1499/hobbies.nt +259 -0
  998. data/public/uploads/tmp/1407915929-44712-5601/hobbies.nt +259 -0
  999. data/public/uploads/tmp/1408438315-33265-6838/hobbies.nt +259 -0
  1000. data/public/uploads/tmp/1408440572-34435-2805/hobbies.nt +259 -0
  1001. data/public/uploads/tmp/1408447928-37628-4079/hobbies.nt +259 -0
  1002. data/public/uploads/tmp/1408464923-56294-4587/hobbies.nt +259 -0
  1003. data/public/uploads/tmp/1408539293-63641-4407/hobbies.nt +259 -0
  1004. data/public/uploads/tmp/1408611815-20142-5110/hobbies.nt +259 -0
  1005. data/public/uploads/tmp/1408612321-20327-5817/hobbies.nt +259 -0
  1006. data/public/uploads/tmp/1408612547-20610-5812/hobbies.nt +259 -0
  1007. data/public/uploads/tmp/1408692458-35397-9032/hobbies.nt +259 -0
  1008. data/public/uploads/tmp/1408692540-35531-3839/hobbies.nt +259 -0
  1009. data/public/uploads/tmp/1408699761-42002-3587/hobbies.nt +259 -0
  1010. data/public/uploads/tmp/1408708532-49318-4231/hobbies.nt +259 -0
  1011. data/public/uploads/tmp/1409039502-3226-0785/hobbies.nt +259 -0
  1012. data/public/uploads/tmp/1409040913-4294-3874/hobbies.nt +259 -0
  1013. data/public/uploads/tmp/1409321766-83806-0347/hobbies.nt +259 -0
  1014. data/public/uploads/tmp/1409322046-83867-1128/hobbies.nt +259 -0
  1015. data/public/uploads/tmp/1409323070-85103-4307/hobbies.nt +259 -0
  1016. data/public/uploads/tmp/1409323271-85279-4566/hobbies.nt +259 -0
  1017. data/public/uploads/tmp/1409323350-85308-7828/hobbies.nt +259 -0
  1018. data/public/uploads/tmp/1409558765-11109-9991/hobbies.nt +259 -0
  1019. data/public/uploads/tmp/1409558863-11149-1154/hobbies.nt +259 -0
  1020. data/public/uploads/tmp/1409559303-11610-3026/hobbies.nt +259 -0
  1021. data/public/uploads/tmp/1409559366-11953-2145/hobbies.nt +259 -0
  1022. data/public/uploads/tmp/1409559410-12859-9904/hobbies.nt +259 -0
  1023. data/public/uploads/tmp/1409559482-12988-3721/hobbies.nt +259 -0
  1024. data/public/uploads/tmp/1409559541-13025-7354/hobbies.nt +259 -0
  1025. data/public/uploads/tmp/1409559720-13084-8585/hobbies.nt +259 -0
  1026. data/public/uploads/tmp/1409559878-13116-5978/hobbies.nt +259 -0
  1027. data/public/uploads/tmp/1409559987-13145-1907/hobbies.nt +259 -0
  1028. data/public/uploads/tmp/1409560086-13173-3856/hobbies.nt +259 -0
  1029. data/public/uploads/tmp/1409560137-13197-4470/hobbies.nt +259 -0
  1030. data/public/uploads/tmp/1409561656-13522-6605/hobbies.nt +259 -0
  1031. data/public/uploads/tmp/1409561722-13546-4007/hobbies.nt +259 -0
  1032. data/public/uploads/tmp/1409561757-13566-8857/hobbies.nt +259 -0
  1033. data/public/uploads/tmp/1409561876-13603-0696/hobbies.nt +259 -0
  1034. data/public/uploads/tmp/1409562077-13650-9761/hobbies.nt +259 -0
  1035. data/public/uploads/tmp/1409562343-13704-7474/hobbies.nt +259 -0
  1036. data/public/uploads/tmp/1409563234-16413-7308/hobbies.nt +259 -0
  1037. data/public/uploads/tmp/1409563382-16455-2846/hobbies.nt +259 -0
  1038. data/public/uploads/tmp/1409563542-17695-7535/hobbies.nt +259 -0
  1039. data/public/uploads/tmp/1409563654-19065-1104/hobbies.nt +259 -0
  1040. data/public/uploads/tmp/1409643452-25433-8535/hobbies.nt +259 -0
  1041. data/public/uploads/tmp/1413435038-1146-2150/hobbies.nt +259 -0
  1042. data/public/uploads/tmp/1415886282-66389-6236/hobbies.nt +259 -0
  1043. data/public/uploads/tmp/1415890032-71310-4926/hobbies.nt +259 -0
  1044. data/public/uploads/tmp/1415892067-72355-6306/hobbies.nt +259 -0
  1045. data/public/uploads/tmp/1415892167-72564-3645/hobbies.nt +259 -0
  1046. data/public/uploads/tmp/1415893364-73294-2705/hobbies.nt +259 -0
  1047. data/public/uploads/tmp/1415896242-74297-4238/hobbies.nt +259 -0
  1048. data/public/uploads/tmp/1415952453-24877-5799/hobbies.nt +259 -0
  1049. data/public/uploads/tmp/1415953308-25722-7149/hobbies.nt +259 -0
  1050. data/public/uploads/tmp/1415954342-26767-3105/hobbies.nt +259 -0
  1051. data/public/uploads/tmp/1415954617-27213-5956/hobbies.nt +259 -0
  1052. data/public/uploads/tmp/1415956142-28561-1127/hobbies.nt +259 -0
  1053. data/public/uploads/tmp/1415956224-28711-2440/hobbies.nt +259 -0
  1054. data/public/uploads/tmp/1415957647-29616-7537/hobbies.nt +259 -0
  1055. data/public/uploads/tmp/1415980612-55998-8698/hobbies.nt +259 -0
  1056. data/public/uploads/tmp/1415983630-58881-4073/hobbies.nt +259 -0
  1057. data/public/uploads/tmp/1416211238-76083-6317/hobbies.nt +259 -0
  1058. data/public/uploads/tmp/1416212178-76576-3742/hobbies.nt +259 -0
  1059. data/public/uploads/tmp/1416215833-78214-3494/hobbies.nt +259 -0
  1060. data/public/uploads/tmp/1416215955-78921-4573/hobbies.nt +259 -0
  1061. data/public/uploads/tmp/1416216987-79537-2608/hobbies.nt +259 -0
  1062. data/public/uploads/tmp/1416227280-82494-0245/hobbies.nt +259 -0
  1063. data/public/uploads/tmp/1416228306-82977-8510/hobbies.nt +259 -0
  1064. data/public/uploads/tmp/1416229030-83167-5461/hobbies.nt +259 -0
  1065. data/public/uploads/tmp/1416230401-83376-8085/hobbies.nt +259 -0
  1066. data/public/uploads/tmp/1416230571-83642-4265/hobbies.nt +259 -0
  1067. data/public/uploads/tmp/1416230826-83766-8521/hobbies.nt +259 -0
  1068. data/public/uploads/tmp/1416230948-83842-9296/hobbies.nt +259 -0
  1069. data/public/uploads/tmp/1416234418-84650-3040/hobbies.nt +259 -0
  1070. data/public/uploads/tmp/1417446797-24723-6714/hobbies.nt +259 -0
  1071. data/public/uploads/tmp/1417683582-2742-5957/hobbies.nt +259 -0
  1072. data/public/uploads/tmp/1417683751-2851-9676/hobbies.nt +259 -0
  1073. data/public/uploads/tmp/1417684229-2989-1549/hobbies.nt +259 -0
  1074. data/public/uploads/tmp/1417684425-3078-0188/hobbies.nt +259 -0
  1075. data/public/uploads/tmp/1417684512-3118-7904/hobbies.nt +259 -0
  1076. data/public/uploads/tmp/1417684641-3188-4695/hobbies.nt +259 -0
  1077. data/public/uploads/tmp/1417685348-3420-2149/hobbies.nt +259 -0
  1078. data/public/uploads/tmp/1417685379-3454-8389/hobbies.nt +259 -0
  1079. data/public/uploads/tmp/1417685671-3586-9001/hobbies.nt +259 -0
  1080. data/public/uploads/tmp/1417685940-3787-4812/hobbies.nt +259 -0
  1081. data/public/uploads/tmp/1417686050-3861-8738/hobbies.nt +259 -0
  1082. data/public/uploads/tmp/1417686347-5070-7396/hobbies.nt +259 -0
  1083. data/public/uploads/tmp/1417686569-5958-8025/hobbies.nt +259 -0
  1084. data/public/uploads/tmp/1417686838-6278-2793/hobbies.nt +259 -0
  1085. data/public/uploads/tmp/1417687030-6538-5044/hobbies.nt +259 -0
  1086. data/public/uploads/tmp/1417687771-6993-8632/hobbies.nt +259 -0
  1087. data/public/uploads/tmp/1417687853-7078-2140/hobbies.nt +259 -0
  1088. data/public/uploads/tmp/1417688001-7220-3552/hobbies.nt +259 -0
  1089. data/public/uploads/tmp/1417688307-7466-6387/hobbies.nt +259 -0
  1090. data/public/uploads/tmp/1417688349-7519-4904/hobbies.nt +259 -0
  1091. data/public/uploads/tmp/1417688430-7562-6375/hobbies.nt +259 -0
  1092. data/public/uploads/tmp/1417688502-7610-7932/hobbies.nt +259 -0
  1093. data/public/uploads/tmp/1417688849-7958-2372/hobbies.nt +259 -0
  1094. data/public/uploads/tmp/1417688971-8092-7775/hobbies.nt +259 -0
  1095. data/public/uploads/tmp/1417698831-11451-2524/hobbies.nt +259 -0
  1096. data/public/uploads/tmp/1417699105-11741-2525/hobbies.nt +259 -0
  1097. data/public/uploads/tmp/1417700605-12729-7432/hobbies.nt +259 -0
  1098. data/public/uploads/tmp/1417700622-12747-9291/hobbies.nt +259 -0
  1099. data/public/uploads/tmp/1417700788-12866-3744/hobbies.nt +259 -0
  1100. data/public/uploads/tmp/1417700826-12898-8202/hobbies.nt +259 -0
  1101. data/public/uploads/tmp/1417700886-12945-7952/hobbies.nt +259 -0
  1102. data/public/uploads/tmp/1417700920-12980-8279/hobbies.nt +259 -0
  1103. data/public/uploads/tmp/1417700952-13025-1853/hobbies.nt +259 -0
  1104. data/public/uploads/tmp/1417700997-13067-8402/hobbies.nt +259 -0
  1105. data/public/uploads/tmp/1417701198-13317-1766/hobbies.nt +259 -0
  1106. data/public/uploads/tmp/1417701966-14445-2985/hobbies.nt +259 -0
  1107. data/public/uploads/tmp/1417702706-15707-7712/hobbies.nt +259 -0
  1108. data/public/uploads/tmp/1417703101-16003-4692/hobbies.nt +259 -0
  1109. data/public/uploads/tmp/1417703279-16147-8577/hobbies.nt +259 -0
  1110. data/public/uploads/tmp/1417704219-16759-4697/hobbies.nt +259 -0
  1111. data/public/uploads/tmp/1417704250-16790-5146/hobbies.nt +259 -0
  1112. data/public/uploads/tmp/1417705123-17781-0149/hobbies.nt +259 -0
  1113. data/public/uploads/tmp/1417705275-18090-9618/hobbies.nt +259 -0
  1114. data/public/uploads/tmp/1417781894-28962-1261/hobbies.nt +259 -0
  1115. data/public/uploads/tmp/1417790724-33968-5163/hobbies.nt +259 -0
  1116. data/public/uploads/tmp/1417792638-34744-4813/hobbies.nt +259 -0
  1117. data/public/uploads/tmp/1417792699-34810-5653/hobbies.nt +259 -0
  1118. data/public/uploads/tmp/1417792819-34896-1023/hobbies.nt +259 -0
  1119. data/public/uploads/tmp/1418050305-49913-1179/hobbies.nt +259 -0
  1120. data/public/uploads/tmp/1418050690-50190-7910/hobbies.nt +259 -0
  1121. data/public/uploads/tmp/1418050763-50244-9163/hobbies.nt +259 -0
  1122. data/public/uploads/tmp/1418051291-51138-4430/hobbies.nt +259 -0
  1123. data/public/uploads/tmp/1418052022-51649-6311/hobbies.nt +259 -0
  1124. data/public/uploads/tmp/1418054465-52780-0127/hobbies.nt +259 -0
  1125. data/public/uploads/tmp/1418131511-62673-7277/hobbies.nt +259 -0
  1126. data/public/uploads/tmp/1418136395-65036-2599/hobbies.nt +259 -0
  1127. data/public/uploads/tmp/1418207797-10651-2950/hobbies.nt +259 -0
  1128. data/public/uploads/tmp/1418209534-11536-6786/hobbies.nt +259 -0
  1129. data/public/uploads/tmp/1418210880-12425-2611/hobbies.nt +259 -0
  1130. data/public/uploads/tmp/1418304631-6101-6127/hobbies.nt +259 -0
  1131. data/public/uploads/tmp/1418307286-9324-1094/hobbies.nt +259 -0
  1132. data/public/uploads/tmp/1418307545-10102-3329/hobbies.nt +259 -0
  1133. data/public/uploads/tmp/1418307656-10430-6748/hobbies.nt +259 -0
  1134. data/public/uploads/tmp/1418308802-11862-5341/hobbies.nt +259 -0
  1135. data/public/uploads/tmp/1418309711-12879-1393/hobbies.nt +259 -0
  1136. data/public/uploads/tmp/1418389069-18231-9800/hobbies.nt +259 -0
  1137. data/public/uploads/tmp/1418389619-18798-7096/hobbies.nt +259 -0
  1138. data/public/uploads/tmp/1418655817-44922-4377/hobbies.nt +259 -0
  1139. data/public/uploads/tmp/1419235313-7195-8572/hobbies.nt +259 -0
  1140. data/public/uploads/tmp/1419236382-8076-9578/hobbies.nt +259 -0
  1141. data/public/uploads/tmp/1419427460-1662-0378/hobbies.nt +259 -0
  1142. data/public/uploads/tmp/1419427695-1781-9385/hobbies.nt +259 -0
  1143. data/public/uploads/tmp/1419427765-1816-7375/hobbies.nt +259 -0
  1144. data/public/uploads/tmp/1419427849-1888-8194/hobbies.nt +259 -0
  1145. data/public/uploads/tmp/1419428003-1965-8606/hobbies.nt +259 -0
  1146. data/public/uploads/tmp/1419428076-1990-4477/hobbies.nt +259 -0
  1147. data/public/uploads/tmp/1419430275-2810-4497/hobbies.nt +259 -0
  1148. data/public/uploads/tmp/1419430304-2836-2185/hobbies.nt +259 -0
  1149. data/public/uploads/tmp/1419430389-2857-7832/hobbies.nt +259 -0
  1150. data/public/uploads/tmp/1419430769-3065-4107/hobbies.nt +259 -0
  1151. data/public/uploads/tmp/1419430815-3086-7181/hobbies.nt +259 -0
  1152. data/public/uploads/tmp/1419430901-3141-0105/hobbies.nt +259 -0
  1153. data/public/uploads/tmp/1419430950-3164-0712/hobbies.nt +259 -0
  1154. data/public/uploads/tmp/1420447050-18144-3873/hobbies.nt +259 -0
  1155. data/public/uploads/tmp/1420448317-20553-8266/hobbies.nt +259 -0
  1156. data/public/uploads/tmp/1420450593-21424-0302/hobbies.nt +259 -0
  1157. data/public/uploads/tmp/1420450694-21485-4096/hobbies.nt +259 -0
  1158. data/public/uploads/tmp/1420450879-21527-6603/hobbies.nt +259 -0
  1159. data/public/uploads/tmp/1420451110-22015-8955/hobbies.nt +259 -0
  1160. data/public/uploads/tmp/1420455069-25627-9956/hobbies.nt +259 -0
  1161. data/public/uploads/tmp/1420455405-25877-9242/hobbies.nt +259 -0
  1162. data/public/uploads/tmp/1420455725-26104-1014/hobbies.nt +259 -0
  1163. data/public/uploads/tmp/1420456807-26636-5245/hobbies.nt +259 -0
  1164. data/public/uploads/tmp/1420456920-26689-1757/hobbies.nt +259 -0
  1165. data/public/uploads/tmp/1420456999-26762-6198/hobbies.nt +259 -0
  1166. data/public/uploads/tmp/1420457148-26914-8792/hobbies.nt +259 -0
  1167. data/public/uploads/tmp/1420457244-26950-4804/hobbies.nt +259 -0
  1168. data/public/uploads/tmp/1420457513-27439-6445/hobbies.nt +259 -0
  1169. data/public/uploads/tmp/1420461761-28421-0298/hobbies.nt +259 -0
  1170. data/public/uploads/tmp/1420461938-28488-4962/hobbies.nt +259 -0
  1171. data/public/uploads/tmp/1420463193-28800-6407/hobbies.nt +259 -0
  1172. data/public/uploads/tmp/1420463285-29082-1361/hobbies.nt +259 -0
  1173. data/public/uploads/tmp/1420463348-29441-6443/hobbies.nt +259 -0
  1174. data/public/uploads/tmp/1420463729-29934-0424/hobbies.nt +259 -0
  1175. data/public/uploads/tmp/1420464439-30420-4092/hobbies.nt +259 -0
  1176. data/public/uploads/tmp/1420467282-31571-2628/hobbies.nt +259 -0
  1177. data/public/uploads/tmp/1420468502-32649-6828/hobbies.nt +259 -0
  1178. data/public/uploads/tmp/1420468989-33036-7116/hobbies.nt +259 -0
  1179. data/public/uploads/tmp/1420469611-33562-5738/hobbies.nt +259 -0
  1180. data/public/uploads/tmp/1420469644-33696-8910/hobbies.nt +259 -0
  1181. data/public/uploads/tmp/1420469755-33937-4610/hobbies.nt +259 -0
  1182. data/public/uploads/tmp/1420469861-34139-3066/hobbies.nt +259 -0
  1183. data/public/uploads/tmp/1420469903-34241-9748/hobbies.nt +259 -0
  1184. data/public/uploads/tmp/1420470086-34636-7742/hobbies.nt +259 -0
  1185. data/public/uploads/tmp/1420470106-34678-1636/hobbies.nt +259 -0
  1186. data/public/uploads/tmp/1420470418-34839-1636/hobbies.nt +259 -0
  1187. data/public/uploads/tmp/1420470594-34930-1636/hobbies.nt +259 -0
  1188. data/public/uploads/tmp/1420470874-35063-1636/hobbies.nt +259 -0
  1189. data/public/uploads/tmp/1420471066-35176-1636/hobbies.nt +259 -0
  1190. data/public/uploads/tmp/1420471096-35212-9553/hobbies.nt +259 -0
  1191. data/public/uploads/tmp/1420471128-35234-9553/hobbies.nt +259 -0
  1192. data/public/uploads/tmp/1420471178-35269-4485/hobbies.nt +259 -0
  1193. data/public/uploads/tmp/1420471223-35304-6292/hobbies.nt +259 -0
  1194. data/public/uploads/tmp/1420471549-35561-3673/hobbies.nt +259 -0
  1195. data/public/uploads/tmp/1420471586-35586-7226/hobbies.nt +259 -0
  1196. data/public/uploads/tmp/1420471890-35868-4140/hobbies.nt +259 -0
  1197. data/public/uploads/tmp/1420471954-35956-0986/hobbies.nt +259 -0
  1198. data/public/uploads/tmp/1420471999-35987-3779/hobbies.nt +259 -0
  1199. data/public/uploads/tmp/1420472004-35996-9973/hobbies.nt +259 -0
  1200. data/public/uploads/tmp/1420473528-36878-6410/hobbies.nt +259 -0
  1201. data/public/uploads/tmp/1420473542-36885-0720/hobbies.nt +259 -0
  1202. data/public/uploads/tmp/1420473644-36910-5399/hobbies.nt +259 -0
  1203. data/public/uploads/tmp/1420473654-36918-1299/hobbies.nt +259 -0
  1204. data/public/uploads/tmp/1420473821-36977-8330/hobbies.nt +259 -0
  1205. data/public/uploads/tmp/1420473831-36986-7184/hobbies.nt +259 -0
  1206. data/public/uploads/tmp/1420473879-37027-7729/hobbies.nt +259 -0
  1207. data/public/uploads/tmp/1420473896-37050-5875/hobbies.nt +259 -0
  1208. data/public/uploads/tmp/1420473945-37132-7500/hobbies.nt +259 -0
  1209. data/public/uploads/tmp/1420474025-37223-9487/hobbies.nt +259 -0
  1210. data/public/uploads/tmp/1420474099-37300-8894/hobbies.nt +259 -0
  1211. data/public/uploads/tmp/1420474194-37371-0423/hobbies.nt +259 -0
  1212. data/public/uploads/tmp/1420474960-37772-6942/hobbies.nt +259 -0
  1213. data/public/uploads/tmp/1420537977-4799-8996/hobbies.nt +259 -0
  1214. data/public/uploads/tmp/1420538202-4944-1190/hobbies.nt +259 -0
  1215. data/public/uploads/tmp/1420538252-4983-2841/hobbies.nt +259 -0
  1216. data/public/uploads/tmp/1420538863-5054-5580/hobbies.nt +259 -0
  1217. data/public/uploads/tmp/1420538989-5125-4097/hobbies.nt +259 -0
  1218. data/public/uploads/tmp/1420539072-5144-3544/hobbies.nt +259 -0
  1219. data/public/uploads/tmp/1420539109-5182-2932/hobbies.nt +259 -0
  1220. data/public/uploads/tmp/1420539166-5200-1549/hobbies.nt +259 -0
  1221. data/public/uploads/tmp/1420539198-5219-6578/hobbies.nt +259 -0
  1222. data/public/uploads/tmp/1420539260-5237-5010/hobbies.nt +259 -0
  1223. data/public/uploads/tmp/1420539304-5255-6242/hobbies.nt +259 -0
  1224. data/public/uploads/tmp/1420539413-5276-1744/hobbies.nt +259 -0
  1225. data/public/uploads/tmp/1420539457-5297-9705/hobbies.nt +259 -0
  1226. data/public/uploads/tmp/1420539848-5487-8454/hobbies.nt +259 -0
  1227. data/public/uploads/tmp/1420540879-5831-9166/hobbies.nt +259 -0
  1228. data/public/uploads/tmp/1420540938-5923-7088/hobbies.nt +259 -0
  1229. data/public/uploads/tmp/1420547166-7324-3017/hobbies.nt +259 -0
  1230. data/public/uploads/tmp/1420547212-7364-7178/hobbies.nt +259 -0
  1231. data/public/uploads/tmp/1420547298-7387-1436/hobbies.nt +259 -0
  1232. data/public/uploads/tmp/1420547494-7470-4181/hobbies.nt +259 -0
  1233. data/public/uploads/tmp/1420547750-7521-3163/hobbies.nt +259 -0
  1234. data/public/uploads/tmp/1420547831-7550-9035/hobbies.nt +259 -0
  1235. data/public/uploads/tmp/1420547931-7581-0397/hobbies.nt +259 -0
  1236. data/public/uploads/tmp/1420548000-7615-2236/hobbies.nt +259 -0
  1237. data/public/uploads/tmp/1420548065-7637-1388/hobbies.nt +259 -0
  1238. data/public/uploads/tmp/1420548119-7657-9596/hobbies.nt +259 -0
  1239. data/public/uploads/tmp/1420548285-7683-4052/hobbies.nt +259 -0
  1240. data/public/uploads/tmp/1420553842-8300-4985/hobbies.nt +259 -0
  1241. data/public/uploads/tmp/1420553937-8336-7192/hobbies.nt +259 -0
  1242. data/public/uploads/tmp/1420554304-8519-8814/hobbies.nt +259 -0
  1243. data/public/uploads/tmp/1420554355-8535-6714/hobbies.nt +259 -0
  1244. data/public/uploads/tmp/1420554396-8548-5513/hobbies.nt +259 -0
  1245. data/public/uploads/tmp/1420554810-8627-1602/hobbies.nt +259 -0
  1246. data/public/uploads/tmp/1420557794-11438-8915/hobbies.nt +259 -0
  1247. data/public/uploads/tmp/1420557920-11506-8648/hobbies.nt +259 -0
  1248. data/public/uploads/tmp/1420557939-11540-2813/hobbies.nt +259 -0
  1249. data/public/uploads/tmp/1420558060-11829-8020/hobbies.nt +259 -0
  1250. data/public/uploads/tmp/1420558110-11864-5335/hobbies.nt +259 -0
  1251. data/public/uploads/tmp/1420558185-12030-7055/hobbies.nt +259 -0
  1252. data/public/uploads/tmp/1420558245-12129-4856/hobbies.nt +259 -0
  1253. data/public/uploads/tmp/1420558283-12278-5163/hobbies.nt +259 -0
  1254. data/public/uploads/tmp/1420558356-12373-7117/hobbies.nt +259 -0
  1255. data/public/uploads/tmp/1420559234-12896-6443/hobbies.nt +259 -0
  1256. data/public/uploads/tmp/1420559261-12911-8101/hobbies.nt +259 -0
  1257. data/public/uploads/tmp/1420559338-12942-1788/hobbies.nt +259 -0
  1258. data/public/uploads/tmp/1420559384-12962-9196/hobbies.nt +259 -0
  1259. data/public/uploads/tmp/1420559570-13418-7027/hobbies.nt +259 -0
  1260. data/public/uploads/tmp/1420559687-13725-9902/hobbies.nt +259 -0
  1261. data/public/uploads/tmp/1420560036-13998-7278/hobbies.nt +259 -0
  1262. data/public/uploads/tmp/1420562180-31961-6027/hobbies.nt +259 -0
  1263. data/public/uploads/tmp/1420618718-35102-4285/hobbies.nt +259 -0
  1264. data/public/uploads/tmp/1420620434-36943-1997/hobbies.nt +259 -0
  1265. data/public/uploads/tmp/1420621236-37117-5079/hobbies.nt +259 -0
  1266. data/public/uploads/tmp/1420622159-37302-6490/hobbies.nt +259 -0
  1267. data/public/uploads/tmp/1420623075-38608-1121/hobbies.nt +259 -0
  1268. data/public/uploads/tmp/1420623873-39176-0084/hobbies.nt +259 -0
  1269. data/public/uploads/tmp/1420627783-40623-5835/hobbies.nt +259 -0
  1270. data/public/uploads/tmp/1420628700-41270-1736/hobbies.nt +259 -0
  1271. data/public/uploads/tmp/1420633931-42394-6624/hobbies.nt +259 -0
  1272. data/public/uploads/tmp/1420639196-49083-7994/hobbies.nt +259 -0
  1273. data/public/uploads/tmp/1420639804-49789-7160/hobbies.nt +259 -0
  1274. data/public/uploads/tmp/1420639890-49937-6693/hobbies.nt +259 -0
  1275. data/public/uploads/tmp/1420643033-52361-2782/hobbies.nt +259 -0
  1276. data/public/uploads/tmp/1420643119-52569-0906/hobbies.nt +259 -0
  1277. data/public/uploads/tmp/1420643262-52846-1767/hobbies.nt +259 -0
  1278. data/public/uploads/tmp/1420706460-57064-5167/hobbies.nt +259 -0
  1279. data/public/uploads/tmp/1420706560-57155-6270/hobbies.nt +259 -0
  1280. data/public/uploads/tmp/1420708513-57638-9606/hobbies.nt +259 -0
  1281. data/public/uploads/tmp/1420721681-64458-4504/hobbies.nt +259 -0
  1282. data/public/uploads/tmp/1420724234-66378-3173/hobbies.nt +259 -0
  1283. data/public/uploads/tmp/1420724411-66557-2689/hobbies.nt +259 -0
  1284. data/public/uploads/tmp/1420737590-73041-8640/hobbies.nt +259 -0
  1285. data/public/uploads/tmp/1420737633-73079-2435/hobbies.nt +259 -0
  1286. data/public/uploads/tmp/1420739536-74009-2893/hobbies.nt +259 -0
  1287. data/public/uploads/tmp/1420740899-74527-8945/hobbies.nt +259 -0
  1288. data/public/uploads/tmp/1420741057-74621-5741/hobbies.nt +259 -0
  1289. data/public/uploads/tmp/1420741573-75066-3936/hobbies.nt +259 -0
  1290. data/public/uploads/tmp/1420741599-75098-3062/hobbies.nt +259 -0
  1291. data/public/uploads/tmp/1420741659-75131-5754/hobbies.nt +259 -0
  1292. data/public/uploads/tmp/1420741720-75180-6157/hobbies.nt +259 -0
  1293. data/public/uploads/tmp/1420741882-75270-2354/hobbies.nt +259 -0
  1294. data/public/uploads/tmp/1420742137-75472-0747/hobbies.nt +259 -0
  1295. data/public/uploads/tmp/1420789470-78220-6109/hobbies.nt +259 -0
  1296. data/public/uploads/tmp/1420789676-78409-0767/hobbies.nt +259 -0
  1297. data/public/uploads/tmp/1420789718-78479-0260/hobbies.nt +259 -0
  1298. data/public/uploads/tmp/1420789827-78792-5388/hobbies.nt +259 -0
  1299. data/public/uploads/tmp/1420791486-81342-1177/hobbies.nt +259 -0
  1300. data/public/uploads/tmp/1420791596-81480-4343/hobbies.nt +259 -0
  1301. data/public/uploads/tmp/1420791651-81589-2679/hobbies.nt +259 -0
  1302. data/public/uploads/tmp/1420791687-81724-4944/hobbies.nt +259 -0
  1303. data/public/uploads/tmp/1421221637-59242-1346/hobbies.nt +259 -0
  1304. data/public/uploads/tmp/1421222215-59859-5013/hobbies.nt +259 -0
  1305. data/public/uploads/tmp/1421222331-59965-8269/hobbies.nt +259 -0
  1306. data/public/uploads/tmp/1421222371-59983-1471/hobbies.nt +259 -0
  1307. data/public/uploads/tmp/1421222407-60034-4748/hobbies.nt +259 -0
  1308. data/public/uploads/tmp/1421222485-60172-2249/hobbies.nt +259 -0
  1309. data/public/uploads/tmp/1422979691-67280-6059/hobbies.nt +259 -0
  1310. data/public/uploads/tmp/1424266118-43482-2583/hobbies.nt +259 -0
  1311. data/public/uploads/tmp/1424266260-43713-4946/hobbies.nt +259 -0
  1312. data/public/uploads/tmp/1424353185-93395-5811/hobbies.nt +259 -0
  1313. data/public/uploads/tmp/1424707349-49358-5698/hobbies.nt +259 -0
  1314. data/public/uploads/tmp/1424710763-52524-1323/hobbies.nt +259 -0
  1315. data/public/uploads/tmp/1424711050-53090-9473/hobbies.nt +259 -0
  1316. data/public/uploads/tmp/1424711152-53242-3309/hobbies.nt +259 -0
  1317. data/public/uploads/tmp/1424786601-91898-1638/hobbies.nt +9 -0
  1318. data/public/uploads/tmp/1424862337-28548-0538/hobbies.nt +259 -0
  1319. data/public/uploads/tmp/1425455371-29229-3777/hobbies.nt +259 -0
  1320. data/public/uploads/tmp/1425466204-43791-8184/hobbies.nt +259 -0
  1321. data/public/uploads/tmp/1425473884-52389-6427/hobbies.nt +259 -0
  1322. data/public/uploads/tmp/1425473993-52541-2836/hobbies.nt +259 -0
  1323. data/public/uploads/tmp/1425474845-53279-5314/hobbies.nt +259 -0
  1324. data/public/uploads/tmp/1425475238-53876-9480/hobbies.nt +259 -0
  1325. data/public/uploads/tmp/1425479882-59506-1812/hobbies.nt +259 -0
  1326. data/public/uploads/tmp/1425486962-66387-1808/hobbies.nt +259 -0
  1327. data/public/uploads/tmp/1425489817-69057-3779/hobbies.nt +259 -0
  1328. data/public/uploads/tmp/1425490916-70858-7817/hobbies.nt +259 -0
  1329. data/public/uploads/tmp/1425541106-89841-1042/hobbies.nt +259 -0
  1330. data/public/uploads/tmp/1425542052-91058-3492/hobbies.nt +259 -0
  1331. data/public/uploads/tmp/1425571728-25741-3155/hobbies.nt +259 -0
  1332. data/public/uploads/tmp/1426078566-20321-7661/hobbies.nt +259 -0
  1333. data/public/uploads/tmp/1426081530-24214-8194/hobbies.nt +259 -0
  1334. data/public/uploads/tmp/1426168432-30181-7358/hobbies.nt +259 -0
  1335. data/public/uploads/tmp/1426229857-48454-9909/hobbies.nt +259 -0
  1336. data/public/uploads/tmp/1426590021-83040-0436/hobbies.nt +259 -0
  1337. data/public/uploads/tmp/1426594493-90757-8648/hobbies.nt +259 -0
  1338. data/public/uploads/tmp/1426595141-92434-3577/hobbies.nt +259 -0
  1339. data/public/uploads/tmp/1426596070-94330-8119/hobbies.nt +259 -0
  1340. data/public/uploads/tmp/1426596138-94545-6076/hobbies.nt +259 -0
  1341. data/public/uploads/tmp/1426604167-6664-3476/hobbies.nt +259 -0
  1342. data/public/uploads/tmp/1426609390-16166-5329/hobbies.nt +259 -0
  1343. data/public/uploads/tmp/1426609622-16679-3342/hobbies.nt +259 -0
  1344. data/public/uploads/tmp/1426751706-50241-6852/hobbies.nt +259 -0
  1345. data/public/uploads/tmp/1426751759-50450-5847/hobbies.nt +259 -0
  1346. data/public/uploads/tmp/1426752147-51569-3409/hobbies.nt +259 -0
  1347. data/public/uploads/tmp/1426752176-51809-8420/hobbies.nt +259 -0
  1348. data/public/uploads/tmp/1426752222-52004-2830/hobbies.nt +259 -0
  1349. data/public/uploads/tmp/1426752335-52961-4122/hobbies.nt +259 -0
  1350. data/public/uploads/tmp/1427286694-75760-1738/hobbies.nt +259 -0
  1351. data/public/uploads/tmp/1427286920-79143-2971/hobbies.nt +259 -0
  1352. data/public/uploads/tmp/1427287098-79837-4178/hobbies.nt +259 -0
  1353. data/public/uploads/tmp/1427287120-80060-7651/hobbies.nt +259 -0
  1354. data/public/uploads/tmp/1427287218-80326-0659/hobbies.nt +259 -0
  1355. data/public/uploads/tmp/1427287793-83071-8814/hobbies.nt +259 -0
  1356. data/public/uploads/tmp/1427288093-84081-6949/hobbies.nt +259 -0
  1357. data/public/uploads/tmp/1428656568-20765-7064/hobbies.nt +259 -0
  1358. data/public/uploads/tmp/1428656707-21036-7174/hobbies.nt +259 -0
  1359. data/public/uploads/tmp/1428656796-21183-3870/hobbies.nt +259 -0
  1360. data/public/uploads/tmp/1428657817-22043-9091/hobbies.nt +259 -0
  1361. data/public/uploads/tmp/1428657839-22100-4939/hobbies.nt +259 -0
  1362. data/public/uploads/tmp/1428659068-23067-0792/hobbies.nt +259 -0
  1363. data/public/uploads/tmp/1428659151-23222-6233/hobbies.nt +259 -0
  1364. data/public/uploads/tmp/1428659267-23357-3453/hobbies.nt +259 -0
  1365. data/public/uploads/tmp/1428662217-25557-7784/hobbies.nt +259 -0
  1366. data/public/uploads/tmp/1428667397-29852-4029/hobbies.nt +259 -0
  1367. data/public/uploads/tmp/1428667955-30473-6114/hobbies.nt +259 -0
  1368. data/public/uploads/tmp/1428668174-30703-9708/hobbies.nt +259 -0
  1369. data/public/uploads/tmp/1428918728-47535-1093/hobbies.nt +259 -0
  1370. data/public/uploads/tmp/1428918899-47692-7578/hobbies.nt +259 -0
  1371. data/public/uploads/tmp/1428920822-49180-4916/hobbies.nt +259 -0
  1372. data/public/uploads/tmp/1431441621-33364-2591/hobbies.nt +259 -0
  1373. data/public/uploads/tmp/1431444354-36238-6591/hobbies.nt +259 -0
  1374. data/public/uploads/tmp/1431501300-52725-7240/hobbies.nt +259 -0
  1375. data/public/uploads/tmp/1431504059-55379-9562/hobbies.nt +259 -0
  1376. data/public/uploads/tmp/1431505604-56690-1514/hobbies.nt +259 -0
  1377. data/public/uploads/tmp/1431505889-57006-7240/hobbies.nt +259 -0
  1378. data/public/uploads/tmp/1431506350-57830-7190/hobbies.nt +259 -0
  1379. data/public/uploads/tmp/1431521594-73742-2668/hobbies.nt +259 -0
  1380. data/public/uploads/tmp/1431523128-75640-6426/hobbies.nt +259 -0
  1381. data/public/uploads/tmp/1431523371-75955-1118/hobbies.nt +259 -0
  1382. data/public/uploads/tmp/1431523556-76200-7217/hobbies.nt +259 -0
  1383. data/public/uploads/tmp/1431523692-76387-8420/hobbies.nt +259 -0
  1384. data/public/uploads/tmp/1431523759-76483-3934/hobbies.nt +259 -0
  1385. data/public/uploads/tmp/1431523878-77147-4587/hobbies.nt +259 -0
  1386. data/public/uploads/tmp/1431523937-77290-4602/hobbies.nt +259 -0
  1387. data/public/uploads/tmp/1431524023-77584-0285/hobbies.nt +259 -0
  1388. data/public/uploads/tmp/1432036954-83274-4232/hobbies.nt +259 -0
  1389. data/public/uploads/tmp/1432130127-29095-8999/hobbies.nt +259 -0
  1390. data/public/uploads/tmp/1441891321-37336-5489/hobbies.nt +259 -0
  1391. data/public/uploads/tmp/1441962352-95055-6067/hobbies.nt +259 -0
  1392. data/test/controllers/concepts_movement_controller_test.rb +272 -0
  1393. data/test/integration/concept_browsing_test.rb +1 -1
  1394. data/test/integration/create_concept_test.rb +0 -1
  1395. data/test/integration/reverse_match_job_test.rb +11 -14
  1396. data/test/models/concept_test.rb +31 -0
  1397. data/test/models/deep_cloning_test.rb +120 -0
  1398. data/vendor/assets/bower_components/bootstrap-sass/CHANGELOG.md +6 -0
  1399. data/vendor/assets/bower_components/bootstrap-sass/README.md +36 -14
  1400. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/affix.js +5 -5
  1401. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/alert.js +2 -2
  1402. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/button.js +2 -2
  1403. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/carousel.js +6 -6
  1404. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/collapse.js +7 -7
  1405. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js +3 -3
  1406. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/modal.js +41 -26
  1407. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/popover.js +3 -8
  1408. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/scrollspy.js +17 -20
  1409. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/tab.js +3 -3
  1410. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/tooltip.js +17 -13
  1411. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap/transition.js +1 -1
  1412. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap-sprockets.js +2 -2
  1413. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap.js +108 -97
  1414. data/vendor/assets/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js +3 -3
  1415. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss +2 -2
  1416. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss +6 -5
  1417. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss +1 -2
  1418. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss +1 -1
  1419. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss +10 -2
  1420. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss +4 -0
  1421. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
  1422. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss +3 -1
  1423. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss +0 -1
  1424. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss +0 -2
  1425. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss +8 -8
  1426. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss +12 -0
  1427. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss +0 -1
  1428. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss +1 -1
  1429. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss +0 -1
  1430. data/vendor/assets/bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss +5 -1
  1431. data/vendor/assets/bower_components/bootstrap-sass/package.json +3 -3
  1432. data/vendor/assets/bower_components/pickadate/Gruntfile.js +22 -137
  1433. data/vendor/assets/bower_components/pickadate/bower.json +30 -41
  1434. data/vendor/assets/bower_components/pickadate/lib/compressed/picker.date.js +2 -2
  1435. data/vendor/assets/bower_components/pickadate/lib/compressed/picker.js +2 -2
  1436. data/vendor/assets/bower_components/pickadate/lib/compressed/picker.time.js +2 -2
  1437. data/vendor/assets/bower_components/pickadate/lib/compressed/themes/classic.css +1 -1
  1438. data/vendor/assets/bower_components/pickadate/lib/compressed/themes/default.css +1 -1
  1439. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ar.js +1 -1
  1440. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/bg_BG.js +1 -1
  1441. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/bs_BA.js +1 -1
  1442. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ca_ES.js +1 -1
  1443. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/cs_CZ.js +1 -1
  1444. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/da_DK.js +1 -1
  1445. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/de_DE.js +1 -1
  1446. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/el_GR.js +1 -1
  1447. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/es_ES.js +1 -1
  1448. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/et_EE.js +1 -1
  1449. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/eu_ES.js +1 -1
  1450. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/fi_FI.js +1 -1
  1451. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/fr_FR.js +1 -1
  1452. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/gl_ES.js +1 -1
  1453. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/he_IL.js +1 -1
  1454. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/hi_IN.js +1 -0
  1455. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/hr_HR.js +1 -1
  1456. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/hu_HU.js +1 -1
  1457. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/id_ID.js +1 -1
  1458. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/is_IS.js +1 -1
  1459. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/it_IT.js +1 -1
  1460. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ja_JP.js +1 -1
  1461. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ko_KR.js +1 -1
  1462. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/lt_LT.js +1 -0
  1463. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/lv_LV.js +1 -0
  1464. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/nb_NO.js +1 -0
  1465. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ne_NP.js +1 -1
  1466. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/nl_NL.js +1 -1
  1467. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/pl_PL.js +1 -1
  1468. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/pt_BR.js +1 -1
  1469. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/pt_PT.js +1 -1
  1470. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ro_RO.js +1 -1
  1471. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/ru_RU.js +1 -1
  1472. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/sk_SK.js +1 -1
  1473. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/sl_SI.js +1 -1
  1474. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/sv_SE.js +1 -1
  1475. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/th_TH.js +1 -1
  1476. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/tr_TR.js +1 -1
  1477. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/uk_UA.js +1 -1
  1478. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/vi_VN.js +1 -1
  1479. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/zh_CN.js +1 -1
  1480. data/vendor/assets/bower_components/pickadate/lib/compressed/translations/zh_TW.js +1 -1
  1481. data/vendor/assets/bower_components/pickadate/lib/picker.date.js +32 -32
  1482. data/vendor/assets/bower_components/pickadate/lib/picker.js +157 -72
  1483. data/vendor/assets/bower_components/pickadate/lib/picker.time.js +20 -21
  1484. data/vendor/assets/bower_components/pickadate/lib/themes/classic.css +7 -17
  1485. data/vendor/assets/bower_components/pickadate/lib/themes/default.css +15 -22
  1486. data/vendor/assets/bower_components/pickadate/lib/themes-source/_variables.less +0 -37
  1487. data/vendor/assets/bower_components/pickadate/lib/themes-source/base.less +1 -1
  1488. data/vendor/assets/bower_components/pickadate/lib/themes-source/classic.less +13 -29
  1489. data/vendor/assets/bower_components/pickadate/lib/themes-source/default.less +10 -64
  1490. data/vendor/assets/bower_components/pickadate/lib/translations/ar.js +5 -1
  1491. data/vendor/assets/bower_components/pickadate/lib/translations/bg_BG.js +5 -1
  1492. data/vendor/assets/bower_components/pickadate/lib/translations/bs_BA.js +5 -1
  1493. data/vendor/assets/bower_components/pickadate/lib/translations/ca_ES.js +6 -1
  1494. data/vendor/assets/bower_components/pickadate/lib/translations/cs_CZ.js +5 -1
  1495. data/vendor/assets/bower_components/pickadate/lib/translations/da_DK.js +6 -1
  1496. data/vendor/assets/bower_components/pickadate/lib/translations/de_DE.js +6 -1
  1497. data/vendor/assets/bower_components/pickadate/lib/translations/el_GR.js +5 -1
  1498. data/vendor/assets/bower_components/pickadate/lib/translations/es_ES.js +5 -1
  1499. data/vendor/assets/bower_components/pickadate/lib/translations/et_EE.js +5 -1
  1500. data/vendor/assets/bower_components/pickadate/lib/translations/eu_ES.js +5 -1
  1501. data/vendor/assets/bower_components/pickadate/lib/translations/fi_FI.js +5 -1
  1502. data/vendor/assets/bower_components/pickadate/lib/translations/fr_FR.js +8 -4
  1503. data/vendor/assets/bower_components/pickadate/lib/translations/gl_ES.js +4 -0
  1504. data/vendor/assets/bower_components/pickadate/lib/translations/he_IL.js +5 -1
  1505. data/vendor/assets/bower_components/pickadate/lib/translations/hi_IN.js +20 -0
  1506. data/vendor/assets/bower_components/pickadate/lib/translations/hr_HR.js +5 -1
  1507. data/vendor/assets/bower_components/pickadate/lib/translations/hu_HU.js +5 -1
  1508. data/vendor/assets/bower_components/pickadate/lib/translations/id_ID.js +5 -1
  1509. data/vendor/assets/bower_components/pickadate/lib/translations/is_IS.js +5 -1
  1510. data/vendor/assets/bower_components/pickadate/lib/translations/it_IT.js +14 -4
  1511. data/vendor/assets/bower_components/pickadate/lib/translations/ja_JP.js +5 -1
  1512. data/vendor/assets/bower_components/pickadate/lib/translations/ko_KR.js +5 -1
  1513. data/vendor/assets/bower_components/pickadate/lib/translations/lt_LT.js +24 -0
  1514. data/vendor/assets/bower_components/pickadate/lib/translations/lv_LV.js +13 -0
  1515. data/vendor/assets/bower_components/pickadate/lib/translations/nb_NO.js +18 -0
  1516. data/vendor/assets/bower_components/pickadate/lib/translations/ne_NP.js +4 -0
  1517. data/vendor/assets/bower_components/pickadate/lib/translations/nl_NL.js +6 -1
  1518. data/vendor/assets/bower_components/pickadate/lib/translations/pl_PL.js +9 -4
  1519. data/vendor/assets/bower_components/pickadate/lib/translations/pt_BR.js +7 -2
  1520. data/vendor/assets/bower_components/pickadate/lib/translations/pt_PT.js +10 -5
  1521. data/vendor/assets/bower_components/pickadate/lib/translations/ro_RO.js +5 -1
  1522. data/vendor/assets/bower_components/pickadate/lib/translations/ru_RU.js +4 -0
  1523. data/vendor/assets/bower_components/pickadate/lib/translations/sk_SK.js +5 -1
  1524. data/vendor/assets/bower_components/pickadate/lib/translations/sl_SI.js +6 -1
  1525. data/vendor/assets/bower_components/pickadate/lib/translations/sv_SE.js +14 -5
  1526. data/vendor/assets/bower_components/pickadate/lib/translations/th_TH.js +5 -1
  1527. data/vendor/assets/bower_components/pickadate/lib/translations/tr_TR.js +7 -2
  1528. data/vendor/assets/bower_components/pickadate/lib/translations/uk_UA.js +5 -1
  1529. data/vendor/assets/bower_components/pickadate/lib/translations/vi_VN.js +5 -1
  1530. data/vendor/assets/bower_components/pickadate/lib/translations/zh_CN.js +5 -1
  1531. data/vendor/assets/bower_components/pickadate/lib/translations/zh_TW.js +5 -1
  1532. data/vendor/assets/bower_components/pickadate/package.json +24 -38
  1533. data/vendor/assets/bower_components/pickadate/tests/jquery.1.7.0.js +9300 -0
  1534. data/vendor/assets/bower_components/pickadate/tests/jquery.1.9.1.js +9597 -0
  1535. data/vendor/assets/bower_components/pickadate/tests/jquery.2.0.0.js +8755 -0
  1536. data/vendor/assets/bower_components/pickadate/tests/qunit.css +244 -0
  1537. data/vendor/assets/bower_components/pickadate/tests/qunit.js +2152 -0
  1538. data/vendor/assets/bower_components/pickadate/tests/units/base.js +514 -0
  1539. data/vendor/assets/bower_components/pickadate/tests/units/date.js +1529 -0
  1540. data/vendor/assets/bower_components/pickadate/tests/units/time.js +1210 -0
  1541. metadata +1370 -211
  1542. data/app/models/job_relation.rb +0 -26
  1543. data/test/controllers/concept_movement_test.rb +0 -221
  1544. data/vendor/assets/bower_components/pickadate/lib/translations/no_NO.js +0 -13
  1545. data/vendor/assets/bower_components/pickadate/pickadate.jquery.json +0 -63
@@ -0,0 +1,244 @@
1
+ /**
2
+ * QUnit v1.11.0 - A JavaScript Unit Testing Framework
3
+ *
4
+ * http://qunitjs.com
5
+ *
6
+ * Copyright 2012 jQuery Foundation and other contributors
7
+ * Released under the MIT license.
8
+ * http://jquery.org/license
9
+ */
10
+
11
+ /** Font Family and Sizes */
12
+
13
+ #qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult {
14
+ font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
15
+ }
16
+
17
+ #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }
18
+ #qunit-tests { font-size: smaller; }
19
+
20
+
21
+ /** Resets */
22
+
23
+ #qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
24
+ margin: 0;
25
+ padding: 0;
26
+ }
27
+
28
+
29
+ /** Header */
30
+
31
+ #qunit-header {
32
+ padding: 0.5em 0 0.5em 1em;
33
+
34
+ color: #8699a4;
35
+ background-color: #0d3349;
36
+
37
+ font-size: 1.5em;
38
+ line-height: 1em;
39
+ font-weight: normal;
40
+
41
+ border-radius: 5px 5px 0 0;
42
+ -moz-border-radius: 5px 5px 0 0;
43
+ -webkit-border-top-right-radius: 5px;
44
+ -webkit-border-top-left-radius: 5px;
45
+ }
46
+
47
+ #qunit-header a {
48
+ text-decoration: none;
49
+ color: #c2ccd1;
50
+ }
51
+
52
+ #qunit-header a:hover,
53
+ #qunit-header a:focus {
54
+ color: #fff;
55
+ }
56
+
57
+ #qunit-testrunner-toolbar label {
58
+ display: inline-block;
59
+ padding: 0 .5em 0 .1em;
60
+ }
61
+
62
+ #qunit-banner {
63
+ height: 5px;
64
+ }
65
+
66
+ #qunit-testrunner-toolbar {
67
+ padding: 0.5em 0 0.5em 2em;
68
+ color: #5E740B;
69
+ background-color: #eee;
70
+ overflow: hidden;
71
+ }
72
+
73
+ #qunit-userAgent {
74
+ padding: 0.5em 0 0.5em 2.5em;
75
+ background-color: #2b81af;
76
+ color: #fff;
77
+ text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
78
+ }
79
+
80
+ #qunit-modulefilter-container {
81
+ float: right;
82
+ }
83
+
84
+ /** Tests: Pass/Fail */
85
+
86
+ #qunit-tests {
87
+ list-style-position: inside;
88
+ }
89
+
90
+ #qunit-tests li {
91
+ padding: 0.4em 0.5em 0.4em 2.5em;
92
+ border-bottom: 1px solid #fff;
93
+ list-style-position: inside;
94
+ }
95
+
96
+ #qunit-tests.hidepass li.pass, #qunit-tests.hidepass li.running {
97
+ display: none;
98
+ }
99
+
100
+ #qunit-tests li strong {
101
+ cursor: pointer;
102
+ }
103
+
104
+ #qunit-tests li a {
105
+ padding: 0.5em;
106
+ color: #c2ccd1;
107
+ text-decoration: none;
108
+ }
109
+ #qunit-tests li a:hover,
110
+ #qunit-tests li a:focus {
111
+ color: #000;
112
+ }
113
+
114
+ #qunit-tests li .runtime {
115
+ float: right;
116
+ font-size: smaller;
117
+ }
118
+
119
+ .qunit-assert-list {
120
+ margin-top: 0.5em;
121
+ padding: 0.5em;
122
+
123
+ background-color: #fff;
124
+
125
+ border-radius: 5px;
126
+ -moz-border-radius: 5px;
127
+ -webkit-border-radius: 5px;
128
+ }
129
+
130
+ .qunit-collapsed {
131
+ display: none;
132
+ }
133
+
134
+ #qunit-tests table {
135
+ border-collapse: collapse;
136
+ margin-top: .2em;
137
+ }
138
+
139
+ #qunit-tests th {
140
+ text-align: right;
141
+ vertical-align: top;
142
+ padding: 0 .5em 0 0;
143
+ }
144
+
145
+ #qunit-tests td {
146
+ vertical-align: top;
147
+ }
148
+
149
+ #qunit-tests pre {
150
+ margin: 0;
151
+ white-space: pre-wrap;
152
+ word-wrap: break-word;
153
+ }
154
+
155
+ #qunit-tests del {
156
+ background-color: #e0f2be;
157
+ color: #374e0c;
158
+ text-decoration: none;
159
+ }
160
+
161
+ #qunit-tests ins {
162
+ background-color: #ffcaca;
163
+ color: #500;
164
+ text-decoration: none;
165
+ }
166
+
167
+ /*** Test Counts */
168
+
169
+ #qunit-tests b.counts { color: black; }
170
+ #qunit-tests b.passed { color: #5E740B; }
171
+ #qunit-tests b.failed { color: #710909; }
172
+
173
+ #qunit-tests li li {
174
+ padding: 5px;
175
+ background-color: #fff;
176
+ border-bottom: none;
177
+ list-style-position: inside;
178
+ }
179
+
180
+ /*** Passing Styles */
181
+
182
+ #qunit-tests li li.pass {
183
+ color: #3c510c;
184
+ background-color: #fff;
185
+ border-left: 10px solid #C6E746;
186
+ }
187
+
188
+ #qunit-tests .pass { color: #528CE0; background-color: #D2E0E6; }
189
+ #qunit-tests .pass .test-name { color: #366097; }
190
+
191
+ #qunit-tests .pass .test-actual,
192
+ #qunit-tests .pass .test-expected { color: #999999; }
193
+
194
+ #qunit-banner.qunit-pass { background-color: #C6E746; }
195
+
196
+ /*** Failing Styles */
197
+
198
+ #qunit-tests li li.fail {
199
+ color: #710909;
200
+ background-color: #fff;
201
+ border-left: 10px solid #EE5757;
202
+ white-space: pre;
203
+ }
204
+
205
+ #qunit-tests > li:last-child {
206
+ border-radius: 0 0 5px 5px;
207
+ -moz-border-radius: 0 0 5px 5px;
208
+ -webkit-border-bottom-right-radius: 5px;
209
+ -webkit-border-bottom-left-radius: 5px;
210
+ }
211
+
212
+ #qunit-tests .fail { color: #000000; background-color: #EE5757; }
213
+ #qunit-tests .fail .test-name,
214
+ #qunit-tests .fail .module-name { color: #000000; }
215
+
216
+ #qunit-tests .fail .test-actual { color: #EE5757; }
217
+ #qunit-tests .fail .test-expected { color: green; }
218
+
219
+ #qunit-banner.qunit-fail { background-color: #EE5757; }
220
+
221
+
222
+ /** Result */
223
+
224
+ #qunit-testresult {
225
+ padding: 0.5em 0.5em 0.5em 2.5em;
226
+
227
+ color: #2b81af;
228
+ background-color: #D2E0E6;
229
+
230
+ border-bottom: 1px solid white;
231
+ }
232
+ #qunit-testresult .module-name {
233
+ font-weight: bold;
234
+ }
235
+
236
+ /** Fixture */
237
+
238
+ #qunit-fixture {
239
+ position: absolute;
240
+ top: -10000px;
241
+ left: -10000px;
242
+ width: 1000px;
243
+ height: 1000px;
244
+ }
@@ -0,0 +1,2152 @@
1
+ /**
2
+ * QUnit v1.11.0 - A JavaScript Unit Testing Framework
3
+ *
4
+ * http://qunitjs.com
5
+ *
6
+ * Copyright 2012 jQuery Foundation and other contributors
7
+ * Released under the MIT license.
8
+ * http://jquery.org/license
9
+ */
10
+
11
+ (function( window ) {
12
+
13
+ var QUnit,
14
+ assert,
15
+ config,
16
+ onErrorFnPrev,
17
+ testId = 0,
18
+ fileName = (sourceFromStacktrace( 0 ) || "" ).replace(/(:\d+)+\)?/, "").replace(/.+\//, ""),
19
+ toString = Object.prototype.toString,
20
+ hasOwn = Object.prototype.hasOwnProperty,
21
+ // Keep a local reference to Date (GH-283)
22
+ Date = window.Date,
23
+ defined = {
24
+ setTimeout: typeof window.setTimeout !== "undefined",
25
+ sessionStorage: (function() {
26
+ var x = "qunit-test-string";
27
+ try {
28
+ sessionStorage.setItem( x, x );
29
+ sessionStorage.removeItem( x );
30
+ return true;
31
+ } catch( e ) {
32
+ return false;
33
+ }
34
+ }())
35
+ },
36
+ /**
37
+ * Provides a normalized error string, correcting an issue
38
+ * with IE 7 (and prior) where Error.prototype.toString is
39
+ * not properly implemented
40
+ *
41
+ * Based on http://es5.github.com/#x15.11.4.4
42
+ *
43
+ * @param {String|Error} error
44
+ * @return {String} error message
45
+ */
46
+ errorString = function( error ) {
47
+ var name, message,
48
+ errorString = error.toString();
49
+ if ( errorString.substring( 0, 7 ) === "[object" ) {
50
+ name = error.name ? error.name.toString() : "Error";
51
+ message = error.message ? error.message.toString() : "";
52
+ if ( name && message ) {
53
+ return name + ": " + message;
54
+ } else if ( name ) {
55
+ return name;
56
+ } else if ( message ) {
57
+ return message;
58
+ } else {
59
+ return "Error";
60
+ }
61
+ } else {
62
+ return errorString;
63
+ }
64
+ },
65
+ /**
66
+ * Makes a clone of an object using only Array or Object as base,
67
+ * and copies over the own enumerable properties.
68
+ *
69
+ * @param {Object} obj
70
+ * @return {Object} New object with only the own properties (recursively).
71
+ */
72
+ objectValues = function( obj ) {
73
+ // Grunt 0.3.x uses an older version of jshint that still has jshint/jshint#392.
74
+ /*jshint newcap: false */
75
+ var key, val,
76
+ vals = QUnit.is( "array", obj ) ? [] : {};
77
+ for ( key in obj ) {
78
+ if ( hasOwn.call( obj, key ) ) {
79
+ val = obj[key];
80
+ vals[key] = val === Object(val) ? objectValues(val) : val;
81
+ }
82
+ }
83
+ return vals;
84
+ };
85
+
86
+ function Test( settings ) {
87
+ extend( this, settings );
88
+ this.assertions = [];
89
+ this.testNumber = ++Test.count;
90
+ }
91
+
92
+ Test.count = 0;
93
+
94
+ Test.prototype = {
95
+ init: function() {
96
+ var a, b, li,
97
+ tests = id( "qunit-tests" );
98
+
99
+ if ( tests ) {
100
+ b = document.createElement( "strong" );
101
+ b.innerHTML = this.nameHtml;
102
+
103
+ // `a` initialized at top of scope
104
+ a = document.createElement( "a" );
105
+ a.innerHTML = "Rerun";
106
+ a.href = QUnit.url({ testNumber: this.testNumber });
107
+
108
+ li = document.createElement( "li" );
109
+ li.appendChild( b );
110
+ li.appendChild( a );
111
+ li.className = "running";
112
+ li.id = this.id = "qunit-test-output" + testId++;
113
+
114
+ tests.appendChild( li );
115
+ }
116
+ },
117
+ setup: function() {
118
+ if ( this.module !== config.previousModule ) {
119
+ if ( config.previousModule ) {
120
+ runLoggingCallbacks( "moduleDone", QUnit, {
121
+ name: config.previousModule,
122
+ failed: config.moduleStats.bad,
123
+ passed: config.moduleStats.all - config.moduleStats.bad,
124
+ total: config.moduleStats.all
125
+ });
126
+ }
127
+ config.previousModule = this.module;
128
+ config.moduleStats = { all: 0, bad: 0 };
129
+ runLoggingCallbacks( "moduleStart", QUnit, {
130
+ name: this.module
131
+ });
132
+ } else if ( config.autorun ) {
133
+ runLoggingCallbacks( "moduleStart", QUnit, {
134
+ name: this.module
135
+ });
136
+ }
137
+
138
+ config.current = this;
139
+
140
+ this.testEnvironment = extend({
141
+ setup: function() {},
142
+ teardown: function() {}
143
+ }, this.moduleTestEnvironment );
144
+
145
+ this.started = +new Date();
146
+ runLoggingCallbacks( "testStart", QUnit, {
147
+ name: this.testName,
148
+ module: this.module
149
+ });
150
+
151
+ // allow utility functions to access the current test environment
152
+ // TODO why??
153
+ QUnit.current_testEnvironment = this.testEnvironment;
154
+
155
+ if ( !config.pollution ) {
156
+ saveGlobal();
157
+ }
158
+ if ( config.notrycatch ) {
159
+ this.testEnvironment.setup.call( this.testEnvironment );
160
+ return;
161
+ }
162
+ try {
163
+ this.testEnvironment.setup.call( this.testEnvironment );
164
+ } catch( e ) {
165
+ QUnit.pushFailure( "Setup failed on " + this.testName + ": " + ( e.message || e ), extractStacktrace( e, 1 ) );
166
+ }
167
+ },
168
+ run: function() {
169
+ config.current = this;
170
+
171
+ var running = id( "qunit-testresult" );
172
+
173
+ if ( running ) {
174
+ running.innerHTML = "Running: <br/>" + this.nameHtml;
175
+ }
176
+
177
+ if ( this.async ) {
178
+ QUnit.stop();
179
+ }
180
+
181
+ this.callbackStarted = +new Date();
182
+
183
+ if ( config.notrycatch ) {
184
+ this.callback.call( this.testEnvironment, QUnit.assert );
185
+ this.callbackRuntime = +new Date() - this.callbackStarted;
186
+ return;
187
+ }
188
+
189
+ try {
190
+ this.callback.call( this.testEnvironment, QUnit.assert );
191
+ this.callbackRuntime = +new Date() - this.callbackStarted;
192
+ } catch( e ) {
193
+ this.callbackRuntime = +new Date() - this.callbackStarted;
194
+
195
+ QUnit.pushFailure( "Died on test #" + (this.assertions.length + 1) + " " + this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) );
196
+ // else next test will carry the responsibility
197
+ saveGlobal();
198
+
199
+ // Restart the tests if they're blocking
200
+ if ( config.blocking ) {
201
+ QUnit.start();
202
+ }
203
+ }
204
+ },
205
+ teardown: function() {
206
+ config.current = this;
207
+ if ( config.notrycatch ) {
208
+ if ( typeof this.callbackRuntime === "undefined" ) {
209
+ this.callbackRuntime = +new Date() - this.callbackStarted;
210
+ }
211
+ this.testEnvironment.teardown.call( this.testEnvironment );
212
+ return;
213
+ } else {
214
+ try {
215
+ this.testEnvironment.teardown.call( this.testEnvironment );
216
+ } catch( e ) {
217
+ QUnit.pushFailure( "Teardown failed on " + this.testName + ": " + ( e.message || e ), extractStacktrace( e, 1 ) );
218
+ }
219
+ }
220
+ checkPollution();
221
+ },
222
+ finish: function() {
223
+ config.current = this;
224
+ if ( config.requireExpects && this.expected === null ) {
225
+ QUnit.pushFailure( "Expected number of assertions to be defined, but expect() was not called.", this.stack );
226
+ } else if ( this.expected !== null && this.expected !== this.assertions.length ) {
227
+ QUnit.pushFailure( "Expected " + this.expected + " assertions, but " + this.assertions.length + " were run", this.stack );
228
+ } else if ( this.expected === null && !this.assertions.length ) {
229
+ QUnit.pushFailure( "Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.", this.stack );
230
+ }
231
+
232
+ var i, assertion, a, b, time, li, ol,
233
+ test = this,
234
+ good = 0,
235
+ bad = 0,
236
+ tests = id( "qunit-tests" );
237
+
238
+ this.runtime = +new Date() - this.started;
239
+ config.stats.all += this.assertions.length;
240
+ config.moduleStats.all += this.assertions.length;
241
+
242
+ if ( tests ) {
243
+ ol = document.createElement( "ol" );
244
+ ol.className = "qunit-assert-list";
245
+
246
+ for ( i = 0; i < this.assertions.length; i++ ) {
247
+ assertion = this.assertions[i];
248
+
249
+ li = document.createElement( "li" );
250
+ li.className = assertion.result ? "pass" : "fail";
251
+ li.innerHTML = assertion.message || ( assertion.result ? "okay" : "failed" );
252
+ ol.appendChild( li );
253
+
254
+ if ( assertion.result ) {
255
+ good++;
256
+ } else {
257
+ bad++;
258
+ config.stats.bad++;
259
+ config.moduleStats.bad++;
260
+ }
261
+ }
262
+
263
+ // store result when possible
264
+ if ( QUnit.config.reorder && defined.sessionStorage ) {
265
+ if ( bad ) {
266
+ sessionStorage.setItem( "qunit-test-" + this.module + "-" + this.testName, bad );
267
+ } else {
268
+ sessionStorage.removeItem( "qunit-test-" + this.module + "-" + this.testName );
269
+ }
270
+ }
271
+
272
+ if ( bad === 0 ) {
273
+ addClass( ol, "qunit-collapsed" );
274
+ }
275
+
276
+ // `b` initialized at top of scope
277
+ b = document.createElement( "strong" );
278
+ b.innerHTML = this.nameHtml + " <b class='counts'>(<b class='failed'>" + bad + "</b>, <b class='passed'>" + good + "</b>, " + this.assertions.length + ")</b>";
279
+
280
+ addEvent(b, "click", function() {
281
+ var next = b.parentNode.lastChild,
282
+ collapsed = hasClass( next, "qunit-collapsed" );
283
+ ( collapsed ? removeClass : addClass )( next, "qunit-collapsed" );
284
+ });
285
+
286
+ addEvent(b, "dblclick", function( e ) {
287
+ var target = e && e.target ? e.target : window.event.srcElement;
288
+ if ( target.nodeName.toLowerCase() === "span" || target.nodeName.toLowerCase() === "b" ) {
289
+ target = target.parentNode;
290
+ }
291
+ if ( window.location && target.nodeName.toLowerCase() === "strong" ) {
292
+ window.location = QUnit.url({ testNumber: test.testNumber });
293
+ }
294
+ });
295
+
296
+ // `time` initialized at top of scope
297
+ time = document.createElement( "span" );
298
+ time.className = "runtime";
299
+ time.innerHTML = this.runtime + " ms";
300
+
301
+ // `li` initialized at top of scope
302
+ li = id( this.id );
303
+ li.className = bad ? "fail" : "pass";
304
+ li.removeChild( li.firstChild );
305
+ a = li.firstChild;
306
+ li.appendChild( b );
307
+ li.appendChild( a );
308
+ li.appendChild( time );
309
+ li.appendChild( ol );
310
+
311
+ } else {
312
+ for ( i = 0; i < this.assertions.length; i++ ) {
313
+ if ( !this.assertions[i].result ) {
314
+ bad++;
315
+ config.stats.bad++;
316
+ config.moduleStats.bad++;
317
+ }
318
+ }
319
+ }
320
+
321
+ runLoggingCallbacks( "testDone", QUnit, {
322
+ name: this.testName,
323
+ module: this.module,
324
+ failed: bad,
325
+ passed: this.assertions.length - bad,
326
+ total: this.assertions.length,
327
+ duration: this.runtime
328
+ });
329
+
330
+ QUnit.reset();
331
+
332
+ config.current = undefined;
333
+ },
334
+
335
+ queue: function() {
336
+ var bad,
337
+ test = this;
338
+
339
+ synchronize(function() {
340
+ test.init();
341
+ });
342
+ function run() {
343
+ // each of these can by async
344
+ synchronize(function() {
345
+ test.setup();
346
+ });
347
+ synchronize(function() {
348
+ test.run();
349
+ });
350
+ synchronize(function() {
351
+ test.teardown();
352
+ });
353
+ synchronize(function() {
354
+ test.finish();
355
+ });
356
+ }
357
+
358
+ // `bad` initialized at top of scope
359
+ // defer when previous test run passed, if storage is available
360
+ bad = QUnit.config.reorder && defined.sessionStorage &&
361
+ +sessionStorage.getItem( "qunit-test-" + this.module + "-" + this.testName );
362
+
363
+ if ( bad ) {
364
+ run();
365
+ } else {
366
+ synchronize( run, true );
367
+ }
368
+ }
369
+ };
370
+
371
+ // Root QUnit object.
372
+ // `QUnit` initialized at top of scope
373
+ QUnit = {
374
+
375
+ // call on start of module test to prepend name to all tests
376
+ module: function( name, testEnvironment ) {
377
+ config.currentModule = name;
378
+ config.currentModuleTestEnvironment = testEnvironment;
379
+ config.modules[name] = true;
380
+ },
381
+
382
+ asyncTest: function( testName, expected, callback ) {
383
+ if ( arguments.length === 2 ) {
384
+ callback = expected;
385
+ expected = null;
386
+ }
387
+
388
+ QUnit.test( testName, expected, callback, true );
389
+ },
390
+
391
+ test: function( testName, expected, callback, async ) {
392
+ var test,
393
+ nameHtml = "<span class='test-name'>" + escapeText( testName ) + "</span>";
394
+
395
+ if ( arguments.length === 2 ) {
396
+ callback = expected;
397
+ expected = null;
398
+ }
399
+
400
+ if ( config.currentModule ) {
401
+ nameHtml = "<span class='module-name'>" + escapeText( config.currentModule ) + "</span>: " + nameHtml;
402
+ }
403
+
404
+ test = new Test({
405
+ nameHtml: nameHtml,
406
+ testName: testName,
407
+ expected: expected,
408
+ async: async,
409
+ callback: callback,
410
+ module: config.currentModule,
411
+ moduleTestEnvironment: config.currentModuleTestEnvironment,
412
+ stack: sourceFromStacktrace( 2 )
413
+ });
414
+
415
+ if ( !validTest( test ) ) {
416
+ return;
417
+ }
418
+
419
+ test.queue();
420
+ },
421
+
422
+ // Specify the number of expected assertions to gurantee that failed test (no assertions are run at all) don't slip through.
423
+ expect: function( asserts ) {
424
+ if (arguments.length === 1) {
425
+ config.current.expected = asserts;
426
+ } else {
427
+ return config.current.expected;
428
+ }
429
+ },
430
+
431
+ start: function( count ) {
432
+ // QUnit hasn't been initialized yet.
433
+ // Note: RequireJS (et al) may delay onLoad
434
+ if ( config.semaphore === undefined ) {
435
+ QUnit.begin(function() {
436
+ // This is triggered at the top of QUnit.load, push start() to the event loop, to allow QUnit.load to finish first
437
+ setTimeout(function() {
438
+ QUnit.start( count );
439
+ });
440
+ });
441
+ return;
442
+ }
443
+
444
+ config.semaphore -= count || 1;
445
+ // don't start until equal number of stop-calls
446
+ if ( config.semaphore > 0 ) {
447
+ return;
448
+ }
449
+ // ignore if start is called more often then stop
450
+ if ( config.semaphore < 0 ) {
451
+ config.semaphore = 0;
452
+ QUnit.pushFailure( "Called start() while already started (QUnit.config.semaphore was 0 already)", null, sourceFromStacktrace(2) );
453
+ return;
454
+ }
455
+ // A slight delay, to avoid any current callbacks
456
+ if ( defined.setTimeout ) {
457
+ window.setTimeout(function() {
458
+ if ( config.semaphore > 0 ) {
459
+ return;
460
+ }
461
+ if ( config.timeout ) {
462
+ clearTimeout( config.timeout );
463
+ }
464
+
465
+ config.blocking = false;
466
+ process( true );
467
+ }, 13);
468
+ } else {
469
+ config.blocking = false;
470
+ process( true );
471
+ }
472
+ },
473
+
474
+ stop: function( count ) {
475
+ config.semaphore += count || 1;
476
+ config.blocking = true;
477
+
478
+ if ( config.testTimeout && defined.setTimeout ) {
479
+ clearTimeout( config.timeout );
480
+ config.timeout = window.setTimeout(function() {
481
+ QUnit.ok( false, "Test timed out" );
482
+ config.semaphore = 1;
483
+ QUnit.start();
484
+ }, config.testTimeout );
485
+ }
486
+ }
487
+ };
488
+
489
+ // `assert` initialized at top of scope
490
+ // Asssert helpers
491
+ // All of these must either call QUnit.push() or manually do:
492
+ // - runLoggingCallbacks( "log", .. );
493
+ // - config.current.assertions.push({ .. });
494
+ // We attach it to the QUnit object *after* we expose the public API,
495
+ // otherwise `assert` will become a global variable in browsers (#341).
496
+ assert = {
497
+ /**
498
+ * Asserts rough true-ish result.
499
+ * @name ok
500
+ * @function
501
+ * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
502
+ */
503
+ ok: function( result, msg ) {
504
+ if ( !config.current ) {
505
+ throw new Error( "ok() assertion outside test context, was " + sourceFromStacktrace(2) );
506
+ }
507
+ result = !!result;
508
+
509
+ var source,
510
+ details = {
511
+ module: config.current.module,
512
+ name: config.current.testName,
513
+ result: result,
514
+ message: msg
515
+ };
516
+
517
+ msg = escapeText( msg || (result ? "okay" : "failed" ) );
518
+ msg = "<span class='test-message'>" + msg + "</span>";
519
+
520
+ if ( !result ) {
521
+ source = sourceFromStacktrace( 2 );
522
+ if ( source ) {
523
+ details.source = source;
524
+ msg += "<table><tr class='test-source'><th>Source: </th><td><pre>" + escapeText( source ) + "</pre></td></tr></table>";
525
+ }
526
+ }
527
+ runLoggingCallbacks( "log", QUnit, details );
528
+ config.current.assertions.push({
529
+ result: result,
530
+ message: msg
531
+ });
532
+ },
533
+
534
+ /**
535
+ * Assert that the first two arguments are equal, with an optional message.
536
+ * Prints out both actual and expected values.
537
+ * @name equal
538
+ * @function
539
+ * @example equal( format( "Received {0} bytes.", 2), "Received 2 bytes.", "format() replaces {0} with next argument" );
540
+ */
541
+ equal: function( actual, expected, message ) {
542
+ /*jshint eqeqeq:false */
543
+ QUnit.push( expected == actual, actual, expected, message );
544
+ },
545
+
546
+ /**
547
+ * @name notEqual
548
+ * @function
549
+ */
550
+ notEqual: function( actual, expected, message ) {
551
+ /*jshint eqeqeq:false */
552
+ QUnit.push( expected != actual, actual, expected, message );
553
+ },
554
+
555
+ /**
556
+ * @name propEqual
557
+ * @function
558
+ */
559
+ propEqual: function( actual, expected, message ) {
560
+ actual = objectValues(actual);
561
+ expected = objectValues(expected);
562
+ QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
563
+ },
564
+
565
+ /**
566
+ * @name notPropEqual
567
+ * @function
568
+ */
569
+ notPropEqual: function( actual, expected, message ) {
570
+ actual = objectValues(actual);
571
+ expected = objectValues(expected);
572
+ QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
573
+ },
574
+
575
+ /**
576
+ * @name deepEqual
577
+ * @function
578
+ */
579
+ deepEqual: function( actual, expected, message ) {
580
+ QUnit.push( QUnit.equiv(actual, expected), actual, expected, message );
581
+ },
582
+
583
+ /**
584
+ * @name notDeepEqual
585
+ * @function
586
+ */
587
+ notDeepEqual: function( actual, expected, message ) {
588
+ QUnit.push( !QUnit.equiv(actual, expected), actual, expected, message );
589
+ },
590
+
591
+ /**
592
+ * @name strictEqual
593
+ * @function
594
+ */
595
+ strictEqual: function( actual, expected, message ) {
596
+ QUnit.push( expected === actual, actual, expected, message );
597
+ },
598
+
599
+ /**
600
+ * @name notStrictEqual
601
+ * @function
602
+ */
603
+ notStrictEqual: function( actual, expected, message ) {
604
+ QUnit.push( expected !== actual, actual, expected, message );
605
+ },
606
+
607
+ "throws": function( block, expected, message ) {
608
+ var actual,
609
+ expectedOutput = expected,
610
+ ok = false;
611
+
612
+ // 'expected' is optional
613
+ if ( typeof expected === "string" ) {
614
+ message = expected;
615
+ expected = null;
616
+ }
617
+
618
+ config.current.ignoreGlobalErrors = true;
619
+ try {
620
+ block.call( config.current.testEnvironment );
621
+ } catch (e) {
622
+ actual = e;
623
+ }
624
+ config.current.ignoreGlobalErrors = false;
625
+
626
+ if ( actual ) {
627
+ // we don't want to validate thrown error
628
+ if ( !expected ) {
629
+ ok = true;
630
+ expectedOutput = null;
631
+ // expected is a regexp
632
+ } else if ( QUnit.objectType( expected ) === "regexp" ) {
633
+ ok = expected.test( errorString( actual ) );
634
+ // expected is a constructor
635
+ } else if ( actual instanceof expected ) {
636
+ ok = true;
637
+ // expected is a validation function which returns true is validation passed
638
+ } else if ( expected.call( {}, actual ) === true ) {
639
+ expectedOutput = null;
640
+ ok = true;
641
+ }
642
+
643
+ QUnit.push( ok, actual, expectedOutput, message );
644
+ } else {
645
+ QUnit.pushFailure( message, null, 'No exception was thrown.' );
646
+ }
647
+ }
648
+ };
649
+
650
+ /**
651
+ * @deprecate since 1.8.0
652
+ * Kept assertion helpers in root for backwards compatibility.
653
+ */
654
+ extend( QUnit, assert );
655
+
656
+ /**
657
+ * @deprecated since 1.9.0
658
+ * Kept root "raises()" for backwards compatibility.
659
+ * (Note that we don't introduce assert.raises).
660
+ */
661
+ QUnit.raises = assert[ "throws" ];
662
+
663
+ /**
664
+ * @deprecated since 1.0.0, replaced with error pushes since 1.3.0
665
+ * Kept to avoid TypeErrors for undefined methods.
666
+ */
667
+ QUnit.equals = function() {
668
+ QUnit.push( false, false, false, "QUnit.equals has been deprecated since 2009 (e88049a0), use QUnit.equal instead" );
669
+ };
670
+ QUnit.same = function() {
671
+ QUnit.push( false, false, false, "QUnit.same has been deprecated since 2009 (e88049a0), use QUnit.deepEqual instead" );
672
+ };
673
+
674
+ // We want access to the constructor's prototype
675
+ (function() {
676
+ function F() {}
677
+ F.prototype = QUnit;
678
+ QUnit = new F();
679
+ // Make F QUnit's constructor so that we can add to the prototype later
680
+ QUnit.constructor = F;
681
+ }());
682
+
683
+ /**
684
+ * Config object: Maintain internal state
685
+ * Later exposed as QUnit.config
686
+ * `config` initialized at top of scope
687
+ */
688
+ config = {
689
+ // The queue of tests to run
690
+ queue: [],
691
+
692
+ // block until document ready
693
+ blocking: true,
694
+
695
+ // when enabled, show only failing tests
696
+ // gets persisted through sessionStorage and can be changed in UI via checkbox
697
+ hidepassed: false,
698
+
699
+ // by default, run previously failed tests first
700
+ // very useful in combination with "Hide passed tests" checked
701
+ reorder: true,
702
+
703
+ // by default, modify document.title when suite is done
704
+ altertitle: true,
705
+
706
+ // when enabled, all tests must call expect()
707
+ requireExpects: false,
708
+
709
+ // add checkboxes that are persisted in the query-string
710
+ // when enabled, the id is set to `true` as a `QUnit.config` property
711
+ urlConfig: [
712
+ {
713
+ id: "noglobals",
714
+ label: "Check for Globals",
715
+ tooltip: "Enabling this will test if any test introduces new properties on the `window` object. Stored as query-strings."
716
+ },
717
+ {
718
+ id: "notrycatch",
719
+ label: "No try-catch",
720
+ tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging exceptions in IE reasonable. Stored as query-strings."
721
+ }
722
+ ],
723
+
724
+ // Set of all modules.
725
+ modules: {},
726
+
727
+ // logging callback queues
728
+ begin: [],
729
+ done: [],
730
+ log: [],
731
+ testStart: [],
732
+ testDone: [],
733
+ moduleStart: [],
734
+ moduleDone: []
735
+ };
736
+
737
+ // Export global variables, unless an 'exports' object exists,
738
+ // in that case we assume we're in CommonJS (dealt with on the bottom of the script)
739
+ if ( typeof exports === "undefined" ) {
740
+ extend( window, QUnit );
741
+
742
+ // Expose QUnit object
743
+ window.QUnit = QUnit;
744
+ }
745
+
746
+ // Initialize more QUnit.config and QUnit.urlParams
747
+ (function() {
748
+ var i,
749
+ location = window.location || { search: "", protocol: "file:" },
750
+ params = location.search.slice( 1 ).split( "&" ),
751
+ length = params.length,
752
+ urlParams = {},
753
+ current;
754
+
755
+ if ( params[ 0 ] ) {
756
+ for ( i = 0; i < length; i++ ) {
757
+ current = params[ i ].split( "=" );
758
+ current[ 0 ] = decodeURIComponent( current[ 0 ] );
759
+ // allow just a key to turn on a flag, e.g., test.html?noglobals
760
+ current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true;
761
+ urlParams[ current[ 0 ] ] = current[ 1 ];
762
+ }
763
+ }
764
+
765
+ QUnit.urlParams = urlParams;
766
+
767
+ // String search anywhere in moduleName+testName
768
+ config.filter = urlParams.filter;
769
+
770
+ // Exact match of the module name
771
+ config.module = urlParams.module;
772
+
773
+ config.testNumber = parseInt( urlParams.testNumber, 10 ) || null;
774
+
775
+ // Figure out if we're running the tests from a server or not
776
+ QUnit.isLocal = location.protocol === "file:";
777
+ }());
778
+
779
+ // Extend QUnit object,
780
+ // these after set here because they should not be exposed as global functions
781
+ extend( QUnit, {
782
+ assert: assert,
783
+
784
+ config: config,
785
+
786
+ // Initialize the configuration options
787
+ init: function() {
788
+ extend( config, {
789
+ stats: { all: 0, bad: 0 },
790
+ moduleStats: { all: 0, bad: 0 },
791
+ started: +new Date(),
792
+ updateRate: 1000,
793
+ blocking: false,
794
+ autostart: true,
795
+ autorun: false,
796
+ filter: "",
797
+ queue: [],
798
+ semaphore: 1
799
+ });
800
+
801
+ var tests, banner, result,
802
+ qunit = id( "qunit" );
803
+
804
+ if ( qunit ) {
805
+ qunit.innerHTML =
806
+ "<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
807
+ "<h2 id='qunit-banner'></h2>" +
808
+ "<div id='qunit-testrunner-toolbar'></div>" +
809
+ "<h2 id='qunit-userAgent'></h2>" +
810
+ "<ol id='qunit-tests'></ol>";
811
+ }
812
+
813
+ tests = id( "qunit-tests" );
814
+ banner = id( "qunit-banner" );
815
+ result = id( "qunit-testresult" );
816
+
817
+ if ( tests ) {
818
+ tests.innerHTML = "";
819
+ }
820
+
821
+ if ( banner ) {
822
+ banner.className = "";
823
+ }
824
+
825
+ if ( result ) {
826
+ result.parentNode.removeChild( result );
827
+ }
828
+
829
+ if ( tests ) {
830
+ result = document.createElement( "p" );
831
+ result.id = "qunit-testresult";
832
+ result.className = "result";
833
+ tests.parentNode.insertBefore( result, tests );
834
+ result.innerHTML = "Running...<br/>&nbsp;";
835
+ }
836
+ },
837
+
838
+ // Resets the test setup. Useful for tests that modify the DOM.
839
+ reset: function() {
840
+ var fixture = id( "qunit-fixture" );
841
+ if ( fixture ) {
842
+ fixture.innerHTML = config.fixture;
843
+ }
844
+ },
845
+
846
+ // Trigger an event on an element.
847
+ // @example triggerEvent( document.body, "click" );
848
+ triggerEvent: function( elem, type, event ) {
849
+ if ( document.createEvent ) {
850
+ event = document.createEvent( "MouseEvents" );
851
+ event.initMouseEvent(type, true, true, elem.ownerDocument.defaultView,
852
+ 0, 0, 0, 0, 0, false, false, false, false, 0, null);
853
+
854
+ elem.dispatchEvent( event );
855
+ } else if ( elem.fireEvent ) {
856
+ elem.fireEvent( "on" + type );
857
+ }
858
+ },
859
+
860
+ // Safe object type checking
861
+ is: function( type, obj ) {
862
+ return QUnit.objectType( obj ) === type;
863
+ },
864
+
865
+ objectType: function( obj ) {
866
+ if ( typeof obj === "undefined" ) {
867
+ return "undefined";
868
+ // consider: typeof null === object
869
+ }
870
+ if ( obj === null ) {
871
+ return "null";
872
+ }
873
+
874
+ var match = toString.call( obj ).match(/^\[object\s(.*)\]$/),
875
+ type = match && match[1] || "";
876
+
877
+ switch ( type ) {
878
+ case "Number":
879
+ if ( isNaN(obj) ) {
880
+ return "nan";
881
+ }
882
+ return "number";
883
+ case "String":
884
+ case "Boolean":
885
+ case "Array":
886
+ case "Date":
887
+ case "RegExp":
888
+ case "Function":
889
+ return type.toLowerCase();
890
+ }
891
+ if ( typeof obj === "object" ) {
892
+ return "object";
893
+ }
894
+ return undefined;
895
+ },
896
+
897
+ push: function( result, actual, expected, message ) {
898
+ if ( !config.current ) {
899
+ throw new Error( "assertion outside test context, was " + sourceFromStacktrace() );
900
+ }
901
+
902
+ var output, source,
903
+ details = {
904
+ module: config.current.module,
905
+ name: config.current.testName,
906
+ result: result,
907
+ message: message,
908
+ actual: actual,
909
+ expected: expected
910
+ };
911
+
912
+ message = escapeText( message ) || ( result ? "okay" : "failed" );
913
+ message = "<span class='test-message'>" + message + "</span>";
914
+ output = message;
915
+
916
+ if ( !result ) {
917
+ expected = escapeText( QUnit.jsDump.parse(expected) );
918
+ actual = escapeText( QUnit.jsDump.parse(actual) );
919
+ output += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" + expected + "</pre></td></tr>";
920
+
921
+ if ( actual !== expected ) {
922
+ output += "<tr class='test-actual'><th>Result: </th><td><pre>" + actual + "</pre></td></tr>";
923
+ output += "<tr class='test-diff'><th>Diff: </th><td><pre>" + QUnit.diff( expected, actual ) + "</pre></td></tr>";
924
+ }
925
+
926
+ source = sourceFromStacktrace();
927
+
928
+ if ( source ) {
929
+ details.source = source;
930
+ output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeText( source ) + "</pre></td></tr>";
931
+ }
932
+
933
+ output += "</table>";
934
+ }
935
+
936
+ runLoggingCallbacks( "log", QUnit, details );
937
+
938
+ config.current.assertions.push({
939
+ result: !!result,
940
+ message: output
941
+ });
942
+ },
943
+
944
+ pushFailure: function( message, source, actual ) {
945
+ if ( !config.current ) {
946
+ throw new Error( "pushFailure() assertion outside test context, was " + sourceFromStacktrace(2) );
947
+ }
948
+
949
+ var output,
950
+ details = {
951
+ module: config.current.module,
952
+ name: config.current.testName,
953
+ result: false,
954
+ message: message
955
+ };
956
+
957
+ message = escapeText( message ) || "error";
958
+ message = "<span class='test-message'>" + message + "</span>";
959
+ output = message;
960
+
961
+ output += "<table>";
962
+
963
+ if ( actual ) {
964
+ output += "<tr class='test-actual'><th>Result: </th><td><pre>" + escapeText( actual ) + "</pre></td></tr>";
965
+ }
966
+
967
+ if ( source ) {
968
+ details.source = source;
969
+ output += "<tr class='test-source'><th>Source: </th><td><pre>" + escapeText( source ) + "</pre></td></tr>";
970
+ }
971
+
972
+ output += "</table>";
973
+
974
+ runLoggingCallbacks( "log", QUnit, details );
975
+
976
+ config.current.assertions.push({
977
+ result: false,
978
+ message: output
979
+ });
980
+ },
981
+
982
+ url: function( params ) {
983
+ params = extend( extend( {}, QUnit.urlParams ), params );
984
+ var key,
985
+ querystring = "?";
986
+
987
+ for ( key in params ) {
988
+ if ( !hasOwn.call( params, key ) ) {
989
+ continue;
990
+ }
991
+ querystring += encodeURIComponent( key ) + "=" +
992
+ encodeURIComponent( params[ key ] ) + "&";
993
+ }
994
+ return window.location.protocol + "//" + window.location.host +
995
+ window.location.pathname + querystring.slice( 0, -1 );
996
+ },
997
+
998
+ extend: extend,
999
+ id: id,
1000
+ addEvent: addEvent
1001
+ // load, equiv, jsDump, diff: Attached later
1002
+ });
1003
+
1004
+ /**
1005
+ * @deprecated: Created for backwards compatibility with test runner that set the hook function
1006
+ * into QUnit.{hook}, instead of invoking it and passing the hook function.
1007
+ * QUnit.constructor is set to the empty F() above so that we can add to it's prototype here.
1008
+ * Doing this allows us to tell if the following methods have been overwritten on the actual
1009
+ * QUnit object.
1010
+ */
1011
+ extend( QUnit.constructor.prototype, {
1012
+
1013
+ // Logging callbacks; all receive a single argument with the listed properties
1014
+ // run test/logs.html for any related changes
1015
+ begin: registerLoggingCallback( "begin" ),
1016
+
1017
+ // done: { failed, passed, total, runtime }
1018
+ done: registerLoggingCallback( "done" ),
1019
+
1020
+ // log: { result, actual, expected, message }
1021
+ log: registerLoggingCallback( "log" ),
1022
+
1023
+ // testStart: { name }
1024
+ testStart: registerLoggingCallback( "testStart" ),
1025
+
1026
+ // testDone: { name, failed, passed, total, duration }
1027
+ testDone: registerLoggingCallback( "testDone" ),
1028
+
1029
+ // moduleStart: { name }
1030
+ moduleStart: registerLoggingCallback( "moduleStart" ),
1031
+
1032
+ // moduleDone: { name, failed, passed, total }
1033
+ moduleDone: registerLoggingCallback( "moduleDone" )
1034
+ });
1035
+
1036
+ if ( typeof document === "undefined" || document.readyState === "complete" ) {
1037
+ config.autorun = true;
1038
+ }
1039
+
1040
+ QUnit.load = function() {
1041
+ runLoggingCallbacks( "begin", QUnit, {} );
1042
+
1043
+ // Initialize the config, saving the execution queue
1044
+ var banner, filter, i, label, len, main, ol, toolbar, userAgent, val,
1045
+ urlConfigCheckboxesContainer, urlConfigCheckboxes, moduleFilter,
1046
+ numModules = 0,
1047
+ moduleFilterHtml = "",
1048
+ urlConfigHtml = "",
1049
+ oldconfig = extend( {}, config );
1050
+
1051
+ QUnit.init();
1052
+ extend(config, oldconfig);
1053
+
1054
+ config.blocking = false;
1055
+
1056
+ len = config.urlConfig.length;
1057
+
1058
+ for ( i = 0; i < len; i++ ) {
1059
+ val = config.urlConfig[i];
1060
+ if ( typeof val === "string" ) {
1061
+ val = {
1062
+ id: val,
1063
+ label: val,
1064
+ tooltip: "[no tooltip available]"
1065
+ };
1066
+ }
1067
+ config[ val.id ] = QUnit.urlParams[ val.id ];
1068
+ urlConfigHtml += "<input id='qunit-urlconfig-" + escapeText( val.id ) +
1069
+ "' name='" + escapeText( val.id ) +
1070
+ "' type='checkbox'" + ( config[ val.id ] ? " checked='checked'" : "" ) +
1071
+ " title='" + escapeText( val.tooltip ) +
1072
+ "'><label for='qunit-urlconfig-" + escapeText( val.id ) +
1073
+ "' title='" + escapeText( val.tooltip ) + "'>" + val.label + "</label>";
1074
+ }
1075
+
1076
+ moduleFilterHtml += "<label for='qunit-modulefilter'>Module: </label><select id='qunit-modulefilter' name='modulefilter'><option value='' " +
1077
+ ( config.module === undefined ? "selected='selected'" : "" ) +
1078
+ ">< All Modules ></option>";
1079
+
1080
+ for ( i in config.modules ) {
1081
+ if ( config.modules.hasOwnProperty( i ) ) {
1082
+ numModules += 1;
1083
+ moduleFilterHtml += "<option value='" + escapeText( encodeURIComponent(i) ) + "' " +
1084
+ ( config.module === i ? "selected='selected'" : "" ) +
1085
+ ">" + escapeText(i) + "</option>";
1086
+ }
1087
+ }
1088
+ moduleFilterHtml += "</select>";
1089
+
1090
+ // `userAgent` initialized at top of scope
1091
+ userAgent = id( "qunit-userAgent" );
1092
+ if ( userAgent ) {
1093
+ userAgent.innerHTML = navigator.userAgent;
1094
+ }
1095
+
1096
+ // `banner` initialized at top of scope
1097
+ banner = id( "qunit-header" );
1098
+ if ( banner ) {
1099
+ banner.innerHTML = "<a href='" + QUnit.url({ filter: undefined, module: undefined, testNumber: undefined }) + "'>" + banner.innerHTML + "</a> ";
1100
+ }
1101
+
1102
+ // `toolbar` initialized at top of scope
1103
+ toolbar = id( "qunit-testrunner-toolbar" );
1104
+ if ( toolbar ) {
1105
+ // `filter` initialized at top of scope
1106
+ filter = document.createElement( "input" );
1107
+ filter.type = "checkbox";
1108
+ filter.id = "qunit-filter-pass";
1109
+
1110
+ addEvent( filter, "click", function() {
1111
+ var tmp,
1112
+ ol = document.getElementById( "qunit-tests" );
1113
+
1114
+ if ( filter.checked ) {
1115
+ ol.className = ol.className + " hidepass";
1116
+ } else {
1117
+ tmp = " " + ol.className.replace( /[\n\t\r]/g, " " ) + " ";
1118
+ ol.className = tmp.replace( / hidepass /, " " );
1119
+ }
1120
+ if ( defined.sessionStorage ) {
1121
+ if (filter.checked) {
1122
+ sessionStorage.setItem( "qunit-filter-passed-tests", "true" );
1123
+ } else {
1124
+ sessionStorage.removeItem( "qunit-filter-passed-tests" );
1125
+ }
1126
+ }
1127
+ });
1128
+
1129
+ if ( config.hidepassed || defined.sessionStorage && sessionStorage.getItem( "qunit-filter-passed-tests" ) ) {
1130
+ filter.checked = true;
1131
+ // `ol` initialized at top of scope
1132
+ ol = document.getElementById( "qunit-tests" );
1133
+ ol.className = ol.className + " hidepass";
1134
+ }
1135
+ toolbar.appendChild( filter );
1136
+
1137
+ // `label` initialized at top of scope
1138
+ label = document.createElement( "label" );
1139
+ label.setAttribute( "for", "qunit-filter-pass" );
1140
+ label.setAttribute( "title", "Only show tests and assertons that fail. Stored in sessionStorage." );
1141
+ label.innerHTML = "Hide passed tests";
1142
+ toolbar.appendChild( label );
1143
+
1144
+ urlConfigCheckboxesContainer = document.createElement("span");
1145
+ urlConfigCheckboxesContainer.innerHTML = urlConfigHtml;
1146
+ urlConfigCheckboxes = urlConfigCheckboxesContainer.getElementsByTagName("input");
1147
+ // For oldIE support:
1148
+ // * Add handlers to the individual elements instead of the container
1149
+ // * Use "click" instead of "change"
1150
+ // * Fallback from event.target to event.srcElement
1151
+ addEvents( urlConfigCheckboxes, "click", function( event ) {
1152
+ var params = {},
1153
+ target = event.target || event.srcElement;
1154
+ params[ target.name ] = target.checked ? true : undefined;
1155
+ window.location = QUnit.url( params );
1156
+ });
1157
+ toolbar.appendChild( urlConfigCheckboxesContainer );
1158
+
1159
+ if (numModules > 1) {
1160
+ moduleFilter = document.createElement( 'span' );
1161
+ moduleFilter.setAttribute( 'id', 'qunit-modulefilter-container' );
1162
+ moduleFilter.innerHTML = moduleFilterHtml;
1163
+ addEvent( moduleFilter.lastChild, "change", function() {
1164
+ var selectBox = moduleFilter.getElementsByTagName("select")[0],
1165
+ selectedModule = decodeURIComponent(selectBox.options[selectBox.selectedIndex].value);
1166
+
1167
+ window.location = QUnit.url( { module: ( selectedModule === "" ) ? undefined : selectedModule } );
1168
+ });
1169
+ toolbar.appendChild(moduleFilter);
1170
+ }
1171
+ }
1172
+
1173
+ // `main` initialized at top of scope
1174
+ main = id( "qunit-fixture" );
1175
+ if ( main ) {
1176
+ config.fixture = main.innerHTML;
1177
+ }
1178
+
1179
+ if ( config.autostart ) {
1180
+ QUnit.start();
1181
+ }
1182
+ };
1183
+
1184
+ addEvent( window, "load", QUnit.load );
1185
+
1186
+ // `onErrorFnPrev` initialized at top of scope
1187
+ // Preserve other handlers
1188
+ onErrorFnPrev = window.onerror;
1189
+
1190
+ // Cover uncaught exceptions
1191
+ // Returning true will surpress the default browser handler,
1192
+ // returning false will let it run.
1193
+ window.onerror = function ( error, filePath, linerNr ) {
1194
+ var ret = false;
1195
+ if ( onErrorFnPrev ) {
1196
+ ret = onErrorFnPrev( error, filePath, linerNr );
1197
+ }
1198
+
1199
+ // Treat return value as window.onerror itself does,
1200
+ // Only do our handling if not surpressed.
1201
+ if ( ret !== true ) {
1202
+ if ( QUnit.config.current ) {
1203
+ if ( QUnit.config.current.ignoreGlobalErrors ) {
1204
+ return true;
1205
+ }
1206
+ QUnit.pushFailure( error, filePath + ":" + linerNr );
1207
+ } else {
1208
+ QUnit.test( "global failure", extend( function() {
1209
+ QUnit.pushFailure( error, filePath + ":" + linerNr );
1210
+ }, { validTest: validTest } ) );
1211
+ }
1212
+ return false;
1213
+ }
1214
+
1215
+ return ret;
1216
+ };
1217
+
1218
+ function done() {
1219
+ config.autorun = true;
1220
+
1221
+ // Log the last module results
1222
+ if ( config.currentModule ) {
1223
+ runLoggingCallbacks( "moduleDone", QUnit, {
1224
+ name: config.currentModule,
1225
+ failed: config.moduleStats.bad,
1226
+ passed: config.moduleStats.all - config.moduleStats.bad,
1227
+ total: config.moduleStats.all
1228
+ });
1229
+ }
1230
+
1231
+ var i, key,
1232
+ banner = id( "qunit-banner" ),
1233
+ tests = id( "qunit-tests" ),
1234
+ runtime = +new Date() - config.started,
1235
+ passed = config.stats.all - config.stats.bad,
1236
+ html = [
1237
+ "Tests completed in ",
1238
+ runtime,
1239
+ " milliseconds.<br/>",
1240
+ "<span class='passed'>",
1241
+ passed,
1242
+ "</span> assertions of <span class='total'>",
1243
+ config.stats.all,
1244
+ "</span> passed, <span class='failed'>",
1245
+ config.stats.bad,
1246
+ "</span> failed."
1247
+ ].join( "" );
1248
+
1249
+ if ( banner ) {
1250
+ banner.className = ( config.stats.bad ? "qunit-fail" : "qunit-pass" );
1251
+ }
1252
+
1253
+ if ( tests ) {
1254
+ id( "qunit-testresult" ).innerHTML = html;
1255
+ }
1256
+
1257
+ if ( config.altertitle && typeof document !== "undefined" && document.title ) {
1258
+ // show ✖ for good, ✔ for bad suite result in title
1259
+ // use escape sequences in case file gets loaded with non-utf-8-charset
1260
+ document.title = [
1261
+ ( config.stats.bad ? "\u2716" : "\u2714" ),
1262
+ document.title.replace( /^[\u2714\u2716] /i, "" )
1263
+ ].join( " " );
1264
+ }
1265
+
1266
+ // clear own sessionStorage items if all tests passed
1267
+ if ( config.reorder && defined.sessionStorage && config.stats.bad === 0 ) {
1268
+ // `key` & `i` initialized at top of scope
1269
+ for ( i = 0; i < sessionStorage.length; i++ ) {
1270
+ key = sessionStorage.key( i++ );
1271
+ if ( key.indexOf( "qunit-test-" ) === 0 ) {
1272
+ sessionStorage.removeItem( key );
1273
+ }
1274
+ }
1275
+ }
1276
+
1277
+ // scroll back to top to show results
1278
+ if ( window.scrollTo ) {
1279
+ window.scrollTo(0, 0);
1280
+ }
1281
+
1282
+ runLoggingCallbacks( "done", QUnit, {
1283
+ failed: config.stats.bad,
1284
+ passed: passed,
1285
+ total: config.stats.all,
1286
+ runtime: runtime
1287
+ });
1288
+ }
1289
+
1290
+ /** @return Boolean: true if this test should be ran */
1291
+ function validTest( test ) {
1292
+ var include,
1293
+ filter = config.filter && config.filter.toLowerCase(),
1294
+ module = config.module && config.module.toLowerCase(),
1295
+ fullName = (test.module + ": " + test.testName).toLowerCase();
1296
+
1297
+ // Internally-generated tests are always valid
1298
+ if ( test.callback && test.callback.validTest === validTest ) {
1299
+ delete test.callback.validTest;
1300
+ return true;
1301
+ }
1302
+
1303
+ if ( config.testNumber ) {
1304
+ return test.testNumber === config.testNumber;
1305
+ }
1306
+
1307
+ if ( module && ( !test.module || test.module.toLowerCase() !== module ) ) {
1308
+ return false;
1309
+ }
1310
+
1311
+ if ( !filter ) {
1312
+ return true;
1313
+ }
1314
+
1315
+ include = filter.charAt( 0 ) !== "!";
1316
+ if ( !include ) {
1317
+ filter = filter.slice( 1 );
1318
+ }
1319
+
1320
+ // If the filter matches, we need to honour include
1321
+ if ( fullName.indexOf( filter ) !== -1 ) {
1322
+ return include;
1323
+ }
1324
+
1325
+ // Otherwise, do the opposite
1326
+ return !include;
1327
+ }
1328
+
1329
+ // so far supports only Firefox, Chrome and Opera (buggy), Safari (for real exceptions)
1330
+ // Later Safari and IE10 are supposed to support error.stack as well
1331
+ // See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
1332
+ function extractStacktrace( e, offset ) {
1333
+ offset = offset === undefined ? 3 : offset;
1334
+
1335
+ var stack, include, i;
1336
+
1337
+ if ( e.stacktrace ) {
1338
+ // Opera
1339
+ return e.stacktrace.split( "\n" )[ offset + 3 ];
1340
+ } else if ( e.stack ) {
1341
+ // Firefox, Chrome
1342
+ stack = e.stack.split( "\n" );
1343
+ if (/^error$/i.test( stack[0] ) ) {
1344
+ stack.shift();
1345
+ }
1346
+ if ( fileName ) {
1347
+ include = [];
1348
+ for ( i = offset; i < stack.length; i++ ) {
1349
+ if ( stack[ i ].indexOf( fileName ) !== -1 ) {
1350
+ break;
1351
+ }
1352
+ include.push( stack[ i ] );
1353
+ }
1354
+ if ( include.length ) {
1355
+ return include.join( "\n" );
1356
+ }
1357
+ }
1358
+ return stack[ offset ];
1359
+ } else if ( e.sourceURL ) {
1360
+ // Safari, PhantomJS
1361
+ // hopefully one day Safari provides actual stacktraces
1362
+ // exclude useless self-reference for generated Error objects
1363
+ if ( /qunit.js$/.test( e.sourceURL ) ) {
1364
+ return;
1365
+ }
1366
+ // for actual exceptions, this is useful
1367
+ return e.sourceURL + ":" + e.line;
1368
+ }
1369
+ }
1370
+ function sourceFromStacktrace( offset ) {
1371
+ try {
1372
+ throw new Error();
1373
+ } catch ( e ) {
1374
+ return extractStacktrace( e, offset );
1375
+ }
1376
+ }
1377
+
1378
+ /**
1379
+ * Escape text for attribute or text content.
1380
+ */
1381
+ function escapeText( s ) {
1382
+ if ( !s ) {
1383
+ return "";
1384
+ }
1385
+ s = s + "";
1386
+ // Both single quotes and double quotes (for attributes)
1387
+ return s.replace( /['"<>&]/g, function( s ) {
1388
+ switch( s ) {
1389
+ case '\'':
1390
+ return '&#039;';
1391
+ case '"':
1392
+ return '&quot;';
1393
+ case '<':
1394
+ return '&lt;';
1395
+ case '>':
1396
+ return '&gt;';
1397
+ case '&':
1398
+ return '&amp;';
1399
+ }
1400
+ });
1401
+ }
1402
+
1403
+ function synchronize( callback, last ) {
1404
+ config.queue.push( callback );
1405
+
1406
+ if ( config.autorun && !config.blocking ) {
1407
+ process( last );
1408
+ }
1409
+ }
1410
+
1411
+ function process( last ) {
1412
+ function next() {
1413
+ process( last );
1414
+ }
1415
+ var start = new Date().getTime();
1416
+ config.depth = config.depth ? config.depth + 1 : 1;
1417
+
1418
+ while ( config.queue.length && !config.blocking ) {
1419
+ if ( !defined.setTimeout || config.updateRate <= 0 || ( ( new Date().getTime() - start ) < config.updateRate ) ) {
1420
+ config.queue.shift()();
1421
+ } else {
1422
+ window.setTimeout( next, 13 );
1423
+ break;
1424
+ }
1425
+ }
1426
+ config.depth--;
1427
+ if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) {
1428
+ done();
1429
+ }
1430
+ }
1431
+
1432
+ function saveGlobal() {
1433
+ config.pollution = [];
1434
+
1435
+ if ( config.noglobals ) {
1436
+ for ( var key in window ) {
1437
+ // in Opera sometimes DOM element ids show up here, ignore them
1438
+ if ( !hasOwn.call( window, key ) || /^qunit-test-output/.test( key ) ) {
1439
+ continue;
1440
+ }
1441
+ config.pollution.push( key );
1442
+ }
1443
+ }
1444
+ }
1445
+
1446
+ function checkPollution() {
1447
+ var newGlobals,
1448
+ deletedGlobals,
1449
+ old = config.pollution;
1450
+
1451
+ saveGlobal();
1452
+
1453
+ newGlobals = diff( config.pollution, old );
1454
+ if ( newGlobals.length > 0 ) {
1455
+ QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join(", ") );
1456
+ }
1457
+
1458
+ deletedGlobals = diff( old, config.pollution );
1459
+ if ( deletedGlobals.length > 0 ) {
1460
+ QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join(", ") );
1461
+ }
1462
+ }
1463
+
1464
+ // returns a new Array with the elements that are in a but not in b
1465
+ function diff( a, b ) {
1466
+ var i, j,
1467
+ result = a.slice();
1468
+
1469
+ for ( i = 0; i < result.length; i++ ) {
1470
+ for ( j = 0; j < b.length; j++ ) {
1471
+ if ( result[i] === b[j] ) {
1472
+ result.splice( i, 1 );
1473
+ i--;
1474
+ break;
1475
+ }
1476
+ }
1477
+ }
1478
+ return result;
1479
+ }
1480
+
1481
+ function extend( a, b ) {
1482
+ for ( var prop in b ) {
1483
+ if ( b[ prop ] === undefined ) {
1484
+ delete a[ prop ];
1485
+
1486
+ // Avoid "Member not found" error in IE8 caused by setting window.constructor
1487
+ } else if ( prop !== "constructor" || a !== window ) {
1488
+ a[ prop ] = b[ prop ];
1489
+ }
1490
+ }
1491
+
1492
+ return a;
1493
+ }
1494
+
1495
+ /**
1496
+ * @param {HTMLElement} elem
1497
+ * @param {string} type
1498
+ * @param {Function} fn
1499
+ */
1500
+ function addEvent( elem, type, fn ) {
1501
+ // Standards-based browsers
1502
+ if ( elem.addEventListener ) {
1503
+ elem.addEventListener( type, fn, false );
1504
+ // IE
1505
+ } else {
1506
+ elem.attachEvent( "on" + type, fn );
1507
+ }
1508
+ }
1509
+
1510
+ /**
1511
+ * @param {Array|NodeList} elems
1512
+ * @param {string} type
1513
+ * @param {Function} fn
1514
+ */
1515
+ function addEvents( elems, type, fn ) {
1516
+ var i = elems.length;
1517
+ while ( i-- ) {
1518
+ addEvent( elems[i], type, fn );
1519
+ }
1520
+ }
1521
+
1522
+ function hasClass( elem, name ) {
1523
+ return (" " + elem.className + " ").indexOf(" " + name + " ") > -1;
1524
+ }
1525
+
1526
+ function addClass( elem, name ) {
1527
+ if ( !hasClass( elem, name ) ) {
1528
+ elem.className += (elem.className ? " " : "") + name;
1529
+ }
1530
+ }
1531
+
1532
+ function removeClass( elem, name ) {
1533
+ var set = " " + elem.className + " ";
1534
+ // Class name may appear multiple times
1535
+ while ( set.indexOf(" " + name + " ") > -1 ) {
1536
+ set = set.replace(" " + name + " " , " ");
1537
+ }
1538
+ // If possible, trim it for prettiness, but not neccecarily
1539
+ elem.className = window.jQuery ? jQuery.trim( set ) : ( set.trim ? set.trim() : set );
1540
+ }
1541
+
1542
+ function id( name ) {
1543
+ return !!( typeof document !== "undefined" && document && document.getElementById ) &&
1544
+ document.getElementById( name );
1545
+ }
1546
+
1547
+ function registerLoggingCallback( key ) {
1548
+ return function( callback ) {
1549
+ config[key].push( callback );
1550
+ };
1551
+ }
1552
+
1553
+ // Supports deprecated method of completely overwriting logging callbacks
1554
+ function runLoggingCallbacks( key, scope, args ) {
1555
+ var i, callbacks;
1556
+ if ( QUnit.hasOwnProperty( key ) ) {
1557
+ QUnit[ key ].call(scope, args );
1558
+ } else {
1559
+ callbacks = config[ key ];
1560
+ for ( i = 0; i < callbacks.length; i++ ) {
1561
+ callbacks[ i ].call( scope, args );
1562
+ }
1563
+ }
1564
+ }
1565
+
1566
+ // Test for equality any JavaScript type.
1567
+ // Author: Philippe Rathé <prathe@gmail.com>
1568
+ QUnit.equiv = (function() {
1569
+
1570
+ // Call the o related callback with the given arguments.
1571
+ function bindCallbacks( o, callbacks, args ) {
1572
+ var prop = QUnit.objectType( o );
1573
+ if ( prop ) {
1574
+ if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) {
1575
+ return callbacks[ prop ].apply( callbacks, args );
1576
+ } else {
1577
+ return callbacks[ prop ]; // or undefined
1578
+ }
1579
+ }
1580
+ }
1581
+
1582
+ // the real equiv function
1583
+ var innerEquiv,
1584
+ // stack to decide between skip/abort functions
1585
+ callers = [],
1586
+ // stack to avoiding loops from circular referencing
1587
+ parents = [],
1588
+
1589
+ getProto = Object.getPrototypeOf || function ( obj ) {
1590
+ return obj.__proto__;
1591
+ },
1592
+ callbacks = (function () {
1593
+
1594
+ // for string, boolean, number and null
1595
+ function useStrictEquality( b, a ) {
1596
+ /*jshint eqeqeq:false */
1597
+ if ( b instanceof a.constructor || a instanceof b.constructor ) {
1598
+ // to catch short annotaion VS 'new' annotation of a
1599
+ // declaration
1600
+ // e.g. var i = 1;
1601
+ // var j = new Number(1);
1602
+ return a == b;
1603
+ } else {
1604
+ return a === b;
1605
+ }
1606
+ }
1607
+
1608
+ return {
1609
+ "string": useStrictEquality,
1610
+ "boolean": useStrictEquality,
1611
+ "number": useStrictEquality,
1612
+ "null": useStrictEquality,
1613
+ "undefined": useStrictEquality,
1614
+
1615
+ "nan": function( b ) {
1616
+ return isNaN( b );
1617
+ },
1618
+
1619
+ "date": function( b, a ) {
1620
+ return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
1621
+ },
1622
+
1623
+ "regexp": function( b, a ) {
1624
+ return QUnit.objectType( b ) === "regexp" &&
1625
+ // the regex itself
1626
+ a.source === b.source &&
1627
+ // and its modifers
1628
+ a.global === b.global &&
1629
+ // (gmi) ...
1630
+ a.ignoreCase === b.ignoreCase &&
1631
+ a.multiline === b.multiline &&
1632
+ a.sticky === b.sticky;
1633
+ },
1634
+
1635
+ // - skip when the property is a method of an instance (OOP)
1636
+ // - abort otherwise,
1637
+ // initial === would have catch identical references anyway
1638
+ "function": function() {
1639
+ var caller = callers[callers.length - 1];
1640
+ return caller !== Object && typeof caller !== "undefined";
1641
+ },
1642
+
1643
+ "array": function( b, a ) {
1644
+ var i, j, len, loop;
1645
+
1646
+ // b could be an object literal here
1647
+ if ( QUnit.objectType( b ) !== "array" ) {
1648
+ return false;
1649
+ }
1650
+
1651
+ len = a.length;
1652
+ if ( len !== b.length ) {
1653
+ // safe and faster
1654
+ return false;
1655
+ }
1656
+
1657
+ // track reference to avoid circular references
1658
+ parents.push( a );
1659
+ for ( i = 0; i < len; i++ ) {
1660
+ loop = false;
1661
+ for ( j = 0; j < parents.length; j++ ) {
1662
+ if ( parents[j] === a[i] ) {
1663
+ loop = true;// dont rewalk array
1664
+ }
1665
+ }
1666
+ if ( !loop && !innerEquiv(a[i], b[i]) ) {
1667
+ parents.pop();
1668
+ return false;
1669
+ }
1670
+ }
1671
+ parents.pop();
1672
+ return true;
1673
+ },
1674
+
1675
+ "object": function( b, a ) {
1676
+ var i, j, loop,
1677
+ // Default to true
1678
+ eq = true,
1679
+ aProperties = [],
1680
+ bProperties = [];
1681
+
1682
+ // comparing constructors is more strict than using
1683
+ // instanceof
1684
+ if ( a.constructor !== b.constructor ) {
1685
+ // Allow objects with no prototype to be equivalent to
1686
+ // objects with Object as their constructor.
1687
+ if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) ||
1688
+ ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) {
1689
+ return false;
1690
+ }
1691
+ }
1692
+
1693
+ // stack constructor before traversing properties
1694
+ callers.push( a.constructor );
1695
+ // track reference to avoid circular references
1696
+ parents.push( a );
1697
+
1698
+ for ( i in a ) { // be strict: don't ensures hasOwnProperty
1699
+ // and go deep
1700
+ loop = false;
1701
+ for ( j = 0; j < parents.length; j++ ) {
1702
+ if ( parents[j] === a[i] ) {
1703
+ // don't go down the same path twice
1704
+ loop = true;
1705
+ }
1706
+ }
1707
+ aProperties.push(i); // collect a's properties
1708
+
1709
+ if (!loop && !innerEquiv( a[i], b[i] ) ) {
1710
+ eq = false;
1711
+ break;
1712
+ }
1713
+ }
1714
+
1715
+ callers.pop(); // unstack, we are done
1716
+ parents.pop();
1717
+
1718
+ for ( i in b ) {
1719
+ bProperties.push( i ); // collect b's properties
1720
+ }
1721
+
1722
+ // Ensures identical properties name
1723
+ return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
1724
+ }
1725
+ };
1726
+ }());
1727
+
1728
+ innerEquiv = function() { // can take multiple arguments
1729
+ var args = [].slice.apply( arguments );
1730
+ if ( args.length < 2 ) {
1731
+ return true; // end transition
1732
+ }
1733
+
1734
+ return (function( a, b ) {
1735
+ if ( a === b ) {
1736
+ return true; // catch the most you can
1737
+ } else if ( a === null || b === null || typeof a === "undefined" ||
1738
+ typeof b === "undefined" ||
1739
+ QUnit.objectType(a) !== QUnit.objectType(b) ) {
1740
+ return false; // don't lose time with error prone cases
1741
+ } else {
1742
+ return bindCallbacks(a, callbacks, [ b, a ]);
1743
+ }
1744
+
1745
+ // apply transition with (1..n) arguments
1746
+ }( args[0], args[1] ) && arguments.callee.apply( this, args.splice(1, args.length - 1 )) );
1747
+ };
1748
+
1749
+ return innerEquiv;
1750
+ }());
1751
+
1752
+ /**
1753
+ * jsDump Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com |
1754
+ * http://flesler.blogspot.com Licensed under BSD
1755
+ * (http://www.opensource.org/licenses/bsd-license.php) Date: 5/15/2008
1756
+ *
1757
+ * @projectDescription Advanced and extensible data dumping for Javascript.
1758
+ * @version 1.0.0
1759
+ * @author Ariel Flesler
1760
+ * @link {http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html}
1761
+ */
1762
+ QUnit.jsDump = (function() {
1763
+ function quote( str ) {
1764
+ return '"' + str.toString().replace( /"/g, '\\"' ) + '"';
1765
+ }
1766
+ function literal( o ) {
1767
+ return o + "";
1768
+ }
1769
+ function join( pre, arr, post ) {
1770
+ var s = jsDump.separator(),
1771
+ base = jsDump.indent(),
1772
+ inner = jsDump.indent(1);
1773
+ if ( arr.join ) {
1774
+ arr = arr.join( "," + s + inner );
1775
+ }
1776
+ if ( !arr ) {
1777
+ return pre + post;
1778
+ }
1779
+ return [ pre, inner + arr, base + post ].join(s);
1780
+ }
1781
+ function array( arr, stack ) {
1782
+ var i = arr.length, ret = new Array(i);
1783
+ this.up();
1784
+ while ( i-- ) {
1785
+ ret[i] = this.parse( arr[i] , undefined , stack);
1786
+ }
1787
+ this.down();
1788
+ return join( "[", ret, "]" );
1789
+ }
1790
+
1791
+ var reName = /^function (\w+)/,
1792
+ jsDump = {
1793
+ // type is used mostly internally, you can fix a (custom)type in advance
1794
+ parse: function( obj, type, stack ) {
1795
+ stack = stack || [ ];
1796
+ var inStack, res,
1797
+ parser = this.parsers[ type || this.typeOf(obj) ];
1798
+
1799
+ type = typeof parser;
1800
+ inStack = inArray( obj, stack );
1801
+
1802
+ if ( inStack !== -1 ) {
1803
+ return "recursion(" + (inStack - stack.length) + ")";
1804
+ }
1805
+ if ( type === "function" ) {
1806
+ stack.push( obj );
1807
+ res = parser.call( this, obj, stack );
1808
+ stack.pop();
1809
+ return res;
1810
+ }
1811
+ return ( type === "string" ) ? parser : this.parsers.error;
1812
+ },
1813
+ typeOf: function( obj ) {
1814
+ var type;
1815
+ if ( obj === null ) {
1816
+ type = "null";
1817
+ } else if ( typeof obj === "undefined" ) {
1818
+ type = "undefined";
1819
+ } else if ( QUnit.is( "regexp", obj) ) {
1820
+ type = "regexp";
1821
+ } else if ( QUnit.is( "date", obj) ) {
1822
+ type = "date";
1823
+ } else if ( QUnit.is( "function", obj) ) {
1824
+ type = "function";
1825
+ } else if ( typeof obj.setInterval !== undefined && typeof obj.document !== "undefined" && typeof obj.nodeType === "undefined" ) {
1826
+ type = "window";
1827
+ } else if ( obj.nodeType === 9 ) {
1828
+ type = "document";
1829
+ } else if ( obj.nodeType ) {
1830
+ type = "node";
1831
+ } else if (
1832
+ // native arrays
1833
+ toString.call( obj ) === "[object Array]" ||
1834
+ // NodeList objects
1835
+ ( typeof obj.length === "number" && typeof obj.item !== "undefined" && ( obj.length ? obj.item(0) === obj[0] : ( obj.item( 0 ) === null && typeof obj[0] === "undefined" ) ) )
1836
+ ) {
1837
+ type = "array";
1838
+ } else if ( obj.constructor === Error.prototype.constructor ) {
1839
+ type = "error";
1840
+ } else {
1841
+ type = typeof obj;
1842
+ }
1843
+ return type;
1844
+ },
1845
+ separator: function() {
1846
+ return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&nbsp;" : " ";
1847
+ },
1848
+ // extra can be a number, shortcut for increasing-calling-decreasing
1849
+ indent: function( extra ) {
1850
+ if ( !this.multiline ) {
1851
+ return "";
1852
+ }
1853
+ var chr = this.indentChar;
1854
+ if ( this.HTML ) {
1855
+ chr = chr.replace( /\t/g, " " ).replace( / /g, "&nbsp;" );
1856
+ }
1857
+ return new Array( this._depth_ + (extra||0) ).join(chr);
1858
+ },
1859
+ up: function( a ) {
1860
+ this._depth_ += a || 1;
1861
+ },
1862
+ down: function( a ) {
1863
+ this._depth_ -= a || 1;
1864
+ },
1865
+ setParser: function( name, parser ) {
1866
+ this.parsers[name] = parser;
1867
+ },
1868
+ // The next 3 are exposed so you can use them
1869
+ quote: quote,
1870
+ literal: literal,
1871
+ join: join,
1872
+ //
1873
+ _depth_: 1,
1874
+ // This is the list of parsers, to modify them, use jsDump.setParser
1875
+ parsers: {
1876
+ window: "[Window]",
1877
+ document: "[Document]",
1878
+ error: function(error) {
1879
+ return "Error(\"" + error.message + "\")";
1880
+ },
1881
+ unknown: "[Unknown]",
1882
+ "null": "null",
1883
+ "undefined": "undefined",
1884
+ "function": function( fn ) {
1885
+ var ret = "function",
1886
+ // functions never have name in IE
1887
+ name = "name" in fn ? fn.name : (reName.exec(fn) || [])[1];
1888
+
1889
+ if ( name ) {
1890
+ ret += " " + name;
1891
+ }
1892
+ ret += "( ";
1893
+
1894
+ ret = [ ret, QUnit.jsDump.parse( fn, "functionArgs" ), "){" ].join( "" );
1895
+ return join( ret, QUnit.jsDump.parse(fn,"functionCode" ), "}" );
1896
+ },
1897
+ array: array,
1898
+ nodelist: array,
1899
+ "arguments": array,
1900
+ object: function( map, stack ) {
1901
+ var ret = [ ], keys, key, val, i;
1902
+ QUnit.jsDump.up();
1903
+ keys = [];
1904
+ for ( key in map ) {
1905
+ keys.push( key );
1906
+ }
1907
+ keys.sort();
1908
+ for ( i = 0; i < keys.length; i++ ) {
1909
+ key = keys[ i ];
1910
+ val = map[ key ];
1911
+ ret.push( QUnit.jsDump.parse( key, "key" ) + ": " + QUnit.jsDump.parse( val, undefined, stack ) );
1912
+ }
1913
+ QUnit.jsDump.down();
1914
+ return join( "{", ret, "}" );
1915
+ },
1916
+ node: function( node ) {
1917
+ var len, i, val,
1918
+ open = QUnit.jsDump.HTML ? "&lt;" : "<",
1919
+ close = QUnit.jsDump.HTML ? "&gt;" : ">",
1920
+ tag = node.nodeName.toLowerCase(),
1921
+ ret = open + tag,
1922
+ attrs = node.attributes;
1923
+
1924
+ if ( attrs ) {
1925
+ for ( i = 0, len = attrs.length; i < len; i++ ) {
1926
+ val = attrs[i].nodeValue;
1927
+ // IE6 includes all attributes in .attributes, even ones not explicitly set.
1928
+ // Those have values like undefined, null, 0, false, "" or "inherit".
1929
+ if ( val && val !== "inherit" ) {
1930
+ ret += " " + attrs[i].nodeName + "=" + QUnit.jsDump.parse( val, "attribute" );
1931
+ }
1932
+ }
1933
+ }
1934
+ ret += close;
1935
+
1936
+ // Show content of TextNode or CDATASection
1937
+ if ( node.nodeType === 3 || node.nodeType === 4 ) {
1938
+ ret += node.nodeValue;
1939
+ }
1940
+
1941
+ return ret + open + "/" + tag + close;
1942
+ },
1943
+ // function calls it internally, it's the arguments part of the function
1944
+ functionArgs: function( fn ) {
1945
+ var args,
1946
+ l = fn.length;
1947
+
1948
+ if ( !l ) {
1949
+ return "";
1950
+ }
1951
+
1952
+ args = new Array(l);
1953
+ while ( l-- ) {
1954
+ // 97 is 'a'
1955
+ args[l] = String.fromCharCode(97+l);
1956
+ }
1957
+ return " " + args.join( ", " ) + " ";
1958
+ },
1959
+ // object calls it internally, the key part of an item in a map
1960
+ key: quote,
1961
+ // function calls it internally, it's the content of the function
1962
+ functionCode: "[code]",
1963
+ // node calls it internally, it's an html attribute value
1964
+ attribute: quote,
1965
+ string: quote,
1966
+ date: quote,
1967
+ regexp: literal,
1968
+ number: literal,
1969
+ "boolean": literal
1970
+ },
1971
+ // if true, entities are escaped ( <, >, \t, space and \n )
1972
+ HTML: false,
1973
+ // indentation unit
1974
+ indentChar: " ",
1975
+ // if true, items in a collection, are separated by a \n, else just a space.
1976
+ multiline: true
1977
+ };
1978
+
1979
+ return jsDump;
1980
+ }());
1981
+
1982
+ // from jquery.js
1983
+ function inArray( elem, array ) {
1984
+ if ( array.indexOf ) {
1985
+ return array.indexOf( elem );
1986
+ }
1987
+
1988
+ for ( var i = 0, length = array.length; i < length; i++ ) {
1989
+ if ( array[ i ] === elem ) {
1990
+ return i;
1991
+ }
1992
+ }
1993
+
1994
+ return -1;
1995
+ }
1996
+
1997
+ /*
1998
+ * Javascript Diff Algorithm
1999
+ * By John Resig (http://ejohn.org/)
2000
+ * Modified by Chu Alan "sprite"
2001
+ *
2002
+ * Released under the MIT license.
2003
+ *
2004
+ * More Info:
2005
+ * http://ejohn.org/projects/javascript-diff-algorithm/
2006
+ *
2007
+ * Usage: QUnit.diff(expected, actual)
2008
+ *
2009
+ * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over"
2010
+ */
2011
+ QUnit.diff = (function() {
2012
+ /*jshint eqeqeq:false, eqnull:true */
2013
+ function diff( o, n ) {
2014
+ var i,
2015
+ ns = {},
2016
+ os = {};
2017
+
2018
+ for ( i = 0; i < n.length; i++ ) {
2019
+ if ( !hasOwn.call( ns, n[i] ) ) {
2020
+ ns[ n[i] ] = {
2021
+ rows: [],
2022
+ o: null
2023
+ };
2024
+ }
2025
+ ns[ n[i] ].rows.push( i );
2026
+ }
2027
+
2028
+ for ( i = 0; i < o.length; i++ ) {
2029
+ if ( !hasOwn.call( os, o[i] ) ) {
2030
+ os[ o[i] ] = {
2031
+ rows: [],
2032
+ n: null
2033
+ };
2034
+ }
2035
+ os[ o[i] ].rows.push( i );
2036
+ }
2037
+
2038
+ for ( i in ns ) {
2039
+ if ( !hasOwn.call( ns, i ) ) {
2040
+ continue;
2041
+ }
2042
+ if ( ns[i].rows.length === 1 && hasOwn.call( os, i ) && os[i].rows.length === 1 ) {
2043
+ n[ ns[i].rows[0] ] = {
2044
+ text: n[ ns[i].rows[0] ],
2045
+ row: os[i].rows[0]
2046
+ };
2047
+ o[ os[i].rows[0] ] = {
2048
+ text: o[ os[i].rows[0] ],
2049
+ row: ns[i].rows[0]
2050
+ };
2051
+ }
2052
+ }
2053
+
2054
+ for ( i = 0; i < n.length - 1; i++ ) {
2055
+ if ( n[i].text != null && n[ i + 1 ].text == null && n[i].row + 1 < o.length && o[ n[i].row + 1 ].text == null &&
2056
+ n[ i + 1 ] == o[ n[i].row + 1 ] ) {
2057
+
2058
+ n[ i + 1 ] = {
2059
+ text: n[ i + 1 ],
2060
+ row: n[i].row + 1
2061
+ };
2062
+ o[ n[i].row + 1 ] = {
2063
+ text: o[ n[i].row + 1 ],
2064
+ row: i + 1
2065
+ };
2066
+ }
2067
+ }
2068
+
2069
+ for ( i = n.length - 1; i > 0; i-- ) {
2070
+ if ( n[i].text != null && n[ i - 1 ].text == null && n[i].row > 0 && o[ n[i].row - 1 ].text == null &&
2071
+ n[ i - 1 ] == o[ n[i].row - 1 ]) {
2072
+
2073
+ n[ i - 1 ] = {
2074
+ text: n[ i - 1 ],
2075
+ row: n[i].row - 1
2076
+ };
2077
+ o[ n[i].row - 1 ] = {
2078
+ text: o[ n[i].row - 1 ],
2079
+ row: i - 1
2080
+ };
2081
+ }
2082
+ }
2083
+
2084
+ return {
2085
+ o: o,
2086
+ n: n
2087
+ };
2088
+ }
2089
+
2090
+ return function( o, n ) {
2091
+ o = o.replace( /\s+$/, "" );
2092
+ n = n.replace( /\s+$/, "" );
2093
+
2094
+ var i, pre,
2095
+ str = "",
2096
+ out = diff( o === "" ? [] : o.split(/\s+/), n === "" ? [] : n.split(/\s+/) ),
2097
+ oSpace = o.match(/\s+/g),
2098
+ nSpace = n.match(/\s+/g);
2099
+
2100
+ if ( oSpace == null ) {
2101
+ oSpace = [ " " ];
2102
+ }
2103
+ else {
2104
+ oSpace.push( " " );
2105
+ }
2106
+
2107
+ if ( nSpace == null ) {
2108
+ nSpace = [ " " ];
2109
+ }
2110
+ else {
2111
+ nSpace.push( " " );
2112
+ }
2113
+
2114
+ if ( out.n.length === 0 ) {
2115
+ for ( i = 0; i < out.o.length; i++ ) {
2116
+ str += "<del>" + out.o[i] + oSpace[i] + "</del>";
2117
+ }
2118
+ }
2119
+ else {
2120
+ if ( out.n[0].text == null ) {
2121
+ for ( n = 0; n < out.o.length && out.o[n].text == null; n++ ) {
2122
+ str += "<del>" + out.o[n] + oSpace[n] + "</del>";
2123
+ }
2124
+ }
2125
+
2126
+ for ( i = 0; i < out.n.length; i++ ) {
2127
+ if (out.n[i].text == null) {
2128
+ str += "<ins>" + out.n[i] + nSpace[i] + "</ins>";
2129
+ }
2130
+ else {
2131
+ // `pre` initialized at top of scope
2132
+ pre = "";
2133
+
2134
+ for ( n = out.n[i].row + 1; n < out.o.length && out.o[n].text == null; n++ ) {
2135
+ pre += "<del>" + out.o[n] + oSpace[n] + "</del>";
2136
+ }
2137
+ str += " " + out.n[i].text + nSpace[i] + pre;
2138
+ }
2139
+ }
2140
+ }
2141
+
2142
+ return str;
2143
+ };
2144
+ }());
2145
+
2146
+ // for CommonJS enviroments, export everything
2147
+ if ( typeof exports !== "undefined" ) {
2148
+ extend( exports, QUnit );
2149
+ }
2150
+
2151
+ // get at whatever the global object is, like window in browsers
2152
+ }( (function() {return this;}.call()) ));