stump-cli 0.1.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1243) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/README.md +9 -5
  4. data/bin/stump-cli +77 -27
  5. data/lib/{wp/.gitignore → .gitignore.erb} +2 -2
  6. data/lib/stump-cli/version.rb +1 -1
  7. data/lib/style.erb +11 -0
  8. data/stump-cli.gemspec +2 -0
  9. metadata +56 -1268
  10. data/lib/wp/Movefile-example +0 -62
  11. data/lib/wp/README.md +0 -25
  12. data/lib/wp/index.php +0 -17
  13. data/lib/wp/license.txt +0 -385
  14. data/lib/wp/readme.html +0 -96
  15. data/lib/wp/wp-activate.php +0 -131
  16. data/lib/wp/wp-admin/about.php +0 -193
  17. data/lib/wp/wp-admin/admin-ajax.php +0 -98
  18. data/lib/wp/wp-admin/admin-footer.php +0 -99
  19. data/lib/wp/wp-admin/admin-functions.php +0 -15
  20. data/lib/wp/wp-admin/admin-header.php +0 -243
  21. data/lib/wp/wp-admin/admin-post.php +0 -71
  22. data/lib/wp/wp-admin/admin.php +0 -347
  23. data/lib/wp/wp-admin/async-upload.php +0 -114
  24. data/lib/wp/wp-admin/comment.php +0 -299
  25. data/lib/wp/wp-admin/credits.php +0 -192
  26. data/lib/wp/wp-admin/css/about-rtl.css +0 -446
  27. data/lib/wp/wp-admin/css/about.css +0 -446
  28. data/lib/wp/wp-admin/css/admin-menu-rtl.css +0 -917
  29. data/lib/wp/wp-admin/css/admin-menu.css +0 -917
  30. data/lib/wp/wp-admin/css/color-picker-rtl.css +0 -127
  31. data/lib/wp/wp-admin/css/color-picker-rtl.min.css +0 -1
  32. data/lib/wp/wp-admin/css/color-picker.css +0 -127
  33. data/lib/wp/wp-admin/css/color-picker.min.css +0 -1
  34. data/lib/wp/wp-admin/css/colors/_admin.scss +0 -525
  35. data/lib/wp/wp-admin/css/colors/_mixins.scss +0 -43
  36. data/lib/wp/wp-admin/css/colors/_variables.scss +0 -58
  37. data/lib/wp/wp-admin/css/colors/blue/colors-rtl.css +0 -341
  38. data/lib/wp/wp-admin/css/colors/blue/colors-rtl.min.css +0 -1
  39. data/lib/wp/wp-admin/css/colors/blue/colors.css +0 -341
  40. data/lib/wp/wp-admin/css/colors/blue/colors.min.css +0 -1
  41. data/lib/wp/wp-admin/css/colors/blue/colors.scss +0 -11
  42. data/lib/wp/wp-admin/css/colors/coffee/colors-rtl.css +0 -341
  43. data/lib/wp/wp-admin/css/colors/coffee/colors-rtl.min.css +0 -1
  44. data/lib/wp/wp-admin/css/colors/coffee/colors.css +0 -341
  45. data/lib/wp/wp-admin/css/colors/coffee/colors.min.css +0 -1
  46. data/lib/wp/wp-admin/css/colors/coffee/colors.scss +0 -7
  47. data/lib/wp/wp-admin/css/colors/ectoplasm/colors-rtl.css +0 -341
  48. data/lib/wp/wp-admin/css/colors/ectoplasm/colors-rtl.min.css +0 -1
  49. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.css +0 -341
  50. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.min.css +0 -1
  51. data/lib/wp/wp-admin/css/colors/ectoplasm/colors.scss +0 -8
  52. data/lib/wp/wp-admin/css/colors/light/colors-rtl.css +0 -349
  53. data/lib/wp/wp-admin/css/colors/light/colors-rtl.min.css +0 -1
  54. data/lib/wp/wp-admin/css/colors/light/colors.css +0 -349
  55. data/lib/wp/wp-admin/css/colors/light/colors.min.css +0 -1
  56. data/lib/wp/wp-admin/css/colors/light/colors.scss +0 -38
  57. data/lib/wp/wp-admin/css/colors/midnight/colors-rtl.css +0 -341
  58. data/lib/wp/wp-admin/css/colors/midnight/colors-rtl.min.css +0 -1
  59. data/lib/wp/wp-admin/css/colors/midnight/colors.css +0 -341
  60. data/lib/wp/wp-admin/css/colors/midnight/colors.min.css +0 -1
  61. data/lib/wp/wp-admin/css/colors/midnight/colors.scss +0 -5
  62. data/lib/wp/wp-admin/css/colors/ocean/colors-rtl.css +0 -341
  63. data/lib/wp/wp-admin/css/colors/ocean/colors-rtl.min.css +0 -1
  64. data/lib/wp/wp-admin/css/colors/ocean/colors.css +0 -341
  65. data/lib/wp/wp-admin/css/colors/ocean/colors.min.css +0 -1
  66. data/lib/wp/wp-admin/css/colors/ocean/colors.scss +0 -8
  67. data/lib/wp/wp-admin/css/colors/sunrise/colors-rtl.css +0 -341
  68. data/lib/wp/wp-admin/css/colors/sunrise/colors-rtl.min.css +0 -1
  69. data/lib/wp/wp-admin/css/colors/sunrise/colors.css +0 -341
  70. data/lib/wp/wp-admin/css/colors/sunrise/colors.min.css +0 -1
  71. data/lib/wp/wp-admin/css/colors/sunrise/colors.scss +0 -6
  72. data/lib/wp/wp-admin/css/common-rtl.css +0 -3212
  73. data/lib/wp/wp-admin/css/common.css +0 -3212
  74. data/lib/wp/wp-admin/css/customize-controls-rtl.css +0 -889
  75. data/lib/wp/wp-admin/css/customize-controls-rtl.min.css +0 -1
  76. data/lib/wp/wp-admin/css/customize-controls.css +0 -889
  77. data/lib/wp/wp-admin/css/customize-controls.min.css +0 -1
  78. data/lib/wp/wp-admin/css/customize-widgets-rtl.css +0 -603
  79. data/lib/wp/wp-admin/css/customize-widgets-rtl.min.css +0 -1
  80. data/lib/wp/wp-admin/css/customize-widgets.css +0 -603
  81. data/lib/wp/wp-admin/css/customize-widgets.min.css +0 -1
  82. data/lib/wp/wp-admin/css/dashboard-rtl.css +0 -1116
  83. data/lib/wp/wp-admin/css/dashboard.css +0 -1116
  84. data/lib/wp/wp-admin/css/deprecated-media-rtl.css +0 -371
  85. data/lib/wp/wp-admin/css/deprecated-media-rtl.min.css +0 -1
  86. data/lib/wp/wp-admin/css/deprecated-media.css +0 -371
  87. data/lib/wp/wp-admin/css/deprecated-media.min.css +0 -1
  88. data/lib/wp/wp-admin/css/edit-rtl.css +0 -1501
  89. data/lib/wp/wp-admin/css/edit.css +0 -1501
  90. data/lib/wp/wp-admin/css/farbtastic-rtl.css +0 -41
  91. data/lib/wp/wp-admin/css/farbtastic.css +0 -41
  92. data/lib/wp/wp-admin/css/forms-rtl.css +0 -992
  93. data/lib/wp/wp-admin/css/forms.css +0 -992
  94. data/lib/wp/wp-admin/css/ie-rtl.css +0 -785
  95. data/lib/wp/wp-admin/css/ie-rtl.min.css +0 -1
  96. data/lib/wp/wp-admin/css/ie.css +0 -785
  97. data/lib/wp/wp-admin/css/ie.min.css +0 -1
  98. data/lib/wp/wp-admin/css/install-rtl.css +0 -389
  99. data/lib/wp/wp-admin/css/install-rtl.min.css +0 -1
  100. data/lib/wp/wp-admin/css/install.css +0 -389
  101. data/lib/wp/wp-admin/css/install.min.css +0 -1
  102. data/lib/wp/wp-admin/css/l10n-rtl.css +0 -101
  103. data/lib/wp/wp-admin/css/l10n.css +0 -101
  104. data/lib/wp/wp-admin/css/list-tables-rtl.css +0 -1875
  105. data/lib/wp/wp-admin/css/list-tables.css +0 -1875
  106. data/lib/wp/wp-admin/css/login-rtl.css +0 -269
  107. data/lib/wp/wp-admin/css/login-rtl.min.css +0 -1
  108. data/lib/wp/wp-admin/css/login.css +0 -269
  109. data/lib/wp/wp-admin/css/login.min.css +0 -1
  110. data/lib/wp/wp-admin/css/media-rtl.css +0 -1196
  111. data/lib/wp/wp-admin/css/media.css +0 -1196
  112. data/lib/wp/wp-admin/css/nav-menus-rtl.css +0 -857
  113. data/lib/wp/wp-admin/css/nav-menus.css +0 -857
  114. data/lib/wp/wp-admin/css/press-this-rtl.css +0 -458
  115. data/lib/wp/wp-admin/css/press-this.css +0 -458
  116. data/lib/wp/wp-admin/css/revisions-rtl.css +0 -574
  117. data/lib/wp/wp-admin/css/revisions.css +0 -574
  118. data/lib/wp/wp-admin/css/themes-rtl.css +0 -1732
  119. data/lib/wp/wp-admin/css/themes.css +0 -1732
  120. data/lib/wp/wp-admin/css/widgets-rtl.css +0 -577
  121. data/lib/wp/wp-admin/css/widgets.css +0 -577
  122. data/lib/wp/wp-admin/css/wp-admin-rtl.css +0 -14
  123. data/lib/wp/wp-admin/css/wp-admin-rtl.min.css +0 -1
  124. data/lib/wp/wp-admin/css/wp-admin.css +0 -14
  125. data/lib/wp/wp-admin/css/wp-admin.min.css +0 -1
  126. data/lib/wp/wp-admin/custom-background.php +0 -482
  127. data/lib/wp/wp-admin/custom-header.php +0 -1366
  128. data/lib/wp/wp-admin/customize.php +0 -278
  129. data/lib/wp/wp-admin/edit-comments.php +0 -254
  130. data/lib/wp/wp-admin/edit-form-advanced.php +0 -636
  131. data/lib/wp/wp-admin/edit-form-comment.php +0 -160
  132. data/lib/wp/wp-admin/edit-link-form.php +0 -150
  133. data/lib/wp/wp-admin/edit-tag-form.php +0 -204
  134. data/lib/wp/wp-admin/edit-tags.php +0 -591
  135. data/lib/wp/wp-admin/edit.php +0 -330
  136. data/lib/wp/wp-admin/export.php +0 -243
  137. data/lib/wp/wp-admin/freedoms.php +0 -57
  138. data/lib/wp/wp-admin/images/align-center-2x.png +0 -0
  139. data/lib/wp/wp-admin/images/align-center.png +0 -0
  140. data/lib/wp/wp-admin/images/align-left-2x.png +0 -0
  141. data/lib/wp/wp-admin/images/align-left.png +0 -0
  142. data/lib/wp/wp-admin/images/align-none-2x.png +0 -0
  143. data/lib/wp/wp-admin/images/align-none.png +0 -0
  144. data/lib/wp/wp-admin/images/align-right-2x.png +0 -0
  145. data/lib/wp/wp-admin/images/align-right.png +0 -0
  146. data/lib/wp/wp-admin/images/arrows-2x.png +0 -0
  147. data/lib/wp/wp-admin/images/arrows.png +0 -0
  148. data/lib/wp/wp-admin/images/bubble_bg-2x.gif +0 -0
  149. data/lib/wp/wp-admin/images/bubble_bg.gif +0 -0
  150. data/lib/wp/wp-admin/images/comment-grey-bubble-2x.png +0 -0
  151. data/lib/wp/wp-admin/images/comment-grey-bubble.png +0 -0
  152. data/lib/wp/wp-admin/images/date-button-2x.gif +0 -0
  153. data/lib/wp/wp-admin/images/date-button.gif +0 -0
  154. data/lib/wp/wp-admin/images/generic.png +0 -0
  155. data/lib/wp/wp-admin/images/icons32-2x.png +0 -0
  156. data/lib/wp/wp-admin/images/icons32-vs-2x.png +0 -0
  157. data/lib/wp/wp-admin/images/icons32-vs.png +0 -0
  158. data/lib/wp/wp-admin/images/icons32.png +0 -0
  159. data/lib/wp/wp-admin/images/imgedit-icons-2x.png +0 -0
  160. data/lib/wp/wp-admin/images/imgedit-icons.png +0 -0
  161. data/lib/wp/wp-admin/images/list-2x.png +0 -0
  162. data/lib/wp/wp-admin/images/list.png +0 -0
  163. data/lib/wp/wp-admin/images/loading.gif +0 -0
  164. data/lib/wp/wp-admin/images/marker.png +0 -0
  165. data/lib/wp/wp-admin/images/mask.png +0 -0
  166. data/lib/wp/wp-admin/images/media-button-2x.png +0 -0
  167. data/lib/wp/wp-admin/images/media-button-image.gif +0 -0
  168. data/lib/wp/wp-admin/images/media-button-music.gif +0 -0
  169. data/lib/wp/wp-admin/images/media-button-other.gif +0 -0
  170. data/lib/wp/wp-admin/images/media-button-video.gif +0 -0
  171. data/lib/wp/wp-admin/images/media-button.png +0 -0
  172. data/lib/wp/wp-admin/images/menu-2x.png +0 -0
  173. data/lib/wp/wp-admin/images/menu-vs-2x.png +0 -0
  174. data/lib/wp/wp-admin/images/menu-vs.png +0 -0
  175. data/lib/wp/wp-admin/images/menu.png +0 -0
  176. data/lib/wp/wp-admin/images/no.png +0 -0
  177. data/lib/wp/wp-admin/images/post-formats-vs.png +0 -0
  178. data/lib/wp/wp-admin/images/post-formats.png +0 -0
  179. data/lib/wp/wp-admin/images/post-formats32-vs.png +0 -0
  180. data/lib/wp/wp-admin/images/post-formats32.png +0 -0
  181. data/lib/wp/wp-admin/images/resize-2x.gif +0 -0
  182. data/lib/wp/wp-admin/images/resize-rtl-2x.gif +0 -0
  183. data/lib/wp/wp-admin/images/resize-rtl.gif +0 -0
  184. data/lib/wp/wp-admin/images/resize.gif +0 -0
  185. data/lib/wp/wp-admin/images/se.png +0 -0
  186. data/lib/wp/wp-admin/images/sort-2x.gif +0 -0
  187. data/lib/wp/wp-admin/images/sort.gif +0 -0
  188. data/lib/wp/wp-admin/images/spinner-2x.gif +0 -0
  189. data/lib/wp/wp-admin/images/spinner.gif +0 -0
  190. data/lib/wp/wp-admin/images/stars-2x.png +0 -0
  191. data/lib/wp/wp-admin/images/stars.png +0 -0
  192. data/lib/wp/wp-admin/images/w-logo-blue.png +0 -0
  193. data/lib/wp/wp-admin/images/w-logo-white.png +0 -0
  194. data/lib/wp/wp-admin/images/wheel.png +0 -0
  195. data/lib/wp/wp-admin/images/wordpress-logo-white.svg +0 -1
  196. data/lib/wp/wp-admin/images/wordpress-logo.png +0 -0
  197. data/lib/wp/wp-admin/images/wordpress-logo.svg +0 -1
  198. data/lib/wp/wp-admin/images/wpspin_light-2x.gif +0 -0
  199. data/lib/wp/wp-admin/images/wpspin_light.gif +0 -0
  200. data/lib/wp/wp-admin/images/xit-2x.gif +0 -0
  201. data/lib/wp/wp-admin/images/xit.gif +0 -0
  202. data/lib/wp/wp-admin/images/yes.png +0 -0
  203. data/lib/wp/wp-admin/import.php +0 -132
  204. data/lib/wp/wp-admin/includes/admin.php +0 -74
  205. data/lib/wp/wp-admin/includes/ajax-actions.php +0 -2762
  206. data/lib/wp/wp-admin/includes/bookmark.php +0 -305
  207. data/lib/wp/wp-admin/includes/class-ftp-pure.php +0 -190
  208. data/lib/wp/wp-admin/includes/class-ftp-sockets.php +0 -250
  209. data/lib/wp/wp-admin/includes/class-ftp.php +0 -907
  210. data/lib/wp/wp-admin/includes/class-pclzip.php +0 -5687
  211. data/lib/wp/wp-admin/includes/class-wp-comments-list-table.php +0 -637
  212. data/lib/wp/wp-admin/includes/class-wp-filesystem-base.php +0 -815
  213. data/lib/wp/wp-admin/includes/class-wp-filesystem-direct.php +0 -384
  214. data/lib/wp/wp-admin/includes/class-wp-filesystem-ftpext.php +0 -415
  215. data/lib/wp/wp-admin/includes/class-wp-filesystem-ftpsockets.php +0 -352
  216. data/lib/wp/wp-admin/includes/class-wp-filesystem-ssh2.php +0 -392
  217. data/lib/wp/wp-admin/includes/class-wp-importer.php +0 -302
  218. data/lib/wp/wp-admin/includes/class-wp-links-list-table.php +0 -207
  219. data/lib/wp/wp-admin/includes/class-wp-list-table.php +0 -1080
  220. data/lib/wp/wp-admin/includes/class-wp-media-list-table.php +0 -574
  221. data/lib/wp/wp-admin/includes/class-wp-ms-sites-list-table.php +0 -402
  222. data/lib/wp/wp-admin/includes/class-wp-ms-themes-list-table.php +0 -459
  223. data/lib/wp/wp-admin/includes/class-wp-ms-users-list-table.php +0 -303
  224. data/lib/wp/wp-admin/includes/class-wp-plugin-install-list-table.php +0 -490
  225. data/lib/wp/wp-admin/includes/class-wp-plugins-list-table.php +0 -605
  226. data/lib/wp/wp-admin/includes/class-wp-posts-list-table.php +0 -1306
  227. data/lib/wp/wp-admin/includes/class-wp-terms-list-table.php +0 -466
  228. data/lib/wp/wp-admin/includes/class-wp-theme-install-list-table.php +0 -431
  229. data/lib/wp/wp-admin/includes/class-wp-themes-list-table.php +0 -279
  230. data/lib/wp/wp-admin/includes/class-wp-upgrader-skins.php +0 -767
  231. data/lib/wp/wp-admin/includes/class-wp-upgrader.php +0 -2676
  232. data/lib/wp/wp-admin/includes/class-wp-users-list-table.php +0 -459
  233. data/lib/wp/wp-admin/includes/comment.php +0 -171
  234. data/lib/wp/wp-admin/includes/continents-cities.php +0 -493
  235. data/lib/wp/wp-admin/includes/dashboard.php +0 -1333
  236. data/lib/wp/wp-admin/includes/deprecated.php +0 -1190
  237. data/lib/wp/wp-admin/includes/export.php +0 -508
  238. data/lib/wp/wp-admin/includes/file.php +0 -1152
  239. data/lib/wp/wp-admin/includes/image-edit.php +0 -828
  240. data/lib/wp/wp-admin/includes/image.php +0 -598
  241. data/lib/wp/wp-admin/includes/import.php +0 -206
  242. data/lib/wp/wp-admin/includes/list-table.php +0 -113
  243. data/lib/wp/wp-admin/includes/media.php +0 -3012
  244. data/lib/wp/wp-admin/includes/menu.php +0 -322
  245. data/lib/wp/wp-admin/includes/meta-boxes.php +0 -1119
  246. data/lib/wp/wp-admin/includes/misc.php +0 -845
  247. data/lib/wp/wp-admin/includes/ms-deprecated.php +0 -78
  248. data/lib/wp/wp-admin/includes/ms.php +0 -814
  249. data/lib/wp/wp-admin/includes/nav-menu.php +0 -1328
  250. data/lib/wp/wp-admin/includes/plugin-install.php +0 -550
  251. data/lib/wp/wp-admin/includes/plugin.php +0 -1899
  252. data/lib/wp/wp-admin/includes/post.php +0 -1661
  253. data/lib/wp/wp-admin/includes/revision.php +0 -228
  254. data/lib/wp/wp-admin/includes/schema.php +0 -1038
  255. data/lib/wp/wp-admin/includes/screen.php +0 -1179
  256. data/lib/wp/wp-admin/includes/taxonomy.php +0 -284
  257. data/lib/wp/wp-admin/includes/template.php +0 -2157
  258. data/lib/wp/wp-admin/includes/theme-install.php +0 -205
  259. data/lib/wp/wp-admin/includes/theme.php +0 -474
  260. data/lib/wp/wp-admin/includes/translation-install.php +0 -240
  261. data/lib/wp/wp-admin/includes/update-core.php +0 -1186
  262. data/lib/wp/wp-admin/includes/update.php +0 -432
  263. data/lib/wp/wp-admin/includes/upgrade.php +0 -2218
  264. data/lib/wp/wp-admin/includes/user.php +0 -442
  265. data/lib/wp/wp-admin/includes/widgets.php +0 -245
  266. data/lib/wp/wp-admin/index.php +0 -131
  267. data/lib/wp/wp-admin/install-helper.php +0 -199
  268. data/lib/wp/wp-admin/install.php +0 -305
  269. data/lib/wp/wp-admin/js/accordion.js +0 -143
  270. data/lib/wp/wp-admin/js/accordion.min.js +0 -1
  271. data/lib/wp/wp-admin/js/color-picker.js +0 -155
  272. data/lib/wp/wp-admin/js/color-picker.min.js +0 -1
  273. data/lib/wp/wp-admin/js/comment.js +0 -50
  274. data/lib/wp/wp-admin/js/comment.min.js +0 -1
  275. data/lib/wp/wp-admin/js/common.js +0 -804
  276. data/lib/wp/wp-admin/js/common.min.js +0 -1
  277. data/lib/wp/wp-admin/js/custom-background.js +0 -75
  278. data/lib/wp/wp-admin/js/custom-background.min.js +0 -1
  279. data/lib/wp/wp-admin/js/custom-header.js +0 -61
  280. data/lib/wp/wp-admin/js/customize-controls.js +0 -1305
  281. data/lib/wp/wp-admin/js/customize-controls.min.js +0 -1
  282. data/lib/wp/wp-admin/js/customize-widgets.js +0 -1882
  283. data/lib/wp/wp-admin/js/customize-widgets.min.js +0 -1
  284. data/lib/wp/wp-admin/js/dashboard.js +0 -190
  285. data/lib/wp/wp-admin/js/dashboard.min.js +0 -1
  286. data/lib/wp/wp-admin/js/edit-comments.js +0 -625
  287. data/lib/wp/wp-admin/js/edit-comments.min.js +0 -1
  288. data/lib/wp/wp-admin/js/editor-expand.js +0 -705
  289. data/lib/wp/wp-admin/js/editor-expand.min.js +0 -1
  290. data/lib/wp/wp-admin/js/editor.js +0 -324
  291. data/lib/wp/wp-admin/js/editor.min.js +0 -1
  292. data/lib/wp/wp-admin/js/farbtastic.js +0 -276
  293. data/lib/wp/wp-admin/js/gallery.js +0 -237
  294. data/lib/wp/wp-admin/js/gallery.min.js +0 -1
  295. data/lib/wp/wp-admin/js/image-edit.js +0 -633
  296. data/lib/wp/wp-admin/js/image-edit.min.js +0 -1
  297. data/lib/wp/wp-admin/js/inline-edit-post.js +0 -359
  298. data/lib/wp/wp-admin/js/inline-edit-post.min.js +0 -1
  299. data/lib/wp/wp-admin/js/inline-edit-tax.js +0 -142
  300. data/lib/wp/wp-admin/js/inline-edit-tax.min.js +0 -1
  301. data/lib/wp/wp-admin/js/iris.min.js +0 -4
  302. data/lib/wp/wp-admin/js/language-chooser.js +0 -26
  303. data/lib/wp/wp-admin/js/language-chooser.min.js +0 -1
  304. data/lib/wp/wp-admin/js/link.js +0 -69
  305. data/lib/wp/wp-admin/js/link.min.js +0 -1
  306. data/lib/wp/wp-admin/js/media-gallery.js +0 -26
  307. data/lib/wp/wp-admin/js/media-gallery.min.js +0 -1
  308. data/lib/wp/wp-admin/js/media-upload.js +0 -69
  309. data/lib/wp/wp-admin/js/media-upload.min.js +0 -1
  310. data/lib/wp/wp-admin/js/media.js +0 -111
  311. data/lib/wp/wp-admin/js/media.min.js +0 -1
  312. data/lib/wp/wp-admin/js/nav-menu.js +0 -1205
  313. data/lib/wp/wp-admin/js/nav-menu.min.js +0 -1
  314. data/lib/wp/wp-admin/js/password-strength-meter.js +0 -75
  315. data/lib/wp/wp-admin/js/password-strength-meter.min.js +0 -1
  316. data/lib/wp/wp-admin/js/plugin-install.js +0 -76
  317. data/lib/wp/wp-admin/js/plugin-install.min.js +0 -1
  318. data/lib/wp/wp-admin/js/post.js +0 -1094
  319. data/lib/wp/wp-admin/js/post.min.js +0 -1
  320. data/lib/wp/wp-admin/js/postbox.js +0 -199
  321. data/lib/wp/wp-admin/js/postbox.min.js +0 -1
  322. data/lib/wp/wp-admin/js/revisions.js +0 -1110
  323. data/lib/wp/wp-admin/js/revisions.min.js +0 -1
  324. data/lib/wp/wp-admin/js/set-post-thumbnail.js +0 -24
  325. data/lib/wp/wp-admin/js/set-post-thumbnail.min.js +0 -1
  326. data/lib/wp/wp-admin/js/svg-painter.js +0 -240
  327. data/lib/wp/wp-admin/js/svg-painter.min.js +0 -1
  328. data/lib/wp/wp-admin/js/tags.js +0 -72
  329. data/lib/wp/wp-admin/js/tags.min.js +0 -1
  330. data/lib/wp/wp-admin/js/theme.js +0 -1691
  331. data/lib/wp/wp-admin/js/theme.min.js +0 -1
  332. data/lib/wp/wp-admin/js/updates.js +0 -65
  333. data/lib/wp/wp-admin/js/updates.min.js +0 -1
  334. data/lib/wp/wp-admin/js/user-profile.js +0 -127
  335. data/lib/wp/wp-admin/js/user-profile.min.js +0 -1
  336. data/lib/wp/wp-admin/js/user-suggest.js +0 -30
  337. data/lib/wp/wp-admin/js/user-suggest.min.js +0 -1
  338. data/lib/wp/wp-admin/js/widgets.js +0 -494
  339. data/lib/wp/wp-admin/js/widgets.min.js +0 -1
  340. data/lib/wp/wp-admin/js/word-count.js +0 -44
  341. data/lib/wp/wp-admin/js/word-count.min.js +0 -1
  342. data/lib/wp/wp-admin/js/wp-fullscreen.js +0 -704
  343. data/lib/wp/wp-admin/js/wp-fullscreen.min.js +0 -1
  344. data/lib/wp/wp-admin/js/xfn.js +0 -17
  345. data/lib/wp/wp-admin/js/xfn.min.js +0 -1
  346. data/lib/wp/wp-admin/link-add.php +0 -29
  347. data/lib/wp/wp-admin/link-manager.php +0 -99
  348. data/lib/wp/wp-admin/link-parse-opml.php +0 -84
  349. data/lib/wp/wp-admin/link.php +0 -117
  350. data/lib/wp/wp-admin/load-scripts.php +0 -162
  351. data/lib/wp/wp-admin/load-styles.php +0 -153
  352. data/lib/wp/wp-admin/maint/repair.php +0 -124
  353. data/lib/wp/wp-admin/media-new.php +0 -84
  354. data/lib/wp/wp-admin/media-upload.php +0 -100
  355. data/lib/wp/wp-admin/media.php +0 -146
  356. data/lib/wp/wp-admin/menu-header.php +0 -227
  357. data/lib/wp/wp-admin/menu.php +0 -255
  358. data/lib/wp/wp-admin/moderation.php +0 -12
  359. data/lib/wp/wp-admin/ms-admin.php +0 -13
  360. data/lib/wp/wp-admin/ms-delete-site.php +0 -91
  361. data/lib/wp/wp-admin/ms-edit.php +0 -13
  362. data/lib/wp/wp-admin/ms-options.php +0 -12
  363. data/lib/wp/wp-admin/ms-sites.php +0 -13
  364. data/lib/wp/wp-admin/ms-themes.php +0 -13
  365. data/lib/wp/wp-admin/ms-upgrade-network.php +0 -13
  366. data/lib/wp/wp-admin/ms-users.php +0 -13
  367. data/lib/wp/wp-admin/my-sites.php +0 -145
  368. data/lib/wp/wp-admin/nav-menus.php +0 -798
  369. data/lib/wp/wp-admin/network.php +0 -561
  370. data/lib/wp/wp-admin/network/about.php +0 -16
  371. data/lib/wp/wp-admin/network/admin.php +0 -32
  372. data/lib/wp/wp-admin/network/credits.php +0 -16
  373. data/lib/wp/wp-admin/network/edit.php +0 -42
  374. data/lib/wp/wp-admin/network/freedoms.php +0 -16
  375. data/lib/wp/wp-admin/network/index.php +0 -79
  376. data/lib/wp/wp-admin/network/menu.php +0 -63
  377. data/lib/wp/wp-admin/network/plugin-editor.php +0 -16
  378. data/lib/wp/wp-admin/network/plugin-install.php +0 -19
  379. data/lib/wp/wp-admin/network/plugins.php +0 -16
  380. data/lib/wp/wp-admin/network/profile.php +0 -16
  381. data/lib/wp/wp-admin/network/settings.php +0 -347
  382. data/lib/wp/wp-admin/network/setup.php +0 -16
  383. data/lib/wp/wp-admin/network/site-info.php +0 -178
  384. data/lib/wp/wp-admin/network/site-new.php +0 -153
  385. data/lib/wp/wp-admin/network/site-settings.php +0 -173
  386. data/lib/wp/wp-admin/network/site-themes.php +0 -185
  387. data/lib/wp/wp-admin/network/site-users.php +0 -319
  388. data/lib/wp/wp-admin/network/sites.php +0 -275
  389. data/lib/wp/wp-admin/network/theme-editor.php +0 -16
  390. data/lib/wp/wp-admin/network/theme-install.php +0 -19
  391. data/lib/wp/wp-admin/network/themes.php +0 -291
  392. data/lib/wp/wp-admin/network/update-core.php +0 -16
  393. data/lib/wp/wp-admin/network/update.php +0 -19
  394. data/lib/wp/wp-admin/network/upgrade.php +0 -120
  395. data/lib/wp/wp-admin/network/user-edit.php +0 -16
  396. data/lib/wp/wp-admin/network/user-new.php +0 -106
  397. data/lib/wp/wp-admin/network/users.php +0 -296
  398. data/lib/wp/wp-admin/options-discussion.php +0 -273
  399. data/lib/wp/wp-admin/options-general.php +0 -355
  400. data/lib/wp/wp-admin/options-head.php +0 -18
  401. data/lib/wp/wp-admin/options-media.php +0 -136
  402. data/lib/wp/wp-admin/options-permalink.php +0 -289
  403. data/lib/wp/wp-admin/options-reading.php +0 -184
  404. data/lib/wp/wp-admin/options-writing.php +0 -194
  405. data/lib/wp/wp-admin/options.php +0 -265
  406. data/lib/wp/wp-admin/plugin-editor.php +0 -279
  407. data/lib/wp/wp-admin/plugin-install.php +0 -134
  408. data/lib/wp/wp-admin/plugins.php +0 -474
  409. data/lib/wp/wp-admin/post-new.php +0 -74
  410. data/lib/wp/wp-admin/post.php +0 -318
  411. data/lib/wp/wp-admin/press-this.php +0 -691
  412. data/lib/wp/wp-admin/profile.php +0 -18
  413. data/lib/wp/wp-admin/revision.php +0 -221
  414. data/lib/wp/wp-admin/setup-config.php +0 -345
  415. data/lib/wp/wp-admin/theme-editor.php +0 -243
  416. data/lib/wp/wp-admin/theme-install.php +0 -278
  417. data/lib/wp/wp-admin/themes.php +0 -374
  418. data/lib/wp/wp-admin/tools.php +0 -75
  419. data/lib/wp/wp-admin/update-core.php +0 -653
  420. data/lib/wp/wp-admin/update.php +0 -272
  421. data/lib/wp/wp-admin/upgrade-functions.php +0 -12
  422. data/lib/wp/wp-admin/upgrade.php +0 -116
  423. data/lib/wp/wp-admin/upload.php +0 -292
  424. data/lib/wp/wp-admin/user-edit.php +0 -557
  425. data/lib/wp/wp-admin/user-new.php +0 -439
  426. data/lib/wp/wp-admin/user/about.php +0 -13
  427. data/lib/wp/wp-admin/user/admin.php +0 -32
  428. data/lib/wp/wp-admin/user/credits.php +0 -13
  429. data/lib/wp/wp-admin/user/freedoms.php +0 -13
  430. data/lib/wp/wp-admin/user/index.php +0 -12
  431. data/lib/wp/wp-admin/user/menu.php +0 -22
  432. data/lib/wp/wp-admin/user/profile.php +0 -12
  433. data/lib/wp/wp-admin/user/user-edit.php +0 -12
  434. data/lib/wp/wp-admin/users.php +0 -460
  435. data/lib/wp/wp-admin/widgets.php +0 -442
  436. data/lib/wp/wp-blog-header.php +0 -18
  437. data/lib/wp/wp-comments-post.php +0 -164
  438. data/lib/wp/wp-config-sample.php +0 -80
  439. data/lib/wp/wp-content/index.php +0 -2
  440. data/lib/wp/wp-content/plugins/hello.php +0 -82
  441. data/lib/wp/wp-content/plugins/index.php +0 -2
  442. data/lib/wp/wp-content/themes/index.php +0 -2
  443. data/lib/wp/wp-content/themes/stump/.editorconfig +0 -11
  444. data/lib/wp/wp-content/themes/stump/.jshintrc +0 -16
  445. data/lib/wp/wp-content/themes/stump/404.php +0 -13
  446. data/lib/wp/wp-content/themes/stump/CHANGELOG.md +0 -333
  447. data/lib/wp/wp-content/themes/stump/CONTRIBUTING.md +0 -121
  448. data/lib/wp/wp-content/themes/stump/Gruntfile.js +0 -151
  449. data/lib/wp/wp-content/themes/stump/LICENSE.md +0 -19
  450. data/lib/wp/wp-content/themes/stump/assets/coffee/build/.gitkeep +0 -0
  451. data/lib/wp/wp-content/themes/stump/assets/css/editor-style.css +0 -548
  452. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  453. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.svg +0 -229
  454. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  455. data/lib/wp/wp-content/themes/stump/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  456. data/lib/wp/wp-content/themes/stump/assets/img/.gitignore +0 -0
  457. data/lib/wp/wp-content/themes/stump/assets/js/_main.js +0 -63
  458. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/affix.js +0 -137
  459. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/alert.js +0 -88
  460. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/button.js +0 -107
  461. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/carousel.js +0 -205
  462. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/collapse.js +0 -170
  463. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/dropdown.js +0 -147
  464. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/modal.js +0 -243
  465. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/popover.js +0 -110
  466. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/scrollspy.js +0 -153
  467. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/tab.js +0 -125
  468. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/tooltip.js +0 -399
  469. data/lib/wp/wp-content/themes/stump/assets/js/plugins/bootstrap/transition.js +0 -48
  470. data/lib/wp/wp-content/themes/stump/assets/js/scripts.min.js +0 -1
  471. data/lib/wp/wp-content/themes/stump/assets/js/vendor/jquery-1.11.0.min.js +0 -4
  472. data/lib/wp/wp-content/themes/stump/assets/js/vendor/modernizr-2.7.0.min.js +0 -4
  473. data/lib/wp/wp-content/themes/stump/assets/sass/app.scss +0 -9
  474. data/lib/wp/wp-content/themes/stump/assets/sass/core/_variables.scss +0 -1
  475. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_alerts.scss +0 -67
  476. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_badges.scss +0 -55
  477. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_bootstrap.scss +0 -49
  478. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_breadcrumbs.scss +0 -26
  479. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_button-groups.scss +0 -226
  480. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_buttons.scss +0 -159
  481. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_carousel.scss +0 -232
  482. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_close.scss +0 -35
  483. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_code.scss +0 -63
  484. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_component-animations.scss +0 -29
  485. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_dropdowns.scss +0 -213
  486. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_forms.scss +0 -436
  487. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_glyphicons.scss +0 -233
  488. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_grid.scss +0 -84
  489. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_input-groups.scss +0 -162
  490. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_jumbotron.scss +0 -44
  491. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_labels.scss +0 -64
  492. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_list-group.scss +0 -110
  493. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_media.scss +0 -56
  494. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_mixins.scss +0 -947
  495. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_modals.scss +0 -139
  496. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_navbar.scss +0 -620
  497. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_navs.scss +0 -242
  498. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_normalize.scss +0 -423
  499. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_pager.scss +0 -55
  500. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_pagination.scss +0 -88
  501. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_panels.scss +0 -241
  502. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_popovers.scss +0 -133
  503. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_print.scss +0 -101
  504. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_progress-bars.scss +0 -80
  505. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_responsive-utilities.scss +0 -74
  506. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_scaffolding.scss +0 -134
  507. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_tables.scss +0 -233
  508. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_theme.scss +0 -247
  509. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_thumbnails.scss +0 -38
  510. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_tooltip.scss +0 -95
  511. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_type.scss +0 -284
  512. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_utilities.scss +0 -56
  513. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_variables.scss +0 -833
  514. data/lib/wp/wp-content/themes/stump/assets/vendor/bootstrap/_wells.scss +0 -29
  515. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/_bourbon-deprecated-upcoming.scss +0 -13
  516. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/_bourbon.scss +0 -59
  517. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_button.scss +0 -273
  518. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_clearfix.scss +0 -29
  519. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_font-family.scss +0 -5
  520. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_hide-text.scss +0 -5
  521. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_html5-input-types.scss +0 -56
  522. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_position.scss +0 -42
  523. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_prefixer.scss +0 -49
  524. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_retina-image.scss +0 -32
  525. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_size.scss +0 -44
  526. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_timing-functions.scss +0 -32
  527. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/addons/_triangle.scss +0 -45
  528. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_animation.scss +0 -52
  529. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_appearance.scss +0 -3
  530. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_backface-visibility.scss +0 -6
  531. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_background-image.scss +0 -48
  532. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_background.scss +0 -103
  533. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_border-image.scss +0 -55
  534. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_border-radius.scss +0 -22
  535. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_box-sizing.scss +0 -4
  536. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_columns.scss +0 -47
  537. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_flex-box.scss +0 -52
  538. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_font-face.scss +0 -23
  539. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_hidpi-media-query.scss +0 -10
  540. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_image-rendering.scss +0 -13
  541. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_inline-block.scss +0 -8
  542. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_keyframes.scss +0 -43
  543. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_linear-gradient.scss +0 -41
  544. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_perspective.scss +0 -8
  545. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_placeholder.scss +0 -29
  546. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_radial-gradient.scss +0 -44
  547. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_transform.scss +0 -15
  548. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_transition.scss +0 -34
  549. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/css3/_user-select.scss +0 -3
  550. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_compact.scss +0 -11
  551. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_flex-grid.scss +0 -39
  552. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_grid-width.scss +0 -13
  553. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_linear-gradient.scss +0 -13
  554. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_modular-scale.scss +0 -40
  555. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_px-to-em.scss +0 -8
  556. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_radial-gradient.scss +0 -23
  557. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_tint-shade.scss +0 -9
  558. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/functions/_transition-property-name.scss +0 -22
  559. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_deprecated-webkit-gradient.scss +0 -39
  560. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_gradient-positions-parser.scss +0 -13
  561. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_linear-positions-parser.scss +0 -61
  562. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_radial-arg-parser.scss +0 -69
  563. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_radial-positions-parser.scss +0 -18
  564. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_render-gradients.scss +0 -26
  565. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/bourbon/helpers/_shape-size-stripper.scss +0 -10
  566. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan.sass +0 -11
  567. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_grid.sass +0 -161
  568. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_mixins.sass +0 -63
  569. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_utilities.sass +0 -24
  570. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/manhattan/_variables.sass +0 -42
  571. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/_neat-helpers.scss +0 -8
  572. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/_neat.scss +0 -21
  573. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_new-breakpoint.scss +0 -16
  574. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_private.scss +0 -107
  575. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/functions/_px-to-em.scss +0 -3
  576. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_fill-parent.scss +0 -7
  577. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_grid.scss +0 -5
  578. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_media.scss +0 -51
  579. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_omega.scss +0 -79
  580. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_outer-container.scss +0 -8
  581. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_pad.scss +0 -8
  582. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_private.scss +0 -50
  583. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_reset.scss +0 -12
  584. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_row.scss +0 -17
  585. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_shift.scss +0 -9
  586. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_span-columns.scss +0 -38
  587. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_to-deprecate.scss +0 -57
  588. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/grid/_visual-grid.scss +0 -41
  589. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/settings/_grid.scss +0 -7
  590. data/lib/wp/wp-content/themes/stump/assets/vendor/manhattan/neat/settings/_visual-grid.scss +0 -5
  591. data/lib/wp/wp-content/themes/stump/base.php +0 -36
  592. data/lib/wp/wp-content/themes/stump/functions.php +0 -19
  593. data/lib/wp/wp-content/themes/stump/index.php +0 -21
  594. data/lib/wp/wp-content/themes/stump/lang/ar.mo +0 -0
  595. data/lib/wp/wp-content/themes/stump/lang/ar.po +0 -270
  596. data/lib/wp/wp-content/themes/stump/lang/bg_BG.mo +0 -0
  597. data/lib/wp/wp-content/themes/stump/lang/bg_BG.po +0 -338
  598. data/lib/wp/wp-content/themes/stump/lang/ca.mo +0 -0
  599. data/lib/wp/wp-content/themes/stump/lang/ca.po +0 -517
  600. data/lib/wp/wp-content/themes/stump/lang/da_DK.mo +0 -0
  601. data/lib/wp/wp-content/themes/stump/lang/da_DK.po +0 -305
  602. data/lib/wp/wp-content/themes/stump/lang/de_DE.mo +0 -0
  603. data/lib/wp/wp-content/themes/stump/lang/de_DE.po +0 -271
  604. data/lib/wp/wp-content/themes/stump/lang/el.mo +0 -0
  605. data/lib/wp/wp-content/themes/stump/lang/el.po +0 -319
  606. data/lib/wp/wp-content/themes/stump/lang/es_ES.mo +0 -0
  607. data/lib/wp/wp-content/themes/stump/lang/es_ES.po +0 -270
  608. data/lib/wp/wp-content/themes/stump/lang/et.mo +0 -0
  609. data/lib/wp/wp-content/themes/stump/lang/et.po +0 -262
  610. data/lib/wp/wp-content/themes/stump/lang/fa_IR.mo +0 -0
  611. data/lib/wp/wp-content/themes/stump/lang/fa_IR.po +0 -273
  612. data/lib/wp/wp-content/themes/stump/lang/fi_FI.mo +0 -0
  613. data/lib/wp/wp-content/themes/stump/lang/fi_FI.po +0 -367
  614. data/lib/wp/wp-content/themes/stump/lang/fr_FR.mo +0 -0
  615. data/lib/wp/wp-content/themes/stump/lang/fr_FR.po +0 -336
  616. data/lib/wp/wp-content/themes/stump/lang/he_IL.mo +0 -0
  617. data/lib/wp/wp-content/themes/stump/lang/he_IL.po +0 -336
  618. data/lib/wp/wp-content/themes/stump/lang/hu_HU.mo +0 -0
  619. data/lib/wp/wp-content/themes/stump/lang/hu_HU.po +0 -271
  620. data/lib/wp/wp-content/themes/stump/lang/id_ID.mo +0 -0
  621. data/lib/wp/wp-content/themes/stump/lang/id_ID.po +0 -278
  622. data/lib/wp/wp-content/themes/stump/lang/it_IT.mo +0 -0
  623. data/lib/wp/wp-content/themes/stump/lang/it_IT.po +0 -269
  624. data/lib/wp/wp-content/themes/stump/lang/ja.mo +0 -0
  625. data/lib/wp/wp-content/themes/stump/lang/ja.po +0 -267
  626. data/lib/wp/wp-content/themes/stump/lang/ko_KR.mo +0 -0
  627. data/lib/wp/wp-content/themes/stump/lang/ko_KR.po +0 -282
  628. data/lib/wp/wp-content/themes/stump/lang/mk_MK.mo +0 -0
  629. data/lib/wp/wp-content/themes/stump/lang/mk_MK.po +0 -297
  630. data/lib/wp/wp-content/themes/stump/lang/ms_MY.mo +0 -0
  631. data/lib/wp/wp-content/themes/stump/lang/ms_MY.po +0 -342
  632. data/lib/wp/wp-content/themes/stump/lang/nb_NO.mo +0 -0
  633. data/lib/wp/wp-content/themes/stump/lang/nb_NO.po +0 -517
  634. data/lib/wp/wp-content/themes/stump/lang/nl_NL.mo +0 -0
  635. data/lib/wp/wp-content/themes/stump/lang/nl_NL.po +0 -261
  636. data/lib/wp/wp-content/themes/stump/lang/nn_NO.mo +0 -0
  637. data/lib/wp/wp-content/themes/stump/lang/nn_NO.po +0 -517
  638. data/lib/wp/wp-content/themes/stump/lang/pl_PL.mo +0 -0
  639. data/lib/wp/wp-content/themes/stump/lang/pl_PL.po +0 -283
  640. data/lib/wp/wp-content/themes/stump/lang/pt_BR.mo +0 -0
  641. data/lib/wp/wp-content/themes/stump/lang/pt_BR.po +0 -394
  642. data/lib/wp/wp-content/themes/stump/lang/ro_RO.mo +0 -0
  643. data/lib/wp/wp-content/themes/stump/lang/ro_RO.po +0 -271
  644. data/lib/wp/wp-content/themes/stump/lang/roots.pot +0 -244
  645. data/lib/wp/wp-content/themes/stump/lang/ru_RU.mo +0 -0
  646. data/lib/wp/wp-content/themes/stump/lang/ru_RU.po +0 -255
  647. data/lib/wp/wp-content/themes/stump/lang/sk_SK.mo +0 -0
  648. data/lib/wp/wp-content/themes/stump/lang/sk_SK.po +0 -267
  649. data/lib/wp/wp-content/themes/stump/lang/sr_RS.mo +0 -0
  650. data/lib/wp/wp-content/themes/stump/lang/sr_RS.pot +0 -261
  651. data/lib/wp/wp-content/themes/stump/lang/sv_SE.mo +0 -0
  652. data/lib/wp/wp-content/themes/stump/lang/sv_SE.po +0 -323
  653. data/lib/wp/wp-content/themes/stump/lang/tr_TR.mo +0 -0
  654. data/lib/wp/wp-content/themes/stump/lang/tr_TR.po +0 -405
  655. data/lib/wp/wp-content/themes/stump/lang/vi_VN.mo +0 -0
  656. data/lib/wp/wp-content/themes/stump/lang/vi_VN.po +0 -516
  657. data/lib/wp/wp-content/themes/stump/lang/zh_CN.mo +0 -0
  658. data/lib/wp/wp-content/themes/stump/lang/zh_CN.po +0 -329
  659. data/lib/wp/wp-content/themes/stump/lang/zh_TW.mo +0 -0
  660. data/lib/wp/wp-content/themes/stump/lang/zh_TW.po +0 -261
  661. data/lib/wp/wp-content/themes/stump/lib/activation.php +0 -215
  662. data/lib/wp/wp-content/themes/stump/lib/cleanup.php +0 -261
  663. data/lib/wp/wp-content/themes/stump/lib/comments.php +0 -52
  664. data/lib/wp/wp-content/themes/stump/lib/config.php +0 -79
  665. data/lib/wp/wp-content/themes/stump/lib/custom.php +0 -4
  666. data/lib/wp/wp-content/themes/stump/lib/gallery.php +0 -130
  667. data/lib/wp/wp-content/themes/stump/lib/init.php +0 -25
  668. data/lib/wp/wp-content/themes/stump/lib/nav.php +0 -93
  669. data/lib/wp/wp-content/themes/stump/lib/relative-urls.php +0 -50
  670. data/lib/wp/wp-content/themes/stump/lib/scripts.php +0 -67
  671. data/lib/wp/wp-content/themes/stump/lib/sidebar.php +0 -43
  672. data/lib/wp/wp-content/themes/stump/lib/titles.php +0 -37
  673. data/lib/wp/wp-content/themes/stump/lib/utils.php +0 -14
  674. data/lib/wp/wp-content/themes/stump/lib/widgets.php +0 -133
  675. data/lib/wp/wp-content/themes/stump/lib/wrapper.php +0 -49
  676. data/lib/wp/wp-content/themes/stump/package.json +0 -32
  677. data/lib/wp/wp-content/themes/stump/page.php +0 -2
  678. data/lib/wp/wp-content/themes/stump/screenshot.png +0 -0
  679. data/lib/wp/wp-content/themes/stump/single.php +0 -1
  680. data/lib/wp/wp-content/themes/stump/style.css +0 -11
  681. data/lib/wp/wp-content/themes/stump/template-custom.php +0 -8
  682. data/lib/wp/wp-content/themes/stump/templates/comment.php +0 -14
  683. data/lib/wp/wp-content/themes/stump/templates/comments.php +0 -80
  684. data/lib/wp/wp-content/themes/stump/templates/content-page.php +0 -4
  685. data/lib/wp/wp-content/themes/stump/templates/content-single.php +0 -15
  686. data/lib/wp/wp-content/themes/stump/templates/content.php +0 -9
  687. data/lib/wp/wp-content/themes/stump/templates/entry-meta.php +0 -2
  688. data/lib/wp/wp-content/themes/stump/templates/footer.php +0 -8
  689. data/lib/wp/wp-content/themes/stump/templates/head.php +0 -12
  690. data/lib/wp/wp-content/themes/stump/templates/header-top-navbar.php +0 -21
  691. data/lib/wp/wp-content/themes/stump/templates/header.php +0 -14
  692. data/lib/wp/wp-content/themes/stump/templates/page-header.php +0 -5
  693. data/lib/wp/wp-content/themes/stump/templates/searchform.php +0 -9
  694. data/lib/wp/wp-content/themes/stump/templates/sidebar.php +0 -1
  695. data/lib/wp/wp-cron.php +0 -115
  696. data/lib/wp/wp-includes/ID3/getid3.lib.php +0 -1376
  697. data/lib/wp/wp-includes/ID3/getid3.php +0 -1796
  698. data/lib/wp/wp-includes/ID3/license.commercial.txt +0 -27
  699. data/lib/wp/wp-includes/ID3/license.txt +0 -29
  700. data/lib/wp/wp-includes/ID3/module.audio-video.asf.php +0 -2013
  701. data/lib/wp/wp-includes/ID3/module.audio-video.flv.php +0 -745
  702. data/lib/wp/wp-includes/ID3/module.audio-video.matroska.php +0 -1751
  703. data/lib/wp/wp-includes/ID3/module.audio-video.quicktime.php +0 -2246
  704. data/lib/wp/wp-includes/ID3/module.audio-video.riff.php +0 -2586
  705. data/lib/wp/wp-includes/ID3/module.audio.ac3.php +0 -474
  706. data/lib/wp/wp-includes/ID3/module.audio.dts.php +0 -291
  707. data/lib/wp/wp-includes/ID3/module.audio.flac.php +0 -443
  708. data/lib/wp/wp-includes/ID3/module.audio.mp3.php +0 -2012
  709. data/lib/wp/wp-includes/ID3/module.audio.ogg.php +0 -756
  710. data/lib/wp/wp-includes/ID3/module.tag.apetag.php +0 -371
  711. data/lib/wp/wp-includes/ID3/module.tag.id3v1.php +0 -360
  712. data/lib/wp/wp-includes/ID3/module.tag.id3v2.php +0 -3424
  713. data/lib/wp/wp-includes/ID3/module.tag.lyrics3.php +0 -294
  714. data/lib/wp/wp-includes/ID3/readme.txt +0 -604
  715. data/lib/wp/wp-includes/SimplePie/Author.php +0 -157
  716. data/lib/wp/wp-includes/SimplePie/Cache.php +0 -133
  717. data/lib/wp/wp-includes/SimplePie/Cache/Base.php +0 -114
  718. data/lib/wp/wp-includes/SimplePie/Cache/DB.php +0 -137
  719. data/lib/wp/wp-includes/SimplePie/Cache/File.php +0 -173
  720. data/lib/wp/wp-includes/SimplePie/Cache/Memcache.php +0 -183
  721. data/lib/wp/wp-includes/SimplePie/Cache/MySQL.php +0 -438
  722. data/lib/wp/wp-includes/SimplePie/Caption.php +0 -210
  723. data/lib/wp/wp-includes/SimplePie/Category.php +0 -157
  724. data/lib/wp/wp-includes/SimplePie/Content/Type/Sniffer.php +0 -332
  725. data/lib/wp/wp-includes/SimplePie/Copyright.php +0 -130
  726. data/lib/wp/wp-includes/SimplePie/Core.php +0 -57
  727. data/lib/wp/wp-includes/SimplePie/Credit.php +0 -156
  728. data/lib/wp/wp-includes/SimplePie/Decode/HTML/Entities.php +0 -617
  729. data/lib/wp/wp-includes/SimplePie/Enclosure.php +0 -1380
  730. data/lib/wp/wp-includes/SimplePie/Exception.php +0 -52
  731. data/lib/wp/wp-includes/SimplePie/File.php +0 -292
  732. data/lib/wp/wp-includes/SimplePie/HTTP/Parser.php +0 -500
  733. data/lib/wp/wp-includes/SimplePie/IRI.php +0 -1238
  734. data/lib/wp/wp-includes/SimplePie/Item.php +0 -2964
  735. data/lib/wp/wp-includes/SimplePie/Locator.php +0 -372
  736. data/lib/wp/wp-includes/SimplePie/Misc.php +0 -2247
  737. data/lib/wp/wp-includes/SimplePie/Net/IPv6.php +0 -276
  738. data/lib/wp/wp-includes/SimplePie/Parse/Date.php +0 -983
  739. data/lib/wp/wp-includes/SimplePie/Parser.php +0 -407
  740. data/lib/wp/wp-includes/SimplePie/Rating.php +0 -129
  741. data/lib/wp/wp-includes/SimplePie/Registry.php +0 -225
  742. data/lib/wp/wp-includes/SimplePie/Restriction.php +0 -155
  743. data/lib/wp/wp-includes/SimplePie/Sanitize.php +0 -554
  744. data/lib/wp/wp-includes/SimplePie/Source.php +0 -611
  745. data/lib/wp/wp-includes/SimplePie/XML/Declaration/Parser.php +0 -362
  746. data/lib/wp/wp-includes/SimplePie/gzdecode.php +0 -371
  747. data/lib/wp/wp-includes/Text/Diff.php +0 -450
  748. data/lib/wp/wp-includes/Text/Diff/Engine/native.php +0 -436
  749. data/lib/wp/wp-includes/Text/Diff/Engine/shell.php +0 -162
  750. data/lib/wp/wp-includes/Text/Diff/Engine/string.php +0 -248
  751. data/lib/wp/wp-includes/Text/Diff/Engine/xdiff.php +0 -64
  752. data/lib/wp/wp-includes/Text/Diff/Renderer.php +0 -235
  753. data/lib/wp/wp-includes/Text/Diff/Renderer/inline.php +0 -206
  754. data/lib/wp/wp-includes/admin-bar.php +0 -870
  755. data/lib/wp/wp-includes/atomlib.php +0 -352
  756. data/lib/wp/wp-includes/author-template.php +0 -471
  757. data/lib/wp/wp-includes/bookmark-template.php +0 -298
  758. data/lib/wp/wp-includes/bookmark.php +0 -416
  759. data/lib/wp/wp-includes/cache.php +0 -704
  760. data/lib/wp/wp-includes/canonical.php +0 -586
  761. data/lib/wp/wp-includes/capabilities.php +0 -1539
  762. data/lib/wp/wp-includes/category-template.php +0 -1407
  763. data/lib/wp/wp-includes/category.php +0 -343
  764. data/lib/wp/wp-includes/certificates/ca-bundle.crt +0 -3785
  765. data/lib/wp/wp-includes/class-IXR.php +0 -1100
  766. data/lib/wp/wp-includes/class-feed.php +0 -140
  767. data/lib/wp/wp-includes/class-http.php +0 -2245
  768. data/lib/wp/wp-includes/class-json.php +0 -936
  769. data/lib/wp/wp-includes/class-oembed.php +0 -579
  770. data/lib/wp/wp-includes/class-phpass.php +0 -260
  771. data/lib/wp/wp-includes/class-phpmailer.php +0 -3265
  772. data/lib/wp/wp-includes/class-pop3.php +0 -652
  773. data/lib/wp/wp-includes/class-simplepie.php +0 -3119
  774. data/lib/wp/wp-includes/class-smtp.php +0 -943
  775. data/lib/wp/wp-includes/class-snoopy.php +0 -1256
  776. data/lib/wp/wp-includes/class-wp-admin-bar.php +0 -517
  777. data/lib/wp/wp-includes/class-wp-ajax-response.php +0 -199
  778. data/lib/wp/wp-includes/class-wp-customize-control.php +0 -1124
  779. data/lib/wp/wp-includes/class-wp-customize-manager.php +0 -1272
  780. data/lib/wp/wp-includes/class-wp-customize-panel.php +0 -200
  781. data/lib/wp/wp-includes/class-wp-customize-section.php +0 -196
  782. data/lib/wp/wp-includes/class-wp-customize-setting.php +0 -554
  783. data/lib/wp/wp-includes/class-wp-customize-widgets.php +0 -1556
  784. data/lib/wp/wp-includes/class-wp-editor.php +0 -1435
  785. data/lib/wp/wp-includes/class-wp-embed.php +0 -373
  786. data/lib/wp/wp-includes/class-wp-error.php +0 -276
  787. data/lib/wp/wp-includes/class-wp-http-ixr-client.php +0 -97
  788. data/lib/wp/wp-includes/class-wp-image-editor-gd.php +0 -459
  789. data/lib/wp/wp-includes/class-wp-image-editor-imagick.php +0 -512
  790. data/lib/wp/wp-includes/class-wp-image-editor.php +0 -475
  791. data/lib/wp/wp-includes/class-wp-theme.php +0 -1235
  792. data/lib/wp/wp-includes/class-wp-walker.php +0 -471
  793. data/lib/wp/wp-includes/class-wp-xmlrpc-server.php +0 -5984
  794. data/lib/wp/wp-includes/class-wp.php +0 -782
  795. data/lib/wp/wp-includes/class.wp-dependencies.php +0 -509
  796. data/lib/wp/wp-includes/class.wp-scripts.php +0 -247
  797. data/lib/wp/wp-includes/class.wp-styles.php +0 -210
  798. data/lib/wp/wp-includes/comment-template.php +0 -2286
  799. data/lib/wp/wp-includes/comment.php +0 -2606
  800. data/lib/wp/wp-includes/compat.php +0 -125
  801. data/lib/wp/wp-includes/cron.php +0 -469
  802. data/lib/wp/wp-includes/css/admin-bar-rtl.css +0 -1099
  803. data/lib/wp/wp-includes/css/admin-bar-rtl.min.css +0 -1
  804. data/lib/wp/wp-includes/css/admin-bar.css +0 -1099
  805. data/lib/wp/wp-includes/css/admin-bar.min.css +0 -1
  806. data/lib/wp/wp-includes/css/buttons-rtl.css +0 -364
  807. data/lib/wp/wp-includes/css/buttons-rtl.min.css +0 -1
  808. data/lib/wp/wp-includes/css/buttons.css +0 -364
  809. data/lib/wp/wp-includes/css/buttons.min.css +0 -1
  810. data/lib/wp/wp-includes/css/dashicons.css +0 -893
  811. data/lib/wp/wp-includes/css/dashicons.min.css +0 -1
  812. data/lib/wp/wp-includes/css/editor-rtl.css +0 -1993
  813. data/lib/wp/wp-includes/css/editor-rtl.min.css +0 -1
  814. data/lib/wp/wp-includes/css/editor.css +0 -1993
  815. data/lib/wp/wp-includes/css/editor.min.css +0 -1
  816. data/lib/wp/wp-includes/css/jquery-ui-dialog-rtl.css +0 -343
  817. data/lib/wp/wp-includes/css/jquery-ui-dialog-rtl.min.css +0 -19
  818. data/lib/wp/wp-includes/css/jquery-ui-dialog.css +0 -343
  819. data/lib/wp/wp-includes/css/jquery-ui-dialog.min.css +0 -19
  820. data/lib/wp/wp-includes/css/media-views-rtl.css +0 -2568
  821. data/lib/wp/wp-includes/css/media-views-rtl.min.css +0 -1
  822. data/lib/wp/wp-includes/css/media-views.css +0 -2568
  823. data/lib/wp/wp-includes/css/media-views.min.css +0 -1
  824. data/lib/wp/wp-includes/css/wp-auth-check-rtl.css +0 -100
  825. data/lib/wp/wp-includes/css/wp-auth-check-rtl.min.css +0 -1
  826. data/lib/wp/wp-includes/css/wp-auth-check.css +0 -100
  827. data/lib/wp/wp-includes/css/wp-auth-check.min.css +0 -1
  828. data/lib/wp/wp-includes/css/wp-pointer-rtl.css +0 -212
  829. data/lib/wp/wp-includes/css/wp-pointer-rtl.min.css +0 -1
  830. data/lib/wp/wp-includes/css/wp-pointer.css +0 -212
  831. data/lib/wp/wp-includes/css/wp-pointer.min.css +0 -1
  832. data/lib/wp/wp-includes/date.php +0 -475
  833. data/lib/wp/wp-includes/default-constants.php +0 -323
  834. data/lib/wp/wp-includes/default-filters.php +0 -307
  835. data/lib/wp/wp-includes/default-widgets.php +0 -1423
  836. data/lib/wp/wp-includes/deprecated.php +0 -3501
  837. data/lib/wp/wp-includes/feed-atom-comments.php +0 -115
  838. data/lib/wp/wp-includes/feed-atom.php +0 -87
  839. data/lib/wp/wp-includes/feed-rdf.php +0 -81
  840. data/lib/wp/wp-includes/feed-rss.php +0 -46
  841. data/lib/wp/wp-includes/feed-rss2-comments.php +0 -97
  842. data/lib/wp/wp-includes/feed-rss2.php +0 -115
  843. data/lib/wp/wp-includes/feed.php +0 -659
  844. data/lib/wp/wp-includes/fonts/dashicons.eot +0 -0
  845. data/lib/wp/wp-includes/fonts/dashicons.svg +0 -250
  846. data/lib/wp/wp-includes/fonts/dashicons.ttf +0 -0
  847. data/lib/wp/wp-includes/fonts/dashicons.woff +0 -0
  848. data/lib/wp/wp-includes/formatting.php +0 -4006
  849. data/lib/wp/wp-includes/functions.php +0 -4631
  850. data/lib/wp/wp-includes/functions.wp-scripts.php +0 -258
  851. data/lib/wp/wp-includes/functions.wp-styles.php +0 -245
  852. data/lib/wp/wp-includes/general-template.php +0 -2982
  853. data/lib/wp/wp-includes/http.php +0 -551
  854. data/lib/wp/wp-includes/images/admin-bar-sprite-2x.png +0 -0
  855. data/lib/wp/wp-includes/images/admin-bar-sprite.png +0 -0
  856. data/lib/wp/wp-includes/images/arrow-pointer-blue-2x.png +0 -0
  857. data/lib/wp/wp-includes/images/arrow-pointer-blue.png +0 -0
  858. data/lib/wp/wp-includes/images/blank.gif +0 -0
  859. data/lib/wp/wp-includes/images/crystal/archive.png +0 -0
  860. data/lib/wp/wp-includes/images/crystal/audio.png +0 -0
  861. data/lib/wp/wp-includes/images/crystal/code.png +0 -0
  862. data/lib/wp/wp-includes/images/crystal/default.png +0 -0
  863. data/lib/wp/wp-includes/images/crystal/document.png +0 -0
  864. data/lib/wp/wp-includes/images/crystal/interactive.png +0 -0
  865. data/lib/wp/wp-includes/images/crystal/license.txt +0 -9
  866. data/lib/wp/wp-includes/images/crystal/spreadsheet.png +0 -0
  867. data/lib/wp/wp-includes/images/crystal/text.png +0 -0
  868. data/lib/wp/wp-includes/images/crystal/video.png +0 -0
  869. data/lib/wp/wp-includes/images/down_arrow-2x.gif +0 -0
  870. data/lib/wp/wp-includes/images/down_arrow.gif +0 -0
  871. data/lib/wp/wp-includes/images/icon-pointer-flag-2x.png +0 -0
  872. data/lib/wp/wp-includes/images/icon-pointer-flag.png +0 -0
  873. data/lib/wp/wp-includes/images/media/archive.png +0 -0
  874. data/lib/wp/wp-includes/images/media/audio.png +0 -0
  875. data/lib/wp/wp-includes/images/media/code.png +0 -0
  876. data/lib/wp/wp-includes/images/media/default.png +0 -0
  877. data/lib/wp/wp-includes/images/media/document.png +0 -0
  878. data/lib/wp/wp-includes/images/media/interactive.png +0 -0
  879. data/lib/wp/wp-includes/images/media/spreadsheet.png +0 -0
  880. data/lib/wp/wp-includes/images/media/text.png +0 -0
  881. data/lib/wp/wp-includes/images/media/video.png +0 -0
  882. data/lib/wp/wp-includes/images/rss-2x.png +0 -0
  883. data/lib/wp/wp-includes/images/rss.png +0 -0
  884. data/lib/wp/wp-includes/images/smilies/icon_arrow.gif +0 -0
  885. data/lib/wp/wp-includes/images/smilies/icon_biggrin.gif +0 -0
  886. data/lib/wp/wp-includes/images/smilies/icon_confused.gif +0 -0
  887. data/lib/wp/wp-includes/images/smilies/icon_cool.gif +0 -0
  888. data/lib/wp/wp-includes/images/smilies/icon_cry.gif +0 -0
  889. data/lib/wp/wp-includes/images/smilies/icon_eek.gif +0 -0
  890. data/lib/wp/wp-includes/images/smilies/icon_evil.gif +0 -0
  891. data/lib/wp/wp-includes/images/smilies/icon_exclaim.gif +0 -0
  892. data/lib/wp/wp-includes/images/smilies/icon_idea.gif +0 -0
  893. data/lib/wp/wp-includes/images/smilies/icon_lol.gif +0 -0
  894. data/lib/wp/wp-includes/images/smilies/icon_mad.gif +0 -0
  895. data/lib/wp/wp-includes/images/smilies/icon_mrgreen.gif +0 -0
  896. data/lib/wp/wp-includes/images/smilies/icon_neutral.gif +0 -0
  897. data/lib/wp/wp-includes/images/smilies/icon_question.gif +0 -0
  898. data/lib/wp/wp-includes/images/smilies/icon_razz.gif +0 -0
  899. data/lib/wp/wp-includes/images/smilies/icon_redface.gif +0 -0
  900. data/lib/wp/wp-includes/images/smilies/icon_rolleyes.gif +0 -0
  901. data/lib/wp/wp-includes/images/smilies/icon_sad.gif +0 -0
  902. data/lib/wp/wp-includes/images/smilies/icon_smile.gif +0 -0
  903. data/lib/wp/wp-includes/images/smilies/icon_surprised.gif +0 -0
  904. data/lib/wp/wp-includes/images/smilies/icon_twisted.gif +0 -0
  905. data/lib/wp/wp-includes/images/smilies/icon_wink.gif +0 -0
  906. data/lib/wp/wp-includes/images/spinner-2x.gif +0 -0
  907. data/lib/wp/wp-includes/images/spinner.gif +0 -0
  908. data/lib/wp/wp-includes/images/toggle-arrow-2x.png +0 -0
  909. data/lib/wp/wp-includes/images/toggle-arrow.png +0 -0
  910. data/lib/wp/wp-includes/images/uploader-icons-2x.png +0 -0
  911. data/lib/wp/wp-includes/images/uploader-icons.png +0 -0
  912. data/lib/wp/wp-includes/images/wlw/wp-comments.png +0 -0
  913. data/lib/wp/wp-includes/images/wlw/wp-icon.png +0 -0
  914. data/lib/wp/wp-includes/images/wlw/wp-watermark.png +0 -0
  915. data/lib/wp/wp-includes/images/wpicons-2x.png +0 -0
  916. data/lib/wp/wp-includes/images/wpicons.png +0 -0
  917. data/lib/wp/wp-includes/images/wpspin-2x.gif +0 -0
  918. data/lib/wp/wp-includes/images/wpspin.gif +0 -0
  919. data/lib/wp/wp-includes/images/xit-2x.gif +0 -0
  920. data/lib/wp/wp-includes/images/xit.gif +0 -0
  921. data/lib/wp/wp-includes/js/admin-bar.js +0 -365
  922. data/lib/wp/wp-includes/js/admin-bar.min.js +0 -1
  923. data/lib/wp/wp-includes/js/autosave.js +0 -589
  924. data/lib/wp/wp-includes/js/autosave.min.js +0 -1
  925. data/lib/wp/wp-includes/js/backbone.min.js +0 -1
  926. data/lib/wp/wp-includes/js/colorpicker.js +0 -707
  927. data/lib/wp/wp-includes/js/colorpicker.min.js +0 -1
  928. data/lib/wp/wp-includes/js/comment-reply.js +0 -47
  929. data/lib/wp/wp-includes/js/comment-reply.min.js +0 -1
  930. data/lib/wp/wp-includes/js/crop/cropper.css +0 -165
  931. data/lib/wp/wp-includes/js/crop/cropper.js +0 -516
  932. data/lib/wp/wp-includes/js/crop/marqueeHoriz.gif +0 -0
  933. data/lib/wp/wp-includes/js/crop/marqueeVert.gif +0 -0
  934. data/lib/wp/wp-includes/js/customize-base.js +0 -617
  935. data/lib/wp/wp-includes/js/customize-base.min.js +0 -1
  936. data/lib/wp/wp-includes/js/customize-loader.js +0 -246
  937. data/lib/wp/wp-includes/js/customize-loader.min.js +0 -1
  938. data/lib/wp/wp-includes/js/customize-models.js +0 -247
  939. data/lib/wp/wp-includes/js/customize-models.min.js +0 -1
  940. data/lib/wp/wp-includes/js/customize-preview-widgets.js +0 -129
  941. data/lib/wp/wp-includes/js/customize-preview-widgets.min.js +0 -1
  942. data/lib/wp/wp-includes/js/customize-preview.js +0 -154
  943. data/lib/wp/wp-includes/js/customize-preview.min.js +0 -1
  944. data/lib/wp/wp-includes/js/customize-views.js +0 -231
  945. data/lib/wp/wp-includes/js/customize-views.min.js +0 -1
  946. data/lib/wp/wp-includes/js/heartbeat.js +0 -738
  947. data/lib/wp/wp-includes/js/heartbeat.min.js +0 -1
  948. data/lib/wp/wp-includes/js/hoverIntent.js +0 -115
  949. data/lib/wp/wp-includes/js/hoverIntent.min.js +0 -1
  950. data/lib/wp/wp-includes/js/imgareaselect/border-anim-h.gif +0 -0
  951. data/lib/wp/wp-includes/js/imgareaselect/border-anim-v.gif +0 -0
  952. data/lib/wp/wp-includes/js/imgareaselect/imgareaselect.css +0 -41
  953. data/lib/wp/wp-includes/js/imgareaselect/jquery.imgareaselect.js +0 -1205
  954. data/lib/wp/wp-includes/js/imgareaselect/jquery.imgareaselect.min.js +0 -1
  955. data/lib/wp/wp-includes/js/jcrop/Jcrop.gif +0 -0
  956. data/lib/wp/wp-includes/js/jcrop/jquery.Jcrop.min.css +0 -29
  957. data/lib/wp/wp-includes/js/jcrop/jquery.Jcrop.min.js +0 -22
  958. data/lib/wp/wp-includes/js/jquery/jquery-migrate.js +0 -521
  959. data/lib/wp/wp-includes/js/jquery/jquery-migrate.min.js +0 -2
  960. data/lib/wp/wp-includes/js/jquery/jquery.color.min.js +0 -2
  961. data/lib/wp/wp-includes/js/jquery/jquery.form.js +0 -1193
  962. data/lib/wp/wp-includes/js/jquery/jquery.form.min.js +0 -11
  963. data/lib/wp/wp-includes/js/jquery/jquery.hotkeys.js +0 -134
  964. data/lib/wp/wp-includes/js/jquery/jquery.hotkeys.min.js +0 -1
  965. data/lib/wp/wp-includes/js/jquery/jquery.js +0 -5
  966. data/lib/wp/wp-includes/js/jquery/jquery.masonry.min.js +0 -11
  967. data/lib/wp/wp-includes/js/jquery/jquery.query.js +0 -11
  968. data/lib/wp/wp-includes/js/jquery/jquery.schedule.js +0 -36
  969. data/lib/wp/wp-includes/js/jquery/jquery.serialize-object.js +0 -31
  970. data/lib/wp/wp-includes/js/jquery/jquery.table-hotkeys.js +0 -99
  971. data/lib/wp/wp-includes/js/jquery/jquery.table-hotkeys.min.js +0 -1
  972. data/lib/wp/wp-includes/js/jquery/jquery.ui.touch-punch.js +0 -11
  973. data/lib/wp/wp-includes/js/jquery/suggest.js +0 -316
  974. data/lib/wp/wp-includes/js/jquery/suggest.min.js +0 -1
  975. data/lib/wp/wp-includes/js/jquery/ui/accordion.min.js +0 -11
  976. data/lib/wp/wp-includes/js/jquery/ui/autocomplete.min.js +0 -11
  977. data/lib/wp/wp-includes/js/jquery/ui/button.min.js +0 -11
  978. data/lib/wp/wp-includes/js/jquery/ui/core.min.js +0 -11
  979. data/lib/wp/wp-includes/js/jquery/ui/datepicker.min.js +0 -12
  980. data/lib/wp/wp-includes/js/jquery/ui/dialog.min.js +0 -11
  981. data/lib/wp/wp-includes/js/jquery/ui/draggable.min.js +0 -11
  982. data/lib/wp/wp-includes/js/jquery/ui/droppable.min.js +0 -11
  983. data/lib/wp/wp-includes/js/jquery/ui/effect-blind.min.js +0 -11
  984. data/lib/wp/wp-includes/js/jquery/ui/effect-bounce.min.js +0 -11
  985. data/lib/wp/wp-includes/js/jquery/ui/effect-clip.min.js +0 -11
  986. data/lib/wp/wp-includes/js/jquery/ui/effect-drop.min.js +0 -11
  987. data/lib/wp/wp-includes/js/jquery/ui/effect-explode.min.js +0 -11
  988. data/lib/wp/wp-includes/js/jquery/ui/effect-fade.min.js +0 -11
  989. data/lib/wp/wp-includes/js/jquery/ui/effect-fold.min.js +0 -11
  990. data/lib/wp/wp-includes/js/jquery/ui/effect-highlight.min.js +0 -11
  991. data/lib/wp/wp-includes/js/jquery/ui/effect-puff.min.js +0 -11
  992. data/lib/wp/wp-includes/js/jquery/ui/effect-pulsate.min.js +0 -11
  993. data/lib/wp/wp-includes/js/jquery/ui/effect-scale.min.js +0 -11
  994. data/lib/wp/wp-includes/js/jquery/ui/effect-shake.min.js +0 -11
  995. data/lib/wp/wp-includes/js/jquery/ui/effect-size.min.js +0 -11
  996. data/lib/wp/wp-includes/js/jquery/ui/effect-slide.min.js +0 -11
  997. data/lib/wp/wp-includes/js/jquery/ui/effect-transfer.min.js +0 -11
  998. data/lib/wp/wp-includes/js/jquery/ui/effect.min.js +0 -21
  999. data/lib/wp/wp-includes/js/jquery/ui/menu.min.js +0 -11
  1000. data/lib/wp/wp-includes/js/jquery/ui/mouse.min.js +0 -11
  1001. data/lib/wp/wp-includes/js/jquery/ui/position.min.js +0 -11
  1002. data/lib/wp/wp-includes/js/jquery/ui/progressbar.min.js +0 -11
  1003. data/lib/wp/wp-includes/js/jquery/ui/resizable.min.js +0 -11
  1004. data/lib/wp/wp-includes/js/jquery/ui/selectable.min.js +0 -11
  1005. data/lib/wp/wp-includes/js/jquery/ui/selectmenu.min.js +0 -11
  1006. data/lib/wp/wp-includes/js/jquery/ui/slider.min.js +0 -11
  1007. data/lib/wp/wp-includes/js/jquery/ui/sortable.min.js +0 -11
  1008. data/lib/wp/wp-includes/js/jquery/ui/spinner.min.js +0 -11
  1009. data/lib/wp/wp-includes/js/jquery/ui/tabs.min.js +0 -11
  1010. data/lib/wp/wp-includes/js/jquery/ui/tooltip.min.js +0 -11
  1011. data/lib/wp/wp-includes/js/jquery/ui/widget.min.js +0 -11
  1012. data/lib/wp/wp-includes/js/json2.js +0 -480
  1013. data/lib/wp/wp-includes/js/json2.min.js +0 -1
  1014. data/lib/wp/wp-includes/js/masonry.min.js +0 -1
  1015. data/lib/wp/wp-includes/js/mce-view.js +0 -829
  1016. data/lib/wp/wp-includes/js/mce-view.min.js +0 -1
  1017. data/lib/wp/wp-includes/js/media-audiovideo.js +0 -831
  1018. data/lib/wp/wp-includes/js/media-audiovideo.min.js +0 -1
  1019. data/lib/wp/wp-includes/js/media-editor.js +0 -1114
  1020. data/lib/wp/wp-includes/js/media-editor.min.js +0 -1
  1021. data/lib/wp/wp-includes/js/media-grid.js +0 -732
  1022. data/lib/wp/wp-includes/js/media-grid.min.js +0 -1
  1023. data/lib/wp/wp-includes/js/media-models.js +0 -1362
  1024. data/lib/wp/wp-includes/js/media-models.min.js +0 -1
  1025. data/lib/wp/wp-includes/js/media-views.js +0 -7484
  1026. data/lib/wp/wp-includes/js/media-views.min.js +0 -3
  1027. data/lib/wp/wp-includes/js/mediaelement/background.png +0 -0
  1028. data/lib/wp/wp-includes/js/mediaelement/bigplay.png +0 -0
  1029. data/lib/wp/wp-includes/js/mediaelement/bigplay.svg +0 -1
  1030. data/lib/wp/wp-includes/js/mediaelement/controls.png +0 -0
  1031. data/lib/wp/wp-includes/js/mediaelement/controls.svg +0 -1
  1032. data/lib/wp/wp-includes/js/mediaelement/flashmediaelement.swf +0 -0
  1033. data/lib/wp/wp-includes/js/mediaelement/loading.gif +0 -0
  1034. data/lib/wp/wp-includes/js/mediaelement/mediaelement-and-player.min.js +0 -181
  1035. data/lib/wp/wp-includes/js/mediaelement/mediaelementplayer.min.css +0 -1
  1036. data/lib/wp/wp-includes/js/mediaelement/silverlightmediaelement.xap +0 -0
  1037. data/lib/wp/wp-includes/js/mediaelement/wp-mediaelement.css +0 -274
  1038. data/lib/wp/wp-includes/js/mediaelement/wp-mediaelement.js +0 -34
  1039. data/lib/wp/wp-includes/js/mediaelement/wp-playlist.js +0 -175
  1040. data/lib/wp/wp-includes/js/plupload/handlers.js +0 -488
  1041. data/lib/wp/wp-includes/js/plupload/handlers.min.js +0 -1
  1042. data/lib/wp/wp-includes/js/plupload/license.txt +0 -339
  1043. data/lib/wp/wp-includes/js/plupload/plupload.flash.swf +0 -0
  1044. data/lib/wp/wp-includes/js/plupload/plupload.full.min.js +0 -28
  1045. data/lib/wp/wp-includes/js/plupload/plupload.silverlight.xap +0 -0
  1046. data/lib/wp/wp-includes/js/plupload/wp-plupload.js +0 -376
  1047. data/lib/wp/wp-includes/js/plupload/wp-plupload.min.js +0 -1
  1048. data/lib/wp/wp-includes/js/quicktags.js +0 -652
  1049. data/lib/wp/wp-includes/js/quicktags.min.js +0 -1
  1050. data/lib/wp/wp-includes/js/shortcode.js +0 -356
  1051. data/lib/wp/wp-includes/js/shortcode.min.js +0 -1
  1052. data/lib/wp/wp-includes/js/swfobject.js +0 -4
  1053. data/lib/wp/wp-includes/js/swfupload/handlers.js +0 -376
  1054. data/lib/wp/wp-includes/js/swfupload/handlers.min.js +0 -1
  1055. data/lib/wp/wp-includes/js/swfupload/license.txt +0 -32
  1056. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.cookies.js +0 -53
  1057. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.queue.js +0 -98
  1058. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.speed.js +0 -342
  1059. data/lib/wp/wp-includes/js/swfupload/plugins/swfupload.swfobject.js +0 -105
  1060. data/lib/wp/wp-includes/js/swfupload/swfupload.js +0 -980
  1061. data/lib/wp/wp-includes/js/swfupload/swfupload.swf +0 -0
  1062. data/lib/wp/wp-includes/js/thickbox/loadingAnimation.gif +0 -0
  1063. data/lib/wp/wp-includes/js/thickbox/macFFBgHack.png +0 -0
  1064. data/lib/wp/wp-includes/js/thickbox/thickbox.css +0 -138
  1065. data/lib/wp/wp-includes/js/thickbox/thickbox.js +0 -314
  1066. data/lib/wp/wp-includes/js/tinymce/langs/wp-langs-en.js +0 -519
  1067. data/lib/wp/wp-includes/js/tinymce/license.txt +0 -504
  1068. data/lib/wp/wp-includes/js/tinymce/plugins/charmap/plugin.js +0 -370
  1069. data/lib/wp/wp-includes/js/tinymce/plugins/charmap/plugin.min.js +0 -1
  1070. data/lib/wp/wp-includes/js/tinymce/plugins/colorpicker/plugin.js +0 -112
  1071. data/lib/wp/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js +0 -1
  1072. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/css/dialog.css +0 -212
  1073. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/plugin.js +0 -304
  1074. data/lib/wp/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js +0 -1
  1075. data/lib/wp/wp-includes/js/tinymce/plugins/directionality/plugin.js +0 -64
  1076. data/lib/wp/wp-includes/js/tinymce/plugins/directionality/plugin.min.js +0 -1
  1077. data/lib/wp/wp-includes/js/tinymce/plugins/fullscreen/plugin.js +0 -136
  1078. data/lib/wp/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js +0 -1
  1079. data/lib/wp/wp-includes/js/tinymce/plugins/hr/plugin.js +0 -30
  1080. data/lib/wp/wp-includes/js/tinymce/plugins/hr/plugin.min.js +0 -1
  1081. data/lib/wp/wp-includes/js/tinymce/plugins/image/plugin.js +0 -450
  1082. data/lib/wp/wp-includes/js/tinymce/plugins/image/plugin.min.js +0 -1
  1083. data/lib/wp/wp-includes/js/tinymce/plugins/lists/plugin.js +0 -786
  1084. data/lib/wp/wp-includes/js/tinymce/plugins/lists/plugin.min.js +0 -1
  1085. data/lib/wp/wp-includes/js/tinymce/plugins/media/moxieplayer.swf +0 -0
  1086. data/lib/wp/wp-includes/js/tinymce/plugins/media/plugin.js +0 -774
  1087. data/lib/wp/wp-includes/js/tinymce/plugins/media/plugin.min.js +0 -1
  1088. data/lib/wp/wp-includes/js/tinymce/plugins/paste/plugin.js +0 -1553
  1089. data/lib/wp/wp-includes/js/tinymce/plugins/paste/plugin.min.js +0 -1
  1090. data/lib/wp/wp-includes/js/tinymce/plugins/tabfocus/plugin.js +0 -125
  1091. data/lib/wp/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js +0 -1
  1092. data/lib/wp/wp-includes/js/tinymce/plugins/textcolor/plugin.js +0 -272
  1093. data/lib/wp/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js +0 -1
  1094. data/lib/wp/wp-includes/js/tinymce/plugins/wordpress/plugin.js +0 -513
  1095. data/lib/wp/wp-includes/js/tinymce/plugins/wordpress/plugin.min.js +0 -1
  1096. data/lib/wp/wp-includes/js/tinymce/plugins/wpautoresize/plugin.js +0 -207
  1097. data/lib/wp/wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js +0 -1
  1098. data/lib/wp/wp-includes/js/tinymce/plugins/wpdialogs/plugin.js +0 -92
  1099. data/lib/wp/wp-includes/js/tinymce/plugins/wpdialogs/plugin.min.js +0 -1
  1100. data/lib/wp/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js +0 -1035
  1101. data/lib/wp/wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js +0 -1
  1102. data/lib/wp/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.js +0 -78
  1103. data/lib/wp/wp-includes/js/tinymce/plugins/wpfullscreen/plugin.min.js +0 -1
  1104. data/lib/wp/wp-includes/js/tinymce/plugins/wpgallery/plugin.js +0 -130
  1105. data/lib/wp/wp-includes/js/tinymce/plugins/wpgallery/plugin.min.js +0 -1
  1106. data/lib/wp/wp-includes/js/tinymce/plugins/wplink/plugin.js +0 -63
  1107. data/lib/wp/wp-includes/js/tinymce/plugins/wplink/plugin.min.js +0 -1
  1108. data/lib/wp/wp-includes/js/tinymce/plugins/wpview/plugin.js +0 -694
  1109. data/lib/wp/wp-includes/js/tinymce/plugins/wpview/plugin.min.js +0 -1
  1110. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css +0 -1
  1111. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/content.min.css +0 -1
  1112. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/readme.md +0 -1
  1113. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  1114. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -62
  1115. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  1116. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  1117. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  1118. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg +0 -63
  1119. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  1120. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  1121. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/anchor.gif +0 -0
  1122. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/loader.gif +0 -0
  1123. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/object.gif +0 -0
  1124. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/img/trans.gif +0 -0
  1125. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css +0 -1
  1126. data/lib/wp/wp-includes/js/tinymce/skins/lightgray/skin.min.css +0 -1
  1127. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/audio.png +0 -0
  1128. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/dashicon-edit.png +0 -0
  1129. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png +0 -0
  1130. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/embedded.png +0 -0
  1131. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/gallery-2x.png +0 -0
  1132. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/gallery.png +0 -0
  1133. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/more-2x.png +0 -0
  1134. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/more.png +0 -0
  1135. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/pagebreak-2x.png +0 -0
  1136. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/pagebreak.png +0 -0
  1137. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/playlist-audio.png +0 -0
  1138. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/playlist-video.png +0 -0
  1139. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/images/video.png +0 -0
  1140. data/lib/wp/wp-includes/js/tinymce/skins/wordpress/wp-content.css +0 -618
  1141. data/lib/wp/wp-includes/js/tinymce/themes/modern/theme.js +0 -617
  1142. data/lib/wp/wp-includes/js/tinymce/themes/modern/theme.min.js +0 -1
  1143. data/lib/wp/wp-includes/js/tinymce/tiny_mce_popup.js +0 -539
  1144. data/lib/wp/wp-includes/js/tinymce/tinymce.min.js +0 -11
  1145. data/lib/wp/wp-includes/js/tinymce/utils/editable_selects.js +0 -70
  1146. data/lib/wp/wp-includes/js/tinymce/utils/form_utils.js +0 -210
  1147. data/lib/wp/wp-includes/js/tinymce/utils/mctabs.js +0 -164
  1148. data/lib/wp/wp-includes/js/tinymce/utils/validate.js +0 -252
  1149. data/lib/wp/wp-includes/js/tinymce/wp-mce-help.php +0 -145
  1150. data/lib/wp/wp-includes/js/tinymce/wp-tinymce.js.gz +0 -0
  1151. data/lib/wp/wp-includes/js/tinymce/wp-tinymce.php +0 -39
  1152. data/lib/wp/wp-includes/js/tw-sack.js +0 -193
  1153. data/lib/wp/wp-includes/js/tw-sack.min.js +0 -1
  1154. data/lib/wp/wp-includes/js/underscore.min.js +0 -1
  1155. data/lib/wp/wp-includes/js/utils.js +0 -197
  1156. data/lib/wp/wp-includes/js/utils.min.js +0 -1
  1157. data/lib/wp/wp-includes/js/wp-ajax-response.js +0 -64
  1158. data/lib/wp/wp-includes/js/wp-ajax-response.min.js +0 -1
  1159. data/lib/wp/wp-includes/js/wp-auth-check.js +0 -112
  1160. data/lib/wp/wp-includes/js/wp-auth-check.min.js +0 -1
  1161. data/lib/wp/wp-includes/js/wp-backbone.js +0 -386
  1162. data/lib/wp/wp-includes/js/wp-backbone.min.js +0 -1
  1163. data/lib/wp/wp-includes/js/wp-list-revisions.js +0 -24
  1164. data/lib/wp/wp-includes/js/wp-list-revisions.min.js +0 -1
  1165. data/lib/wp/wp-includes/js/wp-lists.js +0 -469
  1166. data/lib/wp/wp-includes/js/wp-lists.min.js +0 -1
  1167. data/lib/wp/wp-includes/js/wp-pointer.js +0 -282
  1168. data/lib/wp/wp-includes/js/wp-pointer.min.js +0 -1
  1169. data/lib/wp/wp-includes/js/wp-util.js +0 -106
  1170. data/lib/wp/wp-includes/js/wp-util.min.js +0 -1
  1171. data/lib/wp/wp-includes/js/wpdialog.js +0 -19
  1172. data/lib/wp/wp-includes/js/wpdialog.min.js +0 -1
  1173. data/lib/wp/wp-includes/js/wplink.js +0 -615
  1174. data/lib/wp/wp-includes/js/wplink.min.js +0 -1
  1175. data/lib/wp/wp-includes/js/zxcvbn-async.js +0 -18
  1176. data/lib/wp/wp-includes/js/zxcvbn-async.min.js +0 -1
  1177. data/lib/wp/wp-includes/js/zxcvbn.min.js +0 -47
  1178. data/lib/wp/wp-includes/kses.php +0 -1526
  1179. data/lib/wp/wp-includes/l10n.php +0 -908
  1180. data/lib/wp/wp-includes/link-template.php +0 -3141
  1181. data/lib/wp/wp-includes/load.php +0 -828
  1182. data/lib/wp/wp-includes/locale.php +0 -368
  1183. data/lib/wp/wp-includes/media-template.php +0 -1235
  1184. data/lib/wp/wp-includes/media.php +0 -3329
  1185. data/lib/wp/wp-includes/meta.php +0 -1221
  1186. data/lib/wp/wp-includes/ms-blogs.php +0 -939
  1187. data/lib/wp/wp-includes/ms-default-constants.php +0 -153
  1188. data/lib/wp/wp-includes/ms-default-filters.php +0 -82
  1189. data/lib/wp/wp-includes/ms-deprecated.php +0 -347
  1190. data/lib/wp/wp-includes/ms-files.php +0 -82
  1191. data/lib/wp/wp-includes/ms-functions.php +0 -2476
  1192. data/lib/wp/wp-includes/ms-load.php +0 -458
  1193. data/lib/wp/wp-includes/ms-settings.php +0 -213
  1194. data/lib/wp/wp-includes/nav-menu-template.php +0 -678
  1195. data/lib/wp/wp-includes/nav-menu.php +0 -895
  1196. data/lib/wp/wp-includes/option.php +0 -1440
  1197. data/lib/wp/wp-includes/pluggable-deprecated.php +0 -192
  1198. data/lib/wp/wp-includes/pluggable.php +0 -2283
  1199. data/lib/wp/wp-includes/plugin.php +0 -920
  1200. data/lib/wp/wp-includes/pomo/entry.php +0 -78
  1201. data/lib/wp/wp-includes/pomo/mo.php +0 -262
  1202. data/lib/wp/wp-includes/pomo/po.php +0 -384
  1203. data/lib/wp/wp-includes/pomo/streams.php +0 -209
  1204. data/lib/wp/wp-includes/pomo/translations.php +0 -275
  1205. data/lib/wp/wp-includes/post-formats.php +0 -243
  1206. data/lib/wp/wp-includes/post-template.php +0 -1766
  1207. data/lib/wp/wp-includes/post-thumbnail-template.php +0 -142
  1208. data/lib/wp/wp-includes/post.php +0 -5842
  1209. data/lib/wp/wp-includes/query.php +0 -4666
  1210. data/lib/wp/wp-includes/registration-functions.php +0 -7
  1211. data/lib/wp/wp-includes/registration.php +0 -7
  1212. data/lib/wp/wp-includes/revision.php +0 -657
  1213. data/lib/wp/wp-includes/rewrite.php +0 -2180
  1214. data/lib/wp/wp-includes/rss-functions.php +0 -9
  1215. data/lib/wp/wp-includes/rss.php +0 -936
  1216. data/lib/wp/wp-includes/script-loader.php +0 -1045
  1217. data/lib/wp/wp-includes/session.php +0 -430
  1218. data/lib/wp/wp-includes/shortcodes.php +0 -410
  1219. data/lib/wp/wp-includes/taxonomy.php +0 -4006
  1220. data/lib/wp/wp-includes/template-loader.php +0 -76
  1221. data/lib/wp/wp-includes/template.php +0 -505
  1222. data/lib/wp/wp-includes/theme-compat/comments-popup.php +0 -128
  1223. data/lib/wp/wp-includes/theme-compat/comments.php +0 -101
  1224. data/lib/wp/wp-includes/theme-compat/footer.php +0 -30
  1225. data/lib/wp/wp-includes/theme-compat/header.php +0 -49
  1226. data/lib/wp/wp-includes/theme-compat/sidebar.php +0 -83
  1227. data/lib/wp/wp-includes/theme.php +0 -2014
  1228. data/lib/wp/wp-includes/update.php +0 -674
  1229. data/lib/wp/wp-includes/user.php +0 -2292
  1230. data/lib/wp/wp-includes/vars.php +0 -144
  1231. data/lib/wp/wp-includes/version.php +0 -35
  1232. data/lib/wp/wp-includes/widgets.php +0 -1514
  1233. data/lib/wp/wp-includes/wlwmanifest.xml +0 -43
  1234. data/lib/wp/wp-includes/wp-db.php +0 -2190
  1235. data/lib/wp/wp-includes/wp-diff.php +0 -523
  1236. data/lib/wp/wp-links-opml.php +0 -80
  1237. data/lib/wp/wp-load.php +0 -73
  1238. data/lib/wp/wp-login.php +0 -952
  1239. data/lib/wp/wp-mail.php +0 -260
  1240. data/lib/wp/wp-settings.php +0 -374
  1241. data/lib/wp/wp-signup.php +0 -749
  1242. data/lib/wp/wp-trackback.php +0 -127
  1243. data/lib/wp/xmlrpc.php +0 -101
Binary file
@@ -1,250 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="dashiconsregular" horiz-adv-x="2000" >
7
- <font-face units-per-em="2000" ascent="2000" descent="0" />
8
- <missing-glyph horiz-adv-x="500" />
9
- <glyph unicode="&#x2000;" horiz-adv-x="1000" />
10
- <glyph unicode="&#x2001;" />
11
- <glyph unicode="&#x2002;" horiz-adv-x="1000" />
12
- <glyph unicode="&#x2003;" />
13
- <glyph unicode="&#x2004;" horiz-adv-x="666" />
14
- <glyph unicode="&#x2005;" horiz-adv-x="500" />
15
- <glyph unicode="&#x2006;" horiz-adv-x="333" />
16
- <glyph unicode="&#x2007;" horiz-adv-x="333" />
17
- <glyph unicode="&#x2008;" horiz-adv-x="250" />
18
- <glyph unicode="&#x2009;" horiz-adv-x="400" />
19
- <glyph unicode="&#x200a;" horiz-adv-x="111" />
20
- <glyph unicode="&#x202f;" horiz-adv-x="400" />
21
- <glyph unicode="&#x205f;" horiz-adv-x="500" />
22
- <glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
23
- <glyph unicode="&#xf100;" d="M1448 894l-707 707l150 150q25 28 85 34.5t134 -11t132 -55.5q45 -30 126.5 -97t164.5 -113q43 -24 73 -38t76.5 -30.5t87.5 -23t95.5 -6t112.5 12.5zM1377 823l-707 707l-177 -177q-29 -29 -29 -70.5t29 -70.5l106 -106q29 -29 29 -71t-29 -71q-27 -27 -61.5 -54 t-86 -63t-73.5 -52q-66 -49 -101 -84q-52 -52 -92 -108.5t-64 -113t-20.5 -108.5t39.5 -88t88 -39.5t108.5 20.5t113 63.5t108.5 91.5q34 34 85 102q13 17 51 72t64 88.5t54 60.5q29 29 70.5 29t70.5 -29l106 -106q29 -29 70.5 -29t70.5 29z" />
24
- <glyph unicode="&#xf101;" d="M500 1800h900q82 0 141 -59t59 -141v-700q0 -82 -59 -141t-141 -59h-200l-500 -500v500h-200q-82 0 -141 59t-59 141v700q0 82 59 141t141 59z" />
25
- <glyph unicode="&#xf102;" d="M1600 1150l153 -153l-106 -106l-647 647l-647 -647l-106 106l753 753l400 -400v200h200v-400zM1000 1396l600 -599v-597h-1200v597zM1200 300v500h-400v-500h400z" />
26
- <glyph unicode="&#xf103;" d="M1774 1724q126 -127 126 -305t-126 -305l-153 -152q-82 -82 -195 -110.5t-219 1.5l262 261l76 77l76 76q63 63 63 152t-63 152q-63 64 -152 64t-152 -64l-77 -76l-338 -338q-29 106 -0.5 219t110.5 195l152 153q127 126 305.5 126t304.5 -126zM859 657l534 534 q31 31 31 76t-31 76q-34 32 -78 31t-75 -31l-533 -534q-31 -31 -31 -76t31 -76q34 -32 78 -31t74 31zM783 428l414 415q30 -106 1.5 -219t-110.5 -195l-152 -153q-127 -126 -305 -126t-305 126q-126 126 -126 305t126 305l153 152q82 82 195 110.5t219 -0.5l-414 -415 q-64 -63 -64 -152t64 -153q63 -63 152 -63t152 63z" />
27
- <glyph unicode="&#xf104;" d="M1300 900v700q0 41 -29.5 70.5t-70.5 29.5h-167l-133 200h-400l-133 -200h-167q-41 0 -70.5 -29.5t-29.5 -70.5v-700q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5zM700 1550q104 0 177 -73t73 -177t-73 -177t-177 -73t-177 73t-73 177t73 177t177 73z M1400 1400h500v-1050q0 -104 -73 -177t-177 -73t-177 73t-73 177t73 177t177 73q23 0 50 -5v505h-300v300zM1000 595v105h200v-350q0 -104 -73 -177t-177 -73t-177 73t-73 177t73 177t177 73q23 0 50 -5z" />
28
- <glyph unicode="&#xf105;" d="M600 500v1300h1000v-1300h-1000zM500 400h800v-200h-1000v1300h200v-1100z" />
29
- <glyph unicode="&#xf106;" d="M1311 1564l-324 -324l-187 187l324 324q26 26 72 16.5t84 -48.5q39 -38 48 -83.5t-17 -71.5zM511 1387l91 112l901 -901l-119 -84q-50 -50 -167.5 -83t-214.5 -33h-388l-124 -124q-44 -44 -106 -44t-106 44q-44 43 -44 105.5t44 106.5l124 124v388q0 96 30.5 218 t78.5 171zM1237 990l324 324q25 26 71 17t84 -48q39 -38 48 -83.5t-17 -71.5l-324 -325z" />
30
- <glyph unicode="&#xf107;" d="M1668 1023q-99 -99 -236 -125t-259 26l-541 -652q-74 -74 -179 -74t-179 74t-74 179t74 178l652 542q-52 122 -26 259t125 236q94 94 224 122t248 -16l-289 -289l282 -282l286 287q41 -117 13 -244.5t-121 -220.5zM381 379q30 -29 72 -29t71 29q30 30 30 72t-30 71 q-29 30 -71 30t-72 -30q-29 -29 -29 -71t29 -72z" />
31
- <glyph unicode="&#xf108;" d="M1800 400v1200q0 41 -29.5 70.5t-70.5 29.5h-1300q-41 0 -70.5 -29.5t-29.5 -70.5v-1200q0 -41 29.5 -70.5t70.5 -29.5h1300q41 0 70.5 29.5t29.5 70.5zM800 900h100q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5 t-35.5 14.5t-14.5 35.5v150h-100q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5h100v550q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-550zM1300 1100h-100q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5h100v150q0 21 14.5 35.5t35.5 14.5t35.5 -14.5 t14.5 -35.5v-150h100q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-100v-550q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v550z" />
32
- <glyph unicode="&#xf109;" d="M1044 1698l182 182l636 -635l-183 -182q-78 52 -175 42.5t-166 -78.5l-75 -75q-68 -69 -77.5 -165.5t42.5 -175.5l-183 -182l-241 241l-280 -279q-54 -54 -203.5 -155t-176.5 -74t74 177.5t154 203.5l279 279l-241 242l183 182q78 -52 175 -42.5t165 78.5l75 75 q69 68 78.5 165t-42.5 176z" />
33
- <glyph unicode="&#xf110;" d="M1000 1075q-46 0 -86.5 19t-67.5 49.5t-49 67t-34.5 73t-21 67t-11.5 49.5l-3 19q-6 55 -3 108.5t24.5 103t53 87t82.5 60t113 22.5q103 0 171 -59t91 -144t9 -178q-1 -7 -3 -19.5t-10.5 -48t-20.5 -68t-33.5 -72.5t-48 -68.5t-66.5 -48t-86 -19.5zM1000 833l272 182 q116 0 221.5 -67t168 -172t62.5 -214v-249q-15 -5 -41.5 -12.5t-109 -27t-164.5 -34.5t-195 -27t-214 -12q-102 0 -214.5 11.5t-199.5 28t-159.5 33.5t-111.5 29l-39 11v249q0 112 58 215t162.5 168t226.5 65z" />
34
- <glyph unicode="&#xf111;" d="M1800 800h-218q-26 -107 -81 -193l154 -154l-210 -210l-154 154q-88 -55 -191 -79v-218h-300v218q-103 24 -191 79l-154 -154l-212 212l154 154q-55 88 -79 191h-218v297h217q23 101 80 194l-154 154l210 210l154 -154q85 54 193 81v218h300v-218q103 -24 191 -79 l154 154l212 -212l-154 -154q57 -93 80 -194h217v-297zM950 650q124 0 212 88t88 212t-88 212t-212 88t-212 -88t-88 -212t88 -212t212 -88z" />
35
- <glyph unicode="&#xf112;" d="M1695 1742q96 -96 130.5 -225t0 -257.5t-130.5 -224.5q-112 -112 -267.5 -138.5t-291.5 37.5l-187 -331l-299 -31l-150 -372h-300l-100 200l795 769q-71 139 -46.5 298.5t139.5 274.5q96 96 225 130.5t257.5 0t224.5 -130.5zM1444 1363q55 0 94 39t39 95q0 55 -39 94 t-94 39t-94 -39t-39 -94t39 -94.5t94 -39.5z" />
36
- <glyph unicode="&#xf113;" d="M1000 1700q154 0 290.5 -63t234.5 -175l-171 -195q-62 82 -155 130t-199 48q-157 0 -277.5 -98t-154.5 -247h232l-350 -400l-350 400h208q24 168 121 305t247.5 216t323.5 79zM1000 296q-155 0 -291 63t-234 175l171 195q62 -82 155 -130t199 -48q157 0 277.5 98 t154.5 247h-232l350 400l350 -400h-208q-18 -126 -79.5 -236.5t-152.5 -190.5t-210.5 -126.5t-249.5 -46.5z" />
37
- <glyph unicode="&#xf115;" d="M1800 600v1000q0 41 -29.5 70.5t-70.5 29.5h-1400q-41 0 -70.5 -29.5t-29.5 -70.5v-1000q0 -41 29.5 -70.5t70.5 -29.5h1400q41 0 70.5 29.5t29.5 70.5zM1000 1400q169 0 323 -79t277 -221q-123 -142 -277 -221t-323 -79t-323 79t-277 221q123 142 277 221t323 79z M1200 1100q0 82 -59 141t-141 59t-141 -59t-59 -141t59 -141t141 -59t141 59t59 141zM1400 300h300v-100h-1400v100h300v100h800v-100z" />
38
- <glyph unicode="&#xf116;" d="M1900 400v1300q0 41 -29.5 70.5t-70.5 29.5h-1500q-41 0 -70.5 -29.5t-29.5 -70.5v-1300q0 -41 29.5 -70.5t70.5 -29.5h1500q41 0 70.5 29.5t29.5 70.5zM400 1600h1300v-400h-1300v400zM500 1500v-200h300v200h-300zM900 1500v-200h300v200h-300zM1300 1500v-200h300v200 h-300zM450 1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM600 1000h400v-100h-400v100zM1200 1000h500v-500h-500v500zM450 800q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5 t14.5 35.5t35.5 14.5zM600 800h400v-100h-400v100zM1300 800v-200h300v200h-300zM450 600q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM600 600h400v-100h-400v100z" />
39
- <glyph unicode="&#xf117;" d="M500 1800h1000q82 0 141 -59t59 -141v-800q0 -82 -59 -141t-141 -59h-200l-500 -500v500h-300q-82 0 -141 59t-59 141v800q0 82 59 141t141 59zM1350 950l-250 250l250 250l-100 100l-250 -250l-250 250l-100 -100l250 -250l-250 -250l100 -100l250 250l250 -250z" />
40
- <glyph unicode="&#xf118;" d="M1000 1000l-746 298l46 -1098h-200l48 1141l-148 59l1000 400l1000 -400zM1000 1500q-41 0 -70.5 -14.5t-29.5 -35.5t29.5 -35.5t70.5 -14.5t70.5 14.5t29.5 35.5t-29.5 35.5t-70.5 14.5zM1000 900l557 223q112 -149 136 -330q-52 7 -93 7q-188 0 -347.5 -92.5 t-252.5 -248.5q-93 156 -252.5 248.5t-347.5 92.5q-40 0 -93 -7q24 181 136 330z" />
41
- <glyph unicode="&#xf119;" d="M1689 1880l141 -141q29 -29 29 -70.5t-29 -70.5l-430 -431v-967h-1100v1500h1067l180 180q30 29 71.5 29.5t70.5 -29.5zM1123 1032l537 536l-142 142l-536 -537l-71 -212z" />
42
- <glyph unicode="&#xf120;" d="M2000 1000q0 163 -50.5 315.5t-143 275.5t-215.5 215.5t-275.5 143t-315.5 50.5t-315.5 -50.5t-275.5 -143t-215.5 -215.5t-143 -275.5t-50.5 -315.5t50.5 -315.5t143 -275.5t215.5 -215.5t275.5 -143t315.5 -50.5t315.5 50.5t275.5 143t215.5 215.5t143 275.5 t50.5 315.5zM1000 1899q183 0 349.5 -71t287 -191.5t191.5 -287t71 -349.5t-71 -349.5t-191.5 -287t-287 -191.5t-349.5 -71t-349.5 71t-287 191.5t-191.5 287t-71 349.5t71 349.5t191.5 287t287 191.5t349.5 71zM801 518l-305 821l105 8q20 2 27 27.5t-2.5 49t-30.5 22.5 q-129 -10 -213 -10q-33 0 -52 1q110 166 287 263t383 97q154 0 293.5 -55t247.5 -154q-52 7 -98.5 -30.5t-46.5 -111.5q0 -29 11.5 -61.5t22.5 -52.5t37 -61q5 -8 8 -13q50 -87 50 -221q0 -60 -31.5 -172t-63.5 -194l-32 -82l-271 750q21 1 40 5t27 8l8 3q20 2 27.5 29.5 t-2.5 53.5t-30 25q-130 -11 -214 -11q-35 0 -87.5 3l-87.5 5l-36 3q-20 1 -30 -25.5t-2.5 -54t27.5 -28.5l84 -8l112 -304zM1403 303l261 697q3 7 7 19.5t15 53.5t15.5 82t8 105t-6.5 121q94 -170 94 -381q0 -219 -106.5 -405t-287.5 -292zM268 1323l382 -1048 q-202 99 -324.5 294.5t-122.5 430.5q0 179 65 323zM1013 870l229 -625q-117 -42 -242 -42q-103 0 -206 30z" />
43
- <glyph unicode="&#xf121;" d="M300 1900h1400v-1800h-1400v1800zM1400 1500v100h-800v-100h800zM1400 1200v100h-800v-100h800zM1400 900v100h-800v-100h800zM1200 600v100h-600v-100h600z" />
44
- <glyph unicode="&#xf122;" d="M854 726q0 130 -72 222q-50 63 -136.5 82t-159.5 3q-25 143 78 303.5t264 241.5l-163 228q-98 -47 -188.5 -114t-169.5 -157t-133.5 -192.5t-79.5 -227t-9 -252.5q26 -211 139.5 -337t283.5 -126q151 0 248 88q98 88 98 238zM1797 726q0 130 -72 222q-50 63 -136.5 82 t-159.5 3q-25 143 78 303.5t264 241.5l-163 228q-98 -47 -188.5 -114t-169.5 -157t-133.5 -192.5t-79.5 -227t-9 -252.5q26 -211 139.5 -337t283.5 -126q151 0 248 88q98 88 98 238z" />
45
- <glyph unicode="&#xf123;" d="M100 1900h1800v-1200l-600 -600h-1200v1800zM400 1600v-100h1200v100h-1200zM400 1200v-100h1200v100h-1200zM1000 700v100h-600v-100h600zM1200 300l500 500h-500v-500z" />
46
- <glyph unicode="&#xf125;" d="M1100 1400h-82q-81 0 -149.5 -71t-68.5 -145v-184l-300 -300v300h-200q-82 0 -141 59t-59 141v500q0 82 59 141t141 59h600q82 0 141 -59t59 -141v-300zM1100 1300h600q82 0 141 -59t59 -141v-500q0 -82 -59 -141t-141 -59h-200v-300l-300 300h-100q-82 0 -141 59 t-59 141v500q0 82 59 141t141 59z" />
47
- <glyph unicode="&#xf126;" d="M200 1900h1600q41 0 70.5 -29.5t29.5 -70.5v-1600l-1800 2v1598q0 41 29.5 70.5t70.5 29.5zM600 1800l-200 -300h100l200 300h-100zM1000 1800h-100l-200 -300h100zM1300 1800h-100l-200 -300h100zM1600 1800h-100l-200 -300h100zM1700 400v1000h-1400v-1000h1400z M800 1300l600 -400l-600 -400v800z" />
48
- <glyph unicode="&#xf127;" d="M699 1692l1102 200q40 6 69.5 -25.5t29.5 -74.5v-200v-1042q0 -145 -102.5 -247.5t-247.5 -102.5t-247.5 102.5t-102.5 247.5t102.5 247.5t247.5 102.5q73 0 150 -35v627l-900 -200v-892q-18 -128 -118 -214t-232 -86q-145 0 -247.5 102.5t-102.5 247.5t102.5 247.5 t247.5 102.5q73 0 150 -35v827q0 40 28 66.5t71 33.5z" />
49
- <glyph unicode="&#xf128;" d="M225 1900h1550q52 0 88.5 -36.5t36.5 -88.5v-1550q0 -52 -36.5 -88.5t-88.5 -36.5h-1550q-52 0 -88.5 36.5t-36.5 88.5v1550q0 52 36.5 88.5t88.5 36.5zM1700 300v1400h-1400v-1400h1400zM1000 1400q0 82 -59 141t-141 59t-141 -59t-59 -141t59 -141t141 -59t141 59 t59 141zM1300 900q0 8 0.5 21t3 54t7.5 81t15.5 94t25 100.5t37.5 93.5t52 80.5t70 54.5t89 21v-1000q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v700q41 0 79.5 -22t67.5 -57.5t55 -78t43.5 -85t30 -78t18.5 -57.5l6 -22q4 12 12 32.5t36 72t60 91 t84 72t108 32.5t107.5 -20.5t85 -50t59 -59t36.5 -50.5z" />
50
- <glyph unicode="&#xf129;" d="M1500 1600h294q44 0 75 -31t31 -75v-1181q0 -45 -31 -79t-75 -34h-1588q-44 0 -75 34t-31 79v1181q0 44 31 75t75 31h294l300 200h400zM1000 500q166 0 283 117t117 283t-117 283t-283 117t-283 -117t-117 -283t117 -283t283 -117z" />
51
- <glyph unicode="&#xf130;" d="M1000 1900q205 0 362 -33.5t257.5 -91t164.5 -142t90 -177.5t26 -206t-26 -206t-90 -177.5t-164.5 -142t-257.5 -91t-362 -33.5t-362 33.5t-257.5 91t-164.5 142t-90 177.5t-26 206t26 206t90 177.5t164.5 142t257.5 91t362 33.5zM550 1100q62 0 106 44t44 106t-44 106 t-106 44t-106 -44t-44 -106t44 -106t106 -44zM1000 1100q62 0 106 44t44 106t-44 106t-106 44t-106 -44t-44 -106t44 -106t106 -44zM1450 1100q62 0 106 44t44 106t-44 106t-106 44t-106 -44t-44 -106t44 -106t106 -44zM600 550q62 0 106 -44t44 -106t-44 -106t-106 -44 t-106 44t-44 106t44 106t106 44zM300 350q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z" />
52
- <glyph unicode="&#xf132;" d="M1700 1300v-300h-500v-500h-300v500h-500v300h500v500h300v-500h500z" />
53
- <glyph unicode="&#xf133;" d="M1700 1300v300h-200v200h-300v-100h-900v-1500h1100v900h100v200h200zM1600 1500v-100h-200v-200h-100v200h-200v100h200v200h100v-200h200z" />
54
- <glyph unicode="&#xf134;" d="M0 1700h2000v-1400h-2000v1400zM1900 1300v200h-1800v-200h1800zM1500 800v400h-1000v-400h1000zM400 900v200h-300v-200h300zM1900 900v200h-300v-200h300zM1900 500v200h-1800v-200h1800z" />
55
- <glyph unicode="&#xf135;" d="M0 1680h2000v-1400h-2000v1400zM1900 1280v200h-1800v-200h1800zM1100 780v400h-1000v-400h1000zM1900 880v200h-700v-200h700zM1900 480v200h-1800v-200h1800z" />
56
- <glyph unicode="&#xf136;" d="M0 1680h2000v-1400h-2000v1400zM1900 1280v200h-1800v-200h1800zM1900 780v400h-1000v-400h1000zM800 880v200h-700v-200h700zM1900 480v200h-1800v-200h1800z" />
57
- <glyph unicode="&#xf138;" d="M0 1680h2000v-1400h-2000v1400zM1500 780v400h-1000v-400h1000z" />
58
- <glyph unicode="&#xf139;" d="M800 1400l600 -403l-600 -397v800z" />
59
- <glyph unicode="&#xf140;" d="M1500 1200l-403 -600l-397 600h800z" />
60
- <glyph unicode="&#xf141;" d="M1300 600l-600 403l600 397v-800z" />
61
- <glyph unicode="&#xf142;" d="M700 700l403 600l397 -600h-800z" />
62
- <glyph unicode="&#xf143;" d="M700 700l403 600l397 -600h-800z" />
63
- <glyph unicode="&#xf145;" d="M1500 1600h300v-1400h-1600v1400h300v100q0 62 44 106t106 44t106 -44t44 -106v-100h400v100q0 62 44 106t106 44t106 -44t44 -106v-100zM600 1700v-250q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v250q0 21 -14.5 35.5t-35.5 14.5t-35.5 -14.5t-14.5 -35.5z M1300 1700v-250q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v250q0 21 -14.5 35.5t-35.5 14.5t-35.5 -14.5t-14.5 -35.5zM1700 300v900h-1400v-900h1400zM700 400v700h-200v-700h200zM1100 400v700h-200v-700h200zM1500 400v700h-200v-700h200z" />
64
- <glyph unicode="&#xf147;" d="M1439 1450l134 -94l-537 -745h-134l-302 401l134 125l235 -187z" />
65
- <glyph unicode="&#xf148;" d="M1000 1784q160 0 305 -62t250 -167t167 -250t62 -305t-62 -305t-167 -250t-250 -167t-305 -62t-305 62t-250 167t-167 250t-62 305q0 213 106 393.5t286.5 285.5t391.5 105zM1200 612v776l-582 -385z" />
66
- <glyph unicode="&#xf153;" d="M1000 1800q163 0 311 -63.5t255 -170.5t170.5 -255t63.5 -311t-63.5 -311t-170.5 -255t-255 -170.5t-311 -63.5t-311 63.5t-255 170.5t-170.5 255t-63.5 311t63.5 311t170.5 255t255 170.5t311 63.5zM1500 700l-300 300l300 300l-200 200l-300 -300l-300 300l-200 -200 l300 -300l-300 -300l200 -200l300 300l300 -300z" />
67
- <glyph unicode="&#xf154;" d="M1000 1900l-300 -600l-600 -75l413 -462l-113 -663l600 300l600 -300l-112 663l412 462l-600 75zM1000 1676l234 -469l465 -58l-318 -356l87 -515l-468 234l-468 -234l87 515l-318 356l465 58z" />
68
- <glyph unicode="&#xf155;" d="M1000 1900l300 -600l600 -75l-412 -462l112 -663l-600 300l-600 -300l113 663l-413 462l600 75z" />
69
- <glyph unicode="&#xf156;" d="M1100 1300h-1000l500 -700zM900 600h1000l-500 700z" />
70
- <glyph unicode="&#xf157;" d="M1476 1900q134 0 229 -95.5t95 -229.5t-95 -229t-229 -95q-33 0 -70 8l-106 -106v-1053h-1100v1500h954q9 145 99 222.5t223 77.5zM1476 1351q93 0 158.5 66t65.5 158q0 93 -65.5 159t-158.5 66t-158.5 -66t-65.5 -159q0 -54 27 -103l-322 -322q-35 -35 -101.5 -133 t-48.5 -116q3 -4 10 -4q32 0 120.5 61.5t118.5 91.5l324 324q48 -23 96 -23z" />
71
- <glyph unicode="&#xf158;" d="M1555 630l-219 -206l-342 365l-364 -343l-206 218l364 343l-342 364l218 206l343 -364l364 342l205 -218l-364 -343z" />
72
- <glyph unicode="&#xf159;" d="M1000 1800q163 0 311 -63.5t255 -170.5t170.5 -255t63.5 -311t-63.5 -311t-170.5 -255t-255 -170.5t-311 -63.5t-311 63.5t-255 170.5t-170.5 255t-63.5 311t63.5 311t170.5 255t255 170.5t311 63.5zM1000 500q136 0 251 67t182 182t67 251t-67 251t-182 182t-251 67 t-251 -67t-182 -182t-67 -251t67 -251t182 -182t251 -67z" />
73
- <glyph unicode="&#xf160;" d="M1400 1100h100q41 0 70.5 -29.5t29.5 -70.5v-700q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v700q0 41 29.5 70.5t70.5 29.5h100v300q0 166 117 283t283 117t283 -117t117 -283v-300zM1200 1100v300q0 82 -59 141t-141 59t-141 -59t-59 -141v-300 h400zM1100 400l-36 215q39 18 62.5 54.5t23.5 80.5q0 62 -44 106t-106 44t-106 -44t-44 -106q0 -44 23.5 -80.5t62.5 -54.5l-36 -215h200z" />
74
- <glyph unicode="&#xf161;" d="M1600 1600h196q43 0 73.5 -30.5t30.5 -73.5v-1292q0 -43 -30.5 -73.5t-73.5 -30.5h-1292q-43 0 -73.5 30.5t-30.5 73.5v196h-196q-43 0 -73.5 30.5t-30.5 73.5v1292q0 43 30.5 73.5t73.5 30.5h1292q43 0 73.5 -30.5t30.5 -73.5v-196zM300 600h1100v1100h-1100v-1100z M800 1450q0 62 -44 106t-106 44t-106 -44t-44 -106t44 -106t106 -44t106 44t44 106zM1000 1000q2 10 6 28t18.5 70t30.5 99.5t43 105t55.5 99t67 70t79.5 28.5v-800h-900v600q56 0 97 -31t60 -75t30 -88t12 -75l1 -31q1 4 2.5 11.5t8 28t15.5 39.5t25.5 42t36 39.5t49 28 t63.5 11.5q47 0 84.5 -20.5t58 -50t34.5 -59t19 -50.5zM1700 300v1100h-100v-896q0 -43 -30.5 -73.5t-73.5 -30.5h-896v-100h1100z" />
75
- <glyph unicode="&#xf163;" d="M200 100h1600q41 0 70.5 29.5t29.5 70.5v1600q0 41 -29.5 70.5t-70.5 29.5h-1600q-41 0 -70.5 -29.5t-29.5 -70.5v-1600q0 -41 29.5 -70.5t70.5 -29.5zM400 1700q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z M1700 1700v-200h-1100v200h1100zM400 1300q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1700 1300v-200h-1100v200h1100zM400 900q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5 t29.5 70.5t70.5 29.5zM1700 900v-200h-1100v200h1100zM400 500q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1700 500v-200h-1100v200h1100z" />
76
- <glyph unicode="&#xf164;" d="M1900 200v1600q0 41 -29.5 70.5t-70.5 29.5h-1600q-41 0 -70.5 -29.5t-29.5 -70.5v-1600q0 -41 29.5 -70.5t70.5 -29.5h1600q41 0 70.5 29.5t29.5 70.5zM400 1700q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z M1700 1700v-600h-1100v600h1100zM400 900q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1700 900v-600h-1100v600h1100z" />
77
- <glyph unicode="&#xf165;" d="M1900 800v-300h-400v-400h-300v400h-800v800h-400v300h400v400h300v-400h700l300 300l100 -100l-300 -300v-700h400zM1100 1300h-400v-400zM800 800h400v400z" />
78
- <glyph unicode="&#xf166;" d="M700 1500h-195q0 137 71.5 213.5t223.5 76.5v210q-232 0 -368 -139.5t-136 -360.5h-178l262 -339zM2000 1900v-1400h-500v-500h-1400v1000h900v900h1000zM1800 1700h-600v-700h300v-300h300v1000zM1300 800h-1000v-600h1000v600z" />
79
- <glyph unicode="&#xf167;" d="M1595 1500h-195l320 -339l262 339h-178q0 221 -136 360.5t-368 139.5v-210q152 0 223.5 -76.5t71.5 -213.5zM100 1900h1000v-900h900v-1000h-1400v500h-500v1400zM300 1700v-1000h300v300h300v700h-600zM800 800v-600h1000v600h-1000z" />
80
- <glyph unicode="&#xf168;" d="M2000 1100v-200h-300v-800h-1400v800h-300v200h300v800h1400v-800h300zM650 1300h700l-350 400zM1700 1050h-1400v-100h1400v100zM1350 700h-700l350 -400z" />
81
- <glyph unicode="&#xf169;" d="M1900 1700v-1400h-800v-300h-200v300h-800v1400h800v300h200v-300h800zM1050 300v1400h-100v-1400h100zM700 1350l-400 -350l400 -350v700zM1700 1000l-400 350v-700z" />
82
- <glyph unicode="&#xf171;" d="M1723 990q79 -186 79 -390t-79 -390l-278 117q55 132 55 273q0 142 -55 272q-52 125 -150 223q-97 97 -222 150q-132 55 -273 55v-300l-600 450l600 450v-298q204 0 390 -79q182 -77 318 -215q138 -136 215 -318z" />
83
- <glyph unicode="&#xf172;" d="M277 990q77 182 215 318q136 138 318 215q186 79 390 79v298l600 -450l-600 -450v300q-141 0 -273 -55q-124 -53 -222 -150q-98 -98 -150 -223q-55 -130 -55 -272q0 -141 55 -273l-278 -117q-79 186 -79 390t79 390z" />
84
- <glyph unicode="&#xf173;" d="M1400 1400q0 -138 -84.5 -245t-215.5 -141v-614q0 -44 -50 -94t-100 -78l-50 -28v814q-131 34 -215.5 141t-84.5 245q0 166 117 283t283 117t283 -117t117 -283zM800 1500q0 -41 29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5t-29.5 70.5t-70.5 29.5t-70.5 -29.5 t-29.5 -70.5z" />
85
- <glyph unicode="&#xf174;" d="M600 700h900q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v1000h-200q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-200h1300l-400 -700h-900v-100zM550 400q62 0 106 -44t44 -106 t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1450 400q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
86
- <glyph unicode="&#xf175;" d="M200 1800h1600q41 0 70.5 -29.5t29.5 -70.5v-1400q0 -41 -29.5 -70.5t-70.5 -29.5h-1600q-41 0 -70.5 29.5t-29.5 70.5v1400q0 41 29.5 70.5t70.5 29.5zM1700 400v900h-1400v-900h1400zM400 1200v-100h300v100h-300zM800 1200v-300h800v300h-800zM400 800v-100h300v100 h-300zM800 800v-300h800v300h-800z" />
87
- <glyph unicode="&#xf176;" d="M1485 997q133 -14 224 -113t91 -234q0 -145 -102.5 -247.5t-247.5 -102.5h-1000q-145 0 -247.5 102.5t-102.5 247.5q0 133 88 231t218 115q-6 26 -6 54q0 104 73 177t177 73q49 0 95 -19q50 99 145.5 159t209.5 60q166 0 283 -117t117 -283q0 -48 -15 -103z" />
88
- <glyph unicode="&#xf177;" d="M1000 1491q294 0 536 -151t364 -399q-122 -248 -364 -399t-536 -151t-536 151t-364 399q122 248 364 399t536 151zM1235 1181q0 44 -26 78t-66 46q-17 2 -49 4q-49 -4 -83 -40.5t-34 -87.5q0 -53 38 -91t91 -38q54 0 91.5 38t37.5 91zM1000 511q244 0 449.5 121 t310.5 309q-69 123 -189 208.5t-276 126.5q109 -117 109 -276q0 -167 -118.5 -285.5t-285.5 -118.5t-285.5 118.5t-118.5 285.5q0 159 109 276q-156 -41 -276 -126.5t-189 -208.5q105 -188 310.5 -309t449.5 -121z" />
89
- <glyph unicode="&#xf178;" d="M1800 300v1400q0 41 -29.5 70.5t-70.5 29.5h-1400q-41 0 -70.5 -29.5t-29.5 -70.5v-1400q0 -41 29.5 -70.5t70.5 -29.5h1400q41 0 70.5 29.5t29.5 70.5zM1700 300h-1400v1400h1400v-1400zM475 1600h1050q31 0 53 -22t22 -53v-125h-100v-300h100v-200h-100v-300h100v-125 q0 -31 -22 -53t-53 -22h-1050q-31 0 -53 22t-22 53v1050q0 31 22 53t53 22zM1300 1000q0 166 -117 283t-283 117t-283 -117t-117 -283t117 -283t283 -117t283 117t117 283zM900 1300l77 -115q55 -24 89 -74t34 -111q0 -82 -59 -141t-141 -59t-141 59t-59 141q0 61 34 111 t89 74z" />
90
- <glyph unicode="&#xf179;" d="M1214 1582q139 -139 158 -334.5t-86 -354.5q3 -3 15.5 -14t20.5 -17q34 -27 81 -59q62 -43 66 -47q61 -45 94 -78q49 -49 84 -100q36 -50 59 -104q22 -55 18 -100q-3 -48 -36 -81t-81 -36q-49 -3 -99 19q-52 21 -104 59q-51 35 -100 84q-33 33 -77 93q-2 3 -47 66 q-32 46 -56 78q-24 30 -44 50q-154 -83 -334 -57t-310 155q-160 161 -160 389.5t160 388.5q106 106 247.5 143.5t283 0t247.5 -143.5zM1073 946q102 103 102 247.5t-102 247.5q-103 103 -248 103t-247 -103q-103 -103 -103 -247.5t103 -247.5q102 -103 247 -103t248 103z " />
91
- <glyph unicode="&#xf180;" d="M900 1100v600h-600v-600h600zM1700 1100v600h-600v-600h600zM900 300v600h-600v-600h600zM1700 300v600h-600v-600h600z" />
92
- <glyph unicode="&#xf181;" d="M500 600v800h1000v-800h-1000zM200 700v600h200v-600h-200zM600 1300v-600h800v600h-800zM1600 1300h200v-600h-200v600zM1300 1100v100h-600v-100h600zM1300 800v200h-600v-200h600z" />
93
- <glyph unicode="&#xf182;" d="M1200 1600h300q41 0 70.5 -29.5t29.5 -70.5v-100h-1300v100q0 41 29.5 70.5t70.5 29.5h300q17 86 88.5 143t161.5 57t161.5 -57t88.5 -143zM800 1600h300q-16 43 -58.5 71.5t-91.5 28.5t-91.5 -28.5t-58.5 -71.5zM400 1300h1100v-1000q0 -41 -29.5 -70.5t-70.5 -29.5 h-900q-41 0 -70.5 29.5t-29.5 70.5v1000zM700 400v700h-100v-700h100zM1000 400v700h-100v-700h100zM1300 400v700h-100v-700h100z" />
94
- <glyph unicode="&#xf183;" d="M1800 200v1600h-1600v-1600h1600zM1600 1500h-1200v100h1200v-100zM700 1300v-300h300q0 -124 -88 -212t-212 -88t-212 88t-88 212t88 212t212 88zM800 1100v200q82 0 141 -59t59 -141h-200zM1600 1200h-400v100h400v-100zM1600 900h-400v200h400v-200zM1600 700h-400 v100h400v-100zM1600 400h-1200v100h1200v-100z" />
95
- <glyph unicode="&#xf184;" d="M1000 1000v700q143 0 272.5 -55.5t223 -149t149 -223t55.5 -272.5h-700zM900 1600v-700h700q0 -143 -55.5 -272.5t-149 -223t-223 -149t-272.5 -55.5t-272.5 55.5t-223 149t-149 223t-55.5 272.5t55.5 272.5t149 223t223 149t272.5 55.5z" />
96
- <glyph unicode="&#xf185;" d="M1800 200v1600h-400v-1600h400zM1200 200v1100h-400v-1100h400zM600 200v800h-400v-800h400z" />
97
- <glyph unicode="&#xf200;" d="M600 1600v-1300h454q207 0 326 100q120 99 120 277q0 126 -51 201q-52 76 -167 103v9q85 15 136 90t51 191q0 172 -117 250q-115 79 -374 79h-378zM857 1085v289h136q109 0 161 -32q51 -33 51 -107q0 -80 -47 -115t-151 -35h-150zM857 866h160q216 0 216 -161 q0 -91 -51 -134q-50 -43 -157 -43h-168v338z" />
98
- <glyph unicode="&#xf201;" d="M1478 1400h-213l-280 -900h212l-62 -200h-675l62 200h214l280 900h-213l62 200h675z" />
99
- <glyph unicode="&#xf203;" d="M550 1300q-62 0 -106 44t-44 106t44 106t106 44t106 -44t44 -106t-44 -106t-106 -44zM800 1500h900v-100h-900v100zM550 800q-62 0 -106 44t-44 106t44 106t106 44t106 -44t44 -106t-44 -106t-106 -44zM800 1000h900v-100h-900v100zM550 300q-62 0 -106 44t-44 106 t44 106t106 44t106 -44t44 -106t-44 -106t-106 -44zM800 500h900v-100h-900v100z" />
100
- <glyph unicode="&#xf204;" d="M600 1300v400h-69l-129 -103l40 -51l46 37q12 10 30 28l-2 -42v-269h84zM800 1500h900v-100h-900v100zM677 805v70h-172v4l51 48q56 52 70 71q21 26 30 49q10 23 10 51q0 33 -16 56q-14 23 -44 37t-65 14q-29 0 -51 -6q-17 -3 -42 -15q-21 -12 -48 -35l45 -54 q24 19 45 30q21 10 45 10q23 0 35 -11q13 -12 13 -36q0 -15 -6 -30q-7 -16 -19 -33q-11 -13 -58 -62l-99 -100v-58h276zM800 1000h900v-100h-900v100zM671 605q0 46 -37 71q-37 26 -100 26q-78 0 -133 -40l40 -60q27 18 46 23q20 7 41 7q58 0 58 -46q0 -31 -22 -43t-70 -12 h-31v-66h31q51 0 75 -12q23 -12 23 -41q0 -32 -20 -47q-21 -15 -63 -15q-27 0 -57 8q-25 7 -52 20v-74q50 -22 118 -22q80 0 122 33q43 33 43 92q0 40 -26 64q-25 24 -74 30v2q40 9 65 37q23 28 23 65zM800 500h900v-100h-900v100z" />
101
- <glyph unicode="&#xf205;" d="M949 678q0 113 -61 190q-43 53 -117 69.5t-136 2.5q-21 122 66.5 259t225.5 206l-139 195q-106 -51 -199.5 -129t-167.5 -179.5t-110 -231t-19 -265.5q22 -180 119.5 -287.5t242.5 -107.5q128 0 212 75q83 74 83 203zM1754 678q0 113 -61 190q-43 54 -117 70t-136 2 q-21 122 66.5 259t225.5 206l-139 195q-106 -51 -199.5 -129t-167 -179.5t-109.5 -231t-19 -265.5q22 -180 119 -287.5t242 -107.5q128 0 212 75q83 74 83 203z" />
102
- <glyph unicode="&#xf206;" d="M1200 1500v200h-900v-200h900zM1700 1100v200h-1400v-200h1400zM1200 700v200h-900v-200h900zM1700 300v200h-1400v-200h1400z" />
103
- <glyph unicode="&#xf207;" d="M1400 1500v200h-800v-200h800zM1700 1100v200h-1400v-200h1400zM1400 700v200h-800v-200h800zM1700 300v200h-1400v-200h1400z" />
104
- <glyph unicode="&#xf208;" d="M1700 1500v200h-900v-200h900zM1700 1100v200h-1400v-200h1400zM1700 700v200h-900v-200h900zM1700 300v200h-1400v-200h1400z" />
105
- <glyph unicode="&#xf209;" d="M1700 1300v400h-1400v-400h1400zM600 900v200h-300v-200h300zM1200 900v200h-400v-200h400zM1700 900v200h-300v-200h300zM1700 300v400h-1400v-400h1400z" />
106
- <glyph unicode="&#xf210;" d="M1584 1724q36 0 71 -11q26 -8 64 -25l35 81q-78 39 -169 39q-86 0 -152 -37q-65 -37 -99 -108q-34 -68 -34 -163q0 -149 70 -228t202 -79q88 0 160 26v84q-32 -10 -74 -19q-38 -8 -74 -8q-89 0 -134 57q-47 54 -47 166q0 105 48 165q49 60 133 60zM650 1200h104l-224 600 h-106l-224 -600h103l58 166h229zM800 1800v-600h217q101 0 157 46q56 44 56 126q0 60 -30 95q-28 35 -93 47v4q50 9 78 44q28 37 28 88q0 78 -56 114q-54 36 -179 36h-178zM898 1552v166h85q68 0 97 -19q31 -18 31 -61q0 -46 -29 -66q-28 -20 -89 -20h-95zM564 1450h-174 l54 156q23 65 32 110l15 -52q8 -26 17 -51zM898 1473h99q64 0 98 -23q32 -23 32 -69q0 -51 -32 -75q-31 -24 -93 -24h-104v191zM400 700l500 -500l900 800l-100 100l-800 -600l-400 300z" />
107
- <glyph unicode="&#xf211;" d="M600 1700l-125 -125l225 -375l-375 225l-125 -125v400h400zM1400 1700h400v-400l-125 125l-375 -225l225 375zM700 800v400h600v-400h-600zM200 700l125 -125l375 225l-225 -375l125 -125h-400v400zM1400 300l125 125l-225 375l375 -225l125 125v-400h-400z" />
108
- <glyph unicode="&#xf212;" d="M1900 1800v-600h-1800v600h1800zM1800 1300v400h-1600v-400h1600zM500 1600v-200h-200v200h200zM800 1600v-200h-200v200h200zM1100 1600v-200h-200v200h200zM1400 1600v-200h-200v200h200zM1700 1600v-200h-200v200h200zM1900 1100v-900h-1800v900h1800zM1800 300v700 h-1600v-700h1600zM500 900v-200h-200v200h200zM800 900v-200h-200v200h200zM1100 900v-200h-200v200h200zM1700 900v-200h-500v200h500zM1100 600v-200h-800v200h800zM1400 600v-200h-200v200h200zM1700 600v-200h-200v200h200z" />
109
- <glyph unicode="&#xf213;" d="M1400 1500h-200v-571q0 -143 -70 -220.5t-175 -77.5q-106 0 -180.5 78t-74.5 218v573h-200v-587q0 -61 12.5 -120.5t45 -121t82 -108t129 -75.5t179.5 -29t180.5 28.5t130 74t82.5 106.5t46 120.5t13 120.5v591zM1400 200v200h-900v-200h900z" />
110
- <glyph unicode="&#xf214;" d="M200 1700h1600v-200h-1600v200zM200 1300h1600v-200h-1600v200zM200 900h1600v-200h-1600v200zM200 500h1600v-200h-1600v200z" />
111
- <glyph unicode="&#xf215;" d="M1323 500h190l-413 1100h-200l-400 -1100h188l107 300h418zM1170 954h-319l149 486z" />
112
- <glyph unicode="&#xf216;" d="M1238 1800l262 -300v-100h-1000v100l264 300h474zM1000 1500q41 0 70.5 29.5t29.5 70.5t-29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5zM1800 300v1200q0 41 -29.5 70.5t-70.5 29.5h-154l54 -63v-237h-1200v238l55 62h-155q-41 0 -70.5 -29.5 t-29.5 -70.5v-1200q0 -41 29.5 -70.5t70.5 -29.5h1400q41 0 70.5 29.5t29.5 70.5zM1500 1100l-200 -700h-200l-100 500l-100 -500h-208l-192 700h200l100 -500l100 500h200l100 -500l100 500h200z" />
113
- <glyph unicode="&#xf217;" d="M1238 1800l262 -300v-100h-1000v100l264 300h474zM1000 1500q41 0 70.5 29t29.5 71q0 41 -29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5q0 -42 29.5 -71t70.5 -29zM1545 1600h155q41 0 70.5 -29.5t29.5 -70.5v-1200q0 -42 -29.5 -71t-70.5 -29h-1400q-41 0 -70.5 29 t-29.5 71v1200q0 41 29.5 70.5t70.5 29.5h155l-55 -63v-237h1200v237zM1400 900v200h-800v-200h300v-500h200v500h300z" />
114
- <glyph unicode="&#xf218;" d="M1429 1541l110 -111q61 -60 61 -147v-212q0 -87 -61 -147l-663 -663q-60 -61 -147 -61t-147 61l-111 110l-110 111q-61 60 -61 147v212q0 87 61 148l663 662q60 61 147 61q86 0 147 -61zM808 571l642 642q29 29 29 71t-29 72l-214 214q-29 29 -72 29q-42 0 -71 -29 l-642 -642q-29 -30 -29 -72t29 -71l214 -214q29 -29 71.5 -29t71.5 29z" />
115
- <glyph unicode="&#xf219;" d="M1600 1800h-300v-100h-600v100h-300v-1500h300v100h600v-100h300v1500zM600 1700v-100h-100v100h100zM1500 1700v-100h-100v100h100zM1300 1600v-500h-600v500h600zM600 1500v-100h-100v100h100zM1500 1500v-100h-100v100h100zM600 1300v-100h-100v100h100zM1500 1300 v-100h-100v100h100zM600 1100v-100h-100v100h100zM1500 1100v-100h-100v100h100zM1300 1000v-500h-600v500h600zM600 900v-100h-100v100h100zM1500 900v-100h-100v100h100zM600 700v-100h-100v100h100zM1500 700v-100h-100v100h100zM600 500v-100h-100v100h100zM1500 500 v-100h-100v100h100z" />
116
- <glyph unicode="&#xf220;" d="M1000 1460q190 0 291 -108q100 -108 100 -313q0 -192 -69 -327q-33 -62 -87.5 -111.5t-134.5 -100.5v-200h600v200h-369q146 101 212 234q74 153 74 335q0 267 -165 422q-166 155 -452 155q-287 0 -452 -157q-165 -156 -165 -420q0 -181 73 -333q62 -130 210 -236h-366 v-200h600v200q-84 55 -139 105t-85 112q-67 133 -67 322q0 206 100 313q99 108 291 108z" />
117
- <glyph unicode="&#xf221;" d="M700 1600v100h-400v-100h400zM1700 1500v200h-900v-200h900zM700 1300h-200v200l-400 -350l400 -350v200h200v300zM1700 1200v200h-900v-200h900zM1500 900v200h-700v-200h700zM1700 600v200h-900v-200h900zM700 600v100h-400v-100h400zM1100 300v200h-300v-200h300z" />
118
- <glyph unicode="&#xf222;" d="M300 1500v200h900v-200h-900zM1300 1600v100h400v-100h-400zM1300 1300h200v200l400 -350l-400 -350v200h-200v300zM300 1200v200h900v-200h-900zM500 900v200h700v-200h-700zM300 600v200h900v-200h-900zM1300 600v100h400v-100h-400zM900 300v200h300v-200h-300z" />
119
- <glyph unicode="&#xf223;" d="M1700 1000q0 190 -94 351.5t-255 255t-351 93.5q-143 0 -272.5 -55.5t-223 -149t-149 -223t-55.5 -272.5t55.5 -272.5t149 -223t223 -149t272.5 -55.5q190 0 351 93.5t255 255t94 351.5zM1070 852h-156v43q0 56 24 98q22 39 88 89q61 43 81 71q20 26 20 62q0 37 -28 58 q-28 19 -79 19q-88 0 -200 -57l-64 128q131 74 277 74q120 0 192 -58q71 -58 71 -155q0 -66 -29 -111q-27 -45 -111 -106q-55 -40 -71 -63q-15 -22 -15 -57v-35zM923 578q-27 26 -27 73q0 50 26 75t77 25q47 0 75 -26q27 -26 27 -74q0 -47 -27 -72q-27 -27 -75 -27t-76 26z " />
120
- <glyph unicode="&#xf224;" d="M1582 775q40 0 74 7q33 7 73 20v-84q-70 -26 -158 -26q-131 0 -201 79q-59 67 -68 179h-94q18 -32 18 -79q0 -80 -55 -126q-57 -45 -156 -45h-215v250h-141l93 -250h-103l-59 167h-228l-58 -167h-104l93 250h-93v100h131l93 249h106l92 -249h178v250h177q115 0 177 -41 q55 -36 55 -113q0 -52 -27 -87l-8 -9h129q8 62 31 110q36 71 98 106q64 37 151 37q93 0 169 -38l-35 -81q-26 13 -64 25q-35 11 -71 11q-83 0 -131 -59q-35 -44 -44 -111h293v-100h-295q9 -77 44 -119q45 -56 133 -56zM444 1104l-18 -54h103l-21 61q-2 5 -7.5 22t-9.5 29 q-12 41 -14 51q-14 -59 -33 -109zM897 1213v-163h119q39 3 64 18q28 19 28 66q0 42 -30 61q-30 18 -97 18h-84zM564 949v1h-173v-1h173zM1092 948l-3 2h-192v-168h104q60 0 92 23q31 24 31 74q0 46 -32 69z" />
121
- <glyph unicode="&#xf225;" d="M1774 1774q126 -127 126 -305t-126 -305l-153 -152q-45 -46 -108 -77l-213 65l169 164l76 77l76 76q63 63 63 152t-63 152q-63 64 -152 64t-152 -64l-77 -76l-76 -76l-164 -169l-65 214q31 63 77 107l152 153q127 126 305.5 126t304.5 -126zM200 1600l800 -600l-600 800z M600 1800l400 -800l-200 800h-200zM200 1400l800 -400l-800 200v200zM936 631l64 69l74 -235l-138 -139q-127 -126 -305 -126t-305 126q-126 126 -126 305t126 305l139 138l235 -74l-69 -64l-152 -153q-64 -63 -64 -152t64 -152q63 -64 152 -64t152 64zM1800 400l-800 600 l600 -800zM1400 200l-400 800l200 -800h200zM1800 600l-800 400l800 -200v-200z" />
122
- <glyph unicode="&#xf226;" d="M376 400h1248q176 219 176 500q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5t-255 -170.5t-170.5 -255t-63.5 -311q0 -281 176 -500zM1000 1600q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z M600 1400q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1400 1400q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM863 845l337 455v-600q0 -82 -59 -141t-141 -59 t-141 59t-59 141q0 85 63 145zM400 1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1600 1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1100 700 q0 41 -29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5z" />
123
- <glyph unicode="&#xf227;" d="M500 200v1500h-200v-1500h200zM600 800v800q83 28 189 28.5t214.5 -14t220.5 -29t239 -13.5t237 28v-800q-83 -35 -201 -39t-229.5 13t-239 32.5t-229.5 19.5t-201 -26z" />
124
- <glyph unicode="&#xf228;" d="M300 1600h1400v-200h-1400v200zM300 1100h1400v-200h-1400v200zM300 600h1400v-200h-1400v200z" />
125
- <glyph unicode="&#xf229;" d="M300 997l600 403v-800zM1100 1400l600 -403l-600 -397v800z" />
126
- <glyph unicode="&#xf230;" d="M1000 1800q-163 0 -301 -80.5t-218.5 -218.5t-80.5 -301q0 -142 70 -266.5t183 -222.5q4 -3 23.5 -19.5t29.5 -25.5t30 -27.5t34.5 -33t33 -35.5t34.5 -42q133 -174 162 -271q29 97 162 271q16 21 34.5 42t33 35.5t34.5 33t30 27.5t29.5 25.5t23.5 19.5q113 98 183 222.5 t70 266.5q0 163 -80.5 301t-218.5 218.5t-301 80.5zM1000 1544q142 0 243 -101t101 -243t-101 -243t-243 -101t-243 101t-101 243t101 243t243 101z" />
127
- <glyph unicode="&#xf231;" d="M1300 686l117 594q60 33 96.5 91.5t36.5 128.5q0 104 -73 177t-177 73t-177 -73t-73 -177q0 -70 36.5 -128.5t96.5 -91.5zM1300 1650q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1472 1170l328 133v-900l-488 -203l-612 203l-500 -200v900 l500 200l427 -141l173 -730z" />
128
- <glyph unicode="&#xf232;" d="M400 500v300h-200v1000h1200v-300h200v-300h200v-1000h-1200v300h-200zM1100 1700q-82 0 -141 -59t-59 -141h400q0 83 -58.5 141.5t-141.5 58.5zM400 900v500h-100v-500h100zM1100 1200h400q0 83 -58.5 141.5t-141.5 58.5q-82 0 -141 -59t-59 -141zM600 600v500h-100 v-500h100zM1500 700q83 0 141.5 58.5t58.5 141.5q0 82 -59 141t-141 59t-141 -59t-59 -141q0 -83 58.5 -141.5t141.5 -58.5zM1700 300v200q-101 0 -185.5 16.5t-144.5 43t-115 58.5l-110 64t-115 58.5t-144.5 43t-185.5 16.5v-500h1000z" />
129
- <glyph unicode="&#xf233;" d="M500 1700h1400v-1100h-200v-200h-200v-200h-1400v1100h200v200h200v200zM1800 700v900h-1200v-900h1200zM1500 1100q-82 0 -141 59t-59 141t59 141t141 59t141 -59t59 -141t-59 -141t-141 -59zM1600 500v100h-1100v800h-100v-900h1200zM700 1400l1000 -600h-1000v600z M1400 300v100h-1100v800h-100v-900h1200z" />
130
- <glyph unicode="&#xf234;" d="M800 1500q0 41 -29.5 70.5t-70.5 29.5h-500q-41 0 -70.5 -29.5t-29.5 -70.5q0 -42 30.5 -71t69.5 -29h500q41 0 70.5 29.5t29.5 70.5zM1400 1000l400 400v-1000l-400 400v200zM1300 600v600q0 41 -29.5 70.5t-70.5 29.5h-800q-41 0 -70.5 -29.5t-29.5 -70.5v-600 q0 -41 29.5 -70.5t70.5 -29.5h800q41 0 70.5 29.5t29.5 70.5z" />
131
- <glyph unicode="&#xf235;" d="M1200 700v600q0 82 -59 141t-141 59h-700q-82 0 -141 -59t-59 -141v-600q0 -82 59 -141t141 -59h700q82 0 141 59t59 141zM1300 950l600 -450v1000l-600 -450v-100z" />
132
- <glyph unicode="&#xf236;" d="M1900 500v1000q0 82 -59 141t-141 59h-1300q-82 0 -141 -59t-59 -141v-1000q0 -82 59 -141t141 -59h1300q82 0 141 59t59 141zM800 600v800l600 -400z" />
133
- <glyph unicode="&#xf237;" d="M1450 800q124 0 212 -88t88 -212t-88 -212t-212 -88t-212 88t-88 212q0 34 9 69l-438 230q-89 -99 -221 -99q-124 0 -212 88t-88 212t88 212t212 88q130 0 221 -99l438 230q-9 35 -9 69q0 124 88 212t212 88t212 -88t88 -212t-88 -212t-212 -88q-130 0 -221 99l-438 -230 q9 -35 9 -69t-9 -69l438 -230q89 99 221 99z" />
134
- <glyph unicode="&#xf238;" d="M1800 1650q0 -46 -25.5 -83.5t-66.5 -54.5v-1311h-1509l422 673q-21 37 -21 76q0 62 44 106t106 44t106 -44t44 -106q0 -17 -5 -37l144 -63q45 50 111 50q22 0 51 -9l358 641q-59 44 -59 118q0 62 44 106t106 44q25 0 53 -10l5 9v-11q41 -17 66.5 -54.5t25.5 -83.5z M1608 301v1114l-329 -589q21 -37 21 -76q0 -62 -44 -106t-106 -44t-106 44t-44 106l1 7l-163 72q-40 -29 -88 -29q-24 0 -51 10l-320 -509h1229z" />
135
- <glyph unicode="&#xf239;" d="M1800 200l1 1228q45 27 72 72.5t27 99.5q0 82 -59 141t-141 59t-141 -59t-59 -141q0 -59 31.5 -107.5t82.5 -72.5l-413 -658q-52 38 -116 38q-62 0 -112 -34t-73 -90l-214 153q14 34 14 71q0 83 -58.5 141.5t-141.5 58.5t-141.5 -58.5t-58.5 -141.5q0 -54 26.5 -99 t71.5 -72l-298 -529h1700zM1700 1700q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM500 1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM1085 700 q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z" />
136
- <glyph unicode="&#xf240;" d="M1622 1420q35 -52 23.5 -112.5t-63.5 -95.5t-112.5 -23.5t-95.5 63.5q-21 31 -55 67q-36 34 -67 55q-37 25 -77 41q-42 19 -84 26q-90 20 -182 1q-43 -9 -84 -27q-40 -16 -77 -41q-33 -22 -66 -55q-34 -34 -56 -67q-24 -36 -41 -76q-1 -2 -1 -4q-12 -30 -23 -72h-461v300 h266q9 16 12 20q42 62 91 111q51 51 111 91q63 43 128 70q71 30 141 43q151 32 302 0q70 -13 141 -43q65 -27 128 -70q60 -40 111 -91q49 -49 91 -111zM1250 1000q0 104 -73 177t-177 73t-177 -73t-73 -177t73 -177t177 -73t177 73t73 177zM378 580q-35 52 -23.5 113 t63.5 96t113 23t95 -64q21 -31 55 -67q36 -34 67 -55q37 -25 77 -41q36 -16 84 -26q87 -19 182 0q48 10 84 26q40 16 77 41q33 22 66 55q31 31 56 67q26 41 41 76q1 2 1 4q12 30 23 72h461v-300h-266q-2 -2 -5.5 -9t-6.5 -11q-42 -62 -91 -111q-51 -51 -111 -91 q-63 -43 -128 -70q-64 -27 -141 -43q-151 -32 -302 0q-77 16 -141 43q-65 27 -128 70q-60 40 -111 91q-49 49 -91 111z" />
137
- <glyph unicode="&#xf242;" d="M1800 1200l-500 -400v299q-86 -2 -152.5 -9t-143.5 -26t-141 -50.5t-132.5 -85.5t-130.5 -128q22 269 199 421t501 173v306zM400 600h1100v200l200 160v-560h-1500v1100h943q-274 -48 -441 -200h-302v-700z" />
138
- <glyph unicode="&#xf301;" d="M1894 1554q-75 -112 -183 -190q1 -15 1 -47q0 -147 -43 -294.5t-131 -282.5t-210 -239t-293 -166t-366 -62q-304 0 -563 165q48 -5 88 -5q255 0 455 157q-119 2 -212.5 73t-129.5 182q39 -7 69 -7q47 0 96 13q-127 26 -210.5 127t-83.5 233v4q80 -43 166 -46 q-75 51 -119 131.5t-44 174.5q0 100 50 184q138 -169 334.5 -270.5t421.5 -112.5q-10 45 -10 84q0 151 107.5 258.5t259.5 107.5q160 0 268 -116q126 26 233 89q-43 -132 -162 -202q107 11 211 57z" />
139
- <glyph unicode="&#xf302;" d="M605 1800q-87 0 -148.5 -61.5t-61.5 -148.5v-908q0 -6 -1 -9q0 -209 117.5 -337.5t342.5 -134.5q2 0 7 -0.5t8 -0.5h521q86 0 148 62t62 149t-62 148.5t-148 61.5h-544q-30 0 -30 39v303h574q86 0 148 61.5t62 148.5t-62 149t-148 62h-574v206q0 87 -62 148.5t-149 61.5z " />
140
- <glyph unicode="&#xf303;" d="M1492 200h308q0 214 -57.5 418t-161 376.5t-251 318t-323 247.5t-383 158.5t-424.5 56.5v-302q210 0 407 -64.5t356 -182t278.5 -274t185 -351t65.5 -401.5zM948 200h308q0 211 -84 403.5t-225.5 332t-337 222t-409.5 82.5v-302q150 0 286 -56t243 -160 q106 -104 162.5 -239t56.5 -283zM413 202q88 0 150.5 61t62.5 148q0 86 -62.5 147.5t-150.5 61.5t-150.5 -61.5t-62.5 -147.5q0 -87 62 -148t151 -61z" />
141
- <glyph unicode="&#xf304;" d="M289 1800h1423q37 0 62.5 -25.5t25.5 -62.5v-1424q0 -36 -25.5 -62t-62.5 -26h-408v620h208l31 241h-239v154q0 59 25 88.5t95 29.5h128v216q-66 9 -186 9q-142 0 -226.5 -83.5t-84.5 -235.5v-178h-209v-241h209v-620h-766q-37 0 -63 26t-26 62v1424q0 37 26 62.5 t63 25.5z" />
142
- <glyph unicode="&#xf305;" d="M846 200h293v730h245l37 284h-282v182q0 69 29.5 103.5t111.5 34.5h151v255q-95 11 -219 11q-167 0 -266.5 -98.5t-99.5 -277.5v-210h-246v-284h246v-730z" />
143
- <glyph unicode="&#xf306;" d="M600 1500v200h-300v-200h300zM1800 500v1100h-900l-200 -200h-500v-900h1600zM1100 1300q124 0 212 -88t88 -212t-88 -212t-212 -88t-212 88t-88 212t88 212t212 88z" />
144
- <glyph unicode="&#xf307;" d="M803 1554q-7 -40 -4.5 -85.5t20.5 -92t42 -84t61 -61t78 -23.5q50 0 94 36t68 89t35.5 113t-1.5 108q-16 72 -72.5 117.5t-123.5 45.5q-68 0 -124 -45.5t-73 -117.5zM390 1464q-13 -55 4 -123t61.5 -119t101.5 -51t101.5 51t61.5 119t4 123q-14 61 -62 100t-105 39 t-105 -39t-62 -100zM1276 1464q-13 -55 4 -123t61.5 -119t100.5 -51q57 0 101.5 51t61.5 119t4 123q-14 61 -62 100t-105 39t-104.5 -39t-61.5 -100zM1217 321l125 430q37 126 6 215t-122 138t-226 49q-207 0 -304 -109t-40 -293l126 -430q17 -53 79.5 -87t138.5 -34 q75 0 137.5 34t79.5 87zM607 1084q-107 -147 -42 -359l112 -379q-53 -31 -120 -31q-65 0 -117.5 28.5t-67.5 74.5l-107 365q-48 156 34 248t258 92q41 0 79 -6q-11 -11 -29 -33zM1442 1123q176 0 258.5 -92t33.5 -248l-107 -365q-15 -46 -67.5 -74.5t-117.5 -28.5 q-67 0 -120 31l111 377q67 215 -42 361q-13 18 -28 33q38 6 79 6z" />
145
- <glyph unicode="&#xf308;" d="M1770 1368l141 -142l-347 -341l-142 142l84 82q-54 129 -151 231l-461 -659l-526 -470q-29 -29 -70.5 -29t-71.5 29l-120 121q-29 29 -29 70.5t29 70.5l1097 992q-231 145 -567 148q412 125 658 30q25 -10 50 -23.5t44.5 -25t45 -33t39.5 -32.5t40 -39t35.5 -37.5t37 -43 t33 -40t34.5 -44t32 -40.5z" />
146
- <glyph unicode="&#xf309;" d="M855 1694q20 -7 21 -22t-11 -35.5t-30 -44.5t-32 -51.5t-19.5 -54t9 -54.5t52.5 -51q23 -17 61 -5t75 37t82.5 63.5t83.5 74t78 69t65 47.5q39 22 84.5 30t95 0t96 -47t77.5 -106q33 -72 41 -182t-14.5 -239.5t-70 -255.5t-135 -242t-200.5 -187q-117 -74 -246.5 -106 t-252.5 -20t-233.5 58.5t-198.5 132.5t-139 201q-29 66 -39.5 141t-2.5 147.5t30 147.5t57.5 142.5t79 131t95 113.5t106.5 91t113 62t113.5 27.5t108.5 -13.5zM976 1049q30 -68 126 -56q91 12 173 84q96 86 93 187q-1 34 -13 65q-26 65 -124 33q-92 -29 -176 -112 q-94 -94 -87 -171q2 -16 8 -30z" />
147
- <glyph unicode="&#xf310;" d="M400 1400h600v200h-800v-1201h800v201h-600v800zM600 1200h600v300l600 -500l-600 -500v300h-600v400z" />
148
- <glyph unicode="&#xf311;" d="M376 299h1248q176 221 176 501q0 162 -63.5 310.5t-170.5 255.5t-255 170.5t-311 63.5t-311 -63.5t-255 -170.5t-170.5 -255.5t-63.5 -310.5q0 -280 176 -501zM900 1400q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71z M400 1200q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71zM852 860q37 37 200 124.5t307 156.5l144 69q-30 -64 -76.5 -160.5t-141 -275t-131.5 -215.5q-63 -63 -151 -63t-151 63q-62 62 -62 150.5t62 150.5zM300 700 q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71zM900 700q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71zM1500 700q0 41 29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5 q0 -42 -29.5 -71t-70.5 -29t-70.5 29t-29.5 71z" />
149
- <glyph unicode="&#xf312;" d="M1700 1200h100v-1100h-1600v1100h100v200q0 136 67 251t182 182t251 67q105 0 200 -42q95 42 200 42q136 0 251 -67t182 -182t67 -251v-200zM500 1400v-200h200v200q0 164 102 300h-2q-124 0 -212 -88t-88 -212zM1500 1200v200q0 124 -88 212t-212 88h-2 q102 -136 102 -300v-200h200zM1000 1622q-100 -90 -100 -222v-200h200v200q0 132 -100 222z" />
150
- <glyph unicode="&#xf313;" d="M446 1484l54 -230l-54 -229l201 -124l123 -201l230 54l230 -54l123 201l201 124l-54 229l54 230l-200 124l-124 201l-230 -55l-229 54l-125 -200zM1001 850q-167 0 -284 117t-117 284q0 165 117.5 282t283.5 117q165 0 282 -117t117 -282q0 -166 -117 -283.5t-282 -117.5 zM999 950q-124 0 -211.5 87.5t-87.5 212.5q0 124 87.5 212t211.5 88t212.5 -88t88.5 -212t-88 -212t-213 -88zM1383 840l-128 -224l-208 47l253 -583l140 220h250zM613 833l125 -225l213 51l-251 -579l-140 220h-250z" />
151
- <glyph unicode="&#xf314;" d="M200 1800h700v-700h-700v700zM1100 1800v-700h700v700h-700zM550 1550l150 150h-300zM1200 1200v500h500v-500h-500zM450 1450l-150 150v-300zM800 1600l-150 -150l150 -150v300zM550 1350l-150 -150h300zM900 200v700h-700v-700h700zM1800 200h-700v700h700v-700z M800 800v-500h-500v500h500zM1450 650l150 150h-300zM1200 400l150 150l-150 150v-300zM1550 550l150 -150v300zM1450 450l-150 -150h300z" />
152
- <glyph unicode="&#xf315;" d="M1500 1400v-200q82 0 141 -59t59 -141v-700q0 -82 -59 -141t-141 -59h-1000q-82 0 -141 59t-59 141v700q0 82 59 141t141 59v200q0 136 67 251t182 182t251 67t251 -67t182 -182t67 -251zM800 1400v-200h400v200q0 82 -59 141t-141 59t-141 -59t-59 -141zM1080 375v217 q54 24 87 73.5t33 109.5q0 83 -59 141.5t-141 58.5t-141 -58.5t-59 -141.5q0 -60 33 -109.5t87 -73.5v-217h160z" />
153
- <glyph unicode="&#xf316;" d="M1401 1600v-600h200v800h-1201v-800h201v600h800zM1201 1400v-600h300l-500 -600l-500 600h300v600h400z" />
154
- <glyph unicode="&#xf317;" d="M800 600v600h-300l500 600l500 -600h-300v-600h-400zM600 400v600h-200v-800h1201v800h-201v-600h-800z" />
155
- <glyph unicode="&#xf318;" d="M500 1300h1300v-1000h-1600v1300h700l200 -200h-700v-900h100v800z" />
156
- <glyph unicode="&#xf319;" d="M1900 1000q0 183 -71.5 349.5t-192 287t-287 192t-349.5 71.5t-349.5 -71.5t-287 -192t-192 -287t-71.5 -349.5t71.5 -349.5t192 -287t287 -192t349.5 -71.5t349.5 71.5t287 192t192 287t71.5 349.5zM800 990q-378 39 -548 229q74 240 271.5 396t453.5 167 q-33 -55 -56 -126t-32 -149t12 -154.5t73 -127.5q-35 -5 -69 6t-58.5 30t-51 40t-45.5 36t-43 17.5t-44 -14.5q-88 -69 -42 -150q50 -88 228 -144q62 -20 134 -33q97 -17 164.5 -40.5t106.5 -49.5t60 -62.5t27 -71t5 -84.5q-6 -298 -406 -470q2 86 -11.5 153t-38 109 t-55 73.5t-63.5 52t-62.5 37t-54 36.5t-35.5 43q10 42 18.5 67.5t27.5 61.5t52 66t82 56zM1649 1422q31 -48 54.5 -97.5t38.5 -92.5t23 -89t11.5 -81t1.5 -75.5t-4.5 -66t-10 -58.5t-11.5 -46.5t-12 -37.5l-7 -24q-21 51 -52 95.5t-60.5 74.5t-57.5 58t-50.5 60t-32.5 66 q-39 137 169 314z" />
157
- <glyph unicode="&#xf320;" d="M552 1800h743q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-100v-1300q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v1200q0 41 -29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5v-1200q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v596h-43 q-123 0 -227 60.5t-164.5 164.5t-60.5 227t60.5 227t164.5 164.5t227 60.5zM1400 600l500 400l-500 400v-800z" />
158
- <glyph unicode="&#xf321;" d="M1365 1712q145 -74 248 -198t149 -268.5t35 -305t-85 -305.5t-198 -247.5t-268 -149t-305 -35.5t-306 85q-138 71 -237 185t-149 255l164 103q34 -120 113.5 -218t194.5 -158q111 -57 234 -65.5t233 27t204.5 114.5t151.5 190t66 234t-27 233t-114.5 205t-189.5 152 t-234 65.5t-233 -27t-204.5 -114.5t-151.5 -190l188 -97l-495 -308l-39 582l178 -91q74 145 198.5 248t269 149t305 34.5t304.5 -84.5zM929 929q-29 29 -29 71q0 4 2 10t2 9h-1l97 481l97 -481l303 -319l-450 212l2 2q-13 7 -23 15z" />
159
- <glyph unicode="&#xf322;" d="M400 1500h-322q-30 0 -51.5 -23.5t-17.5 -60.5l156 -999q185 736 221 913q8 36 36.5 53t61.5 17h516q-70 208 -77 231q-19 69 -78 69h-331q-28 0 -50.5 -17t-29.5 -47zM888 1500h-400q2 4 5 11t12.5 24t19.5 30t23.5 24t26.5 11h213q21 0 46 -25t40 -50zM267 375 q-49 -75 -126 -75h1573q40 0 67.5 22t35.5 61l168 844q5 35 -15 54t-47 19h-323v147q0 15 -19.5 34t-46.5 19h-376q-23 0 -45 -14.5t-32 -29.5l-10 -14l-71 -142h-441q-25 0 -45 -13.5t-24 -36.5q-159 -670 -172 -733q-17 -92 -51 -142zM1538 1300h-438q2 4 6.5 11t17.5 24 t25.5 30t30.5 24t33 11h229q20 0 37 -10.5t27.5 -25t18 -29t10.5 -25.5z" />
160
- <glyph unicode="&#xf323;" d="M1100 1800h700v-700l-1000 -1000l-700 700zM1400 1200q82 0 141 59t59 141t-59 141t-141 59t-141 -59t-59 -141t59 -141t141 -59z" />
161
- <glyph unicode="&#xf324;" d="M2000 1000q0 203 -79.5 388t-213.5 319t-319 213.5t-388 79.5t-388.5 -79.5t-319.5 -213.5t-213 -319t-79 -388q0 -163 50.5 -315.5t143 -275.5t215.5 -215.5t275.5 -143t315.5 -50.5q203 0 388 79t319 213t213.5 319.5t79.5 388.5zM778 463l-341 915l117 8q24 3 32 31 t-3 54.5t-35 25.5q-145 -11 -237 -11q-37 0 -58 1q121 186 318.5 294t428.5 108q172 0 327.5 -61t277.5 -173q-58 9 -111.5 -33.5t-53.5 -124.5q0 -18 4.5 -37.5t8.5 -32.5t16 -36.5t17 -31.5t22.5 -37t21.5 -35q55 -96 55 -246q0 -66 -35 -191t-70 -217l-35 -92l-303 837 q24 1 44.5 5t29.5 8l8 4q24 2 32 33t-3 60.5t-35 28.5q-144 -12 -238 -12q-39 0 -97 3t-97 6l-39 3q-24 1 -35 -29t-3 -61t32 -32l92 -8l126 -341zM1741 1000q12 32 17.5 47t16.5 60.5t14.5 85t3.5 102t-9 130.5q105 -193 105 -425q0 -245 -119 -453.5t-321 -324.5 q247 661 292 778zM610 191q-226 109 -362.5 328t-136.5 481q0 196 72 359q336 -921 427 -1168zM1013 854l258 -698q-133 -45 -271 -45q-121 0 -229 33q28 83 112.5 329.5t129.5 380.5z" />
162
- <glyph unicode="&#xf325;" d="M1800 700h100q41 0 70.5 -29.5t29.5 -71.5v-298q0 -42 -29.5 -71.5t-70.5 -29.5h-400q-41 0 -70.5 29.5t-29.5 71.5v298q0 42 29.5 71.5t70.5 29.5h100v200h-500v-200h100q41 0 70.5 -29.5t29.5 -71.5v-298q0 -42 -29.5 -71.5t-70.5 -29.5h-400q-41 0 -70.5 29.5 t-29.5 71.5v298q0 42 29.5 71.5t70.5 29.5h100v200h-500v-200h100q41 0 70.5 -29.5t29.5 -71.5v-298q0 -42 -29.5 -71.5t-70.5 -29.5h-400q-41 0 -70.5 29.5t-29.5 71.5v298q0 42 29.5 71.5t70.5 29.5h100v200q0 82 59 141t141 59h500v200h-100q-41 0 -70.5 29.5t-29.5 71.5 v298q0 42 29.5 71.5t70.5 29.5h400q41 0 70.5 -29.5t29.5 -71.5v-298q0 -42 -29.5 -71.5t-70.5 -29.5h-100v-200h500q82 0 141 -59t59 -141v-200z" />
163
- <glyph unicode="&#xf326;" d="M1100 1300h-151q-46 0 -89.5 -19.5t-69.5 -50.5l-90 270h-287l-239 -700h169l74 200h283v-400h-500q-82 0 -141 59t-59 141v700q0 82 59 141t141 59h700q82 0 141 -59t59 -141v-200zM651 1100h-202l100 293zM1000 1200h700q82 0 141 -59t59 -141v-700q0 -82 -59 -141 t-141 -59h-700q-82 0 -141 59t-59 141v700q0 82 59 141t141 59zM1725 700v108h-317v217h-116v-217h-317v-108h128q9 -66 42 -136t86 -126q-64 -26 -131.5 -44t-99.5 -18l5 -26q5 -26 10.5 -62t4.5 -58q62 0 154 32.5t174 82.5q83 -50 177 -82.5t157 -32.5q-1 14 1 33.5 t5 38.5t6 35.5t6 27.5l2 11q-33 0 -103 18.5t-135 44.5q51 56 83.5 126t41.5 135h136zM1344 507q-76 70 -101 193h209q-26 -124 -100 -193l-4 -3q-3 2 -4 3z" />
164
- <glyph unicode="&#xf327;" d="M1480 1812l334 -335q41 -44 40.5 -104t-37.5 -98l-986 -988l-686 -143l143 688q937 940 985 989q35 37 100 35t107 -44zM1143 1468l-688 -691l137 -137l682 697zM777 454l688 691l-132 132l-689 -689z" />
165
- <glyph unicode="&#xf328;" d="M700 1480q83 0 141.5 -58.5t58.5 -141.5q0 -52 -28 -100q-72 20 -172 20q-44 0 -87 -5t-64 -10l-21 -5q-28 48 -28 100q0 83 58.5 141.5t141.5 58.5zM1300 1480q83 0 141.5 -58.5t58.5 -141.5q0 -52 -28 -100q-72 20 -172 20q-44 0 -87 -5t-64 -10l-21 -5q-28 48 -28 100 q0 83 58.5 141.5t141.5 58.5zM1000 110q279 0 506 162t317 426l-132 46q-76 -222 -266.5 -358t-424.5 -136t-424.5 136t-266.5 358l-132 -46q90 -264 317 -426t506 -162z" />
166
- <glyph unicode="&#xf329;" d="M1500 1300v200h-1000v-200h1000zM1500 900v200h-1000v-200h1000zM1500 500v200h-1000v-200h1000z" />
167
- <glyph unicode="&#xf330;" d="M1600 1700h200v-1600h-1300q-124 0 -212 88t-88 212v1200q0 124 88 212t212 88h900v-1400h-900q-41 0 -70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5h1100v1400z" />
168
- <glyph unicode="&#xf331;" d="M500 300h1300v-200h-1300q-124 0 -212 88t-88 212v1200q0 124 88 212t212 88h1300v-1400h-1300q-41 0 -70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5zM700 650v1100q0 21 -14.5 35.5t-35.5 14.5t-35.5 -14.5t-14.5 -35.5v-1100q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5 t14.5 35.5z" />
169
- <glyph unicode="&#xf332;" d="M1000 1800q12 -8 34.5 -21.5t96 -48t150.5 -61t192 -48t227 -21.5q0 -224 -38.5 -423t-100.5 -336.5t-136.5 -252.5t-149 -184.5t-136.5 -117.5t-101 -67l-38 -19q-9 4 -24.5 11.5t-63.5 38.5t-94 68.5t-109 103.5t-117.5 141.5t-109.5 185t-94 231t-63.5 282.5 t-24.5 338q112 0 225.5 20.5t195 50t147 59t98.5 50.5zM1000 1000h500q4 4 11 13t24 48t30 90t24 144t11 205q-20 4 -54.5 11.5t-126 30t-167 45t-150 54t-102.5 59.5v-700h-500q28 -112 90 -225.5t130 -195t132 -147t106 -98.5l42 -34v700z" />
170
- <glyph unicode="&#xf333;" d="M1700 1300v200h-1400v-200h1400zM1700 900v200h-1400v-200h1400zM1700 500v200h-1400v-200h1400z" />
171
- <glyph unicode="&#xf334;" d="M1000 1800q12 -8 34.5 -21.5t96 -48t150.5 -61t192 -48t227 -21.5q0 -224 -38.5 -423t-100.5 -336.5t-136.5 -252.5t-149 -184.5t-136.5 -117.5t-101 -67l-38 -19q-9 4 -24.5 11.5t-63.5 38.5t-94 68.5t-109 103.5t-117.5 141.5t-109.5 185t-94 231t-63.5 282.5 t-24.5 338q112 0 225.5 20.5t195 50t147 59t98.5 50.5z" />
172
- <glyph unicode="&#xf335;" d="M1495 1354l-354 -354l354 -354l-141 -141l-354 353l-353 -353l-142 142l353 353l-353 353l142 142l353 -353l354 353z" />
173
- <glyph unicode="&#xf336;" d="M1800 400h-1600v1200h1600v-1200zM705 1147q19 11 33 24q14 16 24 34q13 26 17 37q5 13 10 34l6 24q0 2 0.5 5t0.5 4q7 45 -4 90q-12 43 -46 72q-35 29 -86 29q-29 0 -56 -11q-26 -12 -41 -30q-17 -20 -27 -44t-12 -51q-1 -18 1 -55l2 -9q2 -11 6 -25q9 -30 10 -33 q6 -18 17 -37q13 -20 25 -33q15 -17 34 -25q19 -9 43 -9t43 9zM1700 1100v400h-500v-400h500zM662 1017l-138 88q-61 0 -114 -32q-53 -33 -81 -85q-29 -52 -29 -107v-125l20 -5q26 -8 55 -14q41 -10 80 -17q34 -7 100 -14q55 -6 107 -6q50 0 107 6q48 5 98 14q54 10 82 17 q16 3 34 8t20 5q13 4 21 6v125q0 55 -31 107q-32 53 -84 86q-53 33 -111 33zM1700 900v100h-500v-100h500zM1700 700v100h-500v-100h500zM1700 500v100h-1400v-100h1400z" />
174
- <glyph unicode="&#xf337;" d="M1800 200h-1600v1600h1600v-1600zM805 1247q19 11 33 24q14 16 24 34q13 26 17 37q5 13 10 34l6 24q0 2 0.5 5t0.5 4q7 45 -4 90q-12 43 -46 72q-35 29 -86 29q-29 0 -56 -11q-26 -12 -41 -30q-17 -20 -27 -44t-12 -51q-1 -18 1 -55l2 -9q2 -11 6 -25q9 -30 10 -33 q6 -18 17 -37q13 -20 25 -33q15 -17 34 -25q19 -9 43 -9t43 9zM1600 1500v100h-500v-100h500zM1600 1300v100h-500v-100h500zM762 1117l-138 88q-61 0 -114 -32q-53 -33 -81 -85q-29 -52 -29 -107v-125l20 -5q26 -8 55 -14q41 -10 80 -17q34 -7 100 -14q56 -6 107 -6 q50 0 107 6q48 5 98 14q54 10 82 17q16 3 34 8t20 5q13 4 21 6v125q0 55 -31 107q-32 53 -84 86q-53 33 -111 33zM1600 1100v100h-300v-100h300zM1600 900v100h-300v-100h300zM1600 600v100h-1200v-100h1200zM1600 400v100h-1200v-100h1200z" />
175
- <glyph unicode="&#xf338;" d="M730 1400l-3 19q-6 55 -3 108q3 56 25 104q22 50 52 86q33 39 83 60q52 23 113 23q103 0 171 -59q69 -60 91 -144q22 -85 9 -178l-3 -19q-1 -10 -11 -48q-7 -33 -20 -69q-13 -34 -34 -72q-18 -35 -47 -69q-25 -26 -67 -48q-39 -19 -86 -19q-46 0 -87 19q-42 21 -67 50 q-25 28 -49 66q-22 36 -34 73q-14 39 -21 67q-9 33 -12 50zM1650 776q50 -85 50 -214v-249q0 -4 -29 -13q-7 -2 -37 -10.5t-60 -16.5q-110 -24 -165 -34q-85 -15 -195 -27q-112 -12 -213 -12t-214 12q-90 8 -198 27q-44 8 -156 34q-43 10 -106 29l-27 11v249q0 134 46 215 q65 115 150 168q47 29 136 42t168 13l167 -167l-67 -133v-300l102 -108l98 108v300l-68 133l165 167q209 0 290 -52q96 -61 163 -172z" />
176
- <glyph unicode="&#xf339;" d="M1000 1900q153 0 282.5 -75.5t205 -204.5t75.5 -282q0 -52 -21 -118t-50.5 -123.5t-59.5 -107.5t-51 -79l-21 -30q-25 -33 -42.5 -86t-17.5 -94v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-400q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 -17.5 94t-42.5 86q-8 11 -21.5 30.5 t-48.5 77t-61.5 110.5t-48.5 120.5t-22 119.5q0 153 75 282t204.5 204.5t282.5 75.5zM700 313v87h600v-87q0 -53 -16 -83t-59 -30h-25q0 -46 -27.5 -73t-74.5 -27h-200q-46 0 -72 26.5t-26 73.5h-25q-43 0 -59 30t-16 83z" />
177
- <glyph unicode="&#xf340;" d="M1800 1100v-200h-1200l400 -400l-100 -200l-700 700l700 700l100 -200l-400 -400h1200z" />
178
- <glyph unicode="&#xf341;" d="M1400 1500l-500 -500l500 -500l-100 -200l-700 700l700 700z" />
179
- <glyph unicode="&#xf342;" d="M1100 200h-200v1200l-400 -400l-200 100l700 700l700 -700l-200 -100l-400 400v-1200z" />
180
- <glyph unicode="&#xf343;" d="M1500 600l-500 500l-500 -500l-200 100l700 700l700 -700z" />
181
- <glyph unicode="&#xf344;" d="M200 900v200h1200l-400 400l100 200l700 -700l-700 -700l-100 200l400 400h-1200z" />
182
- <glyph unicode="&#xf345;" d="M600 500l500 500l-500 500l100 200l700 -700l-700 -700z" />
183
- <glyph unicode="&#xf346;" d="M900 1800h200v-1200l400 400l200 -100l-700 -700l-700 700l200 100l400 -400v1200z" />
184
- <glyph unicode="&#xf347;" d="M500 1400l500 -500l500 500l200 -100l-700 -700l-700 700z" />
185
- <glyph unicode="&#xf348;" d="M1000 1800q163 0 311 -63.5t255 -170.5t170.5 -255t63.5 -311t-63.5 -311t-170.5 -255t-255 -170.5t-311 -63.5t-311 63.5t-255 170.5t-170.5 255t-63.5 311t63.5 311t170.5 255t255 170.5t311 63.5zM1100 1400q0 41 -29.5 70.5t-70.5 29.5t-70.5 -29.5t-29.5 -70.5 t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5zM1100 500v600h-200v-600h200z" />
186
- <glyph unicode="&#xf349;" d="M2000 1500v300h-2000v-300h2000zM2000 900v300h-2000v-300h2000zM2000 300v300h-2000v-300h2000z" />
187
- <glyph unicode="&#xf448;" d="M1000 2000q163 0 315.5 -50.5t275.5 -143t215.5 -215.5t143 -275.5t50.5 -315.5t-50.5 -315.5t-143 -275.5t-215.5 -215.5t-275.5 -143t-315.5 -50.5t-315.5 50.5t-275.5 143t-215.5 215.5t-143 275.5t-50.5 315.5t50.5 315.5t143 275.5t215.5 215.5t275.5 143 t315.5 50.5zM1000 1950q-193 0 -369 -75t-303.5 -202.5t-202.5 -303.5t-75 -369t75 -369t202.5 -303.5t303.5 -202.5t369 -75t369 75t303.5 202.5t202.5 303.5t75 369t-75 369t-202.5 303.5t-303.5 202.5t-369 75zM1000 1850q173 0 330.5 -67t271.5 -181t181 -271.5 t67 -330.5t-67 -330.5t-181 -271.5t-271.5 -181t-330.5 -67t-330.5 67t-271.5 181t-181 271.5t-67 330.5t67 330.5t181 271.5t271.5 181t330.5 67zM1180 1679q-83 0 -155 -45q118 -28 195.5 -124t77.5 -221q0 -100 -55 -187q99 22 164 101.5t65 183.5q0 121 -85.5 206.5 t-206.5 85.5zM942 1579q-121 0 -206.5 -86t-85.5 -207t85.5 -206.5t206.5 -85.5t207 85.5t86 206.5q0 122 -85.5 207.5t-207.5 85.5zM1367 1078l-51 -59q66 -19 115 -63.5t72.5 -94t38 -96t16.5 -77.5l3 -30h128q0 76 -11 138.5t-29.5 104.5t-43 75t-51 51t-53 30.5 t-51 16.5t-43 5.5t-29.5 0.5zM1157 998l-212 -209l-212 209q-68 -4 -123 -23t-90.5 -48.5t-62.5 -67t-41 -78t-22 -81t-9.5 -76.5t-0.5 -63.5t3 -44.5l2 -16h1108q10 102 -4 184t-43 132.5t-67 88t-77.5 54.5t-73 27t-54.5 11z" />
188
- <glyph unicode="&#xf449;" d="M1350 1300h-700q-62 0 -106 44t-44 106t44 106t106 44h159q-9 29 -9 50q0 62 44 106t106 44h100q62 0 106 -44t44 -106q0 -21 -9 -50h159q62 0 106 -44t44 -106t-44 -106t-106 -44zM400 1200h1200q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-1200 q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM500 900h1000q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5zM700 600h600q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5h-109q9 -29 9 -50 q0 -62 -44 -106t-106 -44h-100q-62 0 -106 44t-44 106q0 21 9 50h-109q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z" />
189
- <glyph unicode="&#xf450;" d="M1044 1834q-44 44 -106 44t-106 -44l-566 -566q-44 -44 -44 -106t44 -106q46 -44 107.5 -43.5t104.5 43.5l566 566q44 44 44 106t-44 106zM1327 1551q-44 44 -106.5 44t-105.5 -44l-566 -566q-44 -43 -44 -105.5t44 -106.5q46 -44 107.5 -43t104.5 43l566 566 q43 43 43 105.5t-43 106.5zM1433 879l418 -418q44 -44 44 -106t-44 -106t-106.5 -44t-105.5 44l-418 418l-177 -177q-44 -44 -106 -44t-106 44t-44 106.5t44 106.5l566 565q44 44 106 44t106 -44t44 -106t-44 -106zM500 500q0 45 -17 102.5t-41.5 107.5t-49 94t-41.5 70 l-17 26q-15 -31 -37 -80.5t-59.5 -157.5t-37.5 -162q0 -90 38.5 -145t95.5 -55h32q62 0 98 44.5t36 155.5z" />
190
- <glyph unicode="&#xf451;" d="M1754 971q88 -88 88 -212.5t-88 -212.5t-212.5 -88t-212.5 88l-34 52q0 -66 -9.5 -124t-22.5 -99.5t-36.5 -79.5t-42.5 -60.5t-49.5 -47t-48 -35.5t-47.5 -28.5t-39 -23.5q-11 8 -49.5 32t-64.5 42t-63.5 58.5t-60.5 85.5t-40 118.5t-17 161.5l-34 -52 q-88 -88 -212.5 -88t-212.5 88t-88 212.5t88 212.5q102 67 210 130q-136 184 -136 411q0 47 8 100q18 -131 84 -245.5t168 -196.5q53 28 126.5 57t110.5 35h-17q-82 0 -141 59t-59 141t59 141t141 59v50q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-50h200v50 q0 21 14.5 35.5t35.5 14.5t35.5 -14.5t14.5 -35.5v-50q82 0 141 -59t59 -141t-59 -141t-141 -59h-17q36 -6 112.5 -36.5t125.5 -55.5q102 82 168 196.5t84 245.5q8 -53 8 -100q0 -227 -136 -411q48 -28 100 -60.5t81 -50.5zM850 1362q38 0 69 30t31 70q0 41 -29.5 70.5 t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5zM1150 1562q-41 0 -70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5t70.5 29.5t29.5 70.5t-29.5 70.5t-70.5 29.5zM920 989q-19 -17 -19 -43q2 -19 16 -32.5t33 -13.5h100q19 0 33 13.5t16 32.5q0 21 -19 43 q-15 11 -30 11h-100q-15 0 -30 -11zM1200 750q0 23 -19 38q-15 12 -31 12h-300q-16 0 -31 -12q-19 -17 -19 -38t14.5 -35.5t35.5 -14.5h300q21 0 35.5 14.5t14.5 35.5zM850 500h300q21 0 35.5 14.5t14.5 35.5t-14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5 t14.5 -35.5t35.5 -14.5zM950 300h100q21 0 35.5 14.5t14.5 35.5t-14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5t14.5 -35.5t35.5 -14.5z" />
191
- <glyph unicode="&#xf452;" d="M800 1900v-700h200v200q0 115 92 207.5t208 92.5v-86q91 86 200 86v-300h100q82 0 141 -59t59 -141t-59 -141t-141 -59h-100v-100v-1v-499q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v218q-51 -18 -100 -18v-200q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5 t-29.5 70.5v200h-200v-200q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v200q-49 0 -100 18v-218q0 -41 -29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5v400h-100v100q0 124 88 212t212 88h200v700h100zM1300 1200q41 0 70.5 29.5t29.5 70.5t-29.5 70.5 t-70.5 29.5t-70.5 -29.5t-29.5 -70.5t29.5 -70.5t70.5 -29.5z" />
192
- <glyph unicode="&#xf453;" d="M900 1700q0 92 -100 200q-40 -40 -70 -98t-30 -102q0 -37 30 -68.5t70 -31.5q41 0 70.5 30t29.5 70zM1300 1700q0 92 -100 200q-40 -40 -70 -98t-30 -102q0 -37 30 -68.5t70 -31.5q41 0 70.5 30t29.5 70zM900 1100v350q0 41 -29.5 70.5t-70.5 29.5q-42 0 -71 -30.5 t-29 -69.5v-350q0 -41 29.5 -70.5t70.5 -29.5q42 0 71 30.5t29 69.5zM1300 1100v350q0 41 -29.5 70.5t-70.5 29.5q-42 0 -71 -30.5t-29 -69.5v-350q0 -41 29.5 -70.5t70.5 -29.5q42 0 71 30.5t29 69.5zM1700 1000q0 109 -95 201t-255 145v-246q0 -62 -44 -106t-106 -44 t-106 44t-44 106v299q-8 0 -25 0.5t-25 0.5t-25 -0.5t-25 -0.5v-299q0 -62 -44 -106t-106 -44t-106 44t-44 106v246q-160 -53 -255 -145t-95 -201q0 -110 78.5 -197.5t242.5 -139.5q32 -10 108.5 -42t142.5 -51t128 -19t128 19t142.5 51.5t108.5 42.5q163 51 242 138.5 t79 197.5zM1000 457q63 0 131.5 19.5t144 50.5t112.5 41q68 19 118.5 43.5t86.5 57.5t57 59.5t50 71.5v-300q0 -109 -93.5 -201t-255 -145.5t-351.5 -53.5t-351.5 53.5t-255 145.5t-93.5 201v300q37 -58 70 -94.5t95.5 -75t149.5 -63.5q35 -10 111.5 -41t143.5 -50t130 -19z " />
193
- <glyph unicode="&#xf454;" d="M875 1423q0 39 -18 92t-43.5 101t-51.5 90.5t-44 67.5l-18 26q-7 -10 -19 -27t-42 -65.5t-53 -93t-42 -98.5t-19 -93q0 -98 43 -135.5t132 -37.5t132 37.5t43 135.5zM1475 1423q0 39 -18 92t-43.5 101t-51.5 90.5t-44 67.5l-18 26q-7 -10 -19 -27t-42 -65.5t-53 -93 t-42 -98.5t-19 -93q0 -98 43 -135.5t132 -37.5t132 37.5t43 135.5zM900 300v800q0 41 -29.5 70.5t-70.5 29.5h-200q-41 0 -70.5 -29.5t-29.5 -70.5v-800q0 -41 29.5 -70.5t70.5 -29.5h200q41 0 70.5 29.5t29.5 70.5zM1500 300v800q0 41 -29.5 70.5t-70.5 29.5h-200 q-41 0 -70.5 -29.5t-29.5 -70.5v-800q0 -41 29.5 -70.5t70.5 -29.5h200q41 0 70.5 29.5t29.5 70.5zM600 900l200 100v-200l-200 -100v200zM1200 900l200 100v-200l-200 -100v200zM600 600l200 100v-200l-200 -100v200zM1200 600l200 100v-200l-200 -100v200z" />
194
- <glyph unicode="&#xf455;" d="M1098 1322l452 -822q-48 -96 -142 -166t-199 -102t-209 -32t-209 32t-199 102t-142 166l450 818q-57 93 -168 146t-261 57l246 292q199 -141 297 -331q51 80 109.5 131t160.5 81l183 -286q-192 46 -369 -86zM817 960l-93 -169q71 -16 154 -16q199 0 355 95l-101 182 q-136 -83 -315 -92zM903 422q147 0 272 50t202 136l-98 176q-77 -86 -202 -136.5t-272 -50.5q-87 0 -176 21l-63 -115q152 -81 337 -81z" />
195
- <glyph unicode="&#xf456;" d="M1545 1375q89 -46 127.5 -130t22.5 -181t-80 -187q-59 -83 -159.5 -134.5t-186.5 -43.5l-264 -499h-105l-265 499q-85 -12 -189.5 40t-165.5 139q-64 90 -80 187t23 181t128 129q68 34 143 31q-2 -62 7 -121q20 -129 99.5 -252t186.5 -185q-30 -86 -88 -125l201 -381v566 q-102 28 -191.5 144t-108.5 248q-20 132 16 246t124 184t210 70t210 -70t124 -184t16 -246q-19 -132 -108.5 -248t-191.5 -144v-577l207 384q-63 33 -99 130q109 61 190 185.5t101 254.5q9 59 7 122q73 2 139 -32z" />
196
- <glyph unicode="&#xf457;" d="M1000 1800q84 0 197.5 -51.5t215 -125t191 -147t142.5 -124.5l54 -52v-1100h-1600v1100q20 20 55.5 54t138 120t196.5 152t210 120t200 54zM1700 328l-373 292l373 280l-43 37l-226 -130l24 431l-877 52l-46 -454l-199 95l-33 -31l373 -280l-344 -285l40 -43l631 408 l653 -415z" />
197
- <glyph unicode="&#xf459;" d="M1000 1900l-300 -600l-600 -75l413 -462l-113 -663l600 300l600 -300l-112 663l412 462l-600 75zM1000 1676l234 -469l465 -58l-318 -356l87 -515l-468 234v1164z" />
198
- <glyph unicode="&#xf460;" d="M400 1100h1200v-200h-1200v200z" />
199
- <glyph unicode="&#xf462;" d="M925 836q88 -62 123 -128t35 -165q0 -62 -30 -119.5t-84.5 -104t-140 -74t-189.5 -27.5q-126 0 -231 31.5t-168.5 93t-63.5 140.5q0 128 130 226.5t314 98.5q14 0 40 0.5t38 0.5q-61 61 -61 126q0 43 23 86q-8 -1 -22 0.5t-20 1.5q-151 0 -247.5 97t-96.5 237 q0 87 55.5 166.5t147 128t190.5 48.5h452l-101 -100h-144q83 -87 103 -116q43 -63 43 -144q0 -135 -128 -234q-53 -42 -69.5 -67t-16.5 -62q0 -28 39.5 -70.5t79.5 -70.5zM683 1063q88 -3 139 76t36 194q-15 114 -87 195t-160 84q-88 2 -139 -75t-36 -191q15 -115 87.5 -198 t159.5 -85zM1700 1000v-100h-200v-200h-100v200h-200v100h200v200h100v-200h200zM638 290q172 0 250 63.5t78 170.5q0 22 -5 47q-4 16 -10.5 29.5t-18 27.5t-20.5 23.5t-28 24t-29.5 21.5t-36.5 25t-38 26q-56 18 -112 18q-131 2 -230 -68.5t-99 -166.5q0 -100 85.5 -170.5 t213.5 -70.5z" />
200
- <glyph unicode="&#xf463;" d="M1020 1672q173 0 323.5 -79t247.5 -216t121 -305h208l-350 -400l-350 400h232q-34 149 -154.5 247t-277.5 98q-106 0 -199 -48t-155 -130l-171 195q98 112 234.5 175t290.5 63zM980 328q-130 0 -249.5 46.5t-210.5 126.5t-152.5 190.5t-79.5 236.5h-208l350 400 q59 -67 175.5 -200t174.5 -200h-232q34 -149 154.5 -247t277.5 -98q106 0 199 48t155 130l171 -195q-98 -112 -234 -175t-291 -63z" />
201
- <glyph unicode="&#xf464;" d="M1389 1661l271 -272q34 -35 33.5 -84t-30.5 -80l-801 -802l-556 -116l116 558q760 763 799 803q29 30 81.5 28.5t86.5 -35.5zM1116 1382l-559 -561l111 -111l554 565zM819 559l558 560l-107 108l-559 -560z" />
202
- <glyph unicode="&#xf465;" d="M387 1600h1325q188 0 188 -179v-842q0 -179 -188 -179h-1325q-188 0 -188 179v842q0 179 188 179zM1049 740l674 553q21 17 27 45.5t-14 61.5q-21 30 -56.5 33.5t-60.5 -16.5l-570 -386l-569 386q-25 20 -60.5 16.5t-56.5 -33.5q-20 -33 -14 -61.5t27 -45.5z" />
203
- <glyph unicode="&#xf466;" d="M1900 550v900q0 62 -44 106t-106 44h-1401q-62 0 -106 -44t-44 -106v-900q0 -62 44 -106t106 -44h1401q62 0 106 44t44 106zM1769 1461q15 -15 17.5 -32.5t-4 -29.5t-16.5 -22l-406 -372l390 -406q26 -30 6 -51q-9 -11 -28 -12t-28 7l-437 373l-214 -195l-213 195 l-437 -373q-9 -8 -28 -7t-28 12q-20 21 6 51l390 406l-406 372q-10 10 -16.5 22t-4 29.5t17.5 32.5q40 40 95 -7l624 -504l625 504q55 47 95 7z" />
204
- <glyph unicode="&#xf467;" d="M1801 882v867q0 89 -59 129.5t-141 7.5l-1201 -477q-83 -33 -141.5 -120t-58.5 -177v-866q0 -90 58.5 -130t141.5 -7l1201 477q83 33 141.5 119.5t58.5 176.5zM1658 1628l-604 -933l-665 460q-7 5 -13 12.5t-10.5 22t6.5 29.5q9 16 25.5 21.5t28.5 2.5l11 -3l630 -232 q483 634 511 670q12 15 30 20.5t43 -7.5q33 -23 7 -63z" />
205
- <glyph unicode="&#xf468;" d="M1800 1000q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM723 1643l149 -373q-97 -45 -142 -142l-373 149q53 123 148 218 t218 148zM1643 1277l-373 -149q-45 97 -142 142l149 373q123 -53 218 -148t148 -218zM1000 800q-82 0 -141 59t-59 141t59 141t141 59t141 -59t59 -141t-59 -141t-141 -59zM357 723l373 149q45 -97 142 -142l-149 -373q-123 53 -218 148t-148 218zM1277 357l-149 373 q97 45 142 142l373 -149q-53 -123 -148 -218t-218 -148z" />
206
- <glyph unicode="&#xf469;" d="M1000 1800q163 0 311 -63.5t255 -170.5t170.5 -255t63.5 -311t-63.5 -311t-170.5 -255t-255 -170.5t-311 -63.5t-311 63.5t-255 170.5t-170.5 255t-63.5 311t63.5 311t170.5 255t255 170.5t311 63.5zM1000 400q163 0 301 80.5t218.5 218.5t80.5 301t-80.5 301 t-218.5 218.5t-301 80.5t-301 -80.5t-218.5 -218.5t-80.5 -301t80.5 -301t218.5 -218.5t301 -80.5zM929 929q14 -10 23 -15l-2 -2l450 -212l-303 319l-97 481l-97 -481h1q0 -1 -2 -9t-2 -10q0 -42 29 -71z" />
207
- <glyph unicode="&#xf470;" d="M600 1800h800q41 0 70.5 -29.5t29.5 -70.5v-1400q0 -41 -29.5 -70.5t-70.5 -29.5h-800q-41 0 -70.5 29.5t-29.5 70.5v1400q0 41 29.5 70.5t70.5 29.5zM1300 600v1000h-600v-1000h600zM800 1500h400l-400 -500v500z" />
208
- <glyph unicode="&#xf471;" d="M400 1800h1200q41 0 70.5 -29.5t29.5 -70.5v-1400q0 -41 -29.5 -70.5t-70.5 -29.5h-1200q-41 0 -70.5 29.5t-29.5 70.5v1400q0 41 29.5 70.5t70.5 29.5zM1500 400v1200h-1000v-1200h1000zM600 1500h600l-600 -500v500z" />
209
- <glyph unicode="&#xf472;" d="M300 1800h1400q41 0 70.5 -29.5t29.5 -70.5v-1000q0 -41 -29.5 -70.5t-70.5 -29.5h-500v-200h200q41 0 70.5 -29.5t29.5 -70.5v-100h-1000v100q0 41 29.5 70.5t70.5 29.5h200v200h-500q-41 0 -70.5 29.5t-29.5 70.5v1000q0 41 29.5 70.5t70.5 29.5zM1600 900v700h-1200 v-700h1200zM500 1500h900l-900 -400v400z" />
210
- <glyph unicode="&#xf473;" d="M400 1700h1200q82 0 141 -59t59 -141v-700q0 -82 -59 -141t-141 -59h-100l-500 -500v500h-600q-82 0 -141 59t-59 141v700q0 82 59 141t141 59zM1500 1500h-1100v-100h1100v100zM1600 1200h-1200v-100h1200v100zM1300 900h-900v-100h900v100z" />
211
- <glyph unicode="&#xf474;" d="M1600 1600h200v-900h-1100v-300l-500 400l500 400v-300h900v700z" />
212
- <glyph unicode="&#xf475;" d="M900 1400l-400 -400l400 -400l-100 -200l-600 600l600 600zM1100 600l400 400l-400 400l100 200l600 -600l-600 -600z" />
213
- <glyph unicode="&#xf476;" d="M1500 1800h-746q-124 0 -228 -60q-105 -62 -165 -165q-61 -103 -61 -227t61 -227q60 -104 165 -164q103 -61 228 -61h43v-596q0 -40 29 -71q31 -29 71 -29t71 29q30 30 30 71v1200q0 42 29 71q31 29 71 29t71 -29q29 -31 29 -71v-1200q0 -41 30 -71q31 -29 71 -29t71 29 q29 31 29 71v1300h101q40 0 70 30q30 28 30 70q0 41 -30 71q-31 29 -70 29z" />
214
- <glyph unicode="&#xf477;" d="M1000 1800q162 0 310.5 -63.5t255.5 -170.5t170.5 -255.5t63.5 -310.5t-63.5 -310.5t-170.5 -255.5t-255.5 -170.5t-310.5 -63.5t-310.5 63.5t-255.5 170.5t-170.5 255.5t-63.5 310.5t63.5 310.5t170.5 255.5t255.5 170.5t310.5 63.5zM1000 250q153 0 291.5 59.5t239 160 t160 239t59.5 291.5t-59.5 291.5t-160 239t-239 160t-291.5 59.5t-291.5 -59.5t-239 -160t-160 -239t-59.5 -291.5q0 -223 122 -410q41 -61 95 -117q104 -105 242 -164t291 -59zM1000 1674q137 0 262 -53.5t215 -143.5t143.5 -215t53.5 -262t-53.5 -262t-143.5 -215 t-215 -143.5t-262 -53.5q-206 0 -374 113q78 4 151 42t126 99q20 -58 80 -100t151 -42q130 0 240.5 88t136.5 212q29 127 -28 213t-182 86q-45 0 -96 -21t-90 -52l104 479q2 14 -3.5 21.5t-18.5 3.5q-56 -15 -227 -32q-18 -2 -24.5 -17t2 -29t26.5 -13q22 1 34.5 -1 t20.5 -10.5t10 -20t-1 -34.5t-8.5 -50t-14.5 -70q-1 -3 -1 -4l-54 -243q-57 93 -186 93q-46 0 -96.5 -21t-89.5 -52q100 461 103 479q3 13 -2.5 21t-18.5 4q-42 -11 -179 -26q94 109 226.5 170.5t282.5 61.5zM441 1377h6q26 1 39.5 -3t20.5 -15.5t5.5 -32.5t-8 -54.5 t-17.5 -81.5q-1 -2 -1 -3l-101 -463q-59 130 -59 276q0 207 115 377zM853 738q-23 -104 -82.5 -172t-143.5 -68q-55 0 -89 41t-17 116l34 167q15 64 69.5 107t114.5 43q82 0 109.5 -65t4.5 -169zM1380 738q-22 -104 -82 -172t-144 -68q-55 0 -89 41t-17 116l35 167 q15 64 69 107t114 43q82 0 109.5 -65t4.5 -169z" />
215
- <glyph unicode="&#xf478;" d="M1800 1700v-200h-1600v200h1600zM1200 1300v-200h-1000v200h1000zM1800 1300v-200h-400v200h400zM800 900v-200h-600v200h600zM1800 900v-200h-800v200h800zM1400 500v-200h-1200v200h1200z" />
216
- <glyph unicode="&#xf479;" d="M1100 1700v-400h-1000v400h1000zM1900 1700v-400h-700v400h700zM700 1200v-300h-600v300h600zM1900 1200v-300h-1100v300h1100zM900 800v-200h-800v200h800zM1900 800v-200h-900v200h900zM600 500v-100h-500v100h500zM1100 500v-100h-400v100h400zM1400 500v-100h-200 v100h200zM1900 500v-100h-400v100h400z" />
217
- <glyph unicode="&#xf480;" d="M1900 1600v-200h-1800v200h1800zM200 1300h1600v-1000h-1600v1000zM1300 1000v100h-600v-100h600z" />
218
- <glyph unicode="&#xf481;" d="M1190 1961l140 -140q50 -6 123.5 1.5t127 15t113 -4t97.5 -49.5t49.5 -97.5t4 -113t-15 -127t-1.5 -123.5l140 -140q29 -29 29 -70.5t-29 -70.5l-919 -920q-30 -29 -71.5 -29t-70.5 29l-778 778q-29 29 -29 70.5t29 71.5l920 919q29 29 70.5 29t70.5 -29zM1248 1736 l-58 -58l495 -495l58 58q-24 75 -15 182q3 47 9 92q11 73 9 123.5t-26 74.5t-74.5 26t-123.5 -9q-45 -6 -92 -9q-107 -9 -182 15zM1650 1643q29 -29 29 -71t-29 -71t-71 -29t-71 29t-29 71t29 71t71 29t71 -29zM978 1607l-71 -70l637 -637l70 71zM836 1466l-70 -71l636 -636 l71 70zM695 1324l-71 -70l637 -637l70 71zM554 1183l-71 -71l636 -636l71 71zM412 1042l-71 -71l637 -637l71 71z" />
219
- <glyph unicode="&#xf482;" d="M1200 1100v600q0 83 -58.5 141.5t-141.5 58.5t-141.5 -59.5t-58.5 -140.5v-600q0 -82 59 -141t141 -59q84 0 142 59.5t58 140.5zM1600 1100q0 -221 -142.5 -388t-357.5 -203v-209h200q42 0 71 -29.5t29 -70.5t-29 -70.5t-71 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5 t29.5 70.5t70.5 29.5h200v209q-214 36 -357 203t-143 388q0 41 29.5 70.5t70.5 29.5q42 0 71 -29.5t29 -70.5q0 -166 117.5 -283t282.5 -117q166 0 283 117t117 283q0 41 29.5 70.5t70.5 29.5q42 0 71 -29.5t29 -70.5z" />
220
- <glyph unicode="&#xf483;" d="M1000 1740q62 0 106 -44t44 -106t-44 -106.5t-106 -44.5t-106 44.5t-44 106.5t44 106t106 44zM340 1264q0 29 165 48t330 24l165 4q660 -11 660 -76q0 -29 -112 -64t-224 -56l-111 -20l59 -306q91 -515 47 -532q-17 -7 -56.5 44t-83 128.5t-84.5 156t-68 134.5l-27 56 l-96 -193q-177 -342 -222 -326q-17 14 -13 96.5t23 209t40.5 244.5t38.5 203l17 85q-448 75 -448 140z" />
221
- <glyph unicode="&#xf484;" d="M1200 1500v300q0 41 -29.5 70.5t-70.5 29.5h-200q-41 0 -70.5 -29.5t-29.5 -70.5v-300q0 -41 29.5 -70.5t70.5 -29.5h200q41 0 70.5 29.5t29.5 70.5zM1000 1800q41 0 70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5t-70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5z M1800 500v800q0 82 -59 141t-141 59h-300v-33q0 -69 -49 -118t-118 -49h-266q-69 0 -118 49t-49 118v33h-300q-82 0 -141 -59t-59 -141v-800q0 -82 59 -141t141 -59h1200q82 0 141 59t59 141zM1700 1100v-600h-1400v600h1400zM900 900q0 41 -14.5 70.5t-35.5 29.5 t-35.5 -29.5t-14.5 -70.5t14.5 -70.5t35.5 -29.5t35.5 29.5t14.5 70.5zM1200 900q0 41 -14.5 70.5t-35.5 29.5t-35.5 -29.5t-14.5 -70.5t14.5 -70.5t35.5 -29.5t35.5 29.5t14.5 70.5zM604 779q151 -79 396 -79t396 79q-16 -76 -129 -127.5t-267 -51.5t-267 51.5t-129 127.5z " />
222
- <glyph unicode="&#xf485;" d="M19 1408q-22 -18 79 -142t212 -240l112 -115l79 79t184.5 185.5t249.5 256.5t232.5 247t179 206t45.5 89q-30 17 -274 -166.5t-474 -375.5l-229 -191q-4 3 -11.5 7t-32.5 18.5t-47.5 26.5t-57 30.5t-61.5 31t-61 27.5t-55 21t-43.5 10t-26.5 -5zM1542 1310l-315 -315 l-181 182l315 315q25 25 69.5 16t81.5 -47q38 -37 47 -81.5t-17 -69.5zM765 1138l88 109l876 -875l-116 -81q-49 -49 -163 -81t-208 -32h-377l-121 -121q-43 -43 -103 -43t-103 43t-43 103t43 104l121 120v376q0 94 29.5 212.5t76.5 165.5zM1470 752l315 315q25 26 69.5 17 t81.5 -47q38 -37 47 -81t-17 -69l-315 -316z" />
223
- <glyph unicode="&#xf486;" d="M2000 1462l-101 -282v1q-78 28 -153 -8t-104 -114q-28 -78 7.5 -153t114.5 -103v-1l-101 -282l-1506 538l99 279q78 -28 153 7.5t103 113.5t-7.5 152.5t-113.5 102.5l102 287zM1455 1125q34 108 16.5 208.5t-87 183.5t-171.5 120q-156 55 -305.5 -16t-205.5 -226 q-34 -108 -16.5 -209t87 -184t171.5 -119q155 -55 305 16t206 226zM1199 1599q133 -48 197 -171l-4 2q-24 9 -46.5 -3.5t-31.5 -36.5q-10 -28 5 -91q9 -62 -6 -104q-9 -27 -65 -100l-74 -101l8 408l40 -11q14 -3 18 11t-10 18q-57 15 -92 28l-88 36q-7 3 -12 0t-7.5 -7.5 t-0.5 -10.5t8 -9q16 -8 34 -16l1 -163l-153 -196l8 411l40 -11q14 -3 17.5 11t-10.5 18q-56 15 -91 28q-3 1 -22 8q71 54 159 68t178 -16zM740 1381q25 73 78 127l4 -500q-72 72 -94.5 171.5t12.5 201.5zM1144 906l210 263q49 55 69 112q4 10 11 35q14 -90 -17 -177 q-33 -92 -106.5 -153.5t-166.5 -79.5zM1074 1228l2 -322q0 -4 1 -6q-60 0 -120 21q-49 18 -90 48zM1198 620l210 -75q18 -64 71 -104.5t120 -40.5h1v-300h-1600v296q83 0 141.5 58.5t58.5 141.5q0 82 -59 141t-141 59v304h105l-28 -80l428 -152q-105 -115 -105 -268 q0 -166 117 -283t283 -117t283 117t117 283q0 4 -1 10t-1 10zM545 853l148 -53q-11 -3 -10.5 -15t13.5 -13q18 -2 37 -3l56 -154l-78 -236l-131 390l41 3q9 1 12 8.5t-1 14.5t-13 7q-59 -5 -96 -5q-15 0 -23 1q19 29 45 55zM440 600q0 76 32 146l171 -470q-92 45 -147.5 132 t-55.5 192zM859 741l172 -62q12 -29 12 -61q0 -28 -28 -116l-35 -120zM1160 600q0 -98 -48.5 -181t-130.5 -130l110 318q7 20 14 46l52 -19q3 -17 3 -34zM698 255l108 314l111 -303q0 -1 0.5 -2.5t1.5 -2.5q-60 -21 -119 -21q-47 0 -102 15z" />
224
- <glyph unicode="&#xf487;" d="M1000 288q240 101 420.5 265.5t283.5 355.5q97 183 106.5 349t-74.5 276q-144 181 -373 174q-99 -3 -194 -42.5t-169 -103.5q-74 64 -169 103.5t-194 42.5q-229 7 -373 -174q-84 -110 -74.5 -276t108.5 -349q101 -191 281.5 -355.5t420.5 -265.5z" />
225
- <glyph unicode="&#xf488;" d="M1815 1406q66 -233 -2 -448q-31 -96 -91.5 -160.5t-138.5 -87.5q-16 -6 -40 -6q-6 -2 -18 -2q-6 -2 -22 -2h-680l222 -550q3 -18 -14 -34q-13 -16 -34 -16h-302q-21 0 -34 16q-17 17 -14 34l-100 550h-122l-2 2q-37 -4 -78 12.5t-76 49.5q-81 78 -106 188q-33 110 -2 220 q27 94 106 130l2 2l900 540q20 12 24 16q9 6 24 12q19 10 50 18q77 22 162 -4.5t160 -93.5q76 -68 135.5 -168t90.5 -218zM1557 808h-2q58 14 104 70q86 104 86 304q0 92 -28 198q-50 199 -178 324q-58 56 -123 80t-123 8q-122 -33 -170 -200q-48 -156 6 -372 q59 -212 180 -324q126 -119 248 -88zM1303 1516q30 6 62 -4q66 -28 102 -100q42 -84 42 -178q0 -44 -12 -80q-30 -81 -86 -94q-26 -8 -57.5 3.5t-56.5 36.5q-58 58 -78 150q-24 83 2 172q10 35 33 60.5t49 33.5z" />
226
- <glyph unicode="&#xf489;" d="M200 1800h1600v-400h-1600v400zM200 800v400h400v-400h-400zM800 1000v200h400v-200h-400zM1400 700v500h400v-500h-400zM800 200v600h400v-600h-400zM200 200v400h400v-400h-400zM1400 200v300h400v-300h-400z" />
227
- <glyph unicode="&#xf490;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM1100 600v300q0 40 -29 71q-31 29 -71 29h-300q-40 0 -71 -29q-29 -31 -29 -71v-300q0 -40 29 -71q31 -29 71 -29h300q40 0 71 29q29 31 29 71zM1400 500v500l-200 -200v-100z" />
228
- <glyph unicode="&#xf491;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM500 1700v-100h600v100h-600zM1200 1400h300l-300 300v-300zM500 1500v-100h600v100h-600zM1500 1200v100h-1000v-100h1000zM1500 1000v100h-1000v-100h1000zM1500 800v100h-1000v-100h1000zM1100 600v100h-600v-100h600z" />
229
- <glyph unicode="&#xf492;" d="M1700 1700v200h-1500v-200h1500zM1700 1300v200h-1500v-200h1500zM1000 900v200h-800v-200h800zM1745 1096l-600 -112q-18 -2 -29 -13q-16 -13 -16 -37v-459q-31 14 -93 14q-81 0 -138 -57q-56 -56 -56 -138q0 -81 56 -137q57 -57 138 -57q73 0 129 48q56 49 65 119v495 l499 111v-348q-42 19 -83 19q-92 0 -149 -57q-57 -56 -57 -137q0 -80 57 -137t138 -57q80 0 137 57t57 137v690q0 25 -16 41q-16 18 -39 15zM800 500v200h-600v-200h600zM600 100v200h-400v-200h400z" />
230
- <glyph unicode="&#xf493;" d="M1700 1700v200h-1500v-200h1500zM1700 1300v200h-1500v-200h1500zM600 900v200h-400v-200h400zM800 1100h900q41 0 70.5 -29.5t29.5 -70.5v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5zM1100 400l333 200 l-333 200v-400zM600 500v200h-400v-200h400zM600 100v200h-400v-200h400z" />
231
- <glyph unicode="&#xf494;" d="M900 1400l-400 -400l400 -400l-100 -200l-600 600l600 600zM1100 600l400 400l-400 400l100 200l600 -600l-600 -600z" />
232
- <glyph unicode="&#xf495;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1100 1400v300h-600v-300h600zM800 1200v100h-300v-100h300zM1100 1200v100h-200v-100h200zM1500 1200v100h-300v-100h300zM800 1000v100h-300v-100h300zM1100 1000v100h-200v-100h200zM1500 1000v100h-300v-100h300zM800 800 v100h-300v-100h300zM1100 800v100h-200v-100h200zM1500 800v100h-300v-100h300zM800 600v100h-300v-100h300zM1100 600v100h-200v-100h200zM1500 600v100h-300v-100h300zM800 400v100h-300v-100h300zM1100 400v100h-200v-100h200z" />
233
- <glyph unicode="&#xf496;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM1400 600v600h-800v-600h300l-100 -200h100l100 200l100 -200h100l-100 200h300zM800 900q-41 0 -70.5 29.5t-29.5 70.5t29.5 70.5t70.5 29.5t70.5 -29.5t29.5 -70.5t-29.5 -70.5t-70.5 -29.5z M1300 1100v-200h-300v200h300zM1300 800v-100h-600v100h600z" />
234
- <glyph unicode="&#xf497;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM500 1700v-100h600v100h-600zM1200 1400h300l-300 300v-300zM500 1500v-100h600v100h-600zM1500 1200v100h-1000v-100h1000zM500 1100v-100h400v100h-400zM1500 800v300h-500v-300h500zM500 900v-100h400v100h-400zM1500 600 v100h-1000v-100h1000zM1200 400v100h-700v-100h700z" />
235
- <glyph unicode="&#xf498;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300z" />
236
- <glyph unicode="&#xf499;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM900 700l-200 200l200 200l-100 100l-300 -300l300 -300zM1200 600l300 300l-300 300l-100 -100l200 -200l-200 -200z" />
237
- <glyph unicode="&#xf500;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM1300 674v517q0 17 -12 29q-10 12 -27 10q-397 -71 -425 -78q-36 -7 -36 -52v-337q-16 7 -60 7q-57 0 -96 -39q-40 -42 -40 -96q0 -55 40 -95q39 -40 96 -40q65 0 96 26q64 57 64 112v332l300 60 v-230q-87 26 -144 -31q-39 -39 -39 -95t39 -96q40 -39 108 -39q57 0 96 39q40 42 40 96z" />
238
- <glyph unicode="&#xf501;" d="M1200 1800l400 -400v-1200h-1200v1600h800zM1200 1400h300l-300 300v-300zM800 1650v-200l180 100zM1100 1500l-180 -100l180 -100v200zM800 1350v-200l180 100zM1100 1200l-180 -100l180 -100v200zM800 1050v-200l180 100zM1100 900l-180 -100l180 -100v200zM950 300 q64 0 111.5 48.5t38.5 114.5q-2 17 -14.5 57t-23.5 72l-11 32l-199 110q-45 -195 -52 -271q-5 -59 42 -111t108 -52zM950 539q32 0 54 -22.5t22 -53.5q0 -32 -22 -54.5t-54 -22.5t-54 22.5t-22 54.5q0 31 22 53.5t54 22.5z" />
239
- <glyph unicode="&#xf502;" d="M1580 1580q157 -158 213 -369t0 -422t-213 -369q-158 -157 -369 -213t-422 0t-369 213q-157 158 -213 369t0 422t213 369q158 157 369 213t422 0t369 -213zM1150 450v400h400v300h-400v400h-300v-400h-400v-300h400v-400h300z" />
240
- <glyph unicode="&#xf503;" d="M1800 1399l-400 -299v200h-400l-500 -800h-300v200h200l500 800h500v200zM200 1500h300l115 -217l-112 -180l-103 197h-200v200zM1800 599l-400 -299v200h-500l-115 217l112 180l103 -197h400v200z" />
241
- <glyph unicode="&#xf504;" d="M900 1700h800v-800l-200 100v308l-560 -559l-141 141l609 610h-408zM1200 500v300l200 200v-700h-1100v1100h800l-200 -200h-400v-700h700z" />
242
- <glyph unicode="&#xf506;" d="M1575 1325l225 375v-1400l-225 375l125 125h-400v-400l125 125l375 -225h-1600l375 225l125 -125v400h-400l125 -125l-225 -375v1400l225 -375l-125 -125h400v400l-125 -125l-375 225h1600l-375 -225l-125 125v-400h400z" />
243
- <glyph unicode="&#xf507;" d="M1900 1000q0 183 -71.5 349.5t-192 287t-287 192t-349.5 71.5t-349.5 -71.5t-287 -192t-192 -287t-71.5 -349.5t71.5 -349.5t192 -287t287 -192t349.5 -71.5t349.5 71.5t287 192t192 287t71.5 349.5zM1000 1740q62 0 106 -44t44 -106t-44 -106.5t-106 -44.5t-106 44.5 t-44 106.5t44 106t106 44zM340 1264q0 29 165 48t330 24l165 4q660 -11 660 -76q0 -29 -112 -64t-224 -56l-111 -20l59 -306q91 -515 47 -532q-17 -7 -56.5 44t-83 128.5t-84.5 156t-68 134.5l-27 56l-96 -193q-177 -342 -222 -326q-17 14 -13 96.5t23 209t40.5 244.5 t38.5 203l17 85q-448 75 -448 140z" />
244
- <glyph unicode="&#xf508;" d="M1500 1600h300v-1500h-1600v1500h300v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100h400v100q0 60 44 106q44 44 106 44t106 -44q44 -46 44 -106v-100zM600 1700v-250q0 -21 15 -36q14 -14 35 -14t35 14q15 15 15 36v250q0 22 -15 35q-13 15 -35 15t-35 -15 q-15 -13 -15 -35zM1300 1700v-250q0 -20 14 -36q16 -14 36 -14t36 14q14 16 14 36v250q0 21 -14 35q-15 15 -36 15t-36 -15q-14 -14 -14 -35zM1700 200v1000h-1400v-1000h1400zM700 1100v-200h-200v200h200zM900 1100h200v-200h-200v200zM1300 900v200h200v-200h-200z M700 800v-200h-200v200h200zM900 800h200v-200h-200v200zM1300 600v200h200v-200h-200zM700 500v-200h-200v200h200zM1100 300h-200v200h200v-200zM1500 300h-200v200h200v-200z" />
245
- <glyph unicode="&#xf509;" d="M200 1900h1600q41 0 70.5 -29.5t29.5 -70.5v-1600q0 -41 -29.5 -70.5t-70.5 -29.5h-1600q-41 0 -70.5 29.5t-29.5 70.5v1600q0 41 29.5 70.5t70.5 29.5zM901 1101v600h-601v-600h601zM1701 1101v600h-600v-600h600zM901 300v600h-601v-600h601zM1701 300v600h-600v-600 h600z" />
246
- <glyph unicode="&#xf510;" d="M100 1683v-1483h1800v1400h-1100v83q0 48 -35 83q-34 34 -83 34h-464q-49 0 -83 -34q-35 -34 -35 -83zM1000 1400v-200h-700v200h700zM1700 1400v-1000h-500v1000h500zM1000 1000v-200h-700v200h700zM1000 600v-200h-700v200h700z" />
247
- <glyph unicode="&#xf511;" d="M200 157q28 -27 94 -18.5t154 38t194.5 81.5t215 113t215 131.5t194.5 136.5t154 129.5t93 109.5q36 60 23.5 137.5t-58 155t-117.5 151.5q32 21 66.5 21t64.5 -17.5t62.5 -41.5t61 -50.5t59.5 -46t58 -26.5t57 8q46 24 68.5 85.5t1.5 106.5q-12 26 -36.5 45.5 t-47.5 30.5t-64 20t-63 12t-70 7.5t-61 5.5q36 9 80 27.5t92 47t80.5 68.5t33.5 82q3 69 -66.5 131.5t-138.5 54.5q-25 -3 -47 -14t-40 -32.5t-31.5 -41t-27.5 -53t-22 -52.5t-20.5 -56.5t-17.5 -50.5q-16 223 -98 295q-55 43 -106 38t-88 -46.5t-38 -96.5q-1 -31 19 -62.5 t49 -56t60.5 -54.5t53 -57t27 -63.5t-16.5 -73.5q-78 60 -157.5 96.5t-155.5 44t-133 -26.5q-70 -45 -163 -169q168 -178 309 -272q15 -11 18.5 -29t-7.5 -33q-10 -16 -28.5 -19.5t-33.5 7.5q-138 94 -310 271q-71 -105 -134 -223q157 -158 279 -241q15 -11 18 -29t-7 -33 q-10 -16 -28.5 -19.5t-34.5 7.5q-117 80 -271 232q-143 -282 -212 -524t-5 -299z" />
248
- <glyph horiz-adv-x="600" />
249
- </font>
250
- </defs></svg>
Binary file
@@ -1,4006 +0,0 @@
1
- <?php
2
- /**
3
- * Main WordPress Formatting API.
4
- *
5
- * Handles many functions for formatting output.
6
- *
7
- * @package WordPress
8
- */
9
-
10
- /**
11
- * Replaces common plain text characters into formatted entities
12
- *
13
- * As an example,
14
- * <code>
15
- * 'cause today's effort makes it worth tomorrow's "holiday"...
16
- * </code>
17
- * Becomes:
18
- * <code>
19
- * &#8217;cause today&#8217;s effort makes it worth tomorrow&#8217;s &#8220;holiday&#8221;&#8230;
20
- * </code>
21
- * Code within certain html blocks are skipped.
22
- *
23
- * @since 0.71
24
- * @uses $wp_cockneyreplace Array of formatted entities for certain common phrases
25
- *
26
- * @param string $text The text to be formatted
27
- * @param bool $reset Set to true for unit testing. Translated patterns will reset.
28
- * @return string The string replaced with html entities
29
- */
30
- function wptexturize($text, $reset = false) {
31
- global $wp_cockneyreplace;
32
- static $static_characters, $static_replacements, $dynamic_characters, $dynamic_replacements,
33
- $default_no_texturize_tags, $default_no_texturize_shortcodes, $run_texturize = true;
34
-
35
- // If there's nothing to do, just stop.
36
- if ( empty( $text ) || false === $run_texturize ) {
37
- return $text;
38
- }
39
-
40
- // Set up static variables. Run once only.
41
- if ( $reset || ! isset( $static_characters ) ) {
42
- /**
43
- * Filter whether to skip running wptexturize().
44
- *
45
- * Passing false to the filter will effectively short-circuit wptexturize().
46
- * returning the original text passed to the function instead.
47
- *
48
- * The filter runs only once, the first time wptexturize() is called.
49
- *
50
- * @since 4.0.0
51
- *
52
- * @see wptexturize()
53
- *
54
- * @param bool $run_texturize Whether to short-circuit wptexturize().
55
- */
56
- $run_texturize = apply_filters( 'run_wptexturize', $run_texturize );
57
- if ( false === $run_texturize ) {
58
- return $text;
59
- }
60
-
61
- /* translators: opening curly double quote */
62
- $opening_quote = _x( '&#8220;', 'opening curly double quote' );
63
- /* translators: closing curly double quote */
64
- $closing_quote = _x( '&#8221;', 'closing curly double quote' );
65
-
66
- /* translators: apostrophe, for example in 'cause or can't */
67
- $apos = _x( '&#8217;', 'apostrophe' );
68
-
69
- /* translators: prime, for example in 9' (nine feet) */
70
- $prime = _x( '&#8242;', 'prime' );
71
- /* translators: double prime, for example in 9" (nine inches) */
72
- $double_prime = _x( '&#8243;', 'double prime' );
73
-
74
- /* translators: opening curly single quote */
75
- $opening_single_quote = _x( '&#8216;', 'opening curly single quote' );
76
- /* translators: closing curly single quote */
77
- $closing_single_quote = _x( '&#8217;', 'closing curly single quote' );
78
-
79
- /* translators: en dash */
80
- $en_dash = _x( '&#8211;', 'en dash' );
81
- /* translators: em dash */
82
- $em_dash = _x( '&#8212;', 'em dash' );
83
-
84
- $default_no_texturize_tags = array('pre', 'code', 'kbd', 'style', 'script', 'tt');
85
- $default_no_texturize_shortcodes = array('code');
86
-
87
- // if a plugin has provided an autocorrect array, use it
88
- if ( isset($wp_cockneyreplace) ) {
89
- $cockney = array_keys($wp_cockneyreplace);
90
- $cockneyreplace = array_values($wp_cockneyreplace);
91
- } elseif ( "'" != $apos ) { // Only bother if we're doing a replacement.
92
- $cockney = array( "'tain't", "'twere", "'twas", "'tis", "'twill", "'til", "'bout", "'nuff", "'round", "'cause" );
93
- $cockneyreplace = array( $apos . "tain" . $apos . "t", $apos . "twere", $apos . "twas", $apos . "tis", $apos . "twill", $apos . "til", $apos . "bout", $apos . "nuff", $apos . "round", $apos . "cause" );
94
- } else {
95
- $cockney = $cockneyreplace = array();
96
- }
97
-
98
- $static_characters = array_merge( array( '...', '``', '\'\'', ' (tm)' ), $cockney );
99
- $static_replacements = array_merge( array( '&#8230;', $opening_quote, $closing_quote, ' &#8482;' ), $cockneyreplace );
100
-
101
-
102
- // Pattern-based replacements of characters.
103
- // Sort the remaining patterns into several arrays for performance tuning.
104
- $dynamic_characters = array( 'apos' => array(), 'quote' => array(), 'dash' => array() );
105
- $dynamic_replacements = array( 'apos' => array(), 'quote' => array(), 'dash' => array() );
106
- $dynamic = array();
107
- $spaces = wp_spaces_regexp();
108
-
109
- // '99' and '99" are ambiguous among other patterns; assume it's an abbreviated year at the end of a quotation.
110
- if ( "'" !== $apos || "'" !== $closing_single_quote ) {
111
- $dynamic[ '/\'(\d\d)\'(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos . '$1' . $closing_single_quote;
112
- }
113
- if ( "'" !== $apos || '"' !== $closing_quote ) {
114
- $dynamic[ '/\'(\d\d)"(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $apos . '$1' . $closing_quote;
115
- }
116
-
117
- // '99 '99s '99's (apostrophe) But never '9 or '99% or '999 or '99.0.
118
- if ( "'" !== $apos ) {
119
- $dynamic[ '/\'(?=\d\d(?:\Z|(?![%\d]|[.,]\d)))/' ] = $apos;
120
- }
121
-
122
- // Quoted Numbers like '0.42'
123
- if ( "'" !== $opening_single_quote && "'" !== $closing_single_quote ) {
124
- $dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[.,\d]*)\'/' ] = $opening_single_quote . '$1' . $closing_single_quote;
125
- }
126
-
127
- // Single quote at start, or preceded by (, {, <, [, ", -, or spaces.
128
- if ( "'" !== $opening_single_quote ) {
129
- $dynamic[ '/(?<=\A|[([{"\-]|&lt;|' . $spaces . ')\'/' ] = $opening_single_quote;
130
- }
131
-
132
- // Apostrophe in a word. No spaces, double apostrophes, or other punctuation.
133
- if ( "'" !== $apos ) {
134
- $dynamic[ '/(?<!' . $spaces . ')\'(?!\Z|[.,:;"\'(){}[\]\-]|&[lg]t;|' . $spaces . ')/' ] = $apos;
135
- }
136
-
137
- // 9' (prime)
138
- if ( "'" !== $prime ) {
139
- $dynamic[ '/(?<=\d)\'/' ] = $prime;
140
- }
141
-
142
- // Single quotes followed by spaces or ending punctuation.
143
- if ( "'" !== $closing_single_quote ) {
144
- $dynamic[ '/\'(?=\Z|[.,)}\-\]]|&gt;|' . $spaces . ')/' ] = $closing_single_quote;
145
- }
146
-
147
- $dynamic_characters['apos'] = array_keys( $dynamic );
148
- $dynamic_replacements['apos'] = array_values( $dynamic );
149
- $dynamic = array();
150
-
151
- // Quoted Numbers like "42"
152
- if ( '"' !== $opening_quote && '"' !== $closing_quote ) {
153
- $dynamic[ '/(?<=\A|' . $spaces . ')"(\d[.,\d]*)"/' ] = $opening_quote . '$1' . $closing_quote;
154
- }
155
-
156
- // 9" (double prime)
157
- if ( '"' !== $double_prime ) {
158
- $dynamic[ '/(?<=\d)"/' ] = $double_prime;
159
- }
160
-
161
- // Double quote at start, or preceded by (, {, <, [, -, or spaces, and not followed by spaces.
162
- if ( '"' !== $opening_quote ) {
163
- $dynamic[ '/(?<=\A|[([{\-]|&lt;|' . $spaces . ')"(?!' . $spaces . ')/' ] = $opening_quote;
164
- }
165
-
166
- // Any remaining double quotes.
167
- if ( '"' !== $closing_quote ) {
168
- $dynamic[ '/"/' ] = $closing_quote;
169
- }
170
-
171
- $dynamic_characters['quote'] = array_keys( $dynamic );
172
- $dynamic_replacements['quote'] = array_values( $dynamic );
173
- $dynamic = array();
174
-
175
- // Dashes and spaces
176
- $dynamic[ '/---/' ] = $em_dash;
177
- $dynamic[ '/(?<=' . $spaces . ')--(?=' . $spaces . ')/' ] = $em_dash;
178
- $dynamic[ '/(?<!xn)--/' ] = $en_dash;
179
- $dynamic[ '/(?<=' . $spaces . ')-(?=' . $spaces . ')/' ] = $en_dash;
180
-
181
- $dynamic_characters['dash'] = array_keys( $dynamic );
182
- $dynamic_replacements['dash'] = array_values( $dynamic );
183
- }
184
-
185
- // Must do this every time in case plugins use these filters in a context sensitive manner
186
- /**
187
- * Filter the list of HTML elements not to texturize.
188
- *
189
- * @since 2.8.0
190
- *
191
- * @param array $default_no_texturize_tags An array of HTML element names.
192
- */
193
- $no_texturize_tags = apply_filters( 'no_texturize_tags', $default_no_texturize_tags );
194
- /**
195
- * Filter the list of shortcodes not to texturize.
196
- *
197
- * @since 2.8.0
198
- *
199
- * @param array $default_no_texturize_shortcodes An array of shortcode names.
200
- */
201
- $no_texturize_shortcodes = apply_filters( 'no_texturize_shortcodes', $default_no_texturize_shortcodes );
202
-
203
- $no_texturize_tags_stack = array();
204
- $no_texturize_shortcodes_stack = array();
205
-
206
- // Look for shortcodes and HTML elements.
207
-
208
- $comment_regex =
209
- '!' // Start of comment, after the <.
210
- . '(?:' // Unroll the loop: Consume everything until --> is found.
211
- . '-(?!->)' // Dash not followed by end of comment.
212
- . '[^\-]*+' // Consume non-dashes.
213
- . ')*+' // Loop possessively.
214
- . '(?:-->)?'; // End of comment. If not found, match all input.
215
-
216
- $shortcode_regex =
217
- '\[' // Find start of shortcode.
218
- . '[\/\[]?' // Shortcodes may begin with [/ or [[
219
- . '[^\s\/\[\]]' // No whitespace before name.
220
- . '[^\[\]]*+' // Shortcodes do not contain other shortcodes. Possessive critical.
221
- . '\]' // Find end of shortcode.
222
- . '\]?'; // Shortcodes may end with ]]
223
-
224
- $regex =
225
- '/(' // Capture the entire match.
226
- . '<' // Find start of element.
227
- . '(?(?=!--)' // Is this a comment?
228
- . $comment_regex // Find end of comment.
229
- . '|'
230
- . '[^>]+>' // Find end of element.
231
- . ')'
232
- . '|'
233
- . $shortcode_regex // Find shortcodes.
234
- . ')/s';
235
-
236
- $textarr = preg_split( $regex, $text, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY );
237
-
238
- foreach ( $textarr as &$curl ) {
239
- // Only call _wptexturize_pushpop_element if $curl is a delimiter.
240
- $first = $curl[0];
241
- if ( '<' === $first && '<!--' === substr( $curl, 0, 4 ) ) {
242
- // This is an HTML comment delimeter.
243
-
244
- continue;
245
-
246
- } elseif ( '<' === $first && '>' === substr( $curl, -1 ) ) {
247
- // This is an HTML element delimiter.
248
-
249
- _wptexturize_pushpop_element( $curl, $no_texturize_tags_stack, $no_texturize_tags );
250
-
251
- } elseif ( '' === trim( $curl ) ) {
252
- // This is a newline between delimiters. Performance improves when we check this.
253
-
254
- continue;
255
-
256
- } elseif ( '[' === $first && 1 === preg_match( '/^' . $shortcode_regex . '$/', $curl ) ) {
257
- // This is a shortcode delimiter.
258
-
259
- if ( '[[' !== substr( $curl, 0, 2 ) && ']]' !== substr( $curl, -2 ) ) {
260
- // Looks like a normal shortcode.
261
- _wptexturize_pushpop_element( $curl, $no_texturize_shortcodes_stack, $no_texturize_shortcodes );
262
- } else {
263
- // Looks like an escaped shortcode.
264
- // Do not texturize.
265
- // Do not push to the shortcodes stack.
266
- continue;
267
- }
268
-
269
- } elseif ( empty( $no_texturize_shortcodes_stack ) && empty( $no_texturize_tags_stack ) ) {
270
- // This is neither a delimiter, nor is this content inside of no_texturize pairs. Do texturize.
271
-
272
- $curl = str_replace( $static_characters, $static_replacements, $curl );
273
-
274
- if ( false !== strpos( $curl, "'" ) ) {
275
- $curl = preg_replace( $dynamic_characters['apos'], $dynamic_replacements['apos'], $curl );
276
- }
277
- if ( false !== strpos( $curl, '"' ) ) {
278
- $curl = preg_replace( $dynamic_characters['quote'], $dynamic_replacements['quote'], $curl );
279
- }
280
- if ( false !== strpos( $curl, '-' ) ) {
281
- $curl = preg_replace( $dynamic_characters['dash'], $dynamic_replacements['dash'], $curl );
282
- }
283
-
284
- // 9x9 (times), but never 0x9999
285
- if ( 1 === preg_match( '/(?<=\d)x-?\d/', $curl ) ) {
286
- // Searching for a digit is 10 times more expensive than for the x, so we avoid doing this one!
287
- $curl = preg_replace( '/\b(\d(?(?<=0)[\d\.,]+|[\d\.,]*))x(-?\d[\d\.,]*)\b/', '$1&#215;$2', $curl );
288
- }
289
- }
290
- }
291
- $text = implode( '', $textarr );
292
-
293
- // Replace each & with &#038; unless it already looks like an entity.
294
- $text = preg_replace('/&(?!#(?:\d+|x[a-f0-9]+);|[a-z1-4]{1,8};)/i', '&#038;', $text);
295
-
296
- return $text;
297
- }
298
-
299
- /**
300
- * Search for disabled element tags. Push element to stack on tag open and pop
301
- * on tag close.
302
- *
303
- * Assumes first char of $text is tag opening and last char is tag closing.
304
- * Assumes second char of $text is optionally '/' to indicate closing as in </html>.
305
- *
306
- * @since 2.9.0
307
- * @access private
308
- *
309
- * @param string $text Text to check. Must be a tag like <html> or [shortcode].
310
- * @param array $stack List of open tag elements.
311
- * @param array $disabled_elements The tag names to match against. Spaces are not allowed in tag names.
312
- */
313
- function _wptexturize_pushpop_element($text, &$stack, $disabled_elements) {
314
- // Is it an opening tag or closing tag?
315
- if ( '/' !== $text[1] ) {
316
- $opening_tag = true;
317
- $name_offset = 1;
318
- } elseif ( 0 == count( $stack ) ) {
319
- // Stack is empty. Just stop.
320
- return;
321
- } else {
322
- $opening_tag = false;
323
- $name_offset = 2;
324
- }
325
-
326
- // Parse out the tag name.
327
- $space = strpos( $text, ' ' );
328
- if ( false === $space ) {
329
- $space = -1;
330
- } else {
331
- $space -= $name_offset;
332
- }
333
- $tag = substr( $text, $name_offset, $space );
334
-
335
- // Handle disabled tags.
336
- if ( in_array( $tag, $disabled_elements ) ) {
337
- if ( $opening_tag ) {
338
- /*
339
- * This disables texturize until we find a closing tag of our type
340
- * (e.g. <pre>) even if there was invalid nesting before that
341
- *
342
- * Example: in the case <pre>sadsadasd</code>"baba"</pre>
343
- * "baba" won't be texturize
344
- */
345
-
346
- array_push( $stack, $tag );
347
- } elseif ( end( $stack ) == $tag ) {
348
- array_pop( $stack );
349
- }
350
- }
351
- }
352
-
353
- /**
354
- * Replaces double line-breaks with paragraph elements.
355
- *
356
- * A group of regex replaces used to identify text formatted with newlines and
357
- * replace double line-breaks with HTML paragraph tags. The remaining
358
- * line-breaks after conversion become <<br />> tags, unless $br is set to '0'
359
- * or 'false'.
360
- *
361
- * @since 0.71
362
- *
363
- * @param string $pee The text which has to be formatted.
364
- * @param bool $br Optional. If set, this will convert all remaining line-breaks after paragraphing. Default true.
365
- * @return string Text which has been converted into correct paragraph tags.
366
- */
367
- function wpautop($pee, $br = true) {
368
- $pre_tags = array();
369
-
370
- if ( trim($pee) === '' )
371
- return '';
372
-
373
- $pee = $pee . "\n"; // just to make things a little easier, pad the end
374
-
375
- if ( strpos($pee, '<pre') !== false ) {
376
- $pee_parts = explode( '</pre>', $pee );
377
- $last_pee = array_pop($pee_parts);
378
- $pee = '';
379
- $i = 0;
380
-
381
- foreach ( $pee_parts as $pee_part ) {
382
- $start = strpos($pee_part, '<pre');
383
-
384
- // Malformed html?
385
- if ( $start === false ) {
386
- $pee .= $pee_part;
387
- continue;
388
- }
389
-
390
- $name = "<pre wp-pre-tag-$i></pre>";
391
- $pre_tags[$name] = substr( $pee_part, $start ) . '</pre>';
392
-
393
- $pee .= substr( $pee_part, 0, $start ) . $name;
394
- $i++;
395
- }
396
-
397
- $pee .= $last_pee;
398
- }
399
-
400
- $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
401
- // Space things out a little
402
- $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary)';
403
- $pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
404
- $pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
405
- $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
406
-
407
- if ( strpos( $pee, '<option' ) !== false ) {
408
- // no P/BR around option
409
- $pee = preg_replace( '|\s*<option|', '<option', $pee );
410
- $pee = preg_replace( '|</option>\s*|', '</option>', $pee );
411
- }
412
-
413
- if ( strpos( $pee, '</object>' ) !== false ) {
414
- // no P/BR around param and embed
415
- $pee = preg_replace( '|(<object[^>]*>)\s*|', '$1', $pee );
416
- $pee = preg_replace( '|\s*</object>|', '</object>', $pee );
417
- $pee = preg_replace( '%\s*(</?(?:param|embed)[^>]*>)\s*%', '$1', $pee );
418
- }
419
-
420
- if ( strpos( $pee, '<source' ) !== false || strpos( $pee, '<track' ) !== false ) {
421
- // no P/BR around source and track
422
- $pee = preg_replace( '%([<\[](?:audio|video)[^>\]]*[>\]])\s*%', '$1', $pee );
423
- $pee = preg_replace( '%\s*([<\[]/(?:audio|video)[>\]])%', '$1', $pee );
424
- $pee = preg_replace( '%\s*(<(?:source|track)[^>]*>)\s*%', '$1', $pee );
425
- }
426
-
427
- $pee = preg_replace("/\n\n+/", "\n\n", $pee); // take care of duplicates
428
- // make paragraphs, including one at the end
429
- $pees = preg_split('/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY);
430
- $pee = '';
431
-
432
- foreach ( $pees as $tinkle ) {
433
- $pee .= '<p>' . trim($tinkle, "\n") . "</p>\n";
434
- }
435
-
436
- $pee = preg_replace('|<p>\s*</p>|', '', $pee); // under certain strange conditions it could create a P of entirely whitespace
437
- $pee = preg_replace('!<p>([^<]+)</(div|address|form)>!', "<p>$1</p></$2>", $pee);
438
- $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
439
- $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); // problem with nested lists
440
- $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
441
- $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
442
- $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
443
- $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
444
-
445
- if ( $br ) {
446
- $pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', '_autop_newline_preservation_helper', $pee);
447
- $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); // optionally make line breaks
448
- $pee = str_replace('<WPPreserveNewline />', "\n", $pee);
449
- }
450
-
451
- $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
452
- $pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee);
453
- $pee = preg_replace( "|\n</p>$|", '</p>', $pee );
454
-
455
- if ( !empty($pre_tags) )
456
- $pee = str_replace(array_keys($pre_tags), array_values($pre_tags), $pee);
457
-
458
- return $pee;
459
- }
460
-
461
- /**
462
- * Newline preservation help function for wpautop
463
- *
464
- * @since 3.1.0
465
- * @access private
466
- *
467
- * @param array $matches preg_replace_callback matches array
468
- * @return string
469
- */
470
- function _autop_newline_preservation_helper( $matches ) {
471
- return str_replace("\n", "<WPPreserveNewline />", $matches[0]);
472
- }
473
-
474
- /**
475
- * Don't auto-p wrap shortcodes that stand alone
476
- *
477
- * Ensures that shortcodes are not wrapped in <<p>>...<</p>>.
478
- *
479
- * @since 2.9.0
480
- *
481
- * @param string $pee The content.
482
- * @return string The filtered content.
483
- */
484
- function shortcode_unautop( $pee ) {
485
- global $shortcode_tags;
486
-
487
- if ( empty( $shortcode_tags ) || !is_array( $shortcode_tags ) ) {
488
- return $pee;
489
- }
490
-
491
- $tagregexp = join( '|', array_map( 'preg_quote', array_keys( $shortcode_tags ) ) );
492
- $spaces = wp_spaces_regexp();
493
-
494
- $pattern =
495
- '/'
496
- . '<p>' // Opening paragraph
497
- . '(?:' . $spaces . ')*+' // Optional leading whitespace
498
- . '(' // 1: The shortcode
499
- . '\\[' // Opening bracket
500
- . "($tagregexp)" // 2: Shortcode name
501
- . '(?![\\w-])' // Not followed by word character or hyphen
502
- // Unroll the loop: Inside the opening shortcode tag
503
- . '[^\\]\\/]*' // Not a closing bracket or forward slash
504
- . '(?:'
505
- . '\\/(?!\\])' // A forward slash not followed by a closing bracket
506
- . '[^\\]\\/]*' // Not a closing bracket or forward slash
507
- . ')*?'
508
- . '(?:'
509
- . '\\/\\]' // Self closing tag and closing bracket
510
- . '|'
511
- . '\\]' // Closing bracket
512
- . '(?:' // Unroll the loop: Optionally, anything between the opening and closing shortcode tags
513
- . '[^\\[]*+' // Not an opening bracket
514
- . '(?:'
515
- . '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag
516
- . '[^\\[]*+' // Not an opening bracket
517
- . ')*+'
518
- . '\\[\\/\\2\\]' // Closing shortcode tag
519
- . ')?'
520
- . ')'
521
- . ')'
522
- . '(?:' . $spaces . ')*+' // optional trailing whitespace
523
- . '<\\/p>' // closing paragraph
524
- . '/s';
525
-
526
- return preg_replace( $pattern, '$1', $pee );
527
- }
528
-
529
- /**
530
- * Checks to see if a string is utf8 encoded.
531
- *
532
- * NOTE: This function checks for 5-Byte sequences, UTF8
533
- * has Bytes Sequences with a maximum length of 4.
534
- *
535
- * @author bmorel at ssi dot fr (modified)
536
- * @since 1.2.1
537
- *
538
- * @param string $str The string to be checked
539
- * @return bool True if $str fits a UTF-8 model, false otherwise.
540
- */
541
- function seems_utf8($str) {
542
- mbstring_binary_safe_encoding();
543
- $length = strlen($str);
544
- reset_mbstring_encoding();
545
- for ($i=0; $i < $length; $i++) {
546
- $c = ord($str[$i]);
547
- if ($c < 0x80) $n = 0; # 0bbbbbbb
548
- elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb
549
- elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb
550
- elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb
551
- elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb
552
- elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b
553
- else return false; # Does not match any model
554
- for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
555
- if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))
556
- return false;
557
- }
558
- }
559
- return true;
560
- }
561
-
562
- /**
563
- * Converts a number of special characters into their HTML entities.
564
- *
565
- * Specifically deals with: &, <, >, ", and '.
566
- *
567
- * $quote_style can be set to ENT_COMPAT to encode " to
568
- * &quot;, or ENT_QUOTES to do both. Default is ENT_NOQUOTES where no quotes are encoded.
569
- *
570
- * @since 1.2.2
571
- * @access private
572
- *
573
- * @param string $string The text which is to be encoded.
574
- * @param mixed $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES.
575
- * @param string $charset Optional. The character encoding of the string. Default is false.
576
- * @param boolean $double_encode Optional. Whether to encode existing html entities. Default is false.
577
- * @return string The encoded text with HTML entities.
578
- */
579
- function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false ) {
580
- $string = (string) $string;
581
-
582
- if ( 0 === strlen( $string ) )
583
- return '';
584
-
585
- // Don't bother if there are no specialchars - saves some processing
586
- if ( ! preg_match( '/[&<>"\']/', $string ) )
587
- return $string;
588
-
589
- // Account for the previous behaviour of the function when the $quote_style is not an accepted value
590
- if ( empty( $quote_style ) )
591
- $quote_style = ENT_NOQUOTES;
592
- elseif ( ! in_array( $quote_style, array( 0, 2, 3, 'single', 'double' ), true ) )
593
- $quote_style = ENT_QUOTES;
594
-
595
- // Store the site charset as a static to avoid multiple calls to wp_load_alloptions()
596
- if ( ! $charset ) {
597
- static $_charset;
598
- if ( ! isset( $_charset ) ) {
599
- $alloptions = wp_load_alloptions();
600
- $_charset = isset( $alloptions['blog_charset'] ) ? $alloptions['blog_charset'] : '';
601
- }
602
- $charset = $_charset;
603
- }
604
-
605
- if ( in_array( $charset, array( 'utf8', 'utf-8', 'UTF8' ) ) )
606
- $charset = 'UTF-8';
607
-
608
- $_quote_style = $quote_style;
609
-
610
- if ( $quote_style === 'double' ) {
611
- $quote_style = ENT_COMPAT;
612
- $_quote_style = ENT_COMPAT;
613
- } elseif ( $quote_style === 'single' ) {
614
- $quote_style = ENT_NOQUOTES;
615
- }
616
-
617
- // Handle double encoding ourselves
618
- if ( $double_encode ) {
619
- $string = @htmlspecialchars( $string, $quote_style, $charset );
620
- } else {
621
- // Decode &amp; into &
622
- $string = wp_specialchars_decode( $string, $_quote_style );
623
-
624
- // Guarantee every &entity; is valid or re-encode the &
625
- $string = wp_kses_normalize_entities( $string );
626
-
627
- // Now re-encode everything except &entity;
628
- $string = preg_split( '/(&#?x?[0-9a-z]+;)/i', $string, -1, PREG_SPLIT_DELIM_CAPTURE );
629
-
630
- for ( $i = 0; $i < count( $string ); $i += 2 )
631
- $string[$i] = @htmlspecialchars( $string[$i], $quote_style, $charset );
632
-
633
- $string = implode( '', $string );
634
- }
635
-
636
- // Backwards compatibility
637
- if ( 'single' === $_quote_style )
638
- $string = str_replace( "'", '&#039;', $string );
639
-
640
- return $string;
641
- }
642
-
643
- /**
644
- * Converts a number of HTML entities into their special characters.
645
- *
646
- * Specifically deals with: &, <, >, ", and '.
647
- *
648
- * $quote_style can be set to ENT_COMPAT to decode " entities,
649
- * or ENT_QUOTES to do both " and '. Default is ENT_NOQUOTES where no quotes are decoded.
650
- *
651
- * @since 2.8.0
652
- *
653
- * @param string $string The text which is to be decoded.
654
- * @param mixed $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old _wp_specialchars() values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES.
655
- * @return string The decoded text without HTML entities.
656
- */
657
- function wp_specialchars_decode( $string, $quote_style = ENT_NOQUOTES ) {
658
- $string = (string) $string;
659
-
660
- if ( 0 === strlen( $string ) ) {
661
- return '';
662
- }
663
-
664
- // Don't bother if there are no entities - saves a lot of processing
665
- if ( strpos( $string, '&' ) === false ) {
666
- return $string;
667
- }
668
-
669
- // Match the previous behaviour of _wp_specialchars() when the $quote_style is not an accepted value
670
- if ( empty( $quote_style ) ) {
671
- $quote_style = ENT_NOQUOTES;
672
- } elseif ( !in_array( $quote_style, array( 0, 2, 3, 'single', 'double' ), true ) ) {
673
- $quote_style = ENT_QUOTES;
674
- }
675
-
676
- // More complete than get_html_translation_table( HTML_SPECIALCHARS )
677
- $single = array( '&#039;' => '\'', '&#x27;' => '\'' );
678
- $single_preg = array( '/&#0*39;/' => '&#039;', '/&#x0*27;/i' => '&#x27;' );
679
- $double = array( '&quot;' => '"', '&#034;' => '"', '&#x22;' => '"' );
680
- $double_preg = array( '/&#0*34;/' => '&#034;', '/&#x0*22;/i' => '&#x22;' );
681
- $others = array( '&lt;' => '<', '&#060;' => '<', '&gt;' => '>', '&#062;' => '>', '&amp;' => '&', '&#038;' => '&', '&#x26;' => '&' );
682
- $others_preg = array( '/&#0*60;/' => '&#060;', '/&#0*62;/' => '&#062;', '/&#0*38;/' => '&#038;', '/&#x0*26;/i' => '&#x26;' );
683
-
684
- if ( $quote_style === ENT_QUOTES ) {
685
- $translation = array_merge( $single, $double, $others );
686
- $translation_preg = array_merge( $single_preg, $double_preg, $others_preg );
687
- } elseif ( $quote_style === ENT_COMPAT || $quote_style === 'double' ) {
688
- $translation = array_merge( $double, $others );
689
- $translation_preg = array_merge( $double_preg, $others_preg );
690
- } elseif ( $quote_style === 'single' ) {
691
- $translation = array_merge( $single, $others );
692
- $translation_preg = array_merge( $single_preg, $others_preg );
693
- } elseif ( $quote_style === ENT_NOQUOTES ) {
694
- $translation = $others;
695
- $translation_preg = $others_preg;
696
- }
697
-
698
- // Remove zero padding on numeric entities
699
- $string = preg_replace( array_keys( $translation_preg ), array_values( $translation_preg ), $string );
700
-
701
- // Replace characters according to translation table
702
- return strtr( $string, $translation );
703
- }
704
-
705
- /**
706
- * Checks for invalid UTF8 in a string.
707
- *
708
- * @since 2.8.0
709
- *
710
- * @param string $string The text which is to be checked.
711
- * @param boolean $strip Optional. Whether to attempt to strip out invalid UTF8. Default is false.
712
- * @return string The checked text.
713
- */
714
- function wp_check_invalid_utf8( $string, $strip = false ) {
715
- $string = (string) $string;
716
-
717
- if ( 0 === strlen( $string ) ) {
718
- return '';
719
- }
720
-
721
- // Store the site charset as a static to avoid multiple calls to get_option()
722
- static $is_utf8;
723
- if ( !isset( $is_utf8 ) ) {
724
- $is_utf8 = in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) );
725
- }
726
- if ( !$is_utf8 ) {
727
- return $string;
728
- }
729
-
730
- // Check for support for utf8 in the installed PCRE library once and store the result in a static
731
- static $utf8_pcre;
732
- if ( !isset( $utf8_pcre ) ) {
733
- $utf8_pcre = @preg_match( '/^./u', 'a' );
734
- }
735
- // We can't demand utf8 in the PCRE installation, so just return the string in those cases
736
- if ( !$utf8_pcre ) {
737
- return $string;
738
- }
739
-
740
- // preg_match fails when it encounters invalid UTF8 in $string
741
- if ( 1 === @preg_match( '/^./us', $string ) ) {
742
- return $string;
743
- }
744
-
745
- // Attempt to strip the bad chars if requested (not recommended)
746
- if ( $strip && function_exists( 'iconv' ) ) {
747
- return iconv( 'utf-8', 'utf-8', $string );
748
- }
749
-
750
- return '';
751
- }
752
-
753
- /**
754
- * Encode the Unicode values to be used in the URI.
755
- *
756
- * @since 1.5.0
757
- *
758
- * @param string $utf8_string
759
- * @param int $length Max length of the string
760
- * @return string String with Unicode encoded for URI.
761
- */
762
- function utf8_uri_encode( $utf8_string, $length = 0 ) {
763
- $unicode = '';
764
- $values = array();
765
- $num_octets = 1;
766
- $unicode_length = 0;
767
-
768
- mbstring_binary_safe_encoding();
769
- $string_length = strlen( $utf8_string );
770
- reset_mbstring_encoding();
771
-
772
- for ($i = 0; $i < $string_length; $i++ ) {
773
-
774
- $value = ord( $utf8_string[ $i ] );
775
-
776
- if ( $value < 128 ) {
777
- if ( $length && ( $unicode_length >= $length ) )
778
- break;
779
- $unicode .= chr($value);
780
- $unicode_length++;
781
- } else {
782
- if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3;
783
-
784
- $values[] = $value;
785
-
786
- if ( $length && ( $unicode_length + ($num_octets * 3) ) > $length )
787
- break;
788
- if ( count( $values ) == $num_octets ) {
789
- if ($num_octets == 3) {
790
- $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]);
791
- $unicode_length += 9;
792
- } else {
793
- $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]);
794
- $unicode_length += 6;
795
- }
796
-
797
- $values = array();
798
- $num_octets = 1;
799
- }
800
- }
801
- }
802
-
803
- return $unicode;
804
- }
805
-
806
- /**
807
- * Converts all accent characters to ASCII characters.
808
- *
809
- * If there are no accent characters, then the string given is just returned.
810
- *
811
- * @since 1.2.1
812
- *
813
- * @param string $string Text that might have accent characters
814
- * @return string Filtered string with replaced "nice" characters.
815
- */
816
- function remove_accents($string) {
817
- if ( !preg_match('/[\x80-\xff]/', $string) )
818
- return $string;
819
-
820
- if (seems_utf8($string)) {
821
- $chars = array(
822
- // Decompositions for Latin-1 Supplement
823
- chr(194).chr(170) => 'a', chr(194).chr(186) => 'o',
824
- chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
825
- chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
826
- chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
827
- chr(195).chr(134) => 'AE',chr(195).chr(135) => 'C',
828
- chr(195).chr(136) => 'E', chr(195).chr(137) => 'E',
829
- chr(195).chr(138) => 'E', chr(195).chr(139) => 'E',
830
- chr(195).chr(140) => 'I', chr(195).chr(141) => 'I',
831
- chr(195).chr(142) => 'I', chr(195).chr(143) => 'I',
832
- chr(195).chr(144) => 'D', chr(195).chr(145) => 'N',
833
- chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
834
- chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
835
- chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
836
- chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
837
- chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
838
- chr(195).chr(158) => 'TH',chr(195).chr(159) => 's',
839
- chr(195).chr(160) => 'a', chr(195).chr(161) => 'a',
840
- chr(195).chr(162) => 'a', chr(195).chr(163) => 'a',
841
- chr(195).chr(164) => 'a', chr(195).chr(165) => 'a',
842
- chr(195).chr(166) => 'ae',chr(195).chr(167) => 'c',
843
- chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
844
- chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
845
- chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
846
- chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
847
- chr(195).chr(176) => 'd', chr(195).chr(177) => 'n',
848
- chr(195).chr(178) => 'o', chr(195).chr(179) => 'o',
849
- chr(195).chr(180) => 'o', chr(195).chr(181) => 'o',
850
- chr(195).chr(182) => 'o', chr(195).chr(184) => 'o',
851
- chr(195).chr(185) => 'u', chr(195).chr(186) => 'u',
852
- chr(195).chr(187) => 'u', chr(195).chr(188) => 'u',
853
- chr(195).chr(189) => 'y', chr(195).chr(190) => 'th',
854
- chr(195).chr(191) => 'y', chr(195).chr(152) => 'O',
855
- // Decompositions for Latin Extended-A
856
- chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
857
- chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
858
- chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
859
- chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
860
- chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
861
- chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
862
- chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
863
- chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
864
- chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
865
- chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
866
- chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
867
- chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
868
- chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
869
- chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
870
- chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
871
- chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
872
- chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
873
- chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
874
- chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
875
- chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
876
- chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
877
- chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
878
- chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
879
- chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
880
- chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
881
- chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
882
- chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
883
- chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
884
- chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
885
- chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
886
- chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
887
- chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
888
- chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
889
- chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
890
- chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
891
- chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
892
- chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
893
- chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
894
- chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
895
- chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
896
- chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
897
- chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
898
- chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
899
- chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
900
- chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
901
- chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
902
- chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
903
- chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
904
- chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
905
- chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
906
- chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
907
- chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
908
- chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
909
- chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
910
- chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
911
- chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
912
- chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
913
- chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
914
- chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
915
- chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
916
- chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
917
- chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
918
- chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
919
- chr(197).chr(190) => 'z', chr(197).chr(191) => 's',
920
- // Decompositions for Latin Extended-B
921
- chr(200).chr(152) => 'S', chr(200).chr(153) => 's',
922
- chr(200).chr(154) => 'T', chr(200).chr(155) => 't',
923
- // Euro Sign
924
- chr(226).chr(130).chr(172) => 'E',
925
- // GBP (Pound) Sign
926
- chr(194).chr(163) => '',
927
- // Vowels with diacritic (Vietnamese)
928
- // unmarked
929
- chr(198).chr(160) => 'O', chr(198).chr(161) => 'o',
930
- chr(198).chr(175) => 'U', chr(198).chr(176) => 'u',
931
- // grave accent
932
- chr(225).chr(186).chr(166) => 'A', chr(225).chr(186).chr(167) => 'a',
933
- chr(225).chr(186).chr(176) => 'A', chr(225).chr(186).chr(177) => 'a',
934
- chr(225).chr(187).chr(128) => 'E', chr(225).chr(187).chr(129) => 'e',
935
- chr(225).chr(187).chr(146) => 'O', chr(225).chr(187).chr(147) => 'o',
936
- chr(225).chr(187).chr(156) => 'O', chr(225).chr(187).chr(157) => 'o',
937
- chr(225).chr(187).chr(170) => 'U', chr(225).chr(187).chr(171) => 'u',
938
- chr(225).chr(187).chr(178) => 'Y', chr(225).chr(187).chr(179) => 'y',
939
- // hook
940
- chr(225).chr(186).chr(162) => 'A', chr(225).chr(186).chr(163) => 'a',
941
- chr(225).chr(186).chr(168) => 'A', chr(225).chr(186).chr(169) => 'a',
942
- chr(225).chr(186).chr(178) => 'A', chr(225).chr(186).chr(179) => 'a',
943
- chr(225).chr(186).chr(186) => 'E', chr(225).chr(186).chr(187) => 'e',
944
- chr(225).chr(187).chr(130) => 'E', chr(225).chr(187).chr(131) => 'e',
945
- chr(225).chr(187).chr(136) => 'I', chr(225).chr(187).chr(137) => 'i',
946
- chr(225).chr(187).chr(142) => 'O', chr(225).chr(187).chr(143) => 'o',
947
- chr(225).chr(187).chr(148) => 'O', chr(225).chr(187).chr(149) => 'o',
948
- chr(225).chr(187).chr(158) => 'O', chr(225).chr(187).chr(159) => 'o',
949
- chr(225).chr(187).chr(166) => 'U', chr(225).chr(187).chr(167) => 'u',
950
- chr(225).chr(187).chr(172) => 'U', chr(225).chr(187).chr(173) => 'u',
951
- chr(225).chr(187).chr(182) => 'Y', chr(225).chr(187).chr(183) => 'y',
952
- // tilde
953
- chr(225).chr(186).chr(170) => 'A', chr(225).chr(186).chr(171) => 'a',
954
- chr(225).chr(186).chr(180) => 'A', chr(225).chr(186).chr(181) => 'a',
955
- chr(225).chr(186).chr(188) => 'E', chr(225).chr(186).chr(189) => 'e',
956
- chr(225).chr(187).chr(132) => 'E', chr(225).chr(187).chr(133) => 'e',
957
- chr(225).chr(187).chr(150) => 'O', chr(225).chr(187).chr(151) => 'o',
958
- chr(225).chr(187).chr(160) => 'O', chr(225).chr(187).chr(161) => 'o',
959
- chr(225).chr(187).chr(174) => 'U', chr(225).chr(187).chr(175) => 'u',
960
- chr(225).chr(187).chr(184) => 'Y', chr(225).chr(187).chr(185) => 'y',
961
- // acute accent
962
- chr(225).chr(186).chr(164) => 'A', chr(225).chr(186).chr(165) => 'a',
963
- chr(225).chr(186).chr(174) => 'A', chr(225).chr(186).chr(175) => 'a',
964
- chr(225).chr(186).chr(190) => 'E', chr(225).chr(186).chr(191) => 'e',
965
- chr(225).chr(187).chr(144) => 'O', chr(225).chr(187).chr(145) => 'o',
966
- chr(225).chr(187).chr(154) => 'O', chr(225).chr(187).chr(155) => 'o',
967
- chr(225).chr(187).chr(168) => 'U', chr(225).chr(187).chr(169) => 'u',
968
- // dot below
969
- chr(225).chr(186).chr(160) => 'A', chr(225).chr(186).chr(161) => 'a',
970
- chr(225).chr(186).chr(172) => 'A', chr(225).chr(186).chr(173) => 'a',
971
- chr(225).chr(186).chr(182) => 'A', chr(225).chr(186).chr(183) => 'a',
972
- chr(225).chr(186).chr(184) => 'E', chr(225).chr(186).chr(185) => 'e',
973
- chr(225).chr(187).chr(134) => 'E', chr(225).chr(187).chr(135) => 'e',
974
- chr(225).chr(187).chr(138) => 'I', chr(225).chr(187).chr(139) => 'i',
975
- chr(225).chr(187).chr(140) => 'O', chr(225).chr(187).chr(141) => 'o',
976
- chr(225).chr(187).chr(152) => 'O', chr(225).chr(187).chr(153) => 'o',
977
- chr(225).chr(187).chr(162) => 'O', chr(225).chr(187).chr(163) => 'o',
978
- chr(225).chr(187).chr(164) => 'U', chr(225).chr(187).chr(165) => 'u',
979
- chr(225).chr(187).chr(176) => 'U', chr(225).chr(187).chr(177) => 'u',
980
- chr(225).chr(187).chr(180) => 'Y', chr(225).chr(187).chr(181) => 'y',
981
- // Vowels with diacritic (Chinese, Hanyu Pinyin)
982
- chr(201).chr(145) => 'a',
983
- // macron
984
- chr(199).chr(149) => 'U', chr(199).chr(150) => 'u',
985
- // acute accent
986
- chr(199).chr(151) => 'U', chr(199).chr(152) => 'u',
987
- // caron
988
- chr(199).chr(141) => 'A', chr(199).chr(142) => 'a',
989
- chr(199).chr(143) => 'I', chr(199).chr(144) => 'i',
990
- chr(199).chr(145) => 'O', chr(199).chr(146) => 'o',
991
- chr(199).chr(147) => 'U', chr(199).chr(148) => 'u',
992
- chr(199).chr(153) => 'U', chr(199).chr(154) => 'u',
993
- // grave accent
994
- chr(199).chr(155) => 'U', chr(199).chr(156) => 'u',
995
- );
996
-
997
- // Used for locale-specific rules
998
- $locale = get_locale();
999
-
1000
- if ( 'de_DE' == $locale ) {
1001
- $chars[ chr(195).chr(132) ] = 'Ae';
1002
- $chars[ chr(195).chr(164) ] = 'ae';
1003
- $chars[ chr(195).chr(150) ] = 'Oe';
1004
- $chars[ chr(195).chr(182) ] = 'oe';
1005
- $chars[ chr(195).chr(156) ] = 'Ue';
1006
- $chars[ chr(195).chr(188) ] = 'ue';
1007
- $chars[ chr(195).chr(159) ] = 'ss';
1008
- } elseif ( 'da_DK' === $locale ) {
1009
- $chars[ chr(195).chr(134) ] = 'Ae';
1010
- $chars[ chr(195).chr(166) ] = 'ae';
1011
- $chars[ chr(195).chr(152) ] = 'Oe';
1012
- $chars[ chr(195).chr(184) ] = 'oe';
1013
- $chars[ chr(195).chr(133) ] = 'Aa';
1014
- $chars[ chr(195).chr(165) ] = 'aa';
1015
- }
1016
-
1017
- $string = strtr($string, $chars);
1018
- } else {
1019
- // Assume ISO-8859-1 if not UTF-8
1020
- $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
1021
- .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
1022
- .chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
1023
- .chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
1024
- .chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
1025
- .chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
1026
- .chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
1027
- .chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
1028
- .chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
1029
- .chr(252).chr(253).chr(255);
1030
-
1031
- $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
1032
-
1033
- $string = strtr($string, $chars['in'], $chars['out']);
1034
- $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
1035
- $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
1036
- $string = str_replace($double_chars['in'], $double_chars['out'], $string);
1037
- }
1038
-
1039
- return $string;
1040
- }
1041
-
1042
- /**
1043
- * Sanitizes a filename, replacing whitespace with dashes.
1044
- *
1045
- * Removes special characters that are illegal in filenames on certain
1046
- * operating systems and special characters requiring special escaping
1047
- * to manipulate at the command line. Replaces spaces and consecutive
1048
- * dashes with a single dash. Trims period, dash and underscore from beginning
1049
- * and end of filename.
1050
- *
1051
- * @since 2.1.0
1052
- *
1053
- * @param string $filename The filename to be sanitized
1054
- * @return string The sanitized filename
1055
- */
1056
- function sanitize_file_name( $filename ) {
1057
- $filename_raw = $filename;
1058
- $special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}", chr(0));
1059
- /**
1060
- * Filter the list of characters to remove from a filename.
1061
- *
1062
- * @since 2.8.0
1063
- *
1064
- * @param array $special_chars Characters to remove.
1065
- * @param string $filename_raw Filename as it was passed into sanitize_file_name().
1066
- */
1067
- $special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
1068
- $filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
1069
- $filename = str_replace( $special_chars, '', $filename );
1070
- $filename = str_replace( array( '%20', '+' ), '-', $filename );
1071
- $filename = preg_replace( '/[\r\n\t -]+/', '-', $filename );
1072
- $filename = trim( $filename, '.-_' );
1073
-
1074
- // Split the filename into a base and extension[s]
1075
- $parts = explode('.', $filename);
1076
-
1077
- // Return if only one extension
1078
- if ( count( $parts ) <= 2 ) {
1079
- /**
1080
- * Filter a sanitized filename string.
1081
- *
1082
- * @since 2.8.0
1083
- *
1084
- * @param string $filename Sanitized filename.
1085
- * @param string $filename_raw The filename prior to sanitization.
1086
- */
1087
- return apply_filters( 'sanitize_file_name', $filename, $filename_raw );
1088
- }
1089
-
1090
- // Process multiple extensions
1091
- $filename = array_shift($parts);
1092
- $extension = array_pop($parts);
1093
- $mimes = get_allowed_mime_types();
1094
-
1095
- /*
1096
- * Loop over any intermediate extensions. Postfix them with a trailing underscore
1097
- * if they are a 2 - 5 character long alpha string not in the extension whitelist.
1098
- */
1099
- foreach ( (array) $parts as $part) {
1100
- $filename .= '.' . $part;
1101
-
1102
- if ( preg_match("/^[a-zA-Z]{2,5}\d?$/", $part) ) {
1103
- $allowed = false;
1104
- foreach ( $mimes as $ext_preg => $mime_match ) {
1105
- $ext_preg = '!^(' . $ext_preg . ')$!i';
1106
- if ( preg_match( $ext_preg, $part ) ) {
1107
- $allowed = true;
1108
- break;
1109
- }
1110
- }
1111
- if ( !$allowed )
1112
- $filename .= '_';
1113
- }
1114
- }
1115
- $filename .= '.' . $extension;
1116
- /** This filter is documented in wp-includes/formatting.php */
1117
- return apply_filters('sanitize_file_name', $filename, $filename_raw);
1118
- }
1119
-
1120
- /**
1121
- * Sanitizes a username, stripping out unsafe characters.
1122
- *
1123
- * Removes tags, octets, entities, and if strict is enabled, will only keep
1124
- * alphanumeric, _, space, ., -, @. After sanitizing, it passes the username,
1125
- * raw username (the username in the parameter), and the value of $strict as
1126
- * parameters for the 'sanitize_user' filter.
1127
- *
1128
- * @since 2.0.0
1129
- *
1130
- * @param string $username The username to be sanitized.
1131
- * @param bool $strict If set limits $username to specific characters. Default false.
1132
- * @return string The sanitized username, after passing through filters.
1133
- */
1134
- function sanitize_user( $username, $strict = false ) {
1135
- $raw_username = $username;
1136
- $username = wp_strip_all_tags( $username );
1137
- $username = remove_accents( $username );
1138
- // Kill octets
1139
- $username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
1140
- $username = preg_replace( '/&.+?;/', '', $username ); // Kill entities
1141
-
1142
- // If strict, reduce to ASCII for max portability.
1143
- if ( $strict )
1144
- $username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );
1145
-
1146
- $username = trim( $username );
1147
- // Consolidate contiguous whitespace
1148
- $username = preg_replace( '|\s+|', ' ', $username );
1149
-
1150
- /**
1151
- * Filter a sanitized username string.
1152
- *
1153
- * @since 2.0.1
1154
- *
1155
- * @param string $username Sanitized username.
1156
- * @param string $raw_username The username prior to sanitization.
1157
- * @param bool $strict Whether to limit the sanitization to specific characters. Default false.
1158
- */
1159
- return apply_filters( 'sanitize_user', $username, $raw_username, $strict );
1160
- }
1161
-
1162
- /**
1163
- * Sanitizes a string key.
1164
- *
1165
- * Keys are used as internal identifiers. Lowercase alphanumeric characters, dashes and underscores are allowed.
1166
- *
1167
- * @since 3.0.0
1168
- *
1169
- * @param string $key String key
1170
- * @return string Sanitized key
1171
- */
1172
- function sanitize_key( $key ) {
1173
- $raw_key = $key;
1174
- $key = strtolower( $key );
1175
- $key = preg_replace( '/[^a-z0-9_\-]/', '', $key );
1176
-
1177
- /**
1178
- * Filter a sanitized key string.
1179
- *
1180
- * @since 3.0.0
1181
- *
1182
- * @param string $key Sanitized key.
1183
- * @param string $raw_key The key prior to sanitization.
1184
- */
1185
- return apply_filters( 'sanitize_key', $key, $raw_key );
1186
- }
1187
-
1188
- /**
1189
- * Sanitizes a title, or returns a fallback title.
1190
- *
1191
- * Specifically, HTML and PHP tags are stripped. Further actions can be added
1192
- * via the plugin API. If $title is empty and $fallback_title is set, the latter
1193
- * will be used.
1194
- *
1195
- * @since 1.0.0
1196
- *
1197
- * @param string $title The string to be sanitized.
1198
- * @param string $fallback_title Optional. A title to use if $title is empty.
1199
- * @param string $context Optional. The operation for which the string is sanitized
1200
- * @return string The sanitized string.
1201
- */
1202
- function sanitize_title( $title, $fallback_title = '', $context = 'save' ) {
1203
- $raw_title = $title;
1204
-
1205
- if ( 'save' == $context )
1206
- $title = remove_accents($title);
1207
-
1208
- /**
1209
- * Filter a sanitized title string.
1210
- *
1211
- * @since 1.2.0
1212
- *
1213
- * @param string $title Sanitized title.
1214
- * @param string $raw_title The title prior to sanitization.
1215
- * @param string $context The context for which the title is being sanitized.
1216
- */
1217
- $title = apply_filters( 'sanitize_title', $title, $raw_title, $context );
1218
-
1219
- if ( '' === $title || false === $title )
1220
- $title = $fallback_title;
1221
-
1222
- return $title;
1223
- }
1224
-
1225
- /**
1226
- * Sanitizes a title with the 'query' context.
1227
- *
1228
- * Used for querying the database for a value from URL.
1229
- *
1230
- * @since 3.1.0
1231
- * @uses sanitize_title()
1232
- *
1233
- * @param string $title The string to be sanitized.
1234
- * @return string The sanitized string.
1235
- */
1236
- function sanitize_title_for_query( $title ) {
1237
- return sanitize_title( $title, '', 'query' );
1238
- }
1239
-
1240
- /**
1241
- * Sanitizes a title, replacing whitespace and a few other characters with dashes.
1242
- *
1243
- * Limits the output to alphanumeric characters, underscore (_) and dash (-).
1244
- * Whitespace becomes a dash.
1245
- *
1246
- * @since 1.2.0
1247
- *
1248
- * @param string $title The title to be sanitized.
1249
- * @param string $raw_title Optional. Not used.
1250
- * @param string $context Optional. The operation for which the string is sanitized.
1251
- * @return string The sanitized title.
1252
- */
1253
- function sanitize_title_with_dashes( $title, $raw_title = '', $context = 'display' ) {
1254
- $title = strip_tags($title);
1255
- // Preserve escaped octets.
1256
- $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
1257
- // Remove percent signs that are not part of an octet.
1258
- $title = str_replace('%', '', $title);
1259
- // Restore octets.
1260
- $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);
1261
-
1262
- if (seems_utf8($title)) {
1263
- if (function_exists('mb_strtolower')) {
1264
- $title = mb_strtolower($title, 'UTF-8');
1265
- }
1266
- $title = utf8_uri_encode($title, 200);
1267
- }
1268
-
1269
- $title = strtolower($title);
1270
- $title = preg_replace('/&.+?;/', '', $title); // kill entities
1271
- $title = str_replace('.', '-', $title);
1272
-
1273
- if ( 'save' == $context ) {
1274
- // Convert nbsp, ndash and mdash to hyphens
1275
- $title = str_replace( array( '%c2%a0', '%e2%80%93', '%e2%80%94' ), '-', $title );
1276
-
1277
- // Strip these characters entirely
1278
- $title = str_replace( array(
1279
- // iexcl and iquest
1280
- '%c2%a1', '%c2%bf',
1281
- // angle quotes
1282
- '%c2%ab', '%c2%bb', '%e2%80%b9', '%e2%80%ba',
1283
- // curly quotes
1284
- '%e2%80%98', '%e2%80%99', '%e2%80%9c', '%e2%80%9d',
1285
- '%e2%80%9a', '%e2%80%9b', '%e2%80%9e', '%e2%80%9f',
1286
- // copy, reg, deg, hellip and trade
1287
- '%c2%a9', '%c2%ae', '%c2%b0', '%e2%80%a6', '%e2%84%a2',
1288
- // acute accents
1289
- '%c2%b4', '%cb%8a', '%cc%81', '%cd%81',
1290
- // grave accent, macron, caron
1291
- '%cc%80', '%cc%84', '%cc%8c',
1292
- ), '', $title );
1293
-
1294
- // Convert times to x
1295
- $title = str_replace( '%c3%97', 'x', $title );
1296
- }
1297
-
1298
- $title = preg_replace('/[^%a-z0-9 _-]/', '', $title);
1299
- $title = preg_replace('/\s+/', '-', $title);
1300
- $title = preg_replace('|-+|', '-', $title);
1301
- $title = trim($title, '-');
1302
-
1303
- return $title;
1304
- }
1305
-
1306
- /**
1307
- * Ensures a string is a valid SQL order by clause.
1308
- *
1309
- * Accepts one or more columns, with or without ASC/DESC, and also accepts
1310
- * RAND().
1311
- *
1312
- * @since 2.5.1
1313
- *
1314
- * @param string $orderby Order by string to be checked.
1315
- * @return string|bool Returns the order by clause if it is a match, false otherwise.
1316
- */
1317
- function sanitize_sql_orderby( $orderby ){
1318
- preg_match('/^\s*([a-z0-9_]+(\s+(ASC|DESC))?(\s*,\s*|\s*$))+|^\s*RAND\(\s*\)\s*$/i', $orderby, $obmatches);
1319
- if ( !$obmatches )
1320
- return false;
1321
- return $orderby;
1322
- }
1323
-
1324
- /**
1325
- * Sanitizes an HTML classname to ensure it only contains valid characters.
1326
- *
1327
- * Strips the string down to A-Z,a-z,0-9,_,-. If this results in an empty
1328
- * string then it will return the alternative value supplied.
1329
- *
1330
- * @todo Expand to support the full range of CDATA that a class attribute can contain.
1331
- *
1332
- * @since 2.8.0
1333
- *
1334
- * @param string $class The classname to be sanitized
1335
- * @param string $fallback Optional. The value to return if the sanitization ends up as an empty string.
1336
- * Defaults to an empty string.
1337
- * @return string The sanitized value
1338
- */
1339
- function sanitize_html_class( $class, $fallback = '' ) {
1340
- //Strip out any % encoded octets
1341
- $sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $class );
1342
-
1343
- //Limit to A-Z,a-z,0-9,_,-
1344
- $sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $sanitized );
1345
-
1346
- if ( '' == $sanitized )
1347
- $sanitized = $fallback;
1348
-
1349
- /**
1350
- * Filter a sanitized HTML class string.
1351
- *
1352
- * @since 2.8.0
1353
- *
1354
- * @param string $sanitized The sanitized HTML class.
1355
- * @param string $class HTML class before sanitization.
1356
- * @param string $fallback The fallback string.
1357
- */
1358
- return apply_filters( 'sanitize_html_class', $sanitized, $class, $fallback );
1359
- }
1360
-
1361
- /**
1362
- * Converts a number of characters from a string.
1363
- *
1364
- * Metadata tags <<title>> and <<category>> are removed, <<br>> and <<hr>> are
1365
- * converted into correct XHTML and Unicode characters are converted to the
1366
- * valid range.
1367
- *
1368
- * @since 0.71
1369
- *
1370
- * @param string $content String of characters to be converted.
1371
- * @param string $deprecated Not used.
1372
- * @return string Converted string.
1373
- */
1374
- function convert_chars($content, $deprecated = '') {
1375
- if ( !empty( $deprecated ) )
1376
- _deprecated_argument( __FUNCTION__, '0.71' );
1377
-
1378
- // Translation of invalid Unicode references range to valid range
1379
- $wp_htmltranswinuni = array(
1380
- '&#128;' => '&#8364;', // the Euro sign
1381
- '&#129;' => '',
1382
- '&#130;' => '&#8218;', // these are Windows CP1252 specific characters
1383
- '&#131;' => '&#402;', // they would look weird on non-Windows browsers
1384
- '&#132;' => '&#8222;',
1385
- '&#133;' => '&#8230;',
1386
- '&#134;' => '&#8224;',
1387
- '&#135;' => '&#8225;',
1388
- '&#136;' => '&#710;',
1389
- '&#137;' => '&#8240;',
1390
- '&#138;' => '&#352;',
1391
- '&#139;' => '&#8249;',
1392
- '&#140;' => '&#338;',
1393
- '&#141;' => '',
1394
- '&#142;' => '&#381;',
1395
- '&#143;' => '',
1396
- '&#144;' => '',
1397
- '&#145;' => '&#8216;',
1398
- '&#146;' => '&#8217;',
1399
- '&#147;' => '&#8220;',
1400
- '&#148;' => '&#8221;',
1401
- '&#149;' => '&#8226;',
1402
- '&#150;' => '&#8211;',
1403
- '&#151;' => '&#8212;',
1404
- '&#152;' => '&#732;',
1405
- '&#153;' => '&#8482;',
1406
- '&#154;' => '&#353;',
1407
- '&#155;' => '&#8250;',
1408
- '&#156;' => '&#339;',
1409
- '&#157;' => '',
1410
- '&#158;' => '&#382;',
1411
- '&#159;' => '&#376;'
1412
- );
1413
-
1414
- // Remove metadata tags
1415
- $content = preg_replace('/<title>(.+?)<\/title>/','',$content);
1416
- $content = preg_replace('/<category>(.+?)<\/category>/','',$content);
1417
-
1418
- // Converts lone & characters into &#38; (a.k.a. &amp;)
1419
- $content = preg_replace('/&([^#])(?![a-z1-4]{1,8};)/i', '&#038;$1', $content);
1420
-
1421
- // Fix Word pasting
1422
- $content = strtr($content, $wp_htmltranswinuni);
1423
-
1424
- // Just a little XHTML help
1425
- $content = str_replace('<br>', '<br />', $content);
1426
- $content = str_replace('<hr>', '<hr />', $content);
1427
-
1428
- return $content;
1429
- }
1430
-
1431
- /**
1432
- * Balances tags if forced to, or if the 'use_balanceTags' option is set to true.
1433
- *
1434
- * @since 0.71
1435
- *
1436
- * @param string $text Text to be balanced
1437
- * @param bool $force If true, forces balancing, ignoring the value of the option. Default false.
1438
- * @return string Balanced text
1439
- */
1440
- function balanceTags( $text, $force = false ) {
1441
- if ( $force || get_option('use_balanceTags') == 1 ) {
1442
- return force_balance_tags( $text );
1443
- } else {
1444
- return $text;
1445
- }
1446
- }
1447
-
1448
- /**
1449
- * Balances tags of string using a modified stack.
1450
- *
1451
- * @since 2.0.4
1452
- *
1453
- * @author Leonard Lin <leonard@acm.org>
1454
- * @license GPL
1455
- * @copyright November 4, 2001
1456
- * @version 1.1
1457
- * @todo Make better - change loop condition to $text in 1.2
1458
- * @internal Modified by Scott Reilly (coffee2code) 02 Aug 2004
1459
- * 1.1 Fixed handling of append/stack pop order of end text
1460
- * Added Cleaning Hooks
1461
- * 1.0 First Version
1462
- *
1463
- * @param string $text Text to be balanced.
1464
- * @return string Balanced text.
1465
- */
1466
- function force_balance_tags( $text ) {
1467
- $tagstack = array();
1468
- $stacksize = 0;
1469
- $tagqueue = '';
1470
- $newtext = '';
1471
- // Known single-entity/self-closing tags
1472
- $single_tags = array( 'area', 'base', 'basefont', 'br', 'col', 'command', 'embed', 'frame', 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param', 'source' );
1473
- // Tags that can be immediately nested within themselves
1474
- $nestable_tags = array( 'blockquote', 'div', 'object', 'q', 'span' );
1475
-
1476
- // WP bug fix for comments - in case you REALLY meant to type '< !--'
1477
- $text = str_replace('< !--', '< !--', $text);
1478
- // WP bug fix for LOVE <3 (and other situations with '<' before a number)
1479
- $text = preg_replace('#<([0-9]{1})#', '&lt;$1', $text);
1480
-
1481
- while ( preg_match("/<(\/?[\w:]*)\s*([^>]*)>/", $text, $regex) ) {
1482
- $newtext .= $tagqueue;
1483
-
1484
- $i = strpos($text, $regex[0]);
1485
- $l = strlen($regex[0]);
1486
-
1487
- // clear the shifter
1488
- $tagqueue = '';
1489
- // Pop or Push
1490
- if ( isset($regex[1][0]) && '/' == $regex[1][0] ) { // End Tag
1491
- $tag = strtolower(substr($regex[1],1));
1492
- // if too many closing tags
1493
- if( $stacksize <= 0 ) {
1494
- $tag = '';
1495
- // or close to be safe $tag = '/' . $tag;
1496
- }
1497
- // if stacktop value = tag close value then pop
1498
- else if ( $tagstack[$stacksize - 1] == $tag ) { // found closing tag
1499
- $tag = '</' . $tag . '>'; // Close Tag
1500
- // Pop
1501
- array_pop( $tagstack );
1502
- $stacksize--;
1503
- } else { // closing tag not at top, search for it
1504
- for ( $j = $stacksize-1; $j >= 0; $j-- ) {
1505
- if ( $tagstack[$j] == $tag ) {
1506
- // add tag to tagqueue
1507
- for ( $k = $stacksize-1; $k >= $j; $k--) {
1508
- $tagqueue .= '</' . array_pop( $tagstack ) . '>';
1509
- $stacksize--;
1510
- }
1511
- break;
1512
- }
1513
- }
1514
- $tag = '';
1515
- }
1516
- } else { // Begin Tag
1517
- $tag = strtolower($regex[1]);
1518
-
1519
- // Tag Cleaning
1520
-
1521
- // If it's an empty tag "< >", do nothing
1522
- if ( '' == $tag ) {
1523
- // do nothing
1524
- }
1525
- // ElseIf it presents itself as a self-closing tag...
1526
- elseif ( substr( $regex[2], -1 ) == '/' ) {
1527
- // ...but it isn't a known single-entity self-closing tag, then don't let it be treated as such and
1528
- // immediately close it with a closing tag (the tag will encapsulate no text as a result)
1529
- if ( ! in_array( $tag, $single_tags ) )
1530
- $regex[2] = trim( substr( $regex[2], 0, -1 ) ) . "></$tag";
1531
- }
1532
- // ElseIf it's a known single-entity tag but it doesn't close itself, do so
1533
- elseif ( in_array($tag, $single_tags) ) {
1534
- $regex[2] .= '/';
1535
- }
1536
- // Else it's not a single-entity tag
1537
- else {
1538
- // If the top of the stack is the same as the tag we want to push, close previous tag
1539
- if ( $stacksize > 0 && !in_array($tag, $nestable_tags) && $tagstack[$stacksize - 1] == $tag ) {
1540
- $tagqueue = '</' . array_pop( $tagstack ) . '>';
1541
- $stacksize--;
1542
- }
1543
- $stacksize = array_push( $tagstack, $tag );
1544
- }
1545
-
1546
- // Attributes
1547
- $attributes = $regex[2];
1548
- if( ! empty( $attributes ) && $attributes[0] != '>' )
1549
- $attributes = ' ' . $attributes;
1550
-
1551
- $tag = '<' . $tag . $attributes . '>';
1552
- //If already queuing a close tag, then put this tag on, too
1553
- if ( !empty($tagqueue) ) {
1554
- $tagqueue .= $tag;
1555
- $tag = '';
1556
- }
1557
- }
1558
- $newtext .= substr($text, 0, $i) . $tag;
1559
- $text = substr($text, $i + $l);
1560
- }
1561
-
1562
- // Clear Tag Queue
1563
- $newtext .= $tagqueue;
1564
-
1565
- // Add Remaining text
1566
- $newtext .= $text;
1567
-
1568
- // Empty Stack
1569
- while( $x = array_pop($tagstack) )
1570
- $newtext .= '</' . $x . '>'; // Add remaining tags to close
1571
-
1572
- // WP fix for the bug with HTML comments
1573
- $newtext = str_replace("< !--","<!--",$newtext);
1574
- $newtext = str_replace("< !--","< !--",$newtext);
1575
-
1576
- return $newtext;
1577
- }
1578
-
1579
- /**
1580
- * Acts on text which is about to be edited.
1581
- *
1582
- * The $content is run through esc_textarea(), which uses htmlspecialchars()
1583
- * to convert special characters to HTML entities. If $richedit is set to true,
1584
- * it is simply a holder for the 'format_to_edit' filter.
1585
- *
1586
- * @since 0.71
1587
- *
1588
- * @param string $content The text about to be edited.
1589
- * @param bool $richedit Whether the $content should not pass through htmlspecialchars(). Default false (meaning it will be passed).
1590
- * @return string The text after the filter (and possibly htmlspecialchars()) has been run.
1591
- */
1592
- function format_to_edit( $content, $richedit = false ) {
1593
- /**
1594
- * Filter the text to be formatted for editing.
1595
- *
1596
- * @since 1.2.0
1597
- *
1598
- * @param string $content The text, prior to formatting for editing.
1599
- */
1600
- $content = apply_filters( 'format_to_edit', $content );
1601
- if ( ! $richedit )
1602
- $content = esc_textarea( $content );
1603
- return $content;
1604
- }
1605
-
1606
- /**
1607
- * Add leading zeros when necessary.
1608
- *
1609
- * If you set the threshold to '4' and the number is '10', then you will get
1610
- * back '0010'. If you set the threshold to '4' and the number is '5000', then you
1611
- * will get back '5000'.
1612
- *
1613
- * Uses sprintf to append the amount of zeros based on the $threshold parameter
1614
- * and the size of the number. If the number is large enough, then no zeros will
1615
- * be appended.
1616
- *
1617
- * @since 0.71
1618
- *
1619
- * @param mixed $number Number to append zeros to if not greater than threshold.
1620
- * @param int $threshold Digit places number needs to be to not have zeros added.
1621
- * @return string Adds leading zeros to number if needed.
1622
- */
1623
- function zeroise($number, $threshold) {
1624
- return sprintf('%0'.$threshold.'s', $number);
1625
- }
1626
-
1627
- /**
1628
- * Adds backslashes before letters and before a number at the start of a string.
1629
- *
1630
- * @since 0.71
1631
- *
1632
- * @param string $string Value to which backslashes will be added.
1633
- * @return string String with backslashes inserted.
1634
- */
1635
- function backslashit($string) {
1636
- if ( isset( $string[0] ) && $string[0] >= '0' && $string[0] <= '9' )
1637
- $string = '\\\\' . $string;
1638
- return addcslashes( $string, 'A..Za..z' );
1639
- }
1640
-
1641
- /**
1642
- * Appends a trailing slash.
1643
- *
1644
- * Will remove trailing forward and backslashes if it exists already before adding
1645
- * a trailing forward slash. This prevents double slashing a string or path.
1646
- *
1647
- * The primary use of this is for paths and thus should be used for paths. It is
1648
- * not restricted to paths and offers no specific path support.
1649
- *
1650
- * @since 1.2.0
1651
- *
1652
- * @param string $string What to add the trailing slash to.
1653
- * @return string String with trailing slash added.
1654
- */
1655
- function trailingslashit( $string ) {
1656
- return untrailingslashit( $string ) . '/';
1657
- }
1658
-
1659
- /**
1660
- * Removes trailing forward slashes and backslashes if they exist.
1661
- *
1662
- * The primary use of this is for paths and thus should be used for paths. It is
1663
- * not restricted to paths and offers no specific path support.
1664
- *
1665
- * @since 2.2.0
1666
- *
1667
- * @param string $string What to remove the trailing slashes from.
1668
- * @return string String without the trailing slashes.
1669
- */
1670
- function untrailingslashit( $string ) {
1671
- return rtrim( $string, '/\\' );
1672
- }
1673
-
1674
- /**
1675
- * Adds slashes to escape strings.
1676
- *
1677
- * Slashes will first be removed if magic_quotes_gpc is set, see {@link
1678
- * http://www.php.net/magic_quotes} for more details.
1679
- *
1680
- * @since 0.71
1681
- *
1682
- * @param string $gpc The string returned from HTTP request data.
1683
- * @return string Returns a string escaped with slashes.
1684
- */
1685
- function addslashes_gpc($gpc) {
1686
- if ( get_magic_quotes_gpc() )
1687
- $gpc = stripslashes($gpc);
1688
-
1689
- return wp_slash($gpc);
1690
- }
1691
-
1692
- /**
1693
- * Navigates through an array and removes slashes from the values.
1694
- *
1695
- * If an array is passed, the array_map() function causes a callback to pass the
1696
- * value back to the function. The slashes from this value will removed.
1697
- *
1698
- * @since 2.0.0
1699
- *
1700
- * @param mixed $value The value to be stripped.
1701
- * @return mixed Stripped value.
1702
- */
1703
- function stripslashes_deep($value) {
1704
- if ( is_array($value) ) {
1705
- $value = array_map('stripslashes_deep', $value);
1706
- } elseif ( is_object($value) ) {
1707
- $vars = get_object_vars( $value );
1708
- foreach ($vars as $key=>$data) {
1709
- $value->{$key} = stripslashes_deep( $data );
1710
- }
1711
- } elseif ( is_string( $value ) ) {
1712
- $value = stripslashes($value);
1713
- }
1714
-
1715
- return $value;
1716
- }
1717
-
1718
- /**
1719
- * Navigates through an array and encodes the values to be used in a URL.
1720
- *
1721
- *
1722
- * @since 2.2.0
1723
- *
1724
- * @param array|string $value The array or string to be encoded.
1725
- * @return array|string $value The encoded array (or string from the callback).
1726
- */
1727
- function urlencode_deep($value) {
1728
- $value = is_array($value) ? array_map('urlencode_deep', $value) : urlencode($value);
1729
- return $value;
1730
- }
1731
-
1732
- /**
1733
- * Navigates through an array and raw encodes the values to be used in a URL.
1734
- *
1735
- * @since 3.4.0
1736
- *
1737
- * @param array|string $value The array or string to be encoded.
1738
- * @return array|string $value The encoded array (or string from the callback).
1739
- */
1740
- function rawurlencode_deep( $value ) {
1741
- return is_array( $value ) ? array_map( 'rawurlencode_deep', $value ) : rawurlencode( $value );
1742
- }
1743
-
1744
- /**
1745
- * Converts email addresses characters to HTML entities to block spam bots.
1746
- *
1747
- * @since 0.71
1748
- *
1749
- * @param string $email_address Email address.
1750
- * @param int $hex_encoding Optional. Set to 1 to enable hex encoding.
1751
- * @return string Converted email address.
1752
- */
1753
- function antispambot( $email_address, $hex_encoding = 0 ) {
1754
- $email_no_spam_address = '';
1755
- for ( $i = 0; $i < strlen( $email_address ); $i++ ) {
1756
- $j = rand( 0, 1 + $hex_encoding );
1757
- if ( $j == 0 ) {
1758
- $email_no_spam_address .= '&#' . ord( $email_address[$i] ) . ';';
1759
- } elseif ( $j == 1 ) {
1760
- $email_no_spam_address .= $email_address[$i];
1761
- } elseif ( $j == 2 ) {
1762
- $email_no_spam_address .= '%' . zeroise( dechex( ord( $email_address[$i] ) ), 2 );
1763
- }
1764
- }
1765
-
1766
- $email_no_spam_address = str_replace( '@', '&#64;', $email_no_spam_address );
1767
-
1768
- return $email_no_spam_address;
1769
- }
1770
-
1771
- /**
1772
- * Callback to convert URI match to HTML A element.
1773
- *
1774
- * This function was backported from 2.5.0 to 2.3.2. Regex callback for {@link
1775
- * make_clickable()}.
1776
- *
1777
- * @since 2.3.2
1778
- * @access private
1779
- *
1780
- * @param array $matches Single Regex Match.
1781
- * @return string HTML A element with URI address.
1782
- */
1783
- function _make_url_clickable_cb($matches) {
1784
- $url = $matches[2];
1785
-
1786
- if ( ')' == $matches[3] && strpos( $url, '(' ) ) {
1787
- // If the trailing character is a closing parethesis, and the URL has an opening parenthesis in it, add the closing parenthesis to the URL.
1788
- // Then we can let the parenthesis balancer do its thing below.
1789
- $url .= $matches[3];
1790
- $suffix = '';
1791
- } else {
1792
- $suffix = $matches[3];
1793
- }
1794
-
1795
- // Include parentheses in the URL only if paired
1796
- while ( substr_count( $url, '(' ) < substr_count( $url, ')' ) ) {
1797
- $suffix = strrchr( $url, ')' ) . $suffix;
1798
- $url = substr( $url, 0, strrpos( $url, ')' ) );
1799
- }
1800
-
1801
- $url = esc_url($url);
1802
- if ( empty($url) )
1803
- return $matches[0];
1804
-
1805
- return $matches[1] . "<a href=\"$url\" rel=\"nofollow\">$url</a>" . $suffix;
1806
- }
1807
-
1808
- /**
1809
- * Callback to convert URL match to HTML A element.
1810
- *
1811
- * This function was backported from 2.5.0 to 2.3.2. Regex callback for {@link
1812
- * make_clickable()}.
1813
- *
1814
- * @since 2.3.2
1815
- * @access private
1816
- *
1817
- * @param array $matches Single Regex Match.
1818
- * @return string HTML A element with URL address.
1819
- */
1820
- function _make_web_ftp_clickable_cb($matches) {
1821
- $ret = '';
1822
- $dest = $matches[2];
1823
- $dest = 'http://' . $dest;
1824
- $dest = esc_url($dest);
1825
- if ( empty($dest) )
1826
- return $matches[0];
1827
-
1828
- // removed trailing [.,;:)] from URL
1829
- if ( in_array( substr($dest, -1), array('.', ',', ';', ':', ')') ) === true ) {
1830
- $ret = substr($dest, -1);
1831
- $dest = substr($dest, 0, strlen($dest)-1);
1832
- }
1833
- return $matches[1] . "<a href=\"$dest\" rel=\"nofollow\">$dest</a>$ret";
1834
- }
1835
-
1836
- /**
1837
- * Callback to convert email address match to HTML A element.
1838
- *
1839
- * This function was backported from 2.5.0 to 2.3.2. Regex callback for {@link
1840
- * make_clickable()}.
1841
- *
1842
- * @since 2.3.2
1843
- * @access private
1844
- *
1845
- * @param array $matches Single Regex Match.
1846
- * @return string HTML A element with email address.
1847
- */
1848
- function _make_email_clickable_cb($matches) {
1849
- $email = $matches[2] . '@' . $matches[3];
1850
- return $matches[1] . "<a href=\"mailto:$email\">$email</a>";
1851
- }
1852
-
1853
- /**
1854
- * Convert plaintext URI to HTML links.
1855
- *
1856
- * Converts URI, www and ftp, and email addresses. Finishes by fixing links
1857
- * within links.
1858
- *
1859
- * @since 0.71
1860
- *
1861
- * @param string $text Content to convert URIs.
1862
- * @return string Content with converted URIs.
1863
- */
1864
- function make_clickable( $text ) {
1865
- $r = '';
1866
- $textarr = preg_split( '/(<[^<>]+>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // split out HTML tags
1867
- $nested_code_pre = 0; // Keep track of how many levels link is nested inside <pre> or <code>
1868
- foreach ( $textarr as $piece ) {
1869
-
1870
- if ( preg_match( '|^<code[\s>]|i', $piece ) || preg_match( '|^<pre[\s>]|i', $piece ) )
1871
- $nested_code_pre++;
1872
- elseif ( ( '</code>' === strtolower( $piece ) || '</pre>' === strtolower( $piece ) ) && $nested_code_pre )
1873
- $nested_code_pre--;
1874
-
1875
- if ( $nested_code_pre || empty( $piece ) || ( $piece[0] === '<' && ! preg_match( '|^<\s*[\w]{1,20}+://|', $piece ) ) ) {
1876
- $r .= $piece;
1877
- continue;
1878
- }
1879
-
1880
- // Long strings might contain expensive edge cases ...
1881
- if ( 10000 < strlen( $piece ) ) {
1882
- // ... break it up
1883
- foreach ( _split_str_by_whitespace( $piece, 2100 ) as $chunk ) { // 2100: Extra room for scheme and leading and trailing paretheses
1884
- if ( 2101 < strlen( $chunk ) ) {
1885
- $r .= $chunk; // Too big, no whitespace: bail.
1886
- } else {
1887
- $r .= make_clickable( $chunk );
1888
- }
1889
- }
1890
- } else {
1891
- $ret = " $piece "; // Pad with whitespace to simplify the regexes
1892
-
1893
- $url_clickable = '~
1894
- ([\\s(<.,;:!?]) # 1: Leading whitespace, or punctuation
1895
- ( # 2: URL
1896
- [\\w]{1,20}+:// # Scheme and hier-part prefix
1897
- (?=\S{1,2000}\s) # Limit to URLs less than about 2000 characters long
1898
- [\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]*+ # Non-punctuation URL character
1899
- (?: # Unroll the Loop: Only allow puctuation URL character if followed by a non-punctuation URL character
1900
- [\'.,;:!?)] # Punctuation URL character
1901
- [\\w\\x80-\\xff#%\\~/@\\[\\]*(+=&$-]++ # Non-punctuation URL character
1902
- )*
1903
- )
1904
- (\)?) # 3: Trailing closing parenthesis (for parethesis balancing post processing)
1905
- ~xS'; // The regex is a non-anchored pattern and does not have a single fixed starting character.
1906
- // Tell PCRE to spend more time optimizing since, when used on a page load, it will probably be used several times.
1907
-
1908
- $ret = preg_replace_callback( $url_clickable, '_make_url_clickable_cb', $ret );
1909
-
1910
- $ret = preg_replace_callback( '#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]+)#is', '_make_web_ftp_clickable_cb', $ret );
1911
- $ret = preg_replace_callback( '#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret );
1912
-
1913
- $ret = substr( $ret, 1, -1 ); // Remove our whitespace padding.
1914
- $r .= $ret;
1915
- }
1916
- }
1917
-
1918
- // Cleanup of accidental links within links
1919
- $r = preg_replace( '#(<a([ \r\n\t]+[^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i', "$1$3</a>", $r );
1920
- return $r;
1921
- }
1922
-
1923
- /**
1924
- * Breaks a string into chunks by splitting at whitespace characters.
1925
- * The length of each returned chunk is as close to the specified length goal as possible,
1926
- * with the caveat that each chunk includes its trailing delimiter.
1927
- * Chunks longer than the goal are guaranteed to not have any inner whitespace.
1928
- *
1929
- * Joining the returned chunks with empty delimiters reconstructs the input string losslessly.
1930
- *
1931
- * Input string must have no null characters (or eventual transformations on output chunks must not care about null characters)
1932
- *
1933
- * <code>
1934
- * _split_str_by_whitespace( "1234 67890 1234 67890a cd 1234 890 123456789 1234567890a 45678 1 3 5 7 90 ", 10 ) ==
1935
- * array (
1936
- * 0 => '1234 67890 ', // 11 characters: Perfect split
1937
- * 1 => '1234 ', // 5 characters: '1234 67890a' was too long
1938
- * 2 => '67890a cd ', // 10 characters: '67890a cd 1234' was too long
1939
- * 3 => '1234 890 ', // 11 characters: Perfect split
1940
- * 4 => '123456789 ', // 10 characters: '123456789 1234567890a' was too long
1941
- * 5 => '1234567890a ', // 12 characters: Too long, but no inner whitespace on which to split
1942
- * 6 => ' 45678 ', // 11 characters: Perfect split
1943
- * 7 => '1 3 5 7 9', // 9 characters: End of $string
1944
- * );
1945
- * </code>
1946
- *
1947
- * @since 3.4.0
1948
- * @access private
1949
- *
1950
- * @param string $string The string to split.
1951
- * @param int $goal The desired chunk length.
1952
- * @return array Numeric array of chunks.
1953
- */
1954
- function _split_str_by_whitespace( $string, $goal ) {
1955
- $chunks = array();
1956
-
1957
- $string_nullspace = strtr( $string, "\r\n\t\v\f ", "\000\000\000\000\000\000" );
1958
-
1959
- while ( $goal < strlen( $string_nullspace ) ) {
1960
- $pos = strrpos( substr( $string_nullspace, 0, $goal + 1 ), "\000" );
1961
-
1962
- if ( false === $pos ) {
1963
- $pos = strpos( $string_nullspace, "\000", $goal + 1 );
1964
- if ( false === $pos ) {
1965
- break;
1966
- }
1967
- }
1968
-
1969
- $chunks[] = substr( $string, 0, $pos + 1 );
1970
- $string = substr( $string, $pos + 1 );
1971
- $string_nullspace = substr( $string_nullspace, $pos + 1 );
1972
- }
1973
-
1974
- if ( $string ) {
1975
- $chunks[] = $string;
1976
- }
1977
-
1978
- return $chunks;
1979
- }
1980
-
1981
- /**
1982
- * Adds rel nofollow string to all HTML A elements in content.
1983
- *
1984
- * @since 1.5.0
1985
- *
1986
- * @param string $text Content that may contain HTML A elements.
1987
- * @return string Converted content.
1988
- */
1989
- function wp_rel_nofollow( $text ) {
1990
- // This is a pre save filter, so text is already escaped.
1991
- $text = stripslashes($text);
1992
- $text = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text);
1993
- $text = wp_slash($text);
1994
- return $text;
1995
- }
1996
-
1997
- /**
1998
- * Callback to add rel=nofollow string to HTML A element.
1999
- *
2000
- * Will remove already existing rel="nofollow" and rel='nofollow' from the
2001
- * string to prevent from invalidating (X)HTML.
2002
- *
2003
- * @since 2.3.0
2004
- *
2005
- * @param array $matches Single Match
2006
- * @return string HTML A Element with rel nofollow.
2007
- */
2008
- function wp_rel_nofollow_callback( $matches ) {
2009
- $text = $matches[1];
2010
- $text = str_replace(array(' rel="nofollow"', " rel='nofollow'"), '', $text);
2011
- return "<a $text rel=\"nofollow\">";
2012
- }
2013
-
2014
- /**
2015
- * Convert one smiley code to the icon graphic file equivalent.
2016
- *
2017
- * Callback handler for {@link convert_smilies()}.
2018
- * Looks up one smiley code in the $wpsmiliestrans global array and returns an
2019
- * <img> string for that smiley.
2020
- *
2021
- * @global array $wpsmiliestrans
2022
- * @since 2.8.0
2023
- *
2024
- * @param array $matches Single match. Smiley code to convert to image.
2025
- * @return string Image string for smiley.
2026
- */
2027
- function translate_smiley( $matches ) {
2028
- global $wpsmiliestrans;
2029
-
2030
- if ( count( $matches ) == 0 )
2031
- return '';
2032
-
2033
- $smiley = trim( reset( $matches ) );
2034
- $img = $wpsmiliestrans[ $smiley ];
2035
-
2036
- /**
2037
- * Filter the Smiley image URL before it's used in the image element.
2038
- *
2039
- * @since 2.9.0
2040
- *
2041
- * @param string $smiley_url URL for the smiley image.
2042
- * @param string $img Filename for the smiley image.
2043
- * @param string $site_url Site URL, as returned by site_url().
2044
- */
2045
- $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() );
2046
-
2047
- return sprintf( '<img src="%s" alt="%s" class="wp-smiley" />', esc_url( $src_url ), esc_attr( $smiley ) );
2048
- }
2049
-
2050
- /**
2051
- * Convert text equivalent of smilies to images.
2052
- *
2053
- * Will only convert smilies if the option 'use_smilies' is true and the global
2054
- * used in the function isn't empty.
2055
- *
2056
- * @since 0.71
2057
- * @uses $wp_smiliessearch
2058
- *
2059
- * @param string $text Content to convert smilies from text.
2060
- * @return string Converted content with text smilies replaced with images.
2061
- */
2062
- function convert_smilies( $text ) {
2063
- global $wp_smiliessearch;
2064
- $output = '';
2065
- if ( get_option( 'use_smilies' ) && ! empty( $wp_smiliessearch ) ) {
2066
- // HTML loop taken from texturize function, could possible be consolidated
2067
- $textarr = preg_split( '/(<.*>)/U', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // capture the tags as well as in between
2068
- $stop = count( $textarr );// loop stuff
2069
-
2070
- // Ignore proessing of specific tags
2071
- $tags_to_ignore = 'code|pre|style|script|textarea';
2072
- $ignore_block_element = '';
2073
-
2074
- for ( $i = 0; $i < $stop; $i++ ) {
2075
- $content = $textarr[$i];
2076
-
2077
- // If we're in an ignore block, wait until we find its closing tag
2078
- if ( '' == $ignore_block_element && preg_match( '/^<(' . $tags_to_ignore . ')>/', $content, $matches ) ) {
2079
- $ignore_block_element = $matches[1];
2080
- }
2081
-
2082
- // If it's not a tag and not in ignore block
2083
- if ( '' == $ignore_block_element && strlen( $content ) > 0 && '<' != $content[0] ) {
2084
- $content = preg_replace_callback( $wp_smiliessearch, 'translate_smiley', $content );
2085
- }
2086
-
2087
- // did we exit ignore block
2088
- if ( '' != $ignore_block_element && '</' . $ignore_block_element . '>' == $content ) {
2089
- $ignore_block_element = '';
2090
- }
2091
-
2092
- $output .= $content;
2093
- }
2094
- } else {
2095
- // return default text.
2096
- $output = $text;
2097
- }
2098
- return $output;
2099
- }
2100
-
2101
- /**
2102
- * Verifies that an email is valid.
2103
- *
2104
- * Does not grok i18n domains. Not RFC compliant.
2105
- *
2106
- * @since 0.71
2107
- *
2108
- * @param string $email Email address to verify.
2109
- * @param boolean $deprecated Deprecated.
2110
- * @return string|bool Either false or the valid email address.
2111
- */
2112
- function is_email( $email, $deprecated = false ) {
2113
- if ( ! empty( $deprecated ) )
2114
- _deprecated_argument( __FUNCTION__, '3.0' );
2115
-
2116
- // Test for the minimum length the email can be
2117
- if ( strlen( $email ) < 3 ) {
2118
- /**
2119
- * Filter whether an email address is valid.
2120
- *
2121
- * This filter is evaluated under several different contexts, such as 'email_too_short',
2122
- * 'email_no_at', 'local_invalid_chars', 'domain_period_sequence', 'domain_period_limits',
2123
- * 'domain_no_periods', 'sub_hyphen_limits', 'sub_invalid_chars', or no specific context.
2124
- *
2125
- * @since 2.8.0
2126
- *
2127
- * @param bool $is_email Whether the email address has passed the is_email() checks. Default false.
2128
- * @param string $email The email address being checked.
2129
- * @param string $message An explanatory message to the user.
2130
- * @param string $context Context under which the email was tested.
2131
- */
2132
- return apply_filters( 'is_email', false, $email, 'email_too_short' );
2133
- }
2134
-
2135
- // Test for an @ character after the first position
2136
- if ( strpos( $email, '@', 1 ) === false ) {
2137
- /** This filter is documented in wp-includes/formatting.php */
2138
- return apply_filters( 'is_email', false, $email, 'email_no_at' );
2139
- }
2140
-
2141
- // Split out the local and domain parts
2142
- list( $local, $domain ) = explode( '@', $email, 2 );
2143
-
2144
- // LOCAL PART
2145
- // Test for invalid characters
2146
- if ( !preg_match( '/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/', $local ) ) {
2147
- /** This filter is documented in wp-includes/formatting.php */
2148
- return apply_filters( 'is_email', false, $email, 'local_invalid_chars' );
2149
- }
2150
-
2151
- // DOMAIN PART
2152
- // Test for sequences of periods
2153
- if ( preg_match( '/\.{2,}/', $domain ) ) {
2154
- /** This filter is documented in wp-includes/formatting.php */
2155
- return apply_filters( 'is_email', false, $email, 'domain_period_sequence' );
2156
- }
2157
-
2158
- // Test for leading and trailing periods and whitespace
2159
- if ( trim( $domain, " \t\n\r\0\x0B." ) !== $domain ) {
2160
- /** This filter is documented in wp-includes/formatting.php */
2161
- return apply_filters( 'is_email', false, $email, 'domain_period_limits' );
2162
- }
2163
-
2164
- // Split the domain into subs
2165
- $subs = explode( '.', $domain );
2166
-
2167
- // Assume the domain will have at least two subs
2168
- if ( 2 > count( $subs ) ) {
2169
- /** This filter is documented in wp-includes/formatting.php */
2170
- return apply_filters( 'is_email', false, $email, 'domain_no_periods' );
2171
- }
2172
-
2173
- // Loop through each sub
2174
- foreach ( $subs as $sub ) {
2175
- // Test for leading and trailing hyphens and whitespace
2176
- if ( trim( $sub, " \t\n\r\0\x0B-" ) !== $sub ) {
2177
- /** This filter is documented in wp-includes/formatting.php */
2178
- return apply_filters( 'is_email', false, $email, 'sub_hyphen_limits' );
2179
- }
2180
-
2181
- // Test for invalid characters
2182
- if ( !preg_match('/^[a-z0-9-]+$/i', $sub ) ) {
2183
- /** This filter is documented in wp-includes/formatting.php */
2184
- return apply_filters( 'is_email', false, $email, 'sub_invalid_chars' );
2185
- }
2186
- }
2187
-
2188
- // Congratulations your email made it!
2189
- /** This filter is documented in wp-includes/formatting.php */
2190
- return apply_filters( 'is_email', $email, $email, null );
2191
- }
2192
-
2193
- /**
2194
- * Convert to ASCII from email subjects.
2195
- *
2196
- * @since 1.2.0
2197
- *
2198
- * @param string $string Subject line
2199
- * @return string Converted string to ASCII
2200
- */
2201
- function wp_iso_descrambler($string) {
2202
- /* this may only work with iso-8859-1, I'm afraid */
2203
- if (!preg_match('#\=\?(.+)\?Q\?(.+)\?\=#i', $string, $matches)) {
2204
- return $string;
2205
- } else {
2206
- $subject = str_replace('_', ' ', $matches[2]);
2207
- $subject = preg_replace_callback('#\=([0-9a-f]{2})#i', '_wp_iso_convert', $subject);
2208
- return $subject;
2209
- }
2210
- }
2211
-
2212
- /**
2213
- * Helper function to convert hex encoded chars to ASCII
2214
- *
2215
- * @since 3.1.0
2216
- * @access private
2217
- *
2218
- * @param array $match The preg_replace_callback matches array
2219
- * @return array Converted chars
2220
- */
2221
- function _wp_iso_convert( $match ) {
2222
- return chr( hexdec( strtolower( $match[1] ) ) );
2223
- }
2224
-
2225
- /**
2226
- * Returns a date in the GMT equivalent.
2227
- *
2228
- * Requires and returns a date in the Y-m-d H:i:s format. If there is a
2229
- * timezone_string available, the date is assumed to be in that timezone,
2230
- * otherwise it simply subtracts the value of the 'gmt_offset' option. Return
2231
- * format can be overridden using the $format parameter.
2232
- *
2233
- * @since 1.2.0
2234
- *
2235
- * @uses get_option() to retrieve the value of 'gmt_offset'.
2236
- * @param string $string The date to be converted.
2237
- * @param string $format The format string for the returned date (default is Y-m-d H:i:s)
2238
- * @return string GMT version of the date provided.
2239
- */
2240
- function get_gmt_from_date( $string, $format = 'Y-m-d H:i:s' ) {
2241
- $tz = get_option( 'timezone_string' );
2242
- if ( $tz ) {
2243
- $datetime = date_create( $string, new DateTimeZone( $tz ) );
2244
- if ( ! $datetime )
2245
- return gmdate( $format, 0 );
2246
- $datetime->setTimezone( new DateTimeZone( 'UTC' ) );
2247
- $string_gmt = $datetime->format( $format );
2248
- } else {
2249
- if ( ! preg_match( '#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#', $string, $matches ) )
2250
- return gmdate( $format, 0 );
2251
- $string_time = gmmktime( $matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1] );
2252
- $string_gmt = gmdate( $format, $string_time - get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
2253
- }
2254
- return $string_gmt;
2255
- }
2256
-
2257
- /**
2258
- * Converts a GMT date into the correct format for the blog.
2259
- *
2260
- * Requires and returns a date in the Y-m-d H:i:s format. If there is a
2261
- * timezone_string available, the returned date is in that timezone, otherwise
2262
- * it simply adds the value of gmt_offset. Return format can be overridden
2263
- * using the $format parameter
2264
- *
2265
- * @since 1.2.0
2266
- *
2267
- * @param string $string The date to be converted.
2268
- * @param string $format The format string for the returned date (default is Y-m-d H:i:s)
2269
- * @return string Formatted date relative to the timezone / GMT offset.
2270
- */
2271
- function get_date_from_gmt( $string, $format = 'Y-m-d H:i:s' ) {
2272
- $tz = get_option( 'timezone_string' );
2273
- if ( $tz ) {
2274
- $datetime = date_create( $string, new DateTimeZone( 'UTC' ) );
2275
- if ( ! $datetime )
2276
- return date( $format, 0 );
2277
- $datetime->setTimezone( new DateTimeZone( $tz ) );
2278
- $string_localtime = $datetime->format( $format );
2279
- } else {
2280
- if ( ! preg_match('#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#', $string, $matches) )
2281
- return date( $format, 0 );
2282
- $string_time = gmmktime( $matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1] );
2283
- $string_localtime = gmdate( $format, $string_time + get_option( 'gmt_offset' ) * HOUR_IN_SECONDS );
2284
- }
2285
- return $string_localtime;
2286
- }
2287
-
2288
- /**
2289
- * Computes an offset in seconds from an iso8601 timezone.
2290
- *
2291
- * @since 1.5.0
2292
- *
2293
- * @param string $timezone Either 'Z' for 0 offset or '±hhmm'.
2294
- * @return int|float The offset in seconds.
2295
- */
2296
- function iso8601_timezone_to_offset($timezone) {
2297
- // $timezone is either 'Z' or '[+|-]hhmm'
2298
- if ($timezone == 'Z') {
2299
- $offset = 0;
2300
- } else {
2301
- $sign = (substr($timezone, 0, 1) == '+') ? 1 : -1;
2302
- $hours = intval(substr($timezone, 1, 2));
2303
- $minutes = intval(substr($timezone, 3, 4)) / 60;
2304
- $offset = $sign * HOUR_IN_SECONDS * ($hours + $minutes);
2305
- }
2306
- return $offset;
2307
- }
2308
-
2309
- /**
2310
- * Converts an iso8601 date to MySQL DateTime format used by post_date[_gmt].
2311
- *
2312
- * @since 1.5.0
2313
- *
2314
- * @param string $date_string Date and time in ISO 8601 format {@link http://en.wikipedia.org/wiki/ISO_8601}.
2315
- * @param string $timezone Optional. If set to GMT returns the time minus gmt_offset. Default is 'user'.
2316
- * @return string The date and time in MySQL DateTime format - Y-m-d H:i:s.
2317
- */
2318
- function iso8601_to_datetime($date_string, $timezone = 'user') {
2319
- $timezone = strtolower($timezone);
2320
-
2321
- if ($timezone == 'gmt') {
2322
-
2323
- preg_match('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#', $date_string, $date_bits);
2324
-
2325
- if (!empty($date_bits[7])) { // we have a timezone, so let's compute an offset
2326
- $offset = iso8601_timezone_to_offset($date_bits[7]);
2327
- } else { // we don't have a timezone, so we assume user local timezone (not server's!)
2328
- $offset = HOUR_IN_SECONDS * get_option('gmt_offset');
2329
- }
2330
-
2331
- $timestamp = gmmktime($date_bits[4], $date_bits[5], $date_bits[6], $date_bits[2], $date_bits[3], $date_bits[1]);
2332
- $timestamp -= $offset;
2333
-
2334
- return gmdate('Y-m-d H:i:s', $timestamp);
2335
-
2336
- } else if ($timezone == 'user') {
2337
- return preg_replace('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#', '$1-$2-$3 $4:$5:$6', $date_string);
2338
- }
2339
- }
2340
-
2341
- /**
2342
- * Adds a element attributes to open links in new windows.
2343
- *
2344
- * Comment text in popup windows should be filtered through this. Right now it's
2345
- * a moderately dumb function, ideally it would detect whether a target or rel
2346
- * attribute was already there and adjust its actions accordingly.
2347
- *
2348
- * @since 0.71
2349
- *
2350
- * @param string $text Content to replace links to open in a new window.
2351
- * @return string Content that has filtered links.
2352
- */
2353
- function popuplinks($text) {
2354
- $text = preg_replace('/<a (.+?)>/i', "<a $1 target='_blank' rel='external'>", $text);
2355
- return $text;
2356
- }
2357
-
2358
- /**
2359
- * Strips out all characters that are not allowable in an email.
2360
- *
2361
- * @since 1.5.0
2362
- *
2363
- * @param string $email Email address to filter.
2364
- * @return string Filtered email address.
2365
- */
2366
- function sanitize_email( $email ) {
2367
- // Test for the minimum length the email can be
2368
- if ( strlen( $email ) < 3 ) {
2369
- /**
2370
- * Filter a sanitized email address.
2371
- *
2372
- * This filter is evaluated under several contexts, including 'email_too_short',
2373
- * 'email_no_at', 'local_invalid_chars', 'domain_period_sequence', 'domain_period_limits',
2374
- * 'domain_no_periods', 'domain_no_valid_subs', or no context.
2375
- *
2376
- * @since 2.8.0
2377
- *
2378
- * @param string $email The sanitized email address.
2379
- * @param string $email The email address, as provided to sanitize_email().
2380
- * @param string $message A message to pass to the user.
2381
- */
2382
- return apply_filters( 'sanitize_email', '', $email, 'email_too_short' );
2383
- }
2384
-
2385
- // Test for an @ character after the first position
2386
- if ( strpos( $email, '@', 1 ) === false ) {
2387
- /** This filter is documented in wp-includes/formatting.php */
2388
- return apply_filters( 'sanitize_email', '', $email, 'email_no_at' );
2389
- }
2390
-
2391
- // Split out the local and domain parts
2392
- list( $local, $domain ) = explode( '@', $email, 2 );
2393
-
2394
- // LOCAL PART
2395
- // Test for invalid characters
2396
- $local = preg_replace( '/[^a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]/', '', $local );
2397
- if ( '' === $local ) {
2398
- /** This filter is documented in wp-includes/formatting.php */
2399
- return apply_filters( 'sanitize_email', '', $email, 'local_invalid_chars' );
2400
- }
2401
-
2402
- // DOMAIN PART
2403
- // Test for sequences of periods
2404
- $domain = preg_replace( '/\.{2,}/', '', $domain );
2405
- if ( '' === $domain ) {
2406
- /** This filter is documented in wp-includes/formatting.php */
2407
- return apply_filters( 'sanitize_email', '', $email, 'domain_period_sequence' );
2408
- }
2409
-
2410
- // Test for leading and trailing periods and whitespace
2411
- $domain = trim( $domain, " \t\n\r\0\x0B." );
2412
- if ( '' === $domain ) {
2413
- /** This filter is documented in wp-includes/formatting.php */
2414
- return apply_filters( 'sanitize_email', '', $email, 'domain_period_limits' );
2415
- }
2416
-
2417
- // Split the domain into subs
2418
- $subs = explode( '.', $domain );
2419
-
2420
- // Assume the domain will have at least two subs
2421
- if ( 2 > count( $subs ) ) {
2422
- /** This filter is documented in wp-includes/formatting.php */
2423
- return apply_filters( 'sanitize_email', '', $email, 'domain_no_periods' );
2424
- }
2425
-
2426
- // Create an array that will contain valid subs
2427
- $new_subs = array();
2428
-
2429
- // Loop through each sub
2430
- foreach ( $subs as $sub ) {
2431
- // Test for leading and trailing hyphens
2432
- $sub = trim( $sub, " \t\n\r\0\x0B-" );
2433
-
2434
- // Test for invalid characters
2435
- $sub = preg_replace( '/[^a-z0-9-]+/i', '', $sub );
2436
-
2437
- // If there's anything left, add it to the valid subs
2438
- if ( '' !== $sub ) {
2439
- $new_subs[] = $sub;
2440
- }
2441
- }
2442
-
2443
- // If there aren't 2 or more valid subs
2444
- if ( 2 > count( $new_subs ) ) {
2445
- /** This filter is documented in wp-includes/formatting.php */
2446
- return apply_filters( 'sanitize_email', '', $email, 'domain_no_valid_subs' );
2447
- }
2448
-
2449
- // Join valid subs into the new domain
2450
- $domain = join( '.', $new_subs );
2451
-
2452
- // Put the email back together
2453
- $email = $local . '@' . $domain;
2454
-
2455
- // Congratulations your email made it!
2456
- /** This filter is documented in wp-includes/formatting.php */
2457
- return apply_filters( 'sanitize_email', $email, $email, null );
2458
- }
2459
-
2460
- /**
2461
- * Determines the difference between two timestamps.
2462
- *
2463
- * The difference is returned in a human readable format such as "1 hour",
2464
- * "5 mins", "2 days".
2465
- *
2466
- * @since 1.5.0
2467
- *
2468
- * @param int $from Unix timestamp from which the difference begins.
2469
- * @param int $to Optional. Unix timestamp to end the time difference. Default becomes time() if not set.
2470
- * @return string Human readable time difference.
2471
- */
2472
- function human_time_diff( $from, $to = '' ) {
2473
- if ( empty( $to ) ) {
2474
- $to = time();
2475
- }
2476
-
2477
- $diff = (int) abs( $to - $from );
2478
-
2479
- if ( $diff < HOUR_IN_SECONDS ) {
2480
- $mins = round( $diff / MINUTE_IN_SECONDS );
2481
- if ( $mins <= 1 )
2482
- $mins = 1;
2483
- /* translators: min=minute */
2484
- $since = sprintf( _n( '%s min', '%s mins', $mins ), $mins );
2485
- } elseif ( $diff < DAY_IN_SECONDS && $diff >= HOUR_IN_SECONDS ) {
2486
- $hours = round( $diff / HOUR_IN_SECONDS );
2487
- if ( $hours <= 1 )
2488
- $hours = 1;
2489
- $since = sprintf( _n( '%s hour', '%s hours', $hours ), $hours );
2490
- } elseif ( $diff < WEEK_IN_SECONDS && $diff >= DAY_IN_SECONDS ) {
2491
- $days = round( $diff / DAY_IN_SECONDS );
2492
- if ( $days <= 1 )
2493
- $days = 1;
2494
- $since = sprintf( _n( '%s day', '%s days', $days ), $days );
2495
- } elseif ( $diff < 30 * DAY_IN_SECONDS && $diff >= WEEK_IN_SECONDS ) {
2496
- $weeks = round( $diff / WEEK_IN_SECONDS );
2497
- if ( $weeks <= 1 )
2498
- $weeks = 1;
2499
- $since = sprintf( _n( '%s week', '%s weeks', $weeks ), $weeks );
2500
- } elseif ( $diff < YEAR_IN_SECONDS && $diff >= 30 * DAY_IN_SECONDS ) {
2501
- $months = round( $diff / ( 30 * DAY_IN_SECONDS ) );
2502
- if ( $months <= 1 )
2503
- $months = 1;
2504
- $since = sprintf( _n( '%s month', '%s months', $months ), $months );
2505
- } elseif ( $diff >= YEAR_IN_SECONDS ) {
2506
- $years = round( $diff / YEAR_IN_SECONDS );
2507
- if ( $years <= 1 )
2508
- $years = 1;
2509
- $since = sprintf( _n( '%s year', '%s years', $years ), $years );
2510
- }
2511
-
2512
- /**
2513
- * Filter the human readable difference between two timestamps.
2514
- *
2515
- * @since 4.0.0
2516
- *
2517
- * @param string $since The difference in human readable text.
2518
- * @param int $diff The difference in seconds.
2519
- * @param int $from Unix timestamp from which the difference begins.
2520
- * @param int $to Unix timestamp to end the time difference.
2521
- */
2522
- return apply_filters( 'human_time_diff', $since, $diff, $from, $to );
2523
- }
2524
-
2525
- /**
2526
- * Generates an excerpt from the content, if needed.
2527
- *
2528
- * The excerpt word amount will be 55 words and if the amount is greater than
2529
- * that, then the string ' [&hellip;]' will be appended to the excerpt. If the string
2530
- * is less than 55 words, then the content will be returned as is.
2531
- *
2532
- * The 55 word limit can be modified by plugins/themes using the excerpt_length filter
2533
- * The ' [&hellip;]' string can be modified by plugins/themes using the excerpt_more filter
2534
- *
2535
- * @since 1.5.0
2536
- *
2537
- * @param string $text Optional. The excerpt. If set to empty, an excerpt is generated.
2538
- * @return string The excerpt.
2539
- */
2540
- function wp_trim_excerpt($text = '') {
2541
- $raw_excerpt = $text;
2542
- if ( '' == $text ) {
2543
- $text = get_the_content('');
2544
-
2545
- $text = strip_shortcodes( $text );
2546
-
2547
- /** This filter is documented in wp-includes/post-template.php */
2548
- $text = apply_filters( 'the_content', $text );
2549
- $text = str_replace(']]>', ']]&gt;', $text);
2550
-
2551
- /**
2552
- * Filter the number of words in an excerpt.
2553
- *
2554
- * @since 2.7.0
2555
- *
2556
- * @param int $number The number of words. Default 55.
2557
- */
2558
- $excerpt_length = apply_filters( 'excerpt_length', 55 );
2559
- /**
2560
- * Filter the string in the "more" link displayed after a trimmed excerpt.
2561
- *
2562
- * @since 2.9.0
2563
- *
2564
- * @param string $more_string The string shown within the more link.
2565
- */
2566
- $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[&hellip;]' );
2567
- $text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
2568
- }
2569
- /**
2570
- * Filter the trimmed excerpt string.
2571
- *
2572
- * @since 2.8.0
2573
- *
2574
- * @param string $text The trimmed text.
2575
- * @param string $raw_excerpt The text prior to trimming.
2576
- */
2577
- return apply_filters( 'wp_trim_excerpt', $text, $raw_excerpt );
2578
- }
2579
-
2580
- /**
2581
- * Trims text to a certain number of words.
2582
- *
2583
- * This function is localized. For languages that count 'words' by the individual
2584
- * character (such as East Asian languages), the $num_words argument will apply
2585
- * to the number of individual characters.
2586
- *
2587
- * @since 3.3.0
2588
- *
2589
- * @param string $text Text to trim.
2590
- * @param int $num_words Number of words. Default 55.
2591
- * @param string $more Optional. What to append if $text needs to be trimmed. Default '&hellip;'.
2592
- * @return string Trimmed text.
2593
- */
2594
- function wp_trim_words( $text, $num_words = 55, $more = null ) {
2595
- if ( null === $more )
2596
- $more = __( '&hellip;' );
2597
- $original_text = $text;
2598
- $text = wp_strip_all_tags( $text );
2599
- /* translators: If your word count is based on single characters (East Asian characters),
2600
- enter 'characters'. Otherwise, enter 'words'. Do not translate into your own language. */
2601
- if ( 'characters' == _x( 'words', 'word count: words or characters?' ) && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
2602
- $text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' );
2603
- preg_match_all( '/./u', $text, $words_array );
2604
- $words_array = array_slice( $words_array[0], 0, $num_words + 1 );
2605
- $sep = '';
2606
- } else {
2607
- $words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
2608
- $sep = ' ';
2609
- }
2610
- if ( count( $words_array ) > $num_words ) {
2611
- array_pop( $words_array );
2612
- $text = implode( $sep, $words_array );
2613
- $text = $text . $more;
2614
- } else {
2615
- $text = implode( $sep, $words_array );
2616
- }
2617
- /**
2618
- * Filter the text content after words have been trimmed.
2619
- *
2620
- * @since 3.3.0
2621
- *
2622
- * @param string $text The trimmed text.
2623
- * @param int $num_words The number of words to trim the text to. Default 5.
2624
- * @param string $more An optional string to append to the end of the trimmed text, e.g. &hellip;.
2625
- * @param string $original_text The text before it was trimmed.
2626
- */
2627
- return apply_filters( 'wp_trim_words', $text, $num_words, $more, $original_text );
2628
- }
2629
-
2630
- /**
2631
- * Converts named entities into numbered entities.
2632
- *
2633
- * @since 1.5.1
2634
- *
2635
- * @param string $text The text within which entities will be converted.
2636
- * @return string Text with converted entities.
2637
- */
2638
- function ent2ncr($text) {
2639
-
2640
- /**
2641
- * Filter text before named entities are converted into numbered entities.
2642
- *
2643
- * A non-null string must be returned for the filter to be evaluated.
2644
- *
2645
- * @since 3.3.0
2646
- *
2647
- * @param null $converted_text The text to be converted. Default null.
2648
- * @param string $text The text prior to entity conversion.
2649
- */
2650
- $filtered = apply_filters( 'pre_ent2ncr', null, $text );
2651
- if( null !== $filtered )
2652
- return $filtered;
2653
-
2654
- $to_ncr = array(
2655
- '&quot;' => '&#34;',
2656
- '&amp;' => '&#38;',
2657
- '&lt;' => '&#60;',
2658
- '&gt;' => '&#62;',
2659
- '|' => '&#124;',
2660
- '&nbsp;' => '&#160;',
2661
- '&iexcl;' => '&#161;',
2662
- '&cent;' => '&#162;',
2663
- '&pound;' => '&#163;',
2664
- '&curren;' => '&#164;',
2665
- '&yen;' => '&#165;',
2666
- '&brvbar;' => '&#166;',
2667
- '&brkbar;' => '&#166;',
2668
- '&sect;' => '&#167;',
2669
- '&uml;' => '&#168;',
2670
- '&die;' => '&#168;',
2671
- '&copy;' => '&#169;',
2672
- '&ordf;' => '&#170;',
2673
- '&laquo;' => '&#171;',
2674
- '&not;' => '&#172;',
2675
- '&shy;' => '&#173;',
2676
- '&reg;' => '&#174;',
2677
- '&macr;' => '&#175;',
2678
- '&hibar;' => '&#175;',
2679
- '&deg;' => '&#176;',
2680
- '&plusmn;' => '&#177;',
2681
- '&sup2;' => '&#178;',
2682
- '&sup3;' => '&#179;',
2683
- '&acute;' => '&#180;',
2684
- '&micro;' => '&#181;',
2685
- '&para;' => '&#182;',
2686
- '&middot;' => '&#183;',
2687
- '&cedil;' => '&#184;',
2688
- '&sup1;' => '&#185;',
2689
- '&ordm;' => '&#186;',
2690
- '&raquo;' => '&#187;',
2691
- '&frac14;' => '&#188;',
2692
- '&frac12;' => '&#189;',
2693
- '&frac34;' => '&#190;',
2694
- '&iquest;' => '&#191;',
2695
- '&Agrave;' => '&#192;',
2696
- '&Aacute;' => '&#193;',
2697
- '&Acirc;' => '&#194;',
2698
- '&Atilde;' => '&#195;',
2699
- '&Auml;' => '&#196;',
2700
- '&Aring;' => '&#197;',
2701
- '&AElig;' => '&#198;',
2702
- '&Ccedil;' => '&#199;',
2703
- '&Egrave;' => '&#200;',
2704
- '&Eacute;' => '&#201;',
2705
- '&Ecirc;' => '&#202;',
2706
- '&Euml;' => '&#203;',
2707
- '&Igrave;' => '&#204;',
2708
- '&Iacute;' => '&#205;',
2709
- '&Icirc;' => '&#206;',
2710
- '&Iuml;' => '&#207;',
2711
- '&ETH;' => '&#208;',
2712
- '&Ntilde;' => '&#209;',
2713
- '&Ograve;' => '&#210;',
2714
- '&Oacute;' => '&#211;',
2715
- '&Ocirc;' => '&#212;',
2716
- '&Otilde;' => '&#213;',
2717
- '&Ouml;' => '&#214;',
2718
- '&times;' => '&#215;',
2719
- '&Oslash;' => '&#216;',
2720
- '&Ugrave;' => '&#217;',
2721
- '&Uacute;' => '&#218;',
2722
- '&Ucirc;' => '&#219;',
2723
- '&Uuml;' => '&#220;',
2724
- '&Yacute;' => '&#221;',
2725
- '&THORN;' => '&#222;',
2726
- '&szlig;' => '&#223;',
2727
- '&agrave;' => '&#224;',
2728
- '&aacute;' => '&#225;',
2729
- '&acirc;' => '&#226;',
2730
- '&atilde;' => '&#227;',
2731
- '&auml;' => '&#228;',
2732
- '&aring;' => '&#229;',
2733
- '&aelig;' => '&#230;',
2734
- '&ccedil;' => '&#231;',
2735
- '&egrave;' => '&#232;',
2736
- '&eacute;' => '&#233;',
2737
- '&ecirc;' => '&#234;',
2738
- '&euml;' => '&#235;',
2739
- '&igrave;' => '&#236;',
2740
- '&iacute;' => '&#237;',
2741
- '&icirc;' => '&#238;',
2742
- '&iuml;' => '&#239;',
2743
- '&eth;' => '&#240;',
2744
- '&ntilde;' => '&#241;',
2745
- '&ograve;' => '&#242;',
2746
- '&oacute;' => '&#243;',
2747
- '&ocirc;' => '&#244;',
2748
- '&otilde;' => '&#245;',
2749
- '&ouml;' => '&#246;',
2750
- '&divide;' => '&#247;',
2751
- '&oslash;' => '&#248;',
2752
- '&ugrave;' => '&#249;',
2753
- '&uacute;' => '&#250;',
2754
- '&ucirc;' => '&#251;',
2755
- '&uuml;' => '&#252;',
2756
- '&yacute;' => '&#253;',
2757
- '&thorn;' => '&#254;',
2758
- '&yuml;' => '&#255;',
2759
- '&OElig;' => '&#338;',
2760
- '&oelig;' => '&#339;',
2761
- '&Scaron;' => '&#352;',
2762
- '&scaron;' => '&#353;',
2763
- '&Yuml;' => '&#376;',
2764
- '&fnof;' => '&#402;',
2765
- '&circ;' => '&#710;',
2766
- '&tilde;' => '&#732;',
2767
- '&Alpha;' => '&#913;',
2768
- '&Beta;' => '&#914;',
2769
- '&Gamma;' => '&#915;',
2770
- '&Delta;' => '&#916;',
2771
- '&Epsilon;' => '&#917;',
2772
- '&Zeta;' => '&#918;',
2773
- '&Eta;' => '&#919;',
2774
- '&Theta;' => '&#920;',
2775
- '&Iota;' => '&#921;',
2776
- '&Kappa;' => '&#922;',
2777
- '&Lambda;' => '&#923;',
2778
- '&Mu;' => '&#924;',
2779
- '&Nu;' => '&#925;',
2780
- '&Xi;' => '&#926;',
2781
- '&Omicron;' => '&#927;',
2782
- '&Pi;' => '&#928;',
2783
- '&Rho;' => '&#929;',
2784
- '&Sigma;' => '&#931;',
2785
- '&Tau;' => '&#932;',
2786
- '&Upsilon;' => '&#933;',
2787
- '&Phi;' => '&#934;',
2788
- '&Chi;' => '&#935;',
2789
- '&Psi;' => '&#936;',
2790
- '&Omega;' => '&#937;',
2791
- '&alpha;' => '&#945;',
2792
- '&beta;' => '&#946;',
2793
- '&gamma;' => '&#947;',
2794
- '&delta;' => '&#948;',
2795
- '&epsilon;' => '&#949;',
2796
- '&zeta;' => '&#950;',
2797
- '&eta;' => '&#951;',
2798
- '&theta;' => '&#952;',
2799
- '&iota;' => '&#953;',
2800
- '&kappa;' => '&#954;',
2801
- '&lambda;' => '&#955;',
2802
- '&mu;' => '&#956;',
2803
- '&nu;' => '&#957;',
2804
- '&xi;' => '&#958;',
2805
- '&omicron;' => '&#959;',
2806
- '&pi;' => '&#960;',
2807
- '&rho;' => '&#961;',
2808
- '&sigmaf;' => '&#962;',
2809
- '&sigma;' => '&#963;',
2810
- '&tau;' => '&#964;',
2811
- '&upsilon;' => '&#965;',
2812
- '&phi;' => '&#966;',
2813
- '&chi;' => '&#967;',
2814
- '&psi;' => '&#968;',
2815
- '&omega;' => '&#969;',
2816
- '&thetasym;' => '&#977;',
2817
- '&upsih;' => '&#978;',
2818
- '&piv;' => '&#982;',
2819
- '&ensp;' => '&#8194;',
2820
- '&emsp;' => '&#8195;',
2821
- '&thinsp;' => '&#8201;',
2822
- '&zwnj;' => '&#8204;',
2823
- '&zwj;' => '&#8205;',
2824
- '&lrm;' => '&#8206;',
2825
- '&rlm;' => '&#8207;',
2826
- '&ndash;' => '&#8211;',
2827
- '&mdash;' => '&#8212;',
2828
- '&lsquo;' => '&#8216;',
2829
- '&rsquo;' => '&#8217;',
2830
- '&sbquo;' => '&#8218;',
2831
- '&ldquo;' => '&#8220;',
2832
- '&rdquo;' => '&#8221;',
2833
- '&bdquo;' => '&#8222;',
2834
- '&dagger;' => '&#8224;',
2835
- '&Dagger;' => '&#8225;',
2836
- '&bull;' => '&#8226;',
2837
- '&hellip;' => '&#8230;',
2838
- '&permil;' => '&#8240;',
2839
- '&prime;' => '&#8242;',
2840
- '&Prime;' => '&#8243;',
2841
- '&lsaquo;' => '&#8249;',
2842
- '&rsaquo;' => '&#8250;',
2843
- '&oline;' => '&#8254;',
2844
- '&frasl;' => '&#8260;',
2845
- '&euro;' => '&#8364;',
2846
- '&image;' => '&#8465;',
2847
- '&weierp;' => '&#8472;',
2848
- '&real;' => '&#8476;',
2849
- '&trade;' => '&#8482;',
2850
- '&alefsym;' => '&#8501;',
2851
- '&crarr;' => '&#8629;',
2852
- '&lArr;' => '&#8656;',
2853
- '&uArr;' => '&#8657;',
2854
- '&rArr;' => '&#8658;',
2855
- '&dArr;' => '&#8659;',
2856
- '&hArr;' => '&#8660;',
2857
- '&forall;' => '&#8704;',
2858
- '&part;' => '&#8706;',
2859
- '&exist;' => '&#8707;',
2860
- '&empty;' => '&#8709;',
2861
- '&nabla;' => '&#8711;',
2862
- '&isin;' => '&#8712;',
2863
- '&notin;' => '&#8713;',
2864
- '&ni;' => '&#8715;',
2865
- '&prod;' => '&#8719;',
2866
- '&sum;' => '&#8721;',
2867
- '&minus;' => '&#8722;',
2868
- '&lowast;' => '&#8727;',
2869
- '&radic;' => '&#8730;',
2870
- '&prop;' => '&#8733;',
2871
- '&infin;' => '&#8734;',
2872
- '&ang;' => '&#8736;',
2873
- '&and;' => '&#8743;',
2874
- '&or;' => '&#8744;',
2875
- '&cap;' => '&#8745;',
2876
- '&cup;' => '&#8746;',
2877
- '&int;' => '&#8747;',
2878
- '&there4;' => '&#8756;',
2879
- '&sim;' => '&#8764;',
2880
- '&cong;' => '&#8773;',
2881
- '&asymp;' => '&#8776;',
2882
- '&ne;' => '&#8800;',
2883
- '&equiv;' => '&#8801;',
2884
- '&le;' => '&#8804;',
2885
- '&ge;' => '&#8805;',
2886
- '&sub;' => '&#8834;',
2887
- '&sup;' => '&#8835;',
2888
- '&nsub;' => '&#8836;',
2889
- '&sube;' => '&#8838;',
2890
- '&supe;' => '&#8839;',
2891
- '&oplus;' => '&#8853;',
2892
- '&otimes;' => '&#8855;',
2893
- '&perp;' => '&#8869;',
2894
- '&sdot;' => '&#8901;',
2895
- '&lceil;' => '&#8968;',
2896
- '&rceil;' => '&#8969;',
2897
- '&lfloor;' => '&#8970;',
2898
- '&rfloor;' => '&#8971;',
2899
- '&lang;' => '&#9001;',
2900
- '&rang;' => '&#9002;',
2901
- '&larr;' => '&#8592;',
2902
- '&uarr;' => '&#8593;',
2903
- '&rarr;' => '&#8594;',
2904
- '&darr;' => '&#8595;',
2905
- '&harr;' => '&#8596;',
2906
- '&loz;' => '&#9674;',
2907
- '&spades;' => '&#9824;',
2908
- '&clubs;' => '&#9827;',
2909
- '&hearts;' => '&#9829;',
2910
- '&diams;' => '&#9830;'
2911
- );
2912
-
2913
- return str_replace( array_keys($to_ncr), array_values($to_ncr), $text );
2914
- }
2915
-
2916
- /**
2917
- * Formats text for the rich text editor.
2918
- *
2919
- * The filter 'richedit_pre' is applied here. If $text is empty the filter will
2920
- * be applied to an empty string.
2921
- *
2922
- * @since 2.0.0
2923
- *
2924
- * @param string $text The text to be formatted.
2925
- * @return string The formatted text after filter is applied.
2926
- */
2927
- function wp_richedit_pre($text) {
2928
- if ( empty( $text ) ) {
2929
- /**
2930
- * Filter text returned for the rich text editor.
2931
- *
2932
- * This filter is first evaluated, and the value returned, if an empty string
2933
- * is passed to wp_richedit_pre(). If an empty string is passed, it results
2934
- * in a break tag and line feed.
2935
- *
2936
- * If a non-empty string is passed, the filter is evaluated on the wp_richedit_pre()
2937
- * return after being formatted.
2938
- *
2939
- * @since 2.0.0
2940
- *
2941
- * @param string $output Text for the rich text editor.
2942
- */
2943
- return apply_filters( 'richedit_pre', '' );
2944
- }
2945
-
2946
- $output = convert_chars($text);
2947
- $output = wpautop($output);
2948
- $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) );
2949
-
2950
- /** This filter is documented in wp-includes/formatting.php */
2951
- return apply_filters( 'richedit_pre', $output );
2952
- }
2953
-
2954
- /**
2955
- * Formats text for the HTML editor.
2956
- *
2957
- * Unless $output is empty it will pass through htmlspecialchars before the
2958
- * 'htmledit_pre' filter is applied.
2959
- *
2960
- * @since 2.5.0
2961
- *
2962
- * @param string $output The text to be formatted.
2963
- * @return string Formatted text after filter applied.
2964
- */
2965
- function wp_htmledit_pre($output) {
2966
- if ( !empty($output) )
2967
- $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); // convert only < > &
2968
-
2969
- /**
2970
- * Filter the text before it is formatted for the HTML editor.
2971
- *
2972
- * @since 2.5.0
2973
- *
2974
- * @param string $output The HTML-formatted text.
2975
- */
2976
- return apply_filters( 'htmledit_pre', $output );
2977
- }
2978
-
2979
- /**
2980
- * Perform a deep string replace operation to ensure the values in $search are no longer present
2981
- *
2982
- * Repeats the replacement operation until it no longer replaces anything so as to remove "nested" values
2983
- * e.g. $subject = '%0%0%0DDD', $search ='%0D', $result ='' rather than the '%0%0DD' that
2984
- * str_replace would return
2985
- *
2986
- * @since 2.8.1
2987
- * @access private
2988
- *
2989
- * @param string|array $search The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.
2990
- * @param string $subject The string being searched and replaced on, otherwise known as the haystack.
2991
- * @return string The string with the replaced svalues.
2992
- */
2993
- function _deep_replace( $search, $subject ) {
2994
- $subject = (string) $subject;
2995
-
2996
- $count = 1;
2997
- while ( $count ) {
2998
- $subject = str_replace( $search, '', $subject, $count );
2999
- }
3000
-
3001
- return $subject;
3002
- }
3003
-
3004
- /**
3005
- * Escapes data for use in a MySQL query.
3006
- *
3007
- * Usually you should prepare queries using wpdb::prepare().
3008
- * Sometimes, spot-escaping is required or useful. One example
3009
- * is preparing an array for use in an IN clause.
3010
- *
3011
- * @since 2.8.0
3012
- * @param string|array $data Unescaped data
3013
- * @return string|array Escaped data
3014
- */
3015
- function esc_sql( $data ) {
3016
- global $wpdb;
3017
- return $wpdb->_escape( $data );
3018
- }
3019
-
3020
- /**
3021
- * Checks and cleans a URL.
3022
- *
3023
- * A number of characters are removed from the URL. If the URL is for displaying
3024
- * (the default behaviour) ampersands are also replaced. The 'clean_url' filter
3025
- * is applied to the returned cleaned URL.
3026
- *
3027
- * @since 2.8.0
3028
- * @uses wp_kses_bad_protocol() To only permit protocols in the URL set
3029
- * via $protocols or the common ones set in the function.
3030
- *
3031
- * @param string $url The URL to be cleaned.
3032
- * @param array $protocols Optional. An array of acceptable protocols.
3033
- * Defaults to 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'svn' if not set.
3034
- * @param string $_context Private. Use esc_url_raw() for database usage.
3035
- * @return string The cleaned $url after the 'clean_url' filter is applied.
3036
- */
3037
- function esc_url( $url, $protocols = null, $_context = 'display' ) {
3038
- $original_url = $url;
3039
-
3040
- if ( '' == $url )
3041
- return $url;
3042
- $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);
3043
- $strip = array('%0d', '%0a', '%0D', '%0A');
3044
- $url = _deep_replace($strip, $url);
3045
- $url = str_replace(';//', '://', $url);
3046
- /* If the URL doesn't appear to contain a scheme, we
3047
- * presume it needs http:// appended (unless a relative
3048
- * link starting with /, # or ? or a php file).
3049
- */
3050
- if ( strpos($url, ':') === false && ! in_array( $url[0], array( '/', '#', '?' ) ) &&
3051
- ! preg_match('/^[a-z0-9-]+?\.php/i', $url) )
3052
- $url = 'http://' . $url;
3053
-
3054
- // Replace ampersands and single quotes only when displaying.
3055
- if ( 'display' == $_context ) {
3056
- $url = wp_kses_normalize_entities( $url );
3057
- $url = str_replace( '&amp;', '&#038;', $url );
3058
- $url = str_replace( "'", '&#039;', $url );
3059
- }
3060
-
3061
- if ( '/' === $url[0] ) {
3062
- $good_protocol_url = $url;
3063
- } else {
3064
- if ( ! is_array( $protocols ) )
3065
- $protocols = wp_allowed_protocols();
3066
- $good_protocol_url = wp_kses_bad_protocol( $url, $protocols );
3067
- if ( strtolower( $good_protocol_url ) != strtolower( $url ) )
3068
- return '';
3069
- }
3070
-
3071
- /**
3072
- * Filter a string cleaned and escaped for output as a URL.
3073
- *
3074
- * @since 2.3.0
3075
- *
3076
- * @param string $good_protocol_url The cleaned URL to be returned.
3077
- * @param string $original_url The URL prior to cleaning.
3078
- * @param string $_context If 'display', replace ampersands and single quotes only.
3079
- */
3080
- return apply_filters( 'clean_url', $good_protocol_url, $original_url, $_context );
3081
- }
3082
-
3083
- /**
3084
- * Performs esc_url() for database usage.
3085
- *
3086
- * @since 2.8.0
3087
- * @uses esc_url()
3088
- *
3089
- * @param string $url The URL to be cleaned.
3090
- * @param array $protocols An array of acceptable protocols.
3091
- * @return string The cleaned URL.
3092
- */
3093
- function esc_url_raw( $url, $protocols = null ) {
3094
- return esc_url( $url, $protocols, 'db' );
3095
- }
3096
-
3097
- /**
3098
- * Convert entities, while preserving already-encoded entities.
3099
- *
3100
- * @link http://www.php.net/htmlentities Borrowed from the PHP Manual user notes.
3101
- *
3102
- * @since 1.2.2
3103
- *
3104
- * @param string $myHTML The text to be converted.
3105
- * @return string Converted text.
3106
- */
3107
- function htmlentities2($myHTML) {
3108
- $translation_table = get_html_translation_table( HTML_ENTITIES, ENT_QUOTES );
3109
- $translation_table[chr(38)] = '&';
3110
- return preg_replace( "/&(?![A-Za-z]{0,4}\w{2,3};|#[0-9]{2,3};)/", "&amp;", strtr($myHTML, $translation_table) );
3111
- }
3112
-
3113
- /**
3114
- * Escape single quotes, htmlspecialchar " < > &, and fix line endings.
3115
- *
3116
- * Escapes text strings for echoing in JS. It is intended to be used for inline JS
3117
- * (in a tag attribute, for example onclick="..."). Note that the strings have to
3118
- * be in single quotes. The filter 'js_escape' is also applied here.
3119
- *
3120
- * @since 2.8.0
3121
- *
3122
- * @param string $text The text to be escaped.
3123
- * @return string Escaped text.
3124
- */
3125
- function esc_js( $text ) {
3126
- $safe_text = wp_check_invalid_utf8( $text );
3127
- $safe_text = _wp_specialchars( $safe_text, ENT_COMPAT );
3128
- $safe_text = preg_replace( '/&#(x)?0*(?(1)27|39);?/i', "'", stripslashes( $safe_text ) );
3129
- $safe_text = str_replace( "\r", '', $safe_text );
3130
- $safe_text = str_replace( "\n", '\\n', addslashes( $safe_text ) );
3131
- /**
3132
- * Filter a string cleaned and escaped for output in JavaScript.
3133
- *
3134
- * Text passed to esc_js() is stripped of invalid or special characters,
3135
- * and properly slashed for output.
3136
- *
3137
- * @since 2.0.6
3138
- *
3139
- * @param string $safe_text The text after it has been escaped.
3140
- * @param string $text The text prior to being escaped.
3141
- */
3142
- return apply_filters( 'js_escape', $safe_text, $text );
3143
- }
3144
-
3145
- /**
3146
- * Escaping for HTML blocks.
3147
- *
3148
- * @since 2.8.0
3149
- *
3150
- * @param string $text
3151
- * @return string
3152
- */
3153
- function esc_html( $text ) {
3154
- $safe_text = wp_check_invalid_utf8( $text );
3155
- $safe_text = _wp_specialchars( $safe_text, ENT_QUOTES );
3156
- /**
3157
- * Filter a string cleaned and escaped for output in HTML.
3158
- *
3159
- * Text passed to esc_html() is stripped of invalid or special characters
3160
- * before output.
3161
- *
3162
- * @since 2.8.0
3163
- *
3164
- * @param string $safe_text The text after it has been escaped.
3165
- * @param string $text The text prior to being escaped.
3166
- */
3167
- return apply_filters( 'esc_html', $safe_text, $text );
3168
- }
3169
-
3170
- /**
3171
- * Escaping for HTML attributes.
3172
- *
3173
- * @since 2.8.0
3174
- *
3175
- * @param string $text
3176
- * @return string
3177
- */
3178
- function esc_attr( $text ) {
3179
- $safe_text = wp_check_invalid_utf8( $text );
3180
- $safe_text = _wp_specialchars( $safe_text, ENT_QUOTES );
3181
- /**
3182
- * Filter a string cleaned and escaped for output in an HTML attribute.
3183
- *
3184
- * Text passed to esc_attr() is stripped of invalid or special characters
3185
- * before output.
3186
- *
3187
- * @since 2.0.6
3188
- *
3189
- * @param string $safe_text The text after it has been escaped.
3190
- * @param string $text The text prior to being escaped.
3191
- */
3192
- return apply_filters( 'attribute_escape', $safe_text, $text );
3193
- }
3194
-
3195
- /**
3196
- * Escaping for textarea values.
3197
- *
3198
- * @since 3.1.0
3199
- *
3200
- * @param string $text
3201
- * @return string
3202
- */
3203
- function esc_textarea( $text ) {
3204
- $safe_text = htmlspecialchars( $text, ENT_QUOTES, get_option( 'blog_charset' ) );
3205
- /**
3206
- * Filter a string cleaned and escaped for output in a textarea element.
3207
- *
3208
- * @since 3.1.0
3209
- *
3210
- * @param string $safe_text The text after it has been escaped.
3211
- * @param string $text The text prior to being escaped.
3212
- */
3213
- return apply_filters( 'esc_textarea', $safe_text, $text );
3214
- }
3215
-
3216
- /**
3217
- * Escape an HTML tag name.
3218
- *
3219
- * @since 2.5.0
3220
- *
3221
- * @param string $tag_name
3222
- * @return string
3223
- */
3224
- function tag_escape($tag_name) {
3225
- $safe_tag = strtolower( preg_replace('/[^a-zA-Z0-9_:]/', '', $tag_name) );
3226
- /**
3227
- * Filter a string cleaned and escaped for output as an HTML tag.
3228
- *
3229
- * @since 2.8.0
3230
- *
3231
- * @param string $safe_tag The tag name after it has been escaped.
3232
- * @param string $tag_name The text before it was escaped.
3233
- */
3234
- return apply_filters( 'tag_escape', $safe_tag, $tag_name );
3235
- }
3236
-
3237
- /**
3238
- * Convert full URL paths to absolute paths.
3239
- *
3240
- * Removes the http or https protocols and the domain. Keeps the path '/' at the
3241
- * beginning, so it isn't a true relative link, but from the web root base.
3242
- *
3243
- * @since 2.1.0
3244
- *
3245
- * @param string $link Full URL path.
3246
- * @return string Absolute path.
3247
- */
3248
- function wp_make_link_relative( $link ) {
3249
- return preg_replace( '|https?://[^/]+(/.*)|i', '$1', $link );
3250
- }
3251
-
3252
- /**
3253
- * Sanitises various option values based on the nature of the option.
3254
- *
3255
- * This is basically a switch statement which will pass $value through a number
3256
- * of functions depending on the $option.
3257
- *
3258
- * @since 2.0.5
3259
- *
3260
- * @param string $option The name of the option.
3261
- * @param string $value The unsanitised value.
3262
- * @return string Sanitized value.
3263
- */
3264
- function sanitize_option($option, $value) {
3265
-
3266
- switch ( $option ) {
3267
- case 'admin_email' :
3268
- case 'new_admin_email' :
3269
- $value = sanitize_email( $value );
3270
- if ( ! is_email( $value ) ) {
3271
- $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
3272
- if ( function_exists( 'add_settings_error' ) )
3273
- add_settings_error( $option, 'invalid_admin_email', __( 'The email address entered did not appear to be a valid email address. Please enter a valid email address.' ) );
3274
- }
3275
- break;
3276
-
3277
- case 'thumbnail_size_w':
3278
- case 'thumbnail_size_h':
3279
- case 'medium_size_w':
3280
- case 'medium_size_h':
3281
- case 'large_size_w':
3282
- case 'large_size_h':
3283
- case 'mailserver_port':
3284
- case 'comment_max_links':
3285
- case 'page_on_front':
3286
- case 'page_for_posts':
3287
- case 'rss_excerpt_length':
3288
- case 'default_category':
3289
- case 'default_email_category':
3290
- case 'default_link_category':
3291
- case 'close_comments_days_old':
3292
- case 'comments_per_page':
3293
- case 'thread_comments_depth':
3294
- case 'users_can_register':
3295
- case 'start_of_week':
3296
- $value = absint( $value );
3297
- break;
3298
-
3299
- case 'posts_per_page':
3300
- case 'posts_per_rss':
3301
- $value = (int) $value;
3302
- if ( empty($value) )
3303
- $value = 1;
3304
- if ( $value < -1 )
3305
- $value = abs($value);
3306
- break;
3307
-
3308
- case 'default_ping_status':
3309
- case 'default_comment_status':
3310
- // Options that if not there have 0 value but need to be something like "closed"
3311
- if ( $value == '0' || $value == '')
3312
- $value = 'closed';
3313
- break;
3314
-
3315
- case 'blogdescription':
3316
- case 'blogname':
3317
- $value = wp_kses_post( $value );
3318
- $value = esc_html( $value );
3319
- break;
3320
-
3321
- case 'blog_charset':
3322
- $value = preg_replace('/[^a-zA-Z0-9_-]/', '', $value); // strips slashes
3323
- break;
3324
-
3325
- case 'blog_public':
3326
- // This is the value if the settings checkbox is not checked on POST. Don't rely on this.
3327
- if ( null === $value )
3328
- $value = 1;
3329
- else
3330
- $value = intval( $value );
3331
- break;
3332
-
3333
- case 'date_format':
3334
- case 'time_format':
3335
- case 'mailserver_url':
3336
- case 'mailserver_login':
3337
- case 'mailserver_pass':
3338
- case 'upload_path':
3339
- $value = strip_tags( $value );
3340
- $value = wp_kses_data( $value );
3341
- break;
3342
-
3343
- case 'ping_sites':
3344
- $value = explode( "\n", $value );
3345
- $value = array_filter( array_map( 'trim', $value ) );
3346
- $value = array_filter( array_map( 'esc_url_raw', $value ) );
3347
- $value = implode( "\n", $value );
3348
- break;
3349
-
3350
- case 'gmt_offset':
3351
- $value = preg_replace('/[^0-9:.-]/', '', $value); // strips slashes
3352
- break;
3353
-
3354
- case 'siteurl':
3355
- if ( (bool)preg_match( '#http(s?)://(.+)#i', $value) ) {
3356
- $value = esc_url_raw($value);
3357
- } else {
3358
- $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
3359
- if ( function_exists('add_settings_error') )
3360
- add_settings_error('siteurl', 'invalid_siteurl', __('The WordPress address you entered did not appear to be a valid URL. Please enter a valid URL.'));
3361
- }
3362
- break;
3363
-
3364
- case 'home':
3365
- if ( (bool)preg_match( '#http(s?)://(.+)#i', $value) ) {
3366
- $value = esc_url_raw($value);
3367
- } else {
3368
- $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
3369
- if ( function_exists('add_settings_error') )
3370
- add_settings_error('home', 'invalid_home', __('The Site address you entered did not appear to be a valid URL. Please enter a valid URL.'));
3371
- }
3372
- break;
3373
-
3374
- case 'WPLANG':
3375
- $allowed = get_available_languages();
3376
- if ( ! is_multisite() && defined( 'WPLANG' ) && '' !== WPLANG && 'en_US' !== WPLANG ) {
3377
- $allowed[] = WPLANG;
3378
- }
3379
- if ( ! in_array( $value, $allowed ) && ! empty( $value ) ) {
3380
- $value = get_option( $option );
3381
- }
3382
- break;
3383
-
3384
- case 'illegal_names':
3385
- if ( ! is_array( $value ) )
3386
- $value = explode( ' ', $value );
3387
-
3388
- $value = array_values( array_filter( array_map( 'trim', $value ) ) );
3389
-
3390
- if ( ! $value )
3391
- $value = '';
3392
- break;
3393
-
3394
- case 'limited_email_domains':
3395
- case 'banned_email_domains':
3396
- if ( ! is_array( $value ) )
3397
- $value = explode( "\n", $value );
3398
-
3399
- $domains = array_values( array_filter( array_map( 'trim', $value ) ) );
3400
- $value = array();
3401
-
3402
- foreach ( $domains as $domain ) {
3403
- if ( ! preg_match( '/(--|\.\.)/', $domain ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $domain ) )
3404
- $value[] = $domain;
3405
- }
3406
- if ( ! $value )
3407
- $value = '';
3408
- break;
3409
-
3410
- case 'timezone_string':
3411
- $allowed_zones = timezone_identifiers_list();
3412
- if ( ! in_array( $value, $allowed_zones ) && ! empty( $value ) ) {
3413
- $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
3414
- if ( function_exists('add_settings_error') )
3415
- add_settings_error('timezone_string', 'invalid_timezone_string', __('The timezone you have entered is not valid. Please select a valid timezone.') );
3416
- }
3417
- break;
3418
-
3419
- case 'permalink_structure':
3420
- case 'category_base':
3421
- case 'tag_base':
3422
- $value = esc_url_raw( $value );
3423
- $value = str_replace( 'http://', '', $value );
3424
- break;
3425
-
3426
- case 'default_role' :
3427
- if ( ! get_role( $value ) && get_role( 'subscriber' ) )
3428
- $value = 'subscriber';
3429
- break;
3430
-
3431
- case 'moderation_keys':
3432
- case 'blacklist_keys':
3433
- $value = explode( "\n", $value );
3434
- $value = array_filter( array_map( 'trim', $value ) );
3435
- $value = array_unique( $value );
3436
- $value = implode( "\n", $value );
3437
- break;
3438
- }
3439
-
3440
- /**
3441
- * Filter an option value following sanitization.
3442
- *
3443
- * @since 2.3.0
3444
- *
3445
- * @param string $value The sanitized option value.
3446
- * @param string $option The option name.
3447
- */
3448
- $value = apply_filters( "sanitize_option_{$option}", $value, $option );
3449
-
3450
- return $value;
3451
- }
3452
-
3453
- /**
3454
- * Parses a string into variables to be stored in an array.
3455
- *
3456
- * Uses {@link http://www.php.net/parse_str parse_str()} and stripslashes if
3457
- * {@link http://www.php.net/magic_quotes magic_quotes_gpc} is on.
3458
- *
3459
- * @since 2.2.1
3460
- *
3461
- * @param string $string The string to be parsed.
3462
- * @param array $array Variables will be stored in this array.
3463
- */
3464
- function wp_parse_str( $string, &$array ) {
3465
- parse_str( $string, $array );
3466
- if ( get_magic_quotes_gpc() )
3467
- $array = stripslashes_deep( $array );
3468
- /**
3469
- * Filter the array of variables derived from a parsed string.
3470
- *
3471
- * @since 2.3.0
3472
- *
3473
- * @param array $array The array populated with variables.
3474
- */
3475
- $array = apply_filters( 'wp_parse_str', $array );
3476
- }
3477
-
3478
- /**
3479
- * Convert lone less than signs.
3480
- *
3481
- * KSES already converts lone greater than signs.
3482
- *
3483
- * @uses wp_pre_kses_less_than_callback in the callback function.
3484
- * @since 2.3.0
3485
- *
3486
- * @param string $text Text to be converted.
3487
- * @return string Converted text.
3488
- */
3489
- function wp_pre_kses_less_than( $text ) {
3490
- return preg_replace_callback('%<[^>]*?((?=<)|>|$)%', 'wp_pre_kses_less_than_callback', $text);
3491
- }
3492
-
3493
- /**
3494
- * Callback function used by preg_replace.
3495
- *
3496
- * @uses esc_html to format the $matches text.
3497
- * @since 2.3.0
3498
- *
3499
- * @param array $matches Populated by matches to preg_replace.
3500
- * @return string The text returned after esc_html if needed.
3501
- */
3502
- function wp_pre_kses_less_than_callback( $matches ) {
3503
- if ( false === strpos($matches[0], '>') )
3504
- return esc_html($matches[0]);
3505
- return $matches[0];
3506
- }
3507
-
3508
- /**
3509
- * WordPress implementation of PHP sprintf() with filters.
3510
- *
3511
- * @since 2.5.0
3512
- * @link http://www.php.net/sprintf
3513
- *
3514
- * @param string $pattern The string which formatted args are inserted.
3515
- * @param mixed $args,... Arguments to be formatted into the $pattern string.
3516
- * @return string The formatted string.
3517
- */
3518
- function wp_sprintf( $pattern ) {
3519
- $args = func_get_args();
3520
- $len = strlen($pattern);
3521
- $start = 0;
3522
- $result = '';
3523
- $arg_index = 0;
3524
- while ( $len > $start ) {
3525
- // Last character: append and break
3526
- if ( strlen($pattern) - 1 == $start ) {
3527
- $result .= substr($pattern, -1);
3528
- break;
3529
- }
3530
-
3531
- // Literal %: append and continue
3532
- if ( substr($pattern, $start, 2) == '%%' ) {
3533
- $start += 2;
3534
- $result .= '%';
3535
- continue;
3536
- }
3537
-
3538
- // Get fragment before next %
3539
- $end = strpos($pattern, '%', $start + 1);
3540
- if ( false === $end )
3541
- $end = $len;
3542
- $fragment = substr($pattern, $start, $end - $start);
3543
-
3544
- // Fragment has a specifier
3545
- if ( $pattern[$start] == '%' ) {
3546
- // Find numbered arguments or take the next one in order
3547
- if ( preg_match('/^%(\d+)\$/', $fragment, $matches) ) {
3548
- $arg = isset($args[$matches[1]]) ? $args[$matches[1]] : '';
3549
- $fragment = str_replace("%{$matches[1]}$", '%', $fragment);
3550
- } else {
3551
- ++$arg_index;
3552
- $arg = isset($args[$arg_index]) ? $args[$arg_index] : '';
3553
- }
3554
-
3555
- /**
3556
- * Filter a fragment from the pattern passed to wp_sprintf().
3557
- *
3558
- * If the fragment is unchanged, then sprintf() will be run on the fragment.
3559
- *
3560
- * @since 2.5.0
3561
- *
3562
- * @param string $fragment A fragment from the pattern.
3563
- * @param string $arg The argument.
3564
- */
3565
- $_fragment = apply_filters( 'wp_sprintf', $fragment, $arg );
3566
- if ( $_fragment != $fragment )
3567
- $fragment = $_fragment;
3568
- else
3569
- $fragment = sprintf($fragment, strval($arg) );
3570
- }
3571
-
3572
- // Append to result and move to next fragment
3573
- $result .= $fragment;
3574
- $start = $end;
3575
- }
3576
- return $result;
3577
- }
3578
-
3579
- /**
3580
- * Localize list items before the rest of the content.
3581
- *
3582
- * The '%l' must be at the first characters can then contain the rest of the
3583
- * content. The list items will have ', ', ', and', and ' and ' added depending
3584
- * on the amount of list items in the $args parameter.
3585
- *
3586
- * @since 2.5.0
3587
- *
3588
- * @param string $pattern Content containing '%l' at the beginning.
3589
- * @param array $args List items to prepend to the content and replace '%l'.
3590
- * @return string Localized list items and rest of the content.
3591
- */
3592
- function wp_sprintf_l($pattern, $args) {
3593
- // Not a match
3594
- if ( substr($pattern, 0, 2) != '%l' )
3595
- return $pattern;
3596
-
3597
- // Nothing to work with
3598
- if ( empty($args) )
3599
- return '';
3600
-
3601
- /**
3602
- * Filter the translated delimiters used by wp_sprintf_l().
3603
- * Placeholders (%s) are included to assist translators and then
3604
- * removed before the array of strings reaches the filter.
3605
- *
3606
- * Please note: Ampersands and entities should be avoided here.
3607
- *
3608
- * @since 2.5.0
3609
- *
3610
- * @param array $delimiters An array of translated delimiters.
3611
- */
3612
- $l = apply_filters( 'wp_sprintf_l', array(
3613
- /* translators: used to join items in a list with more than 2 items */
3614
- 'between' => sprintf( __('%s, %s'), '', '' ),
3615
- /* translators: used to join last two items in a list with more than 2 times */
3616
- 'between_last_two' => sprintf( __('%s, and %s'), '', '' ),
3617
- /* translators: used to join items in a list with only 2 items */
3618
- 'between_only_two' => sprintf( __('%s and %s'), '', '' ),
3619
- ) );
3620
-
3621
- $args = (array) $args;
3622
- $result = array_shift($args);
3623
- if ( count($args) == 1 )
3624
- $result .= $l['between_only_two'] . array_shift($args);
3625
- // Loop when more than two args
3626
- $i = count($args);
3627
- while ( $i ) {
3628
- $arg = array_shift($args);
3629
- $i--;
3630
- if ( 0 == $i )
3631
- $result .= $l['between_last_two'] . $arg;
3632
- else
3633
- $result .= $l['between'] . $arg;
3634
- }
3635
- return $result . substr($pattern, 2);
3636
- }
3637
-
3638
- /**
3639
- * Safely extracts not more than the first $count characters from html string.
3640
- *
3641
- * UTF-8, tags and entities safe prefix extraction. Entities inside will *NOT*
3642
- * be counted as one character. For example &amp; will be counted as 4, &lt; as
3643
- * 3, etc.
3644
- *
3645
- * @since 2.5.0
3646
- *
3647
- * @param string $str String to get the excerpt from.
3648
- * @param integer $count Maximum number of characters to take.
3649
- * @param string $more Optional. What to append if $str needs to be trimmed. Defaults to empty string.
3650
- * @return string The excerpt.
3651
- */
3652
- function wp_html_excerpt( $str, $count, $more = null ) {
3653
- if ( null === $more )
3654
- $more = '';
3655
- $str = wp_strip_all_tags( $str, true );
3656
- $excerpt = mb_substr( $str, 0, $count );
3657
- // remove part of an entity at the end
3658
- $excerpt = preg_replace( '/&[^;\s]{0,6}$/', '', $excerpt );
3659
- if ( $str != $excerpt )
3660
- $excerpt = trim( $excerpt ) . $more;
3661
- return $excerpt;
3662
- }
3663
-
3664
- /**
3665
- * Add a Base url to relative links in passed content.
3666
- *
3667
- * By default it supports the 'src' and 'href' attributes. However this can be
3668
- * changed via the 3rd param.
3669
- *
3670
- * @since 2.7.0
3671
- *
3672
- * @param string $content String to search for links in.
3673
- * @param string $base The base URL to prefix to links.
3674
- * @param array $attrs The attributes which should be processed.
3675
- * @return string The processed content.
3676
- */
3677
- function links_add_base_url( $content, $base, $attrs = array('src', 'href') ) {
3678
- global $_links_add_base;
3679
- $_links_add_base = $base;
3680
- $attrs = implode('|', (array)$attrs);
3681
- return preg_replace_callback( "!($attrs)=(['\"])(.+?)\\2!i", '_links_add_base', $content );
3682
- }
3683
-
3684
- /**
3685
- * Callback to add a base url to relative links in passed content.
3686
- *
3687
- * @since 2.7.0
3688
- * @access private
3689
- *
3690
- * @param string $m The matched link.
3691
- * @return string The processed link.
3692
- */
3693
- function _links_add_base($m) {
3694
- global $_links_add_base;
3695
- //1 = attribute name 2 = quotation mark 3 = URL
3696
- return $m[1] . '=' . $m[2] .
3697
- ( preg_match( '#^(\w{1,20}):#', $m[3], $protocol ) && in_array( $protocol[1], wp_allowed_protocols() ) ?
3698
- $m[3] :
3699
- path_join( $_links_add_base, $m[3] ) )
3700
- . $m[2];
3701
- }
3702
-
3703
- /**
3704
- * Adds a Target attribute to all links in passed content.
3705
- *
3706
- * This function by default only applies to <a> tags, however this can be
3707
- * modified by the 3rd param.
3708
- *
3709
- * <b>NOTE:</b> Any current target attributed will be stripped and replaced.
3710
- *
3711
- * @since 2.7.0
3712
- *
3713
- * @param string $content String to search for links in.
3714
- * @param string $target The Target to add to the links.
3715
- * @param array $tags An array of tags to apply to.
3716
- * @return string The processed content.
3717
- */
3718
- function links_add_target( $content, $target = '_blank', $tags = array('a') ) {
3719
- global $_links_add_target;
3720
- $_links_add_target = $target;
3721
- $tags = implode('|', (array)$tags);
3722
- return preg_replace_callback( "!<($tags)([^>]*)>!i", '_links_add_target', $content );
3723
- }
3724
-
3725
- /**
3726
- * Callback to add a target attribute to all links in passed content.
3727
- *
3728
- * @since 2.7.0
3729
- * @access private
3730
- *
3731
- * @param string $m The matched link.
3732
- * @return string The processed link.
3733
- */
3734
- function _links_add_target( $m ) {
3735
- global $_links_add_target;
3736
- $tag = $m[1];
3737
- $link = preg_replace('|( target=([\'"])(.*?)\2)|i', '', $m[2]);
3738
- return '<' . $tag . $link . ' target="' . esc_attr( $_links_add_target ) . '">';
3739
- }
3740
-
3741
- /**
3742
- * Normalize EOL characters and strip duplicate whitespace.
3743
- *
3744
- * @since 2.7.0
3745
- *
3746
- * @param string $str The string to normalize.
3747
- * @return string The normalized string.
3748
- */
3749
- function normalize_whitespace( $str ) {
3750
- $str = trim( $str );
3751
- $str = str_replace( "\r", "\n", $str );
3752
- $str = preg_replace( array( '/\n+/', '/[ \t]+/' ), array( "\n", ' ' ), $str );
3753
- return $str;
3754
- }
3755
-
3756
- /**
3757
- * Properly strip all HTML tags including script and style
3758
- *
3759
- * This differs from strip_tags() because it removes the contents of
3760
- * the <script> and <style> tags. E.g. strip_tags( '<script>something</script>' )
3761
- * will return 'something'. wp_strip_all_tags will return ''
3762
- *
3763
- * @since 2.9.0
3764
- *
3765
- * @param string $string String containing HTML tags
3766
- * @param bool $remove_breaks optional Whether to remove left over line breaks and white space chars
3767
- * @return string The processed string.
3768
- */
3769
- function wp_strip_all_tags($string, $remove_breaks = false) {
3770
- $string = preg_replace( '@<(script|style)[^>]*?>.*?</\\1>@si', '', $string );
3771
- $string = strip_tags($string);
3772
-
3773
- if ( $remove_breaks )
3774
- $string = preg_replace('/[\r\n\t ]+/', ' ', $string);
3775
-
3776
- return trim( $string );
3777
- }
3778
-
3779
- /**
3780
- * Sanitize a string from user input or from the db
3781
- *
3782
- * check for invalid UTF-8,
3783
- * Convert single < characters to entity,
3784
- * strip all tags,
3785
- * remove line breaks, tabs and extra white space,
3786
- * strip octets.
3787
- *
3788
- * @since 2.9.0
3789
- *
3790
- * @param string $str
3791
- * @return string
3792
- */
3793
- function sanitize_text_field($str) {
3794
- $filtered = wp_check_invalid_utf8( $str );
3795
-
3796
- if ( strpos($filtered, '<') !== false ) {
3797
- $filtered = wp_pre_kses_less_than( $filtered );
3798
- // This will strip extra whitespace for us.
3799
- $filtered = wp_strip_all_tags( $filtered, true );
3800
- } else {
3801
- $filtered = trim( preg_replace('/[\r\n\t ]+/', ' ', $filtered) );
3802
- }
3803
-
3804
- $found = false;
3805
- while ( preg_match('/%[a-f0-9]{2}/i', $filtered, $match) ) {
3806
- $filtered = str_replace($match[0], '', $filtered);
3807
- $found = true;
3808
- }
3809
-
3810
- if ( $found ) {
3811
- // Strip out the whitespace that may now exist after removing the octets.
3812
- $filtered = trim( preg_replace('/ +/', ' ', $filtered) );
3813
- }
3814
-
3815
- /**
3816
- * Filter a sanitized text field string.
3817
- *
3818
- * @since 2.9.0
3819
- *
3820
- * @param string $filtered The sanitized string.
3821
- * @param string $str The string prior to being sanitized.
3822
- */
3823
- return apply_filters( 'sanitize_text_field', $filtered, $str );
3824
- }
3825
-
3826
- /**
3827
- * i18n friendly version of basename()
3828
- *
3829
- * @since 3.1.0
3830
- *
3831
- * @param string $path A path.
3832
- * @param string $suffix If the filename ends in suffix this will also be cut off.
3833
- * @return string
3834
- */
3835
- function wp_basename( $path, $suffix = '' ) {
3836
- return urldecode( basename( str_replace( array( '%2F', '%5C' ), '/', urlencode( $path ) ), $suffix ) );
3837
- }
3838
-
3839
- /**
3840
- * Forever eliminate "Wordpress" from the planet (or at least the little bit we can influence).
3841
- *
3842
- * Violating our coding standards for a good function name.
3843
- *
3844
- * @since 3.0.0
3845
- */
3846
- function capital_P_dangit( $text ) {
3847
- // Simple replacement for titles
3848
- $current_filter = current_filter();
3849
- if ( 'the_title' === $current_filter || 'wp_title' === $current_filter )
3850
- return str_replace( 'Wordpress', 'WordPress', $text );
3851
- // Still here? Use the more judicious replacement
3852
- static $dblq = false;
3853
- if ( false === $dblq )
3854
- $dblq = _x( '&#8220;', 'opening curly double quote' );
3855
- return str_replace(
3856
- array( ' Wordpress', '&#8216;Wordpress', $dblq . 'Wordpress', '>Wordpress', '(Wordpress' ),
3857
- array( ' WordPress', '&#8216;WordPress', $dblq . 'WordPress', '>WordPress', '(WordPress' ),
3858
- $text );
3859
-
3860
- }
3861
-
3862
- /**
3863
- * Sanitize a mime type
3864
- *
3865
- * @since 3.1.3
3866
- *
3867
- * @param string $mime_type Mime type
3868
- * @return string Sanitized mime type
3869
- */
3870
- function sanitize_mime_type( $mime_type ) {
3871
- $sani_mime_type = preg_replace( '/[^-+*.a-zA-Z0-9\/]/', '', $mime_type );
3872
- /**
3873
- * Filter a mime type following sanitization.
3874
- *
3875
- * @since 3.1.3
3876
- *
3877
- * @param string $sani_mime_type The sanitized mime type.
3878
- * @param string $mime_type The mime type prior to sanitization.
3879
- */
3880
- return apply_filters( 'sanitize_mime_type', $sani_mime_type, $mime_type );
3881
- }
3882
-
3883
- /**
3884
- * Sanitize space or carriage return separated URLs that are used to send trackbacks.
3885
- *
3886
- * @since 3.4.0
3887
- *
3888
- * @param string $to_ping Space or carriage return separated URLs
3889
- * @return string URLs starting with the http or https protocol, separated by a carriage return.
3890
- */
3891
- function sanitize_trackback_urls( $to_ping ) {
3892
- $urls_to_ping = preg_split( '/[\r\n\t ]/', trim( $to_ping ), -1, PREG_SPLIT_NO_EMPTY );
3893
- foreach ( $urls_to_ping as $k => $url ) {
3894
- if ( !preg_match( '#^https?://.#i', $url ) )
3895
- unset( $urls_to_ping[$k] );
3896
- }
3897
- $urls_to_ping = array_map( 'esc_url_raw', $urls_to_ping );
3898
- $urls_to_ping = implode( "\n", $urls_to_ping );
3899
- /**
3900
- * Filter a list of trackback URLs following sanitization.
3901
- *
3902
- * The string returned here consists of a space or carriage return-delimited list
3903
- * of trackback URLs.
3904
- *
3905
- * @since 3.4.0
3906
- *
3907
- * @param string $urls_to_ping Sanitized space or carriage return separated URLs.
3908
- * @param string $to_ping Space or carriage return separated URLs before sanitization.
3909
- */
3910
- return apply_filters( 'sanitize_trackback_urls', $urls_to_ping, $to_ping );
3911
- }
3912
-
3913
- /**
3914
- * Add slashes to a string or array of strings.
3915
- *
3916
- * This should be used when preparing data for core API that expects slashed data.
3917
- * This should not be used to escape data going directly into an SQL query.
3918
- *
3919
- * @since 3.6.0
3920
- *
3921
- * @param string|array $value String or array of strings to slash.
3922
- * @return string|array Slashed $value
3923
- */
3924
- function wp_slash( $value ) {
3925
- if ( is_array( $value ) ) {
3926
- foreach ( $value as $k => $v ) {
3927
- if ( is_array( $v ) ) {
3928
- $value[$k] = wp_slash( $v );
3929
- } else {
3930
- $value[$k] = addslashes( $v );
3931
- }
3932
- }
3933
- } else {
3934
- $value = addslashes( $value );
3935
- }
3936
-
3937
- return $value;
3938
- }
3939
-
3940
- /**
3941
- * Remove slashes from a string or array of strings.
3942
- *
3943
- * This should be used to remove slashes from data passed to core API that
3944
- * expects data to be unslashed.
3945
- *
3946
- * @since 3.6.0
3947
- *
3948
- * @param string|array $value String or array of strings to unslash.
3949
- * @return string|array Unslashed $value
3950
- */
3951
- function wp_unslash( $value ) {
3952
- return stripslashes_deep( $value );
3953
- }
3954
-
3955
- /**
3956
- * Extract and return the first URL from passed content.
3957
- *
3958
- * @since 3.6.0
3959
- *
3960
- * @param string $content A string which might contain a URL.
3961
- * @return string The found URL.
3962
- */
3963
- function get_url_in_content( $content ) {
3964
- if ( empty( $content ) ) {
3965
- return false;
3966
- }
3967
-
3968
- if ( preg_match( '/<a\s[^>]*?href=([\'"])(.+?)\1/is', $content, $matches ) ) {
3969
- return esc_url_raw( $matches[2] );
3970
- }
3971
-
3972
- return false;
3973
- }
3974
-
3975
- /**
3976
- * Returns the regexp for common whitespace characters.
3977
- *
3978
- * By default, spaces include new lines, tabs, nbsp entities, and the UTF-8 nbsp.
3979
- * This is designed to replace the PCRE \s sequence. In ticket #22692, that
3980
- * sequence was found to be unreliable due to random inclusion of the A0 byte.
3981
- *
3982
- * @since 4.0.0
3983
- *
3984
- * @return string The spaces regexp.
3985
- */
3986
- function wp_spaces_regexp() {
3987
- static $spaces;
3988
-
3989
- if ( empty( $spaces ) ) {
3990
- /**
3991
- * Filter the regexp for common whitespace characters.
3992
- *
3993
- * This string is substituted for the \s sequence as needed in regular
3994
- * expressions. For websites not written in English, different characters
3995
- * may represent whitespace. For websites not encoded in UTF-8, the 0xC2 0xA0
3996
- * sequence may not be in use.
3997
- *
3998
- * @since 4.0.0
3999
- *
4000
- * @param string $spaces Regexp pattern for matching common whitespace characters.
4001
- */
4002
- $spaces = apply_filters( 'wp_spaces_regexp', '[\r\n\t ]|\xC2\xA0|&nbsp;' );
4003
- }
4004
-
4005
- return $spaces;
4006
- }