WD Instagram Feed – Instagram Gallery - Version 1.0.1

Version Description

Fixed: PHP 5.3 compatibility
Fixed: Video redirect bug
Changed: User info styles

Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 WD Instagram Feed – Instagram Gallery
Version 1.0.1
Comparing to
See all releases

Version 1.0.1

Files changed (88) hide show
  1. admin-functions.php +638 -0
  2. admin/controllers/WDIControllerEditorShortcode.php +43 -0
  3. admin/controllers/WDIControllerFeeds_wdi.php +501 -0
  4. admin/controllers/WDIControllerLicensing_wdi.php +57 -0
  5. admin/controllers/WDIControllerSettings_wdi.php +25 -0
  6. admin/controllers/WDIControllerThemes_wdi.php +686 -0
  7. admin/controllers/WDIControllerUninstall_wdi.php +109 -0
  8. admin/controllers/WDIControllerWidget.php +78 -0
  9. admin/models/WDIModelEditorShortcode.php +37 -0
  10. admin/models/WDIModelFeeds_wdi.php +240 -0
  11. admin/models/WDIModelLicensing_wdi.php +30 -0
  12. admin/models/WDIModelSettings_wdi.php +13 -0
  13. admin/models/WDIModelThemes_wdi.php +584 -0
  14. admin/models/WDIModelUninstall_wdi.php +13 -0
  15. admin/models/WDIModelWidget.php +45 -0
  16. admin/views/WDIViewEditorShortcode.php +157 -0
  17. admin/views/WDIViewFeeds_wdi.php +436 -0
  18. admin/views/WDIViewLicensing_wdi.php +132 -0
  19. admin/views/WDIViewSettings_wdi.php +81 -0
  20. admin/views/WDIViewThemes_wdi.php +74 -0
  21. admin/views/WDIViewUninstall_wdi.php +97 -0
  22. admin/views/WDIViewWidget.php +138 -0
  23. css/font-awesome/font-awesome.css +1713 -0
  24. css/font-awesome/fonts/FontAwesome.otf +0 -0
  25. css/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  26. css/font-awesome/fonts/fontawesome-webfont.svg +520 -0
  27. css/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  28. css/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  29. css/font-awesome/less/bordered-pulled.less +16 -0
  30. css/font-awesome/less/core.less +11 -0
  31. css/font-awesome/less/fixed-width.less +6 -0
  32. css/font-awesome/less/font-awesome.less +17 -0
  33. css/font-awesome/less/icons.less +552 -0
  34. css/font-awesome/less/larger.less +13 -0
  35. css/font-awesome/less/list.less +19 -0
  36. css/font-awesome/less/mixins.less +25 -0
  37. css/font-awesome/less/path.less +14 -0
  38. css/font-awesome/less/rotated-flipped.less +20 -0
  39. css/font-awesome/less/spinning.less +29 -0
  40. css/font-awesome/less/stacked.less +20 -0
  41. css/font-awesome/less/variables.less +561 -0
  42. css/font-awesome/scss/_bordered-pulled.scss +16 -0
  43. css/font-awesome/scss/_core.scss +11 -0
  44. css/font-awesome/scss/_fixed-width.scss +6 -0
  45. css/font-awesome/scss/_icons.scss +552 -0
  46. css/font-awesome/scss/_larger.scss +13 -0
  47. css/font-awesome/scss/_list.scss +19 -0
  48. css/font-awesome/scss/_mixins.scss +25 -0
  49. css/font-awesome/scss/_path.scss +14 -0
  50. css/font-awesome/scss/_rotated-flipped.scss +20 -0
  51. css/font-awesome/scss/_spinning.scss +29 -0
  52. css/font-awesome/scss/_stacked.scss +20 -0
  53. css/font-awesome/scss/_variables.scss +561 -0
  54. css/font-awesome/scss/font-awesome.scss +17 -0
  55. css/gallerybox/jquery.mCustomScrollbar.css +474 -0
  56. css/notices.css +54 -0
  57. css/wdi_backend.css +219 -0
  58. css/wdi_frontend.css +304 -0
  59. css/wdi_licensing.css +159 -0
  60. css/wdi_tables.css +947 -0
  61. demo_images/1.png +0 -0
  62. demo_images/2.png +0 -0
  63. demo_images/3.png +0 -0
  64. demo_images/4.png +0 -0
  65. demo_images/5.png +0 -0
  66. demo_images/6.png +0 -0
  67. demo_images/7.png +0 -0
  68. demo_images/8.png +0 -0
  69. demo_images/l1.png +0 -0
  70. demo_images/l2.png +0 -0
  71. demo_images/l3.png +0 -0
  72. demo_images/l4.png +0 -0
  73. demo_images/l5.png +0 -0
  74. demo_images/l6.png +0 -0
  75. demo_images/l7.png +0 -0
  76. framework/WDILibrary.php +961 -0
  77. framework/WDILibraryEmbed.php +891 -0
  78. framework/WDI_admin_view.php +1360 -0
  79. framework/WDI_form_builder.php +450 -0
  80. frontend/controllers/WDIControllerGalleryBox.php +141 -0
  81. frontend/controllers/WDIControllerImageBrowser_view.php +36 -0
  82. frontend/controllers/WDIControllerThumbnails_view.php +36 -0
  83. frontend/models/WDIModelGalleryBox.php +142 -0
  84. frontend/models/WDIModelImageBrowser_view.php +56 -0
  85. frontend/models/WDIModelThumbnails_view.php +52 -0
  86. frontend/shortcode.php +172 -0
  87. frontend/views/WDIViewGalleryBox.php +3061 -0
  88. frontend/views/WDIViewImageBrowser_view.php +164 -0
admin-functions.php ADDED
@@ -0,0 +1,638 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Checks if username and access_token exist, if not redirects to settings page
4
+ */
5
+
6
+ function wdi_check_necessary_params(){
7
+
8
+ global $wdi_options;
9
+ if(!isset($wdi_options['wdi_access_token']) || !isset($wdi_options['wdi_user_name']) || $wdi_options['wdi_access_token']=='' || $wdi_options['wdi_user_name'] ==''){
10
+ ?>
11
+ <script>
12
+ window.location = "<?php echo admin_url( 'admin.php?page=wdi_settings');?>";
13
+ </script>
14
+ <?php
15
+ }
16
+
17
+ }
18
+
19
+
20
+ /**
21
+ * uninstall action callback
22
+ * this functions finds and deletes all plugin related tables from wordpress database
23
+ * also it deletes from options table plugin options sets uninstalled option as true
24
+ */
25
+
26
+ add_action('wp_ajax_wdiUninstallPlugin','wdi_uninstall_ajax');
27
+
28
+ function wdi_uninstall_ajax(){
29
+ $nonce = isset($_REQUEST['uninstall_nonce']) ? $_REQUEST['uninstall_nonce'] : "";
30
+ if(!wp_verify_nonce( $nonce, 'wdiUninstallPlugin' )){
31
+ wp_die();
32
+ }
33
+ else{
34
+ global $wpdb;
35
+ $removed = false;
36
+ $table_name = $wpdb->prefix.WDI_FEED_TABLE;
37
+ $checktable = $wpdb->query("SHOW TABLES LIKE '$table_name'");
38
+ $table_exists = $checktable > 0;
39
+ if($table_exists){
40
+ $sql = "DROP TABLE ". $table_name;
41
+ $wpdb->query($sql);
42
+ $removed = true;
43
+ }
44
+ $table_name = $wpdb->prefix.WDI_THEME_TABLE;
45
+ $checktable = $wpdb->query("SHOW TABLES LIKE '$table_name'");
46
+ $table_exists = $checktable > 0;
47
+ if($table_exists){
48
+ $sql = "DROP TABLE ". $table_name;
49
+ $wpdb->query($sql);
50
+ $removed = true;
51
+ }
52
+ if($removed == true) {
53
+ wdi_uninstall_notice(1);
54
+ }
55
+ else{
56
+ wdi_uninstall_notice(2);
57
+ };
58
+
59
+ delete_option(WDI_OPT);
60
+
61
+ $default_option=array();
62
+ $default_option['wdi_plugin_uninstalled'] = 'true';
63
+ add_option(WDI_OPT,$default_option);
64
+ delete_option('wdi_version');
65
+ }
66
+ wp_die();
67
+ }
68
+
69
+ /**
70
+ * checks if argument is 1 it displays success message on settings page after uninstalling plugin
71
+ * else it displays error message already uninstalled
72
+ */
73
+
74
+ function wdi_uninstall_notice($arg) {
75
+ if($arg == 1){
76
+ ?>
77
+ <div class="updated">
78
+ <p><?php _e( 'Succesfully Uninstalled!', "wdi"); ?></p>
79
+ </div>
80
+ <?php
81
+ }else{
82
+ ?>
83
+ <div class="error">
84
+ <p><?php _e( 'Already Unistalled', "wdi"); ?></p>
85
+ </div>
86
+ <?php
87
+ }
88
+ }
89
+
90
+ /**
91
+ * checks if plugin is uninstalled it displays to all users uninstalled screen
92
+ */
93
+ function wdi_check_uninstalled(){
94
+ global $wdi_options;
95
+ if(isset($wdi_options['wdi_plugin_uninstalled']) && $wdi_options['wdi_plugin_uninstalled']=='true') {
96
+ require_once(WDI_DIR . '/templates/plugin-uninstalled.php');
97
+ die();
98
+ };
99
+ }
100
+
101
+ /**
102
+ * triggered on plugin activation
103
+ *
104
+ * adds some plugin related options like plugin version and database version
105
+ * also adds uninstalled option
106
+ * after adding this basic options,creates tables for plugin in wordpress database
107
+ */
108
+
109
+ function wdi_install(){
110
+
111
+
112
+ wdi_get_options();
113
+ global $wdi_options;
114
+
115
+ // if(isset($wdi_options['wdi_plugin_uninstalled']) && $wdi_options['wdi_plugin_uninstalled'] == 'false'){
116
+ // return;
117
+ // }
118
+ $current_version = WDI_VERSION;
119
+ $saved_version = get_option('wdi_version');
120
+ if( $saved_version){
121
+
122
+ if(substr($saved_version, 0, 1) =='2' && substr($current_version, 0, 1) == '1'){
123
+ wdi_set_options_defaults();
124
+ return;
125
+ }
126
+
127
+ $old_version = substr($saved_version, 2);
128
+ $new_version = substr(WDI_VERSION, 2);
129
+ $newer = version_compare($new_version, $old_version, '>');
130
+
131
+ if($newer){
132
+ require_once WDI_DIR . '/update/wdi_update.php';
133
+ /*adds new params for new versions*/
134
+ wdi_update_diff($new_version, $old_version);
135
+ }
136
+ wdi_set_options_defaults();
137
+ return;
138
+
139
+ }
140
+
141
+
142
+ wdi_set_options_defaults();
143
+ //add_option( WDI_VAR.'_version',$version, '', 'yes' );
144
+ // update_option( WDI_VAR.'_version',$version, '', 'yes' );
145
+
146
+
147
+ global $wpdb;
148
+ $table_name = $wpdb->prefix . WDI_FEED_TABLE;
149
+ $charset_collate = 'COLLATE utf8_general_ci';
150
+ $sql = "CREATE TABLE $table_name (
151
+ id mediumint(9) NOT NULL AUTO_INCREMENT PRIMARY KEY,
152
+ feed_name tinytext NOT NULL,
153
+ feed_thumb varchar(255) NOT NULL,
154
+ thumb_user varchar(30) NOT NULL,
155
+ published varchar(1) NOT NULL,
156
+ theme_id varchar(10) NOT NULL,
157
+ feed_users varchar(1000) NOT NULL,
158
+ feed_display_view varchar(30) NOT NULL,
159
+ sort_images_by varchar(30) NOT NULL,
160
+ display_order varchar(30) NOT NULL,
161
+ follow_on_instagram_btn varchar(1) NOT NULL,
162
+ display_header varchar(1) NOT NULL,
163
+ number_of_photos varchar(10) NOT NULL,
164
+ load_more_number varchar(10) NOT NULL,
165
+ pagination_per_page_number varchar(10) NOT NULL,
166
+ pagination_preload_number varchar(10) NOT NULL,
167
+ image_browser_preload_number varchar(10) NOT NULL,
168
+ image_browser_load_number varchar(10) NOT NULL,
169
+ number_of_columns varchar(30) NOT NULL,
170
+
171
+ resort_after_load_more varchar(1) NOT NULL,
172
+ show_likes varchar(1) NOT NULL,
173
+ show_description varchar(1) NOT NULL,
174
+ show_comments varchar(1) NOT NULL,
175
+ show_usernames varchar(1) NOT NULL,
176
+ display_user_info varchar(1) NOT NULL,
177
+ display_user_post_follow_number varchar(1) NOT NULL,
178
+ show_full_description varchar(1) NOT NULL,
179
+ disable_mobile_layout varchar(1) NOT NULL,
180
+ feed_type varchar(30) NOT NULL,
181
+ feed_item_onclick varchar(30) NOT NULL,
182
+
183
+
184
+ popup_fullscreen varchar(1) NOT NULL,
185
+ popup_width varchar(64) NOT NULL,
186
+ popup_height varchar(64) NOT NULL,
187
+ popup_type varchar(64) NOT NULL,
188
+ popup_autoplay varchar(1) NOT NULL,
189
+ popup_interval varchar(64) NOT NULL,
190
+ popup_enable_filmstrip varchar(1) NOT NULL,
191
+ popup_filmstrip_height varchar(64) NOT NULL,
192
+ autohide_lightbox_navigation varchar(1) NOT NULL,
193
+ popup_enable_ctrl_btn varchar(1) NOT NULL,
194
+ popup_enable_fullscreen varchar(1) NOT NULL,
195
+ popup_enable_info varchar(1) NOT NULL,
196
+ popup_info_always_show varchar(1) NOT NULL,
197
+ popup_info_full_width varchar(1) NOT NULL,
198
+ popup_enable_comment varchar(1) NOT NULL,
199
+ popup_enable_fullsize_image varchar(1) NOT NULL,
200
+ popup_enable_download varchar(1) NOT NULL,
201
+ popup_enable_share_buttons varchar(1) NOT NULL,
202
+ popup_enable_facebook varchar(1) NOT NULL,
203
+ popup_enable_twitter varchar(1) NOT NULL,
204
+ popup_enable_google varchar(1) NOT NULL,
205
+ popup_enable_pinterest varchar(1) NOT NULL,
206
+ popup_enable_tumblr varchar(1) NOT NULL,
207
+ show_image_counts varchar(1) NOT NULL,
208
+ enable_loop varchar(1) NOT NULL,
209
+ popup_image_right_click varchar(1) NOT NULL,
210
+
211
+
212
+ UNIQUE KEY id (id)
213
+ ) $charset_collate;";
214
+
215
+ if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
216
+ //table is not created. you may create the table here.
217
+ $wpdb->query($sql);
218
+ }
219
+
220
+ //dbDelta( $sql );
221
+
222
+ $table_name = $wpdb->prefix . WDI_THEME_TABLE;
223
+ $sql = "CREATE TABLE $table_name (
224
+ id mediumint(9) NOT NULL AUTO_INCREMENT PRIMARY KEY,
225
+ theme_name tinytext NOT NULL,
226
+ default_theme varchar(1) NOT NULL,
227
+
228
+ feed_container_bg_color varchar(32) NOT NULL,
229
+ feed_wrapper_width varchar(32) NOT NULL,
230
+ feed_container_width varchar(32) NOT NULL,
231
+ feed_wrapper_bg_color varchar(32) NOT NULL,
232
+ active_filter_bg_color varchar(32) NOT NULL,
233
+ header_margin varchar(32) NOT NULL,
234
+ header_padding varchar(32) NOT NULL,
235
+ header_border_size varchar(32) NOT NULL,
236
+ header_border_color varchar(32) NOT NULL,
237
+ header_position varchar(32) NOT NULL,
238
+ header_img_width varchar(32) NOT NULL,
239
+ header_border_radius varchar(32) NOT NULL,
240
+ header_text_padding varchar(32) NOT NULL,
241
+ header_text_color varchar(32) NOT NULL,
242
+ header_font_weight varchar(32) NOT NULL,
243
+ header_text_font_size varchar(32) NOT NULL,
244
+ header_text_font_style varchar(32) NOT NULL,
245
+ follow_btn_border_radius varchar(32) NOT NULL,
246
+ follow_btn_padding varchar(32) NOT NULL,
247
+ follow_btn_margin varchar(32) NOT NULL,
248
+ follow_btn_bg_color varchar(32) NOT NULL,
249
+ follow_btn_border_color varchar(32) NOT NULL,
250
+ follow_btn_text_color varchar(32) NOT NULL,
251
+ follow_btn_font_size varchar(32) NOT NULL,
252
+ follow_btn_border_hover_color varchar(32) NOT NULL,
253
+ follow_btn_text_hover_color varchar(32) NOT NULL,
254
+ follow_btn_background_hover_color varchar(32) NOT NULL,
255
+
256
+
257
+
258
+ user_horizontal_margin varchar(32) NOT NULL,
259
+ user_padding varchar(32) NOT NULL,
260
+ user_border_size varchar(32) NOT NULL,
261
+ user_border_color varchar(32) NOT NULL,
262
+ user_img_width varchar(32) NOT NULL,
263
+ user_border_radius varchar(32) NOT NULL,
264
+ user_background_color varchar(32) NOT NULL,
265
+
266
+
267
+ users_border_size varchar(32) NOT NULL,
268
+ users_border_color varchar(32) NOT NULL,
269
+ users_background_color varchar(32) NOT NULL,
270
+ users_text_color varchar(32) NOT NULL,
271
+ users_font_weight varchar(32) NOT NULL,
272
+ users_text_font_size varchar(32) NOT NULL,
273
+ users_text_font_style varchar(32) NOT NULL,
274
+ user_description_font_size varchar(32) NOT NULL,
275
+
276
+ lightbox_overlay_bg_color varchar(32) NOT NULL,
277
+ lightbox_overlay_bg_transparent varchar(32) NOT NULL,
278
+ lightbox_bg_color varchar(32) NOT NULL,
279
+ lightbox_ctrl_btn_height varchar(32) NOT NULL,
280
+ lightbox_ctrl_btn_margin_top varchar(32) NOT NULL,
281
+ lightbox_ctrl_btn_margin_left varchar(32) NOT NULL,
282
+ lightbox_ctrl_btn_pos varchar(32) NOT NULL,
283
+ lightbox_ctrl_cont_bg_color varchar(32) NOT NULL,
284
+ lightbox_ctrl_cont_border_radius varchar(32) NOT NULL,
285
+ lightbox_ctrl_cont_transparent varchar(32) NOT NULL,
286
+ lightbox_ctrl_btn_align varchar(32) NOT NULL,
287
+ lightbox_ctrl_btn_color varchar(32) NOT NULL,
288
+ lightbox_ctrl_btn_transparent varchar(32) NOT NULL,
289
+ lightbox_toggle_btn_height varchar(32) NOT NULL,
290
+ lightbox_toggle_btn_width varchar(32) NOT NULL,
291
+ lightbox_close_btn_border_radius varchar(32) NOT NULL,
292
+ lightbox_close_btn_border_width varchar(32) NOT NULL,
293
+ lightbox_close_btn_border_style varchar(32) NOT NULL,
294
+ lightbox_close_btn_border_color varchar(32) NOT NULL,
295
+ lightbox_close_btn_box_shadow varchar(128) NOT NULL,
296
+ lightbox_close_btn_bg_color varchar(32) NOT NULL,
297
+ lightbox_close_btn_transparent varchar(32) NOT NULL,
298
+ lightbox_close_btn_width varchar(32) NOT NULL,
299
+ lightbox_close_btn_height varchar(32) NOT NULL,
300
+ lightbox_close_btn_top varchar(32) NOT NULL,
301
+ lightbox_close_btn_right varchar(32) NOT NULL,
302
+ lightbox_close_btn_size varchar(32) NOT NULL,
303
+ lightbox_close_btn_color varchar(32) NOT NULL,
304
+ lightbox_close_btn_full_color varchar(32) NOT NULL,
305
+ lightbox_close_btn_hover_color varchar(32) NOT NULL,
306
+ lightbox_comment_share_button_color varchar(32) NOT NULL,
307
+ lightbox_rl_btn_style varchar(32) NOT NULL,
308
+ lightbox_rl_btn_bg_color varchar(32) NOT NULL,
309
+ lightbox_rl_btn_transparent varchar(32) NOT NULL,
310
+ lightbox_rl_btn_box_shadow varchar(128) NOT NULL,
311
+ lightbox_rl_btn_height varchar(32) NOT NULL,
312
+ lightbox_rl_btn_width varchar(32) NOT NULL,
313
+ lightbox_rl_btn_size varchar(32) NOT NULL,
314
+ lightbox_close_rl_btn_hover_color varchar(32) NOT NULL,
315
+ lightbox_rl_btn_color varchar(32) NOT NULL,
316
+ lightbox_rl_btn_border_radius varchar(32) NOT NULL,
317
+ lightbox_rl_btn_border_width varchar(32) NOT NULL,
318
+ lightbox_rl_btn_border_style varchar(32) NOT NULL,
319
+ lightbox_rl_btn_border_color varchar(32) NOT NULL,
320
+ lightbox_filmstrip_pos varchar(32) NOT NULL,
321
+ lightbox_filmstrip_thumb_margin varchar(128) NOT NULL,
322
+ lightbox_filmstrip_thumb_border_width varchar(32) NOT NULL,
323
+ lightbox_filmstrip_thumb_border_style varchar(32) NOT NULL,
324
+ lightbox_filmstrip_thumb_border_color varchar(32) NOT NULL,
325
+ lightbox_filmstrip_thumb_border_radius varchar(32) NOT NULL,
326
+ lightbox_filmstrip_thumb_active_border_width varchar(32) NOT NULL,
327
+ lightbox_filmstrip_thumb_active_border_color varchar(32) NOT NULL,
328
+ lightbox_filmstrip_thumb_deactive_transparent varchar(32) NOT NULL,
329
+ lightbox_filmstrip_rl_btn_size varchar(32) NOT NULL,
330
+ lightbox_filmstrip_rl_btn_color varchar(32) NOT NULL,
331
+ lightbox_filmstrip_rl_bg_color varchar(32) NOT NULL,
332
+ lightbox_info_pos varchar(32) NOT NULL,
333
+ lightbox_info_align varchar(32) NOT NULL,
334
+ lightbox_info_bg_color varchar(32) NOT NULL,
335
+ lightbox_info_bg_transparent varchar(32) NOT NULL,
336
+ lightbox_info_border_width varchar(32) NOT NULL,
337
+ lightbox_info_border_style varchar(32) NOT NULL,
338
+ lightbox_info_border_color varchar(32) NOT NULL,
339
+ lightbox_info_border_radius varchar(32) NOT NULL,
340
+ lightbox_info_padding varchar(32) NOT NULL,
341
+ lightbox_info_margin varchar(32) NOT NULL,
342
+ lightbox_title_color varchar(32) NOT NULL,
343
+ lightbox_title_font_style varchar(32) NOT NULL,
344
+ lightbox_title_font_weight varchar(32) NOT NULL,
345
+ lightbox_title_font_size varchar(32) NOT NULL,
346
+ lightbox_description_color varchar(32) NOT NULL,
347
+ lightbox_description_font_style varchar(32) NOT NULL,
348
+ lightbox_description_font_weight varchar(32) NOT NULL,
349
+ lightbox_description_font_size varchar(32) NOT NULL,
350
+ lightbox_info_height varchar(32) NOT NULL,
351
+ lightbox_comment_width varchar(32) NOT NULL,
352
+ lightbox_comment_pos varchar(32) NOT NULL,
353
+ lightbox_comment_bg_color varchar(32) NOT NULL,
354
+ lightbox_comment_font_size varchar(32) NOT NULL,
355
+ lightbox_comment_font_color varchar(32) NOT NULL,
356
+ lightbox_comment_font_style varchar(32) NOT NULL,
357
+ lightbox_comment_author_font_size varchar(32) NOT NULL,
358
+ lightbox_comment_author_font_color varchar(32) NOT NULL,
359
+ lightbox_comment_author_font_color_hover varchar(32) NOT NULL,
360
+ lightbox_comment_date_font_size varchar(32) NOT NULL,
361
+ lightbox_comment_body_font_size varchar(32) NOT NULL,
362
+ lightbox_comment_input_border_width varchar(32) NOT NULL,
363
+ lightbox_comment_input_border_style varchar(32) NOT NULL,
364
+ lightbox_comment_input_border_color varchar(32) NOT NULL,
365
+ lightbox_comment_input_border_radius varchar(32) NOT NULL,
366
+ lightbox_comment_input_padding varchar(32) NOT NULL,
367
+ lightbox_comment_input_bg_color varchar(32) NOT NULL,
368
+ lightbox_comment_button_bg_color varchar(32) NOT NULL,
369
+ lightbox_comment_button_padding varchar(32) NOT NULL,
370
+ lightbox_comment_button_border_width varchar(32) NOT NULL,
371
+ lightbox_comment_button_border_style varchar(32) NOT NULL,
372
+ lightbox_comment_button_border_color varchar(32) NOT NULL,
373
+ lightbox_comment_button_border_radius varchar(32) NOT NULL,
374
+ lightbox_comment_separator_width varchar(32) NOT NULL,
375
+ lightbox_comment_separator_style varchar(32) NOT NULL,
376
+ lightbox_comment_separator_color varchar(32) NOT NULL,
377
+ lightbox_comment_load_more_color varchar(32) NOT NULL,
378
+ lightbox_comment_load_more_color_hover varchar(32) NOT NULL,
379
+
380
+ th_photo_wrap_padding varchar(32) NOT NULL,
381
+ th_photo_wrap_border_size varchar(32) NOT NULL,
382
+ th_photo_wrap_border_color varchar(32) NOT NULL,
383
+ th_photo_img_border_radius varchar(32) NOT NULL,
384
+ th_photo_wrap_bg_color varchar(32) NOT NULL,
385
+ th_photo_meta_bg_color varchar(32) NOT NULL,
386
+ th_photo_meta_one_line varchar(32) NOT NULL,
387
+ th_like_text_color varchar(32) NOT NULL,
388
+ th_comment_text_color varchar(32) NOT NULL,
389
+ th_photo_caption_font_size varchar(32) NOT NULL,
390
+ th_photo_caption_color varchar(32) NOT NULL,
391
+ th_feed_item_margin varchar(32) NOT NULL,
392
+ th_photo_caption_hover_color varchar(32) NOT NULL,
393
+ th_like_comm_font_size varchar(32) NOT NULL,
394
+ th_overlay_hover_color varchar(32) NOT NULL,
395
+ th_overlay_hover_transparent varchar(32) NOT NULL,
396
+ th_overlay_hover_icon_color varchar(32) NOT NULL,
397
+ th_overlay_hover_icon_font_size varchar(32) NOT NULL,
398
+
399
+
400
+ mas_photo_wrap_padding varchar(32) NOT NULL,
401
+ mas_photo_wrap_border_size varchar(32) NOT NULL,
402
+ mas_photo_wrap_border_color varchar(32) NOT NULL,
403
+ mas_photo_img_border_radius varchar(32) NOT NULL,
404
+ mas_photo_wrap_bg_color varchar(32) NOT NULL,
405
+ mas_photo_meta_bg_color varchar(32) NOT NULL,
406
+ mas_photo_meta_one_line varchar(32) NOT NULL,
407
+ mas_like_text_color varchar(32) NOT NULL,
408
+ mas_comment_text_color varchar(32) NOT NULL,
409
+ mas_photo_caption_font_size varchar(32) NOT NULL,
410
+ mas_photo_caption_color varchar(32) NOT NULL,
411
+ mas_feed_item_margin varchar(32) NOT NULL,
412
+ mas_photo_caption_hover_color varchar(32) NOT NULL,
413
+ mas_like_comm_font_size varchar(32) NOT NULL,
414
+ mas_overlay_hover_color varchar(32) NOT NULL,
415
+ mas_overlay_hover_transparent varchar(32) NOT NULL,
416
+ mas_overlay_hover_icon_color varchar(32) NOT NULL,
417
+ mas_overlay_hover_icon_font_size varchar(32) NOT NULL,
418
+
419
+ blog_style_photo_wrap_padding varchar(32) NOT NULL,
420
+ blog_style_photo_wrap_border_size varchar(32) NOT NULL,
421
+ blog_style_photo_wrap_border_color varchar(32) NOT NULL,
422
+ blog_style_photo_img_border_radius varchar(32) NOT NULL,
423
+ blog_style_photo_wrap_bg_color varchar(32) NOT NULL,
424
+ blog_style_photo_meta_bg_color varchar(32) NOT NULL,
425
+ blog_style_photo_meta_one_line varchar(32) NOT NULL,
426
+ blog_style_like_text_color varchar(32) NOT NULL,
427
+ blog_style_comment_text_color varchar(32) NOT NULL,
428
+ blog_style_photo_caption_font_size varchar(32) NOT NULL,
429
+ blog_style_photo_caption_color varchar(32) NOT NULL,
430
+ blog_style_feed_item_margin varchar(32) NOT NULL,
431
+ blog_style_photo_caption_hover_color varchar(32) NOT NULL,
432
+ blog_style_like_comm_font_size varchar(32) NOT NULL,
433
+
434
+ image_browser_photo_wrap_padding varchar(32) NOT NULL,
435
+ image_browser_photo_wrap_border_size varchar(32) NOT NULL,
436
+ image_browser_photo_wrap_border_color varchar(32) NOT NULL,
437
+ image_browser_photo_img_border_radius varchar(32) NOT NULL,
438
+ image_browser_photo_wrap_bg_color varchar(32) NOT NULL,
439
+ image_browser_photo_meta_bg_color varchar(32) NOT NULL,
440
+ image_browser_photo_meta_one_line varchar(32) NOT NULL,
441
+ image_browser_like_text_color varchar(32) NOT NULL,
442
+ image_browser_comment_text_color varchar(32) NOT NULL,
443
+ image_browser_photo_caption_font_size varchar(32) NOT NULL,
444
+ image_browser_photo_caption_color varchar(32) NOT NULL,
445
+ image_browser_feed_item_margin varchar(32) NOT NULL,
446
+ image_browser_photo_caption_hover_color varchar(32) NOT NULL,
447
+ image_browser_like_comm_font_size varchar(32) NOT NULL,
448
+
449
+ load_more_position varchar(32) NOT NULL,
450
+ load_more_padding varchar(32) NOT NULL,
451
+ load_more_bg_color varchar(32) NOT NULL,
452
+ load_more_border_radius varchar(32) NOT NULL,
453
+ load_more_height varchar(32) NOT NULL,
454
+ load_more_width varchar(32) NOT NULL,
455
+ load_more_border_size varchar(32) NOT NULL,
456
+ load_more_border_color varchar(32) NOT NULL,
457
+ load_more_text_color varchar(32) NOT NULL,
458
+ load_more_text_font_size varchar(32) NOT NULL,
459
+ load_more_wrap_hover_color varchar(32) NOT NULL,
460
+ pagination_ctrl_color varchar(32) NOT NULL,
461
+ pagination_size varchar(32) NOT NULL,
462
+ pagination_ctrl_margin varchar(32) NOT NULL,
463
+ pagination_ctrl_hover_color varchar(32) NOT NULL,
464
+ pagination_position varchar(32) NOT NULL,
465
+ pagination_position_vert varchar(32) NOT NULL,
466
+ UNIQUE KEY id (id)
467
+ ) $charset_collate;";
468
+ // dbDelta( $sql );
469
+ if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
470
+ //table is not created. you may create the table here.
471
+ $wpdb->query($sql);
472
+ wdi_install_default_themes();
473
+ }
474
+
475
+ if(!update_option('wdi_version',WDI_VERSION )){
476
+ add_option('wdi_version', WDI_VERSION);
477
+ }
478
+
479
+ }
480
+
481
+ //Callback function for Settings Configure Section
482
+ function wdi_configure_section_callback(){
483
+ $new_url = urlencode(admin_url('admin.php?page=wdi_settings')) . '&response_type=token';
484
+ ?>
485
+ <div id="login_with_instagram">
486
+ <a onclick="document.cookie = 'wdi_autofill=true'" href="https://api.instagram.com/oauth/authorize/?client_id=145c5c2d6ea141ed86459d70c770ae50&redirect_uri=http://api.web-dorado.com/instagram/?return_url=<?php echo $new_url;?>"><img src="<?php echo plugins_url('/images/sign_in_with_instagram.png',__FILE__)?>" alt=""></a>
487
+ </div>
488
+ <div class="wdi_access_token_missing"><?php
489
+ $options = get_option(WDI_OPT);
490
+ if(!isset($options['wdi_access_token']) || $options['wdi_access_token'] == '' || !isset($options['wdi_user_name']) || $options['wdi_user_name'] == '')
491
+ _e('You need Access Token for using plugin, click sign in with Instagram button above to get yours', "wdi");
492
+ ?></div>
493
+ <?php
494
+ }
495
+
496
+ //Callback function for Settings Customize Section
497
+ function wdi_customize_section_callback(){
498
+
499
+ }
500
+
501
+ //Settings field callback:
502
+ //receives settings element as parameter and checks it's type and displays proper form element
503
+ function wdi_field_callback($element){
504
+ $setting = $element[0];
505
+ $wdi_formBuilder = new WDI_admin_view();
506
+ switch($setting['type'])
507
+ {
508
+ case 'input':{
509
+ $wdi_formBuilder->input($setting);
510
+ break;
511
+ }
512
+ case 'checkbox':{
513
+ $wdi_formBuilder->checkbox($setting);
514
+ break;
515
+ }
516
+ case 'color':{
517
+ $wdi_formBuilder->color($setting);
518
+ break;
519
+ }
520
+ case 'textarea':{
521
+ $wdi_formBuilder->textarea($setting);
522
+ break;
523
+ }
524
+ }
525
+ }
526
+
527
+ //Validatates input form submit forms
528
+ function wdi_validate_options($input){
529
+ global $wdi_options;
530
+ foreach( $input as $key => $value ) {
531
+ if( isset( $input[$key] ) ) {
532
+ $wdi_options[$key] = strip_tags( stripslashes( $input[ $key ] ) );
533
+ }
534
+ }
535
+
536
+ return apply_filters( 'wdi_validate_options', $wdi_options, $input );
537
+ }
538
+
539
+ function wdi_sanitize_options($input){
540
+ $output = array();
541
+ $elements = wdi_get_settings();
542
+ foreach( $input as $key => $value ) {
543
+ switch($elements[$key]['sanitize_type']){
544
+ case 'text':{
545
+ if( isset( $input[$key] ) ) {
546
+ $output[$key] = strip_tags( stripslashes( $input[ $key ] ) );
547
+ }
548
+ break;
549
+ }
550
+ case 'css':{
551
+ $output[$key] = esc_js( str_replace(array("\n", "\r"), "",$input[ $key ]) );
552
+ break;
553
+ }
554
+ default:{
555
+ if( isset( $input[$key] ) ) {
556
+ $output[$key] = strip_tags( stripslashes( $input[ $key ] ) );
557
+ }
558
+ break;
559
+ }
560
+ }
561
+ }
562
+ return apply_filters( 'wdi_sanitize_options', $output, $input );
563
+ }
564
+ //Sets all settings for admin pages and returns associative array of settings
565
+ function wdi_get_settings(){
566
+ $settings = array(
567
+ 'wdi_access_token' => array('name' => 'wdi_access_token','sanitize_type'=>'text', 'required' =>'required','input_size'=>'55','type'=>'input','readonly'=>'readonly','default'=>'','field_or_not'=>'field','section'=>'wdi_configure_section','title'=>__('Access Token',"wdi")),
568
+ 'wdi_user_name' => array('name' => 'wdi_user_name','sanitize_type'=>'text','required' =>'required','type'=>'input','section'=>'wdi_configure_section','readonly'=>'readonly','field_or_not'=>'field','default'=>'','title'=>__('Username',"wdi")),
569
+ 'wdi_custom_css'=>array('name'=>'wdi_custom_css','sanitize_type'=>'css','type'=>'textarea','section'=>'wdi_customize_section','field_or_not'=>'field','default'=>'','title'=>__('Custom CSS',"wdi")),
570
+ 'wdi_custom_js'=>array('name'=>'wdi_custom_js','sanitize_type'=>'css','type'=>'textarea','section'=>'wdi_customize_section','field_or_not'=>'field','default'=>'','title'=>__('Custom JavaScript',"wdi")),
571
+ //'wdi_preserve_settings_when_remove'=>array('name'=>'wdi_preserve_settings_when_remove','field_or_not'=>'field','type'=>'checkbox','default'=>'1', 'section'=>'wdi_configure_section','title'=>__('Preserve Settings When Remove',"wdi")),
572
+ 'wdi_plugin_uninstalled' => array('name'=>'wdi_plugin_uninstalled','sanitize_type'=>'bool','field_or_not'=>'field','type'=>'input','input_type'=>'hidden','section'=>'wdi_customize_section','title'=>'','default'=>'false','value'=>'false'),
573
+ //'wdi_version' => array('name'=>'wdi_version','field_or_not'=>'no_field','default'=>WDI_VERSION),
574
+ //'wdi_first_time'=>array('name'=>'wdi_first_time','field_or_not'=>'no_field','default'=>'1')
575
+ );
576
+ return $settings;
577
+ }
578
+
579
+ //Sets plugin default settings
580
+ function wdi_set_options_defaults(){
581
+ $db_options = array();
582
+ $options = get_option(WDI_OPT);
583
+ $wdi_plugin_uninstalled = isset( $options['wdi_plugin_uninstalled']) ? $options['wdi_plugin_uninstalled'] : '';
584
+ $old_access_token = isset( $options['wdi_access_token']) ? $options['wdi_access_token']:'';
585
+ $old_user_name = isset( $options['wdi_user_name']) ? $options['wdi_user_name'] : '';
586
+
587
+ $settings = wdi_get_settings();
588
+ foreach ($settings as $setting) {
589
+ $settingDefault = isset($setting['default'])? $setting['default'] : '';
590
+ if(!$settingDefault==''){
591
+ if($setting['default']!=NULL){
592
+ $db_options[$setting['name']]=$setting['default'];
593
+ }
594
+ }
595
+ }
596
+
597
+
598
+ //check if deactivation/activation occured that keep settings instead of deleting
599
+ if($wdi_plugin_uninstalled == 'false'){
600
+ $db_options['wdi_access_token'] = $old_access_token;
601
+ $db_options['wdi_user_name'] = $old_user_name;
602
+ }
603
+ // $db_options['wdi_plugin_uninstalled'] = 'false';
604
+ add_option(WDI_OPT,$db_options,'','yes');
605
+ update_option(WDI_OPT,$db_options,'yes');
606
+ wdi_get_options();
607
+
608
+ }
609
+
610
+ function wdi_get_options() {
611
+ global $wdi_options;
612
+ $wdi_options = get_option(WDI_OPT);
613
+ return apply_filters('wdi_get_options', $wdi_options);
614
+ }
615
+
616
+
617
+
618
+
619
+
620
+ function wdi_install_default_themes(){
621
+ global $wdi_options;
622
+ global $wpdb;
623
+
624
+ require_once WDI_DIR . "/templates/default-themes.php";
625
+ $default_themes = wdi_get_default_themes();
626
+ foreach ($default_themes as $theme) {
627
+ $table_name = $wpdb->prefix. WDI_THEME_TABLE;
628
+ if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
629
+ require_once(WDI_DIR . '/framework/WDILibrary.php');
630
+ echo WDILibrary::message(__('Database error, please uninstall the plugin and install again', "wdi"), 'error');
631
+ }else{
632
+ $wpdb->insert($table_name, $theme);
633
+ }
634
+ }
635
+
636
+ }
637
+
638
+ ?>
admin/controllers/WDIControllerEditorShortcode.php ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIControllerEditorShortcode {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ public function execute() {
22
+ $this->display();
23
+ }
24
+
25
+ public function display() {
26
+ require_once WDI_DIR . "/admin/models/WDIModelEditorShortcode.php";
27
+ $model = new WDIModelEditorShortcode();
28
+
29
+ require_once WDI_DIR . "/admin/views/WDIViewEditorShortcode.php";
30
+ $view = new WDIViewEditorShortcode($model);
31
+ $view->display();
32
+ }
33
+
34
+ ////////////////////////////////////////////////////////////////////////////////////////
35
+ // Getters & Setters //
36
+ ////////////////////////////////////////////////////////////////////////////////////////
37
+ ////////////////////////////////////////////////////////////////////////////////////////
38
+ // Private Methods //
39
+ ////////////////////////////////////////////////////////////////////////////////////////
40
+ ////////////////////////////////////////////////////////////////////////////////////////
41
+ // Listeners //
42
+ ////////////////////////////////////////////////////////////////////////////////////////
43
+ }
admin/controllers/WDIControllerFeeds_wdi.php ADDED
@@ -0,0 +1,501 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIControllerFeeds_wdi {
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ private $dataFormat;
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ $this->setDataFormat();
18
+ }
19
+ ////////////////////////////////////////////////////////////////////////////////////////
20
+ // Public Methods //
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ public function execute() {
23
+ $task = WDILibrary::get('task');
24
+ $id = WDILibrary::get('current_id', 0);
25
+ $message = WDILibrary::get('message');
26
+ echo WDILibrary::message_id($message);
27
+ if (method_exists($this, $task)) {
28
+ check_admin_referer('nonce_wd', 'nonce_wd');
29
+ $this->$task($id);
30
+ }
31
+ else {
32
+ $this->display();
33
+ }
34
+ }
35
+ ////////////////////////////////////////////////////////////////////////////////////////
36
+ // Private Methods //
37
+ ////////////////////////////////////////////////////////////////////////////////////////
38
+ private function setDataFormat(){
39
+ $this->dataFormat = array(
40
+ '%s',/*feed_name*/
41
+ '%s',/*feed_thumb*/
42
+ '%s',/*thumb_user*/
43
+ '%d',/*published*/
44
+ '%d',/*theme_id*/
45
+ '%s',/*feed_users*/
46
+ '%s',/*feed_display_view*/
47
+ '%s',/*sort_images_by*/
48
+ '%s',/*display_order*/
49
+ '%d',/*follow_on_instagram_btn*/
50
+ '%d',/*display_header*/
51
+ '%d',/*number_of_photos*/
52
+ '%d',/*load_more_number*/
53
+ '%d',/*'pagination_per_page_number'*/
54
+ '%d',/*'pagination_preload_number'*/
55
+ '%d',/*image_browser_preload_number*/
56
+ '%d',/*image_browser_load_number*/
57
+ '%d',/*number_of_columns*/
58
+ '%d',/*resort_after_load_more*/
59
+ '%d',/*show_likes*/
60
+ '%d',/*show_description*/
61
+ '%d',/*show_comments*/
62
+ '%d',/*show_usernames*/
63
+ '%d',/*display_user_info*/
64
+ '%d',//'display_user_post_follow_number'
65
+ '%d',/*show_full_description*/
66
+ '%d',/*disable_mobile_layout*/
67
+ '%s',/*feed_type*/
68
+ '%s',/*feed_item_onclick*/
69
+ '%d',//'popup_fullscreen'=>'bool',
70
+ '%d',//'popup_width'=>'number',
71
+ '%d',//'popup_height'=>'number',
72
+ '%s',//'popup_type'=>'string',
73
+ '%d',//'popup_autoplay'=>'bool',
74
+ '%d',//'popup_interval'=>'number',
75
+ '%d',//'popup_enable_filmstrip'=>'bool',
76
+ '%d',//'popup_filmstrip_height'=>'number',
77
+ '%d',//'autohide_lightbox_navigation'=>'bool',
78
+ '%d',//'popup_enable_ctrl_btn'=>'bool',
79
+ '%d',//'popup_enable_fullscreen'=>'bool',
80
+ '%d',//'popup_enable_info'=>'bool',
81
+ '%d',//'popup_info_always_show'=>'bool',
82
+ '%d',//'popup_info_full_width'=>'bool',
83
+ '%d',//'popup_enable_comment'=>'bool',
84
+ '%d',//'popup_enable_fullsize_image'=>'bool',
85
+ '%d',//'popup_enable_download'=>'bool',
86
+ '%d',//popup_enable_share_buttons=>'bool',
87
+ '%d',//'popup_enable_facebook'=>'bool',
88
+ '%d',//'popup_enable_twitter'=>'bool',
89
+ '%d',//'popup_enable_google'=>'bool',
90
+ '%d',//'popup_enable_pinterest'=>'bool',
91
+ '%d',//'popup_enable_tumblr'=>'bool',
92
+ '%d',//'show_image_counts'=>'bool',
93
+ '%d',//'enable_loop'=>'bool'
94
+ '%d',//popup_image_right_click=>'bool'
95
+ );
96
+ }
97
+ private function display() {
98
+ require_once (WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php");
99
+ $model = new WDIModelFeeds_wdi();
100
+
101
+ require_once (WDI_DIR . "/admin/views/WDIViewFeeds_wdi.php");
102
+ $view = new WDIViewFeeds_wdi($model);
103
+ $view->display();
104
+ }
105
+
106
+ private function add() {
107
+ require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
108
+ $model = new WDIModelFeeds_wdi();
109
+
110
+ require_once WDI_DIR . "/admin/views/WDIViewFeeds_wdi.php";
111
+ $view = new WDIViewFeeds_wdi($model);
112
+ $view->edit(0);
113
+ }
114
+
115
+
116
+ private function edit($customId = '') {
117
+
118
+ require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
119
+ $model = new WDIModelFeeds_wdi();
120
+
121
+ require_once WDI_DIR . "/admin/views/WDIViewFeeds_wdi.php";
122
+ $view = new WDIViewFeeds_wdi($model);
123
+ if($customId != ''){
124
+ $id = $customId;
125
+ }else{
126
+ $id = ((isset($_POST['current_id']) && esc_html(stripslashes($_POST['current_id'])) != '') ? esc_html(stripslashes($_POST['current_id'])) : 0);
127
+ }
128
+ $view->edit($id);
129
+ }
130
+
131
+ // private function save() {
132
+ // $page = WDILibrary::get('page');
133
+ // WDILibrary::wdi_spider_redirect(add_query_arg(array('page' => $page, 'task' => 'display', 'message' => 1), admin_url('admin.php')));
134
+ // }
135
+
136
+ private function apply() {
137
+ $this->save_slider_db();
138
+ $this->save_slide_db();
139
+ $this->edit();
140
+ }
141
+
142
+ private function save_feed(){
143
+ require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
144
+ $model = new WDIModelFeeds_wdi();
145
+
146
+ $settings = ($_POST[WDI_FSN]);
147
+ $defaults = $model->wdi_get_feed_defaults();
148
+
149
+ $settings = $this->sanitize_input($settings,$defaults);
150
+ $settings = wp_parse_args( $settings, $defaults );
151
+
152
+ $settings = $this->check_settings($settings);
153
+
154
+
155
+ global $wpdb;
156
+ $action = $_POST['add_or_edit'];
157
+
158
+
159
+ if($action==''){
160
+ $wpdb->insert($wpdb->prefix. WDI_FEED_TABLE, $settings,$this->dataFormat);
161
+ if($wpdb->insert_id == false){
162
+ $this->message(__('Cannot Write on database',"wdi"),'error');
163
+ }
164
+ }else{
165
+ $msg = $wpdb->update($wpdb->prefix. WDI_FEED_TABLE, $settings, array('id'=>$action), $this->dataFormat,array('%d'));
166
+ if($msg == false){
167
+ $this->message(__("You have not made new changes","wdi"),'notice');
168
+ }else{
169
+ $this->message(__("Successfully saved","wdi"),"updated");
170
+ }
171
+ }
172
+ $this->display();
173
+ }
174
+
175
+ private function apply_changes(){
176
+ require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
177
+ $model = new WDIModelFeeds_wdi();
178
+
179
+ $settings = ($_POST[WDI_FSN]);
180
+ $defaults = $model->wdi_get_feed_defaults();
181
+
182
+ $settings = $this->sanitize_input($settings,$defaults);
183
+ $settings = wp_parse_args( $settings, $defaults );
184
+ $settings = $this->check_settings($settings);
185
+ global $wpdb;
186
+ $action = $_POST['add_or_edit'];
187
+
188
+
189
+ if($action==''){
190
+ $wpdb->insert($wpdb->prefix. WDI_FEED_TABLE, $settings,$this->dataFormat);
191
+ if($wpdb->insert_id == false){
192
+ $this->message(__("Cannot Write on database","wdi"),'error');
193
+ $this->display();
194
+ }else{
195
+ $this->edit($wpdb->insert_id);
196
+ }
197
+ }else{
198
+ $msg = $wpdb->update($wpdb->prefix. WDI_FEED_TABLE, $settings, array('id'=>$action), $this->dataFormat,array('%d'));
199
+ if($msg == false){
200
+ $this->message(__("You have not made new changes","wdi"),'notice');
201
+ $this->edit();
202
+ }else{
203
+ $this->message(__("Changes have been successfully applied","wdi"),"updated");
204
+ $this->edit();
205
+ }
206
+
207
+ }
208
+
209
+ }
210
+
211
+ private function cancel(){
212
+ $this->display();
213
+ }
214
+ private function reset_changes(){
215
+ require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
216
+ $model = new WDIModelFeeds_wdi();
217
+ $defaults = $model->wdi_get_feed_defaults();
218
+ $defaults = $this->check_settings($defaults);
219
+ global $wpdb;
220
+ $action = $_POST['add_or_edit'];
221
+
222
+
223
+ if($action==''){
224
+ $wpdb->insert($wpdb->prefix. WDI_FEED_TABLE, $defaults,$this->dataFormat);
225
+ if($wpdb->insert_id == false){
226
+ $this->message(__('Cannot Write on database',"wdi"),'error');
227
+ $this->display();
228
+ }else{
229
+ $this->edit($wpdb->insert_id);
230
+ }
231
+ }else{
232
+ $msg = $wpdb->update($wpdb->prefix. WDI_FEED_TABLE, $defaults, array('id'=>$action), $this->dataFormat,array('%d'));
233
+ if($msg == false){
234
+ $this->message(__("You have not made new changes","wdi"),'notice');
235
+ + $this->edit();
236
+ }else{
237
+ $this->message(__("Feed successfully reseted","wdi"),"updated");
238
+ $this->edit();
239
+ }
240
+ }
241
+
242
+ }
243
+
244
+ private function duplicate_all($id) {
245
+ global $wpdb;
246
+ $feed_ids_col = $wpdb->get_col('SELECT id FROM ' . $wpdb->prefix . WDI_FEED_TABLE);
247
+ foreach ($feed_ids_col as $slider_id) {
248
+ if (isset($_POST['check_' . $slider_id])) {
249
+ $this->duplicate_tabels($slider_id);
250
+ }
251
+ }
252
+ echo WDILibrary::message(__('Item Succesfully Duplicated.', "wdi"), 'updated');
253
+ $this->display();
254
+ }
255
+
256
+ private function duplicate_tabels($feed_id) {
257
+ global $wpdb;
258
+ if ($feed_id) {
259
+ $feed_row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . WDI_FEED_TABLE.' where id="%d"', $feed_id));
260
+ }
261
+
262
+ if ($feed_row) {
263
+ $duplicate_values = WDILibrary::objectToArray($feed_row);
264
+ unset($duplicate_values['id']);
265
+ $save = $wpdb->insert($wpdb->prefix . WDI_FEED_TABLE,$duplicate_values, $this->dataFormat);
266
+ $new_slider_id = $wpdb->get_var('SELECT MAX(id) FROM ' . $wpdb->prefix . WDI_FEED_TABLE);
267
+ }
268
+ return $new_slider_id;
269
+ }
270
+
271
+ private function delete($id) {
272
+ global $wpdb;
273
+ $query = $wpdb->prepare('DELETE FROM ' . $wpdb->prefix . WDI_FEED_TABLE. ' WHERE id="%d"', $id);
274
+ if ($wpdb->query($query)) {
275
+ echo WDILibrary::message(__('Item Succesfully Deleted.',"wdi"), 'updated');
276
+ }
277
+ else {
278
+ echo WDILibrary::message(__('Error. Please install plugin again.', "wdi"), 'error');
279
+ }
280
+ $this->display();
281
+ }
282
+
283
+ private function delete_all() {
284
+ global $wpdb;
285
+ $flag = FALSE;
286
+ $feed_ids_col = $wpdb->get_col('SELECT id FROM ' . $wpdb->prefix . WDI_FEED_TABLE);
287
+ foreach ($feed_ids_col as $slider_id) {
288
+ if (isset($_POST['check_' . $slider_id]) || isset($_POST['check_all_items'])) {
289
+ $flag = TRUE;
290
+ $query = $wpdb->prepare('DELETE FROM ' . $wpdb->prefix . WDI_FEED_TABLE.' WHERE id="%d"', $slider_id);
291
+ $wpdb->query($query);
292
+ }
293
+ }
294
+ if ($flag) {
295
+ echo WDILibrary::message(__('Items Succesfully Deleted.', "wdi"), 'updated');
296
+ }
297
+ else {
298
+ echo WDILibrary::message(__('You must select at least one item.', "wdi"), 'error');
299
+ }
300
+ $this->display();
301
+ }
302
+
303
+ private function publish($id) {
304
+ global $wpdb;
305
+ $save = $wpdb->update($wpdb->prefix . WDI_FEED_TABLE, array('published' => 1), array('id' => $id));
306
+ if ($save !== FALSE) {
307
+ echo WDILibrary::message(__('Item Succesfully Published.', "wdi"), 'updated');
308
+ }
309
+ else {
310
+ echo WDILibrary::message(__('Error. Please install plugin again.', "wdi"), 'error');
311
+ }
312
+ $this->display();
313
+ }
314
+
315
+ private function publish_all() {
316
+ global $wpdb;
317
+ $flag = FALSE;
318
+ if (isset($_POST['check_all_items'])) {
319
+ $wpdb->query('UPDATE ' . $wpdb->prefix . WDI_FEED_TABLE.' SET published=1');
320
+ $flag = TRUE;
321
+ }
322
+ else {
323
+ $feed_ids_col = $wpdb->get_col('SELECT id FROM ' . $wpdb->prefix . WDI_FEED_TABLE);
324
+ foreach ($feed_ids_col as $slider_id) {
325
+ if (isset($_POST['check_' . $slider_id])) {
326
+ $flag = TRUE;
327
+ $wpdb->update($wpdb->prefix . WDI_FEED_TABLE, array('published' => 1), array('id' => $slider_id));
328
+ }
329
+ }
330
+ }
331
+ if ($flag) {
332
+ echo WDILibrary::message(__('Items Succesfully Published.', "wdi"), 'updated');
333
+ }
334
+ else {
335
+ echo WDILibrary::message(__('You must select at least one item.', "wdi"), 'error');
336
+ }
337
+ $this->display();
338
+ }
339
+
340
+ private function unpublish($id) {
341
+ global $wpdb;
342
+ $save = $wpdb->update($wpdb->prefix . WDI_FEED_TABLE, array('published' => 0), array('id' => $id));
343
+ if ($save !== FALSE) {
344
+ echo WDILibrary::message(__('Item Succesfully Unpublished.', "wdi"), 'updated');
345
+ }
346
+ else {
347
+ echo WDILibrary::message(__('Error. Please install plugin again.', "wdi"), 'error');
348
+ }
349
+ $this->display();
350
+ }
351
+
352
+ private function unpublish_all() {
353
+ global $wpdb;
354
+ $flag = FALSE;
355
+ if (isset($_POST['check_all_items'])) {
356
+ $wpdb->query('UPDATE ' . $wpdb->prefix . WDI_FEED_TABLE.' SET published=0');
357
+ $flag = TRUE;
358
+ }
359
+ else {
360
+ $feed_ids_col = $wpdb->get_col('SELECT id FROM ' . $wpdb->prefix . WDI_FEED_TABLE);
361
+ foreach ($feed_ids_col as $slider_id) {
362
+ if (isset($_POST['check_' . $slider_id])) {
363
+ $flag = TRUE;
364
+ $wpdb->update($wpdb->prefix . WDI_FEED_TABLE, array('published' => 0), array('id' => $slider_id));
365
+ }
366
+ }
367
+ }
368
+ if ($flag) {
369
+ echo WDILibrary::message(__('Items Succesfully Unpublished.', "wdi"), 'updated');
370
+ }
371
+ else {
372
+ echo WDILibrary::message(__('You must select at least one item.', "wdi"), 'error');
373
+ }
374
+ $this->display();
375
+ }
376
+
377
+ private function check_settings($settings){
378
+ if(count(explode(',', $settings['feed_users']))){
379
+ $settings['feed_users'] = explode(',', $settings['feed_users']);
380
+ $settings['feed_users'] = $settings['feed_users'][0];
381
+ };
382
+ if(intval($settings['theme_id']) > 1){
383
+ $settings['theme_id'] = '1';
384
+ };
385
+ if($settings['feed_display_view'] === 'infinite_scroll'){
386
+ $settings['feed_display_view'] = 'load_more_btn';
387
+ }
388
+ if($settings['feed_type'] === 'masonry' || $settings['feed_type'] === 'blog_style'){
389
+ $settings['feed_type'] = 'thumbnails';
390
+ }
391
+ if($settings['popup_enable_filmstrip'] == '1'){
392
+ $settings['popup_enable_filmstrip'] = '0';
393
+ }
394
+ if($settings['popup_filmstrip_height'] != '70'){
395
+ $settings['popup_filmstrip_height'] = '70';
396
+ }
397
+ if($settings['popup_enable_comment'] == '1'){
398
+ $settings['popup_enable_comment'] = '0';
399
+ }
400
+ if($settings['popup_enable_share_buttons'] == '1'){
401
+ $settings['popup_enable_share_buttons'] = '0';
402
+ }
403
+
404
+ if($settings['popup_info_always_show'] == '1'){
405
+ $settings['popup_info_always_show'] = '0';
406
+ }
407
+
408
+ if($settings['popup_info_full_width'] == '1'){
409
+ $settings['popup_info_full_width'] = '0';
410
+ }
411
+
412
+ if($settings['popup_enable_info'] == '1'){
413
+ $settings['popup_enable_info'] = '0';
414
+ }
415
+ if($settings['show_likes'] == '1'){
416
+ $settings['show_likes'] = '0';
417
+ }
418
+
419
+ if($settings['show_description'] == '1'){
420
+ $settings['show_description'] = '0';
421
+ }
422
+
423
+ if($settings['show_comments'] == '1'){
424
+ $settings['show_comments'] = '0';
425
+ }
426
+ return $settings;
427
+ }
428
+
429
+
430
+ private function sanitize_input($settings,$defaults){
431
+
432
+ require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
433
+ $model = new WDIModelFeeds_wdi();
434
+ $sanitize_types=$model->get_sanitize_types();
435
+ $sanitized_output = array();
436
+ foreach ($settings as $setting_name => $value) {
437
+
438
+ switch($sanitize_types[$setting_name]){
439
+ case 'string':{
440
+ $sanitized_val=$this->sanitize_string($value,$defaults[$setting_name]);
441
+ $sanitized_output[$setting_name] = $sanitized_val;
442
+ break;
443
+ }
444
+ case 'number':{
445
+ $sanitized_val=$this->sanitize_number($value,$defaults[$setting_name]);
446
+ $sanitized_output[$setting_name] = $sanitized_val;
447
+ break;
448
+ }
449
+ case 'bool':{
450
+ $sanitized_val=$this->sanitize_bool($value,$defaults[$setting_name]);
451
+ $sanitized_output[$setting_name] = $sanitized_val;
452
+ break;
453
+ }
454
+ case 'url':{
455
+ $sanitized_val=$this->sanitize_url($value,$defaults[$setting_name]);
456
+ $sanitized_output[$setting_name] = $sanitized_val;
457
+ break;
458
+ }
459
+ }
460
+ }
461
+ return $sanitized_output;
462
+ }
463
+
464
+ private function sanitize_bool($value,$default){
465
+ if($value == 1 || $value == 0){
466
+ return $value;
467
+ }
468
+ else{
469
+ return $default;
470
+ }
471
+ }
472
+ private function sanitize_string($value,$default){
473
+ $sanitized_val = strip_tags(stripslashes($value));
474
+ if($sanitized_val == ''){
475
+ return $default;
476
+ }else{
477
+ return $sanitized_val;
478
+ }
479
+ }
480
+ private function sanitize_number($value,$default){
481
+ if(is_numeric($value) && $value>0){
482
+ return $value;
483
+ }else{
484
+ return $default;
485
+ }
486
+ }
487
+ private function sanitize_url($value,$default){
488
+ if (!filter_var($value, FILTER_VALIDATE_URL) === false) {
489
+ return $value;
490
+ } else {
491
+ return $default;
492
+ }
493
+ }
494
+
495
+ private function message($text,$type){
496
+ require_once(WDI_DIR . '/framework/WDILibrary.php');
497
+ echo WDILibrary::message($text, $type);
498
+ }
499
+
500
+ }
501
+ ?>
admin/controllers/WDIControllerLicensing_wdi.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIControllerLicensing_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ public function execute() {
22
+ $task = ((isset($_POST['task'])) ? esc_html(stripslashes($_POST['task'])) : '');
23
+
24
+ if($task != ''){
25
+ if(!WDWLibrary::verify_nonce('licensing_bwg')){
26
+ die('Sorry, your nonce did not verify.');
27
+ }
28
+ }
29
+
30
+
31
+ if (method_exists($this, $task)) {
32
+ $this->$task($id);
33
+ }
34
+ else {
35
+ $this->display();
36
+ }
37
+ }
38
+
39
+ public function display() {
40
+ require_once WDI_DIR . "/admin/models/WDIModelLicensing_wdi.php";
41
+ $model = new WDIModelLicensing_wdi();
42
+
43
+ require_once WDI_DIR . "/admin/views/WDIViewLicensing_wdi.php";
44
+ $view = new WDIViewLicensing_wdi($model);
45
+ $view->display();
46
+ }
47
+
48
+ ////////////////////////////////////////////////////////////////////////////////////////
49
+ // Getters & Setters //
50
+ ////////////////////////////////////////////////////////////////////////////////////////
51
+ ////////////////////////////////////////////////////////////////////////////////////////
52
+ // Private Methods //
53
+ ////////////////////////////////////////////////////////////////////////////////////////
54
+ ////////////////////////////////////////////////////////////////////////////////////////
55
+ // Listeners //
56
+ ////////////////////////////////////////////////////////////////////////////////////////
57
+ }
admin/controllers/WDIControllerSettings_wdi.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIControllerSettings_wdi{
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Constructor & Destructor //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ function __construct(){
8
+
9
+ }
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Public Methods //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ public function execute() {
14
+
15
+ $this->display();
16
+ }
17
+ public function display(){
18
+ require_once(WDI_DIR . '/admin/models/WDIModelSettings_wdi.php');
19
+ $model = new WDIModelSettings_wdi();
20
+
21
+ require_once(WDI_DIR . '/admin/views/WDIViewSettings_wdi.php');
22
+ $view = new WDIViewSettings_wdi($model);
23
+ $view->display();
24
+ }
25
+ }
admin/controllers/WDIControllerThemes_wdi.php ADDED
@@ -0,0 +1,686 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIControllerThemes_wdi {
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ private $data_format;
13
+ private $view,$model;
14
+ ////////////////////////////////////////////////////////////////////////////////////////
15
+ // Constructor & Destructor //
16
+ ////////////////////////////////////////////////////////////////////////////////////////
17
+ public function __construct() {
18
+ $this->setDataFormat();
19
+ require_once (WDI_DIR . "/admin/models/WDIModelThemes_wdi.php");
20
+ $this->model = new WDIModelThemes_wdi();
21
+
22
+ require_once (WDI_DIR . "/admin/views/WDIViewThemes_wdi.php");
23
+ $this->view = new WDIViewThemes_wdi($this->model);
24
+ }
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ // Public Methods //
27
+ ////////////////////////////////////////////////////////////////////////////////////////
28
+ public function execute() {
29
+ $task = WDILibrary::get('task');
30
+ $id = WDILibrary::get('current_id', 0);
31
+ $message = WDILibrary::get('message');
32
+ echo WDILibrary::message_id($message);
33
+ if (method_exists($this, $task)) {
34
+ check_admin_referer('nonce_wd', 'nonce_wd');
35
+ $this->$task($id);
36
+ }
37
+ else {
38
+ $this->display();
39
+ }
40
+ }
41
+
42
+ public function display() {
43
+ require_once (WDI_DIR . "/admin/models/WDIModelThemes_wdi.php");
44
+ $model = new WDIModelThemes_wdi();
45
+
46
+ require_once (WDI_DIR . "/admin/views/WDIViewThemes_wdi.php");
47
+ $view = new WDIViewThemes_wdi($model);
48
+ $view->display();
49
+ }
50
+
51
+ ////////////////////////////////////////////////////////////////////////////////////////
52
+ // Private Methods //
53
+ ////////////////////////////////////////////////////////////////////////////////////////
54
+ private function setDataFormat(){
55
+ $this->data_format = array(
56
+ '%s',/*theme_name*/
57
+ '%s',/*default_theme*/
58
+ '%s',/*feed_container_bg_color*/
59
+ '%s',/*feed_wrapper_width*/
60
+ '%s',/*feed_container_width*/
61
+ '%s',/*feed_wrapper_bg_color*/
62
+ '%s',/*active_filter_bg_color*/
63
+ '%s',/*header_margin*/
64
+ '%s',/*header_padding*/
65
+ '%s',/*header_border_size*/
66
+ '%s',/*header_border_color*/
67
+ '%s',/*header_position*/
68
+ '%s',/*header_img_width*/
69
+ '%s',/*header_border_radius*/
70
+ '%s',/*header_text_padding*/
71
+ '%s',/*header_text_color*/
72
+ '%d',/*header_font_weight*/
73
+ '%s',/*header_text_font_size*/
74
+ '%s',/*header_text_font_style*/
75
+ '%s',/*'follow_btn_border_radius'=>'number'*/
76
+ '%s',/*'follow_btn_padding'=>'number'*/
77
+ '%d',/*'follow_btn_margin'=>'number'*/
78
+ '%s',//'follow_btn_bg_color'=>'color',
79
+ '%s',//'follow_btn_border_color'=>'color',
80
+ '%s',//'follow_btn_text_color'=>'color',
81
+ '%d',//'follow_btn_font_size'=>'number',
82
+ '%s',//'follow_btn_border_hover_color'=>'color',
83
+ '%s',//'follow_btn_text_hover_color'=>'color',
84
+ '%s',//'follow_btn_background_hover_color'=>'color',
85
+
86
+ '%s',/*user_horizontal_margin*/
87
+ '%s',/*user_padding*/
88
+ '%s',/*user_border_size*/
89
+ '%s',/*user_border_color*/
90
+ '%d',//'user_img_width'
91
+ '%d',/*user_border_radius*/
92
+ '%s',/*user_background_color*/
93
+ '%s',/*users_border_size*/
94
+ '%s',/*users_border_color*/
95
+ '%s',/*users_background_color*/
96
+ '%s',//users_text_color
97
+ '%d',//users_font_weight
98
+ '%s',//users_text_font_size
99
+ '%s',//users_text_font_style
100
+ '%s',//user_description_font_size
101
+ '%s',//'lightbox_overlay_bg_color'=>'color',
102
+ '%d',//'lightbox_overlay_bg_transparent'=>'number_max_100',
103
+ '%s',//'lightbox_bg_color'=>'color',
104
+ '%d',//'lightbox_ctrl_btn_height'=>'number',
105
+ '%d',//'lightbox_ctrl_btn_margin_top'=>'number',
106
+ '%d',//'lightbox_ctrl_btn_margin_left'=>'number',
107
+ '%s',//'lightbox_ctrl_btn_pos'=>'string',
108
+ '%s',//'lightbox_ctrl_cont_bg_color'=>'color',
109
+ '%d',//'lightbox_ctrl_cont_border_radius'=>'number',
110
+ '%d',//'lightbox_ctrl_cont_transparent'=>'number_max_100',
111
+ '%s',//'lightbox_ctrl_btn_align'=>'position',
112
+ '%s',//'lightbox_ctrl_btn_color'=>'color',
113
+ '%d',//'lightbox_ctrl_btn_transparent'=>'number_max_100',
114
+ '%d',//'lightbox_toggle_btn_height'=>'number',
115
+ '%d',//'lightbox_toggle_btn_width'=>'number',
116
+ '%d',//'lightbox_close_btn_border_radius'=>'number',
117
+ '%d',//'lightbox_close_btn_border_width'=>'number',
118
+ '%s',//'lightbox_close_btn_border_style'=>'string',
119
+ '%s',//'lightbox_close_btn_border_color'=>'color',
120
+ '%s',//'lightbox_close_btn_box_shadow'=>'css_box_shadow',
121
+ '%s',//'lightbox_close_btn_bg_color'=>'color',
122
+ '%d',//'lightbox_close_btn_transparent'=>'number_max_100',
123
+ '%d',//'lightbox_close_btn_width'=>'number',
124
+ '%d',//'lightbox_close_btn_height'=>'number',
125
+ '%d',//'lightbox_close_btn_top'=>'number_neg',
126
+ '%d',//'lightbox_close_btn_right'=>'number_neg',
127
+ '%d',//'lightbox_close_btn_size'=>'number',
128
+ '%s',//'lightbox_close_btn_color'=>'color',
129
+ '%s',//'lightbox_close_btn_full_color'=>'color',
130
+ '%s',//'lightbox_close_btn_hover_color'=>'color'
131
+ '%s',//'lightbox_comment_share_button_color'=>'color',
132
+ '%s',//'lightbox_rl_btn_style'=>'string',
133
+ '%s',//'lightbox_rl_btn_bg_color'=>'color',
134
+ '%d',//'lightbox_rl_btn_transparent'=>'number_max_100',
135
+ '%s',//'lightbox_rl_btn_box_shadow'=>'css_box_shadow',
136
+ '%d',//'lightbox_rl_btn_height'=>'number',
137
+ '%d',//'lightbox_rl_btn_width'=>'number',
138
+ '%d',//'lightbox_rl_btn_size'=>'number',
139
+ '%s',//'lightbox_close_rl_btn_hover_color'=>'color',
140
+ '%s',//'lightbox_rl_btn_color'=>'color',
141
+ '%d',//'lightbox_rl_btn_border_radius'=>'number',
142
+ '%d',//'lightbox_rl_btn_border_width'=>'number',
143
+ '%s',//'lightbox_rl_btn_border_style'=>'string',
144
+ '%s',//'lightbox_rl_btn_border_color'=>'color',
145
+ '%s',//'lightbox_filmstrip_pos'=>'position',
146
+ '%s',//'lightbox_filmstrip_thumb_margin'=>'length_multi',
147
+ '%d',//'lightbox_filmstrip_thumb_border_width'=>'number',
148
+ '%s',//'lightbox_filmstrip_thumb_border_style'=>'string',
149
+ '%s',//'lightbox_filmstrip_thumb_border_color'=>'color',
150
+ '%d',//'lightbox_filmstrip_thumb_border_radius'=>'number',
151
+ '%d',//'lightbox_filmstrip_thumb_active_border_width'=>'number',
152
+ '%s',//'lightbox_filmstrip_thumb_active_border_color'=>'color',
153
+ '%s',//'lightbox_filmstrip_thumb_deactive_transparent'=>'number_max_100',
154
+ '%d',//'lightbox_filmstrip_rl_btn_size'=>'number',
155
+ '%s',//'lightbox_filmstrip_rl_btn_color'=>'color',
156
+ '%s',//'lightbox_filmstrip_rl_bg_color'=>'color',
157
+ '%s',//'lightbox_info_pos'=>'position',
158
+ '%s',//'lightbox_info_align'=>'string',
159
+ '%s',//'lightbox_info_bg_color'=>'color',
160
+ '%d',//'lightbox_info_bg_transparent'=>'number_max_100',
161
+ '%d',//'lightbox_info_border_width'=>'number',
162
+ '%s',//'lightbox_info_border_style'=>'string',
163
+ '%s',//'lightbox_info_border_color'=>'color',
164
+ '%d',//'lightbox_info_border_radius'=>'number',
165
+ '%s',//'lightbox_info_padding'=>'length_multi',
166
+ '%s',//'lightbox_info_margin'=>'length_multi',
167
+ '%s',//'lightbox_title_color'=>'color',
168
+ '%s',//'lightbox_title_font_style'=>'string',
169
+ '%s',//'lightbox_title_font_weight'=>'string',
170
+ '%d',//'lightbox_title_font_size'=>'number',
171
+ '%s',//'lightbox_description_color'=>'color',
172
+ '%s',//'lightbox_description_font_style'=>'string',
173
+ '%s',//'lightbox_description_font_weight'=>'string',
174
+ '%d',//'lightbox_description_font_size'=>'number',
175
+ '%d',//'lightbox_info_height'=>'number_max_100'
176
+ '%d',//'lightbox_comment_width'=>'number',
177
+ '%s',//'lightbox_comment_pos'=>'string',
178
+ '%s',//'lightbox_comment_bg_color'=>'color',
179
+ '%d',//'lightbox_comment_font_size'=>'number',
180
+ '%s',//'lightbox_comment_font_color'=>'color',
181
+ '%s',//'lightbox_comment_font_style'=>'string',
182
+ '%d',//'lightbox_comment_author_font_size'=>'number',
183
+ '%s',//'lightbox_comment_author_font_color'=>'color',
184
+ '%s',//'lightbox_comment_author_font_color_hover'=>'color'
185
+ '%d',//'lightbox_comment_date_font_size'=>'number',
186
+ '%d',//'lightbox_comment_body_font_size'=>'number',
187
+ '%d',//'lightbox_comment_input_border_width'=>'number',
188
+ '%s',//'lightbox_comment_input_border_style'=>'string',
189
+ '%s',//'lightbox_comment_input_border_color'=>'color',
190
+ '%d',//'lightbox_comment_input_border_radius'=>'number',
191
+ '%s',//'lightbox_comment_input_padding'=>'length_multi',
192
+ '%s',//'lightbox_comment_input_bg_color'=>'color',
193
+ '%s',//'lightbox_comment_button_bg_color'=>'color',
194
+ '%s',//'lightbox_comment_button_padding'=>'length_multi',
195
+ '%d',//'lightbox_comment_button_border_width'=>'number',
196
+ '%s',//'lightbox_comment_button_border_style'=>'string',
197
+ '%s',//'lightbox_comment_button_border_color'=>'color',
198
+ '%d',//'lightbox_comment_button_border_radius'=>'number',
199
+ '%d',//'lightbox_comment_separator_width'=>'number',
200
+ '%s',//'lightbox_comment_separator_style'=>'string',
201
+ '%s',//'lightbox_comment_separator_color'=>'color',
202
+ '%s',//'lightbox_comment_load_more_color' =>'color',
203
+ '%s',//'lightbox_comment_load_more_color_hover' =>'color',
204
+
205
+ '%s',/*th_photo_wrap_padding*/
206
+ '%s',/*th_photo_wrap_border_size*/
207
+ '%s',/*th_photo_wrap_border_color*/
208
+ '%s',/*th_photo_img_border_radius*/
209
+ '%s',/*th_photo_wrap_bg_color*/
210
+ '%s',/*th_photo_meta_bg_color*/
211
+ '%s',/*th_photo_meta_one_line*/
212
+ '%s',/*th_like_text_color*/
213
+ '%s',/*th_comment_text_color*/
214
+ '%s',/*th_photo_caption_font_size*/
215
+ '%s',/*th_photo_caption_color*/
216
+ '%s',/*th_feed_item_margin*/
217
+ '%s',/*th_photo_caption_hover_color*/
218
+ '%s',/*th_like_comm_font_size*/
219
+ '%s',//'th_overlay_hover_color'=>'color',
220
+ '%d',//'th_overlay_hover_transparent'=>'number',
221
+ '%s',//'th_overlay_hover_icon_color'=>'color',
222
+ '%s',//'th_overlay_hover_icon_font_size'=>'length',
223
+
224
+ '%s',/*mas_photo_wrap_padding*/
225
+ '%s',/*mas_photo_wrap_border_size*/
226
+ '%s',/*mas_photo_wrap_border_color*/
227
+ '%s',/*mas_photo_img_border_radius*/
228
+ '%s',/*mas_photo_wrap_bg_color*/
229
+ '%s',/*mas_photo_meta_bg_color*/
230
+ '%s',/*mas_photo_meta_one_line*/
231
+ '%s',/*mas_like_text_color*/
232
+ '%s',/*mas_comment_text_color*/
233
+ '%s',/*mas_photo_caption_font_size*/
234
+ '%s',/*mas_photo_caption_color*/
235
+ '%s',/*mas_feed_item_margin*/
236
+ '%s',/*mas_photo_caption_hover_color*/
237
+ '%s',/*mas_like_comm_font_size*/
238
+ '%s',//'mas_overlay_hover_color'=>'color',
239
+ '%d',//'mas_overlay_hover_transparent'=>'number',
240
+ '%s',//'mas_overlay_hover_icon_color'=>'color',
241
+ '%s',//'mas_overlay_hover_icon_font_size'=>'length',
242
+
243
+ '%s',/*blog_style_photo_wrap_padding*/
244
+ '%s',/*blog_style_photo_wrap_border_size*/
245
+ '%s',/*blog_style_photo_wrap_border_color*/
246
+ '%s',/*blog_style_photo_img_border_radius*/
247
+ '%s',/*blog_style_photo_wrap_bg_color*/
248
+ '%s',/*blog_style_photo_meta_bg_color*/
249
+ '%s',/*blog_style_photo_meta_one_line*/
250
+ '%s',/*blog_style_like_text_color*/
251
+ '%s',/*blog_style_comment_text_color*/
252
+ '%s',/*blog_style_photo_caption_font_size*/
253
+ '%s',/*blog_style_photo_caption_color*/
254
+ '%s',/*blog_style_feed_item_margin*/
255
+ '%s',/*blog_style_photo_caption_hover_color*/
256
+ '%s',/*blog_style_like_comm_font_size*/
257
+
258
+
259
+ '%s',/*image_browser_photo_wrap_padding*/
260
+ '%s',/*image_browser_photo_wrap_border_size*/
261
+ '%s',/*image_browser_photo_wrap_border_color*/
262
+ '%s',/*image_browser_photo_img_border_radius*/
263
+ '%s',/*image_browser_photo_wrap_bg_color*/
264
+ '%s',/*image_browser_photo_meta_bg_color*/
265
+ '%s',/*image_browser_photo_meta_one_line*/
266
+ '%s',/*image_browser_like_text_color*/
267
+ '%s',/*image_browser_comment_text_color*/
268
+ '%s',/*image_browser_photo_caption_font_size*/
269
+ '%s',/*image_browser_photo_caption_color*/
270
+ '%s',/*image_browser_feed_item_margin*/
271
+ '%s',/*image_browser_photo_caption_hover_color*/
272
+ '%s',/*image_browser_like_comm_font_size*/
273
+
274
+ '%s',/*load_more_position*/
275
+ '%s',/*load_more_padding*/
276
+ '%s',/*load_more_bg_color*/
277
+ '%s',/*load_more_border_radius*/
278
+ '%s',/*load_more_height*/
279
+ '%s',/*load_more_width*/
280
+ '%s',/*load_more_border_size*/
281
+ '%s',/*load_more_border_color*/
282
+ '%s',/*load_more_text_color*/
283
+ '%s',/*load_more_text_font_size*/
284
+ '%s',/*load_more_wrap_hover_color*/
285
+ '%s',// 'pagination_ctrl_color' => 'color',
286
+ '%s',// 'pagination_size' => 'length',
287
+ '%s',// 'pagination_ctrl_margin' => 'length_multi',
288
+ '%s',// 'pagination_ctrl_hover_color' => 'color'
289
+ '%s',//'pagination_position'=>'position'
290
+ '%s',//'pagination_position_vert'=>'position'
291
+ );
292
+ }
293
+
294
+ private function add() {
295
+ require_once WDI_DIR . "/admin/models/WDIModelThemes_wdi.php";
296
+ $model = new WDIModelThemes_wdi();
297
+
298
+ require_once WDI_DIR . "/admin/views/WDIViewThemes_wdi.php";
299
+ $view = new WDIViewThemes_wdi($model);
300
+ $view->edit(0);
301
+ }
302
+
303
+
304
+ private function edit($customId = '') {
305
+
306
+ require_once WDI_DIR . "/admin/models/WDIModelThemes_wdi.php";
307
+ $model = new WDIModelThemes_wdi();
308
+
309
+ require_once WDI_DIR . "/admin/views/WDIViewThemes_wdi.php";
310
+ $view = new WDIViewThemes_wdi($model);
311
+ if($customId != ''){
312
+ $id = $customId;
313
+ }else{
314
+ $id = ((isset($_POST['current_id']) && esc_html(stripslashes($_POST['current_id'])) != '') ? esc_html(stripslashes($_POST['current_id'])) : 0);
315
+ }
316
+ $view->edit($id);
317
+
318
+ }
319
+ private function apply() {
320
+ $this->save_slider_db();
321
+ $this->save_slide_db();
322
+ $this->edit();
323
+ }
324
+ private function duplicate_all($id) {
325
+
326
+ global $wpdb;
327
+ $sliders_ids_col = $wpdb->get_col('SELECT id FROM ' . $wpdb->prefix . WDI_THEME_TABLE);
328
+ foreach ($sliders_ids_col as $theme_id) {
329
+ if (isset($_POST['check_' . $theme_id])) {
330
+ $msg = $this->duplicate_tabels($theme_id);
331
+ }
332
+ }
333
+ if(!isset($msg)){
334
+ echo WDILibrary::message(__('Please select at least one item',"wdi"), 'error');
335
+ }
336
+ elseif($msg['msg'] == false){
337
+ echo WDILibrary::message(__('Cannot Write on database',"wdi"), 'error');
338
+ }else{
339
+ echo WDILibrary::message(__('Items Succesfully Duplicated.', "wdi"), 'updated');
340
+ }
341
+
342
+ $this->display();
343
+ }
344
+
345
+ private function duplicate_tabels($theme_id) {
346
+ global $wpdb;
347
+ if ($theme_id) {
348
+ $theme_row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . WDI_THEME_TABLE.' where id="%d"', $theme_id));
349
+ }
350
+
351
+ if ($theme_row) {
352
+ $duplicate_values = WDILibrary::objectToArray($theme_row);
353
+ unset($duplicate_values['id']);
354
+ $duplicate_values['default_theme'] = 0;
355
+ $save = $wpdb->insert($wpdb->prefix . WDI_THEME_TABLE,$duplicate_values, $this->data_format);
356
+ $new_theme_id = $wpdb->get_var('SELECT MAX(id) FROM ' . $wpdb->prefix . WDI_THEME_TABLE);
357
+ }
358
+ return array('id'=>$new_theme_id,"msg"=>$save);
359
+ }
360
+
361
+
362
+ private function delete($id) {
363
+ global $wpdb;
364
+ //checking for default
365
+ $theme_row = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . WDI_THEME_TABLE." WHERE id = %d",$id));
366
+ if($theme_row->default_theme == '0'){
367
+
368
+ $query = $wpdb->prepare('DELETE FROM ' . $wpdb->prefix . WDI_THEME_TABLE. ' WHERE id="%d"', $id);
369
+
370
+ if ($wpdb->query($query)) {
371
+ echo WDILibrary::message(__('Item Succesfully Deleted.',"wdi"), 'updated');
372
+ }
373
+ else {
374
+ echo WDILibrary::message(__('Error. Please install plugin again.',"wdi"), 'error');
375
+ }
376
+ }else{
377
+ echo WDILibrary::message(__('You cannot delete default theme.',"wdi"), 'error');
378
+ }
379
+ $this->display();
380
+ }
381
+
382
+ private function delete_all() {
383
+ global $wpdb;
384
+ $flag = FALSE;
385
+ $defaultFalg = false;
386
+ $sliders_ids_col = $wpdb->get_col('SELECT id FROM ' . $wpdb->prefix . WDI_THEME_TABLE);
387
+ foreach ($sliders_ids_col as $theme_id) {
388
+ $defaulFlag = false;
389
+ $theme_row = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . WDI_THEME_TABLE." WHERE id = %d",$theme_id));
390
+
391
+ if (isset($_POST['check_' . $theme_id]) || isset($_POST['check_all_items'])) {
392
+ if($theme_row->default_theme == '0'){
393
+ $flag = TRUE;
394
+ $query = $wpdb->prepare('DELETE FROM ' . $wpdb->prefix . WDI_THEME_TABLE.' WHERE id="%d"', $theme_id);
395
+ $wpdb->query($query);
396
+ }else{
397
+ $defaulFlag = true;
398
+ echo WDILibrary::message(__('You cannot delete default theme.',"wdi"), 'error');
399
+ }
400
+ }
401
+ }
402
+ if ($flag) {
403
+ echo WDILibrary::message(__('Items Succesfully Deleted.',"wdi"), 'updated');
404
+ }
405
+ else {
406
+ if($defaulFlag==false){
407
+ echo WDILibrary::message(__('You must select at least one item.',"wdi"), 'error');
408
+ }
409
+
410
+ }
411
+ $this->display();
412
+ }
413
+
414
+ private function set_default($id) {
415
+ global $wpdb;
416
+ $reset =$wpdb->update($wpdb->prefix . WDI_THEME_TABLE, array('default_theme' => 0), array('default_theme' => '1'));
417
+ $save = $wpdb->update($wpdb->prefix . WDI_THEME_TABLE, array('default_theme' => 1), array('id' => $id));
418
+ $this->display();
419
+ }
420
+
421
+
422
+
423
+
424
+
425
+ private function sanitize_input($settings,$defaults){
426
+
427
+ require_once WDI_DIR . "/admin/models/WDIModelThemes_wdi.php";
428
+ $model = new WDIModelThemes_wdi();
429
+ $sanitize_types=$model->get_sanitize_types();
430
+ $sanitized_output = array();
431
+ foreach ($settings as $setting_name => $value) {
432
+
433
+ switch($sanitize_types[$setting_name]){
434
+ case 'string':{
435
+ $sanitized_val=$this->sanitize_string($value,$defaults[$setting_name]);
436
+ $sanitized_output[$setting_name] = $sanitized_val;
437
+ break;
438
+ }
439
+ case 'number':{
440
+ $sanitized_val=$this->sanitize_number($value,$defaults[$setting_name]);
441
+ $sanitized_output[$setting_name] = $sanitized_val;
442
+ break;
443
+ }
444
+ case 'bool':{
445
+ $sanitized_val=$this->sanitize_bool($value,$defaults[$setting_name]);
446
+ $sanitized_output[$setting_name] = $sanitized_val;
447
+ break;
448
+ }
449
+ case 'url':{
450
+ $sanitized_val=$this->sanitize_url($value,$defaults[$setting_name]);
451
+ $sanitized_output[$setting_name] = $sanitized_val;
452
+ break;
453
+ }
454
+ case 'length':{
455
+ $sanitized_val=$this->sanitize_length($value,$defaults[$setting_name]);
456
+ $sanitized_output[$setting_name] = $sanitized_val;
457
+ break;
458
+ }
459
+ case 'length_multi':{
460
+ $sanitized_val=$this->sanitize_length_multi($value,$defaults[$setting_name]);
461
+ $sanitized_output[$setting_name] = $sanitized_val;
462
+ break;
463
+ }
464
+ case 'color':{
465
+ $sanitized_val=$this->sanitize_color($value,$defaults[$setting_name]);
466
+ $sanitized_output[$setting_name] = $sanitized_val;
467
+ break;
468
+ }
469
+ case 'position':{
470
+ $sanitized_val=$this->sanitize_position($value,$defaults[$setting_name]);
471
+ $sanitized_output[$setting_name] = $sanitized_val;
472
+ break;
473
+ }
474
+ case 'css_box_shadow':{
475
+ $sanitized_val=$this->sanitize_css_box_shadow($value,$defaults[$setting_name]);
476
+ $sanitized_output[$setting_name] = $sanitized_val;
477
+ break;
478
+ }
479
+ case 'number_max_100':{
480
+ $sanitized_val=$this->sanitize_number_max_100($value,$defaults[$setting_name]);
481
+ $sanitized_output[$setting_name] = $sanitized_val;
482
+ break;
483
+ }
484
+ case 'number_neg':{
485
+ $sanitized_val=$this->sanitize_number_neg($value,$defaults[$setting_name]);
486
+ $sanitized_output[$setting_name] = $sanitized_val;
487
+ break;
488
+ }
489
+ }
490
+ }
491
+ return $sanitized_output;
492
+ }
493
+
494
+ private function sanitize_bool($value,$default){
495
+ if($value == 1 || $value == 0){
496
+ return $value;
497
+ }
498
+ else{
499
+ return $default;
500
+ }
501
+ }
502
+ private function sanitize_string($value,$default){
503
+ $sanitized_val = strip_tags(stripslashes($value));
504
+ if($sanitized_val == ''){
505
+ return $default;
506
+ }else{
507
+ return $sanitized_val;
508
+ }
509
+ }
510
+ private function sanitize_number($value,$default){
511
+ if(is_numeric($value) && $value>=0){
512
+ return $value;
513
+ }else{
514
+ return $default;
515
+ }
516
+ }
517
+ private function sanitize_number_neg($value,$default){
518
+ if(is_numeric($value)){
519
+ return $value;
520
+ }else{
521
+ return $default;
522
+ }
523
+ }
524
+ private function sanitize_number_max_100($value,$default){
525
+ if(is_numeric($value) && $value>=0 && $value<=100){
526
+ return $value;
527
+ }else{
528
+ return $default;
529
+ }
530
+ }
531
+ private function sanitize_css_box_shadow($value,$default){
532
+ $value = trim($value);
533
+ $values = explode(' ',$value);
534
+
535
+ if($value === 'none' || $value === 'initial' || $value =="0"){
536
+ return $value;
537
+ }
538
+ if(count($values)<3) {return $default;}
539
+ //first check test
540
+ $first_check_flag = false;
541
+ for($i=0;$i<count($values);$i++){
542
+ if($i != 2){
543
+ if($this->sanitize_length($values[$i], 'error') === 'error'){
544
+ $first_check_flag = true;
545
+ }
546
+ }else{
547
+ if($this->sanitize_color($values[$i], 'error') === 'error'){
548
+ $first_check_flag = true;
549
+ }
550
+ }
551
+ }
552
+ if($first_check_flag == false) {return $value;}
553
+
554
+ //second check test
555
+ //if(count($values) < 4) {return $default;}
556
+ $second_check_flag = false;
557
+ for($i=0;$i<count($values);$i++){
558
+ if($i != 3){
559
+ if($this->sanitize_length($values[$i], 'error') === 'error'){
560
+ $second_check_flag = true;
561
+ }
562
+ }else{
563
+ if($this->sanitize_color($values[$i], 'error') === 'error'){
564
+ $second_check_flag = true;
565
+ }
566
+ }
567
+ }
568
+ if($second_check_flag == false) {return $value;}
569
+ $third_check_flag = false;
570
+ for($i=0;$i<count($values);$i++){
571
+ if($i != 4){
572
+ if($this->sanitize_length($values[$i], 'error') === 'error'){
573
+ $third_check_flag = true;
574
+ }
575
+ }else{
576
+ if($this->sanitize_color($values[$i], 'error') === 'error'){
577
+ $third_check_flag = true;
578
+ }
579
+ }
580
+ }
581
+ if($third_check_flag === false) {
582
+ return $value;
583
+ }
584
+ return $default;
585
+
586
+ }
587
+ private function sanitize_url($value,$default){
588
+ if (!filter_var($value, FILTER_VALIDATE_URL) === false) {
589
+ return $value;
590
+ } else {
591
+ return $default;
592
+ }
593
+ }
594
+
595
+ private function sanitize_length($value,$default){
596
+
597
+ $value = trim($value);
598
+
599
+ if($value == 0){
600
+ return $value;
601
+ }
602
+
603
+ $opt1 = substr($value,strlen($value)-2,strlen($value));
604
+ $opt2 = substr($value,strlen($value)-1,strlen($value));
605
+ $val = floatval($value);
606
+ $val1 = substr($value,0,strlen($value)-2);
607
+ $val2 = substr($value,0,strlen($value)-1);
608
+ if(is_numeric($val)){
609
+ if( is_numeric(substr($val1,-1)) && ($opt1=='px' || $opt1=='em')){
610
+ return $value;
611
+ }else if(is_numeric(substr($val2,-1)) && $opt2=='%'){
612
+ return $value;
613
+ }
614
+ else{
615
+ return $default;
616
+ }
617
+ }else{
618
+ return $default;
619
+ }
620
+ }
621
+ private function sanitize_color($value,$default){
622
+ $val = WDILibrary::regexColor($value,1);
623
+
624
+ if($val == false){
625
+ return $default;
626
+ }else{
627
+ return $val;
628
+ }
629
+
630
+ }
631
+ private function sanitize_position($value,$default){
632
+ $value = strtolower(trim($value));
633
+ if($value == 'left' || $value == 'right' || $value == 'center' || $value == 'top' || $value == 'bottom'){
634
+ return $value;
635
+ }else{
636
+ return $default;
637
+ }
638
+ }
639
+
640
+ private function sanitize_length_multi($value1,$default){
641
+ $value1 = trim($value1);
642
+ $output = '';
643
+ $values = explode(' ',$value1);
644
+ $flag = false;
645
+ $counter = 0;
646
+ foreach ($values as $value) {
647
+ if($value == '')
648
+ continue;
649
+ $counter++;
650
+ $value = trim($value);
651
+ $opt1 = substr($value,strlen($value)-2,strlen($value));
652
+ $opt2 = substr($value,strlen($value)-1,strlen($value));
653
+ $val = floatval($value);
654
+ $val1 = substr($value,0,strlen($value)-2);
655
+ $val2 = substr($value,0,strlen($value)-1);
656
+ if(is_numeric($val)){
657
+ if( is_numeric(substr($val1,-1)) && ($opt1=='px' || $opt1=='em')){
658
+ $output.=' '.$value.' ';
659
+ }else if((is_numeric(substr($val2,-1)) && $opt2=='%') || ($val == 0)){
660
+ $output.=' '.$value .' ';
661
+ }
662
+ else{
663
+ $flag = true;
664
+ }
665
+ }else{
666
+ $flag = true;
667
+ }
668
+ }
669
+ $output = trim($output);
670
+ if($flag == false && $counter<=4){
671
+ return $output;
672
+ }else{
673
+ return $default;
674
+ }
675
+
676
+ }
677
+
678
+ private function message($text,$type){
679
+ require_once WDI_DIR . "/admin/models/WDIModelThemes_wdi.php";
680
+ $model = new WDIModelThemes_wdi();
681
+ require_once WDI_DIR . "/admin/views/WDIViewThemes_wdi.php";
682
+ $view = new WDIViewThemes_wdi($model);
683
+ echo WDILibrary::message($text, $type);
684
+ }
685
+ }
686
+ ?>
admin/controllers/WDIControllerUninstall_wdi.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIControllerUninstall_wdi{
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Constructor & Destructor //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ function __construct(){
8
+
9
+ }
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Public Methods //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ public function execute() {
14
+ $task = WDILibrary::get('task');
15
+ if (method_exists($this, $task)) {
16
+ check_admin_referer('nonce_wd', 'nonce_wd');
17
+ $this->$task();
18
+ }
19
+ else {
20
+ if($this->is_uninstalled()){
21
+ $this->already_uninstalled();
22
+ }else{
23
+ $this->display();
24
+ }
25
+
26
+ }
27
+ }
28
+ public function display(){
29
+ require_once(WDI_DIR . '/admin/models/WDIModelUninstall_wdi.php');
30
+ $model = new WDIModelUninstall_wdi();
31
+
32
+ require_once(WDI_DIR . '/admin/views/WDIViewUninstall_wdi.php');
33
+ $view = new WDIViewUninstall_wdi($model);
34
+ $view->display();
35
+ }
36
+
37
+ public function already_uninstalled(){
38
+ require_once(WDI_DIR . '/admin/models/WDIModelUninstall_wdi.php');
39
+ $model = new WDIModelUninstall_wdi();
40
+
41
+ require_once(WDI_DIR . '/admin/views/WDIViewUninstall_wdi.php');
42
+ $view = new WDIViewUninstall_wdi($model);
43
+ $view->already_uninstalled();
44
+ }
45
+
46
+
47
+
48
+ public function succesfully_uninstalled(){
49
+ require_once(WDI_DIR . '/admin/models/WDIModelUninstall_wdi.php');
50
+ $model = new WDIModelUninstall_wdi();
51
+
52
+ require_once(WDI_DIR . '/admin/views/WDIViewUninstall_wdi.php');
53
+ $view = new WDIViewUninstall_wdi($model);
54
+ $view->successfully_uninstalled();
55
+ }
56
+
57
+ private function uninstall(){
58
+ $verify = isset($_POST['wdi_verify'])? $_POST['wdi_verify'] : 0;
59
+ if(!$this->is_uninstalled()){
60
+ if($verify == '1'){
61
+ global $wpdb;
62
+ $removed = false;
63
+ $table_name = $wpdb->prefix.WDI_FEED_TABLE;
64
+ $checktable = $wpdb->query("SHOW TABLES LIKE '$table_name'");
65
+ $table_exists = $checktable > 0;
66
+ if($table_exists){
67
+ $sql = "DROP TABLE ". $table_name;
68
+ $wpdb->query($sql);
69
+ $removed = true;
70
+ }
71
+ $table_name = $wpdb->prefix.WDI_THEME_TABLE;
72
+ $checktable = $wpdb->query("SHOW TABLES LIKE '$table_name'");
73
+ $table_exists = $checktable > 0;
74
+ if($table_exists){
75
+ $sql = "DROP TABLE ". $table_name;
76
+ $wpdb->query($sql);
77
+ $removed = true;
78
+ }
79
+ if($removed == true) {
80
+ $this->succesfully_uninstalled();
81
+ }
82
+ else{
83
+ $this->already_uninstalled();
84
+ };
85
+
86
+ delete_option(WDI_OPT);
87
+
88
+ $default_option=array();
89
+ $default_option['wdi_plugin_uninstalled'] = 'true';
90
+
91
+ add_option(WDI_OPT,$default_option);
92
+ delete_option('wdi_version');
93
+ }else{
94
+ $this->display();
95
+ }
96
+ }else{
97
+ $this->already_uninstalled();
98
+ }
99
+ }
100
+
101
+ private function is_uninstalled(){
102
+ global $wdi_options;
103
+ if(isset($wdi_options['wdi_plugin_uninstalled']) && $wdi_options['wdi_plugin_uninstalled']=='true') {
104
+ return true;
105
+ }else{
106
+ return false;
107
+ };
108
+ }
109
+ }
admin/controllers/WDIControllerWidget.php ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIControllerWidget extends WP_Widget {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $view;
14
+ private $model;
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Constructor & Destructor //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ public function __construct() {
19
+
20
+ $widget_ops = array(
21
+ 'classname' => 'wdi_instagram_widget',
22
+ 'description' => __('Show your instagram feeds in your widget area',"wdi")
23
+ );
24
+ // Widget Control Settings.
25
+ $control_ops = array('id_base' => 'wdi_instagram_widget');
26
+ // Create the widget.
27
+ parent::__construct('wdi_instagram_widget', __('Instagram WD Widget',"wdi"), $widget_ops, $control_ops);
28
+ require_once WDI_DIR . "/admin/models/WDIModelWidget.php";
29
+ $this->model = new WDIModelWidget();
30
+ require_once WDI_DIR . "/admin/views/WDIViewWidget.php";
31
+ $this->view = new WDIViewWidget($this->model);
32
+ }
33
+ ////////////////////////////////////////////////////////////////////////////////////////
34
+ // Public Methods //
35
+ ////////////////////////////////////////////////////////////////////////////////////////
36
+
37
+ public function widget($args, $instance) {
38
+
39
+ $this->view->widget($args, $instance);
40
+ }
41
+
42
+ public function form( $instance ) {
43
+
44
+ $this->view->form(
45
+ $instance,
46
+ parent::get_field_id('title'),
47
+ parent::get_field_name('title'),
48
+ parent::get_field_id('feed_id'),
49
+ parent::get_field_name('feed_id'),
50
+ parent::get_field_id('img_number'),
51
+ parent::get_field_name('img_number'),
52
+ parent::get_field_id('show_likes_comments'),
53
+ parent::get_field_name('show_likes_comments'),
54
+ parent::get_field_id('number_of_columns'),
55
+ parent::get_field_name('number_of_columns')
56
+ );
57
+ }
58
+
59
+ // Update Settings.
60
+ public function update($new_instance, $old_instance) {
61
+ $instance['title'] = wp_filter_nohtml_kses($new_instance['title']);
62
+ $instance['feed_id'] = intval($new_instance['feed_id']);
63
+ $instance['img_number'] = intval($new_instance['img_number']) ? intval($new_instance['img_number']) : 4;
64
+ $instance['show_likes_comments'] = isset($new_instance['show_likes_comments']) ? 1 : 0;
65
+ $instance['number_of_columns'] = intval($new_instance['number_of_columns']) ? intval($new_instance['number_of_columns']) : 1;
66
+ return $instance;
67
+ }
68
+
69
+ ////////////////////////////////////////////////////////////////////////////////////////
70
+ // Getters & Setters //
71
+ ////////////////////////////////////////////////////////////////////////////////////////
72
+ ////////////////////////////////////////////////////////////////////////////////////////
73
+ // Private Methods //
74
+ ////////////////////////////////////////////////////////////////////////////////////////
75
+ ////////////////////////////////////////////////////////////////////////////////////////
76
+ // Listeners //
77
+ ////////////////////////////////////////////////////////////////////////////////////////
78
+ }
admin/models/WDIModelEditorShortcode.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIModelEditorShortcode {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+
22
+ public function get_row_data() {
23
+ global $wpdb;
24
+ $row = $wpdb->get_results("SELECT id, feed_name, feed_thumb FROM " . $wpdb->prefix . WDI_FEED_TABLE." ORDER BY `feed_name` ASC");
25
+ return $row;
26
+ }
27
+
28
+ ////////////////////////////////////////////////////////////////////////////////////////
29
+ // Getters & Setters //
30
+ ////////////////////////////////////////////////////////////////////////////////////////
31
+ ////////////////////////////////////////////////////////////////////////////////////////
32
+ // Private Methods //
33
+ ////////////////////////////////////////////////////////////////////////////////////////
34
+ ////////////////////////////////////////////////////////////////////////////////////////
35
+ // Listeners //
36
+ ////////////////////////////////////////////////////////////////////////////////////////
37
+ }
admin/models/WDIModelFeeds_wdi.php ADDED
@@ -0,0 +1,240 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIModelFeeds_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ public function get_slides_row_data($slider_id) {
22
+ global $wpdb;
23
+ $row = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . WDI_FEED_TABLE. " WHERE slider_id='%d' ORDER BY `order` ASC", $slider_id));
24
+ if ($rows) {
25
+ // $row->image_url = $row->image_url ? $row->image_url : WD_S_URL . '/images/no-image.png';
26
+ // $row->thumb_url = $row->thumb_url ? $row->thumb_url : WD_S_URL . '/images/no-image.png';
27
+ }
28
+ return $row;
29
+ }
30
+
31
+
32
+ public function get_rows_data() {
33
+ global $wpdb;
34
+ $where = ((isset($_POST['search_value'])) ? 'WHERE feed_name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
35
+ $asc_or_desc = ((isset($_POST['asc_or_desc']) && esc_html($_POST['asc_or_desc']) == 'desc') ? 'desc' : 'asc');
36
+ $order_by_arr = array('id', 'feed_name', 'published');
37
+ $order_by = ((isset($_POST['order_by']) && in_array(esc_html($_POST['order_by']), $order_by_arr)) ? esc_html($_POST['order_by']) : 'id');
38
+ $order_by = ' ORDER BY `' . $order_by . '` ' . $asc_or_desc;
39
+ if (isset($_POST['page_number']) && $_POST['page_number']) {
40
+ $limit = ((int) $_POST['page_number'] - 1) * 20;
41
+ }
42
+ else {
43
+ $limit = 0;
44
+ }
45
+ $query = "SELECT * FROM " . $wpdb->prefix . WDI_FEED_TABLE .' '. $where . $order_by . " LIMIT " . $limit . ",20";
46
+ $rows = $wpdb->get_results($query);
47
+ return $rows;
48
+ }
49
+
50
+ public function get_slider_prev_img($slider_id) {
51
+ global $wpdb;
52
+ $prev_img_url = $wpdb->get_var($wpdb->prepare("SELECT `feed_thumb` FROM " . $wpdb->prefix . WDI_FEED_TABLE . " WHERE id='%d'", $slider_id));
53
+ $prev_img_url = $prev_img_url ? $prev_img_url : WDI_URL . '/images/no-image.png';
54
+ return $prev_img_url;
55
+ }
56
+
57
+ public function page_nav() {
58
+ global $wpdb;
59
+ $where = ((isset($_POST['search_value']) && (esc_html(stripslashes($_POST['search_value'])) != '')) ? 'WHERE feed_name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
60
+ $total = $wpdb->get_var("SELECT COUNT(*) FROM " . $wpdb->prefix . WDI_FEED_TABLE. ' ' . $where);
61
+ $page_nav['total'] = $total;
62
+ if (isset($_POST['page_number']) && $_POST['page_number']) {
63
+ $limit = ((int) $_POST['page_number'] - 1) * 20;
64
+ }
65
+ else {
66
+ $limit = 0;
67
+ }
68
+ $page_nav['limit'] = (int) ($limit / 20 + 1);
69
+ return $page_nav;
70
+ }
71
+
72
+ public static function wdi_get_feed_defaults(){
73
+ global $wdi_options;
74
+ global $wpdb;
75
+ $query = $wpdb->prepare("SELECT id FROM ". $wpdb->prefix.WDI_THEME_TABLE." WHERE default_theme='%d'",1);
76
+ $default_theme = WDILibrary::objectToArray($wpdb->get_results($query));
77
+
78
+ $settings = array(
79
+ 'thumb_user'=> $wdi_options['wdi_user_name'],
80
+ 'feed_name' => 'Sample Feed',
81
+ 'feed_thumb'=> WDI_URL . '/images/no-image.png',
82
+ 'published' => '1',
83
+ 'theme_id'=> $default_theme[0]['id'],
84
+ 'feed_users'=> $wdi_options['wdi_user_name'],
85
+ 'feed_display_view' =>'load_more_btn',
86
+ 'sort_images_by' => 'date',
87
+ 'display_order'=> 'desc',
88
+ 'follow_on_instagram_btn' => '1',
89
+ 'display_header'=> '0',
90
+ 'number_of_photos'=> '20',
91
+ 'load_more_number' => '4',
92
+ 'pagination_per_page_number'=>'10',
93
+ 'pagination_preload_number'=>'10',
94
+ 'image_browser_preload_number'=>'10',
95
+ 'image_browser_load_number'=>'10',
96
+ 'number_of_columns'=> '4',
97
+ 'resort_after_load_more' => '0',
98
+ 'show_likes'=> '0',
99
+ 'show_description'=> '0' ,
100
+ 'show_comments'=> '0',
101
+ 'show_usernames' =>'1',
102
+ 'display_user_info'=>'1',
103
+ 'display_user_post_follow_number' => '1',
104
+ 'show_full_description'=>'1',
105
+ 'disable_mobile_layout'=>'0',
106
+ 'feed_type' => 'thumbnails',
107
+ 'feed_item_onclick' => 'lightbox',
108
+ //lightbox defaults
109
+
110
+ 'popup_fullscreen'=>'0',
111
+ 'popup_width'=>'640',
112
+ 'popup_height'=>'640',
113
+ 'popup_type'=>'none',
114
+ 'popup_autoplay'=>'0',
115
+ 'popup_interval'=>'5',
116
+ 'popup_enable_filmstrip'=>'0',
117
+ 'popup_filmstrip_height'=>'70',
118
+ 'autohide_lightbox_navigation'=>'1',
119
+ 'popup_enable_ctrl_btn'=>'1',
120
+ 'popup_enable_fullscreen'=>'1',
121
+ 'popup_enable_info'=>'0',
122
+ 'popup_info_always_show'=>'0',
123
+ 'popup_info_full_width'=>'0',
124
+ 'popup_enable_comment'=>'0',
125
+ 'popup_enable_fullsize_image'=>'1',
126
+ 'popup_enable_download'=>'0',
127
+ 'popup_enable_share_buttons'=>'0',
128
+ 'popup_enable_facebook'=>'0',
129
+ 'popup_enable_twitter'=>'0',
130
+ 'popup_enable_google'=>'0',
131
+ 'popup_enable_pinterest'=>'0',
132
+ 'popup_enable_tumblr'=>'0',
133
+ 'show_image_counts'=>'0',
134
+ 'enable_loop'=>'1',
135
+ 'popup_image_right_click'=> '1'
136
+ );
137
+ return $settings;
138
+ }
139
+
140
+ public function get_sanitize_types(){
141
+ $sanitize_types = array(
142
+ 'thumb_user'=>'string',
143
+ 'feed_name' => 'string',
144
+ 'feed_thumb'=> 'url',
145
+ 'published' => 'bool',
146
+ 'theme_id'=> 'number'/*$options['wdi_default_theme']*/,
147
+ 'feed_users'=> 'string',
148
+ 'feed_display_view' =>'string',
149
+ 'sort_images_by' => 'string',
150
+ 'display_order'=> 'string',
151
+ 'follow_on_instagram_btn' => 'bool',
152
+ 'display_header'=> 'bool',
153
+ 'number_of_photos'=> 'number',
154
+ 'load_more_number' => 'number',
155
+ 'pagination_per_page_number'=>'number',
156
+ 'pagination_preload_number'=>'number',
157
+ 'image_browser_preload_number'=>'number',
158
+ 'image_browser_load_number'=>'number',
159
+ 'number_of_columns'=> 'number',
160
+ 'resort_after_load_more'=>'bool',
161
+ 'show_likes'=> 'bool',
162
+ 'show_description'=> 'bool' ,
163
+ 'show_comments'=> 'bool',
164
+ 'show_usernames'=>'bool',
165
+ 'display_user_info'=>'bool',
166
+ 'display_user_post_follow_number'=>'bool',
167
+ 'show_full_description'=>'bool',
168
+ 'disable_mobile_layout'=>'bool',
169
+ 'feed_type' => 'string',
170
+ 'feed_item_onclick' => 'string',
171
+ //lightbox defaults
172
+
173
+ 'popup_fullscreen'=>'bool',
174
+ 'popup_width'=>'number',
175
+ 'popup_height'=>'number',
176
+ 'popup_type'=>'string',
177
+ 'popup_autoplay'=>'bool',
178
+ 'popup_interval'=>'number',
179
+ 'popup_enable_filmstrip'=>'bool',
180
+ 'popup_filmstrip_height'=>'number',
181
+ 'autohide_lightbox_navigation'=>'bool',
182
+ 'popup_enable_ctrl_btn'=>'bool',
183
+ 'popup_enable_fullscreen'=>'bool',
184
+ 'popup_enable_info'=>'bool',
185
+ 'popup_info_always_show'=>'bool',
186
+ 'popup_info_full_width'=>'bool',
187
+ 'popup_enable_comment'=>'bool',
188
+ 'popup_enable_fullsize_image'=>'bool',
189
+ 'popup_enable_download'=>'bool',
190
+ 'popup_enable_share_buttons'=>'bool',
191
+ 'popup_enable_facebook'=>'bool',
192
+ 'popup_enable_twitter'=>'bool',
193
+ 'popup_enable_google'=>'bool',
194
+ 'popup_enable_pinterest'=>'bool',
195
+ 'popup_enable_tumblr'=>'bool',
196
+ 'show_image_counts'=>'bool',
197
+ 'enable_loop'=>'bool',
198
+ 'popup_image_right_click'=>'bool'
199
+ );
200
+ return $sanitize_types;
201
+ }
202
+
203
+ public function get_feed_row($current_id){
204
+ global $wpdb;
205
+ $feed_row = $this->check_settings($wpdb->get_row($wpdb->prepare("SELECT * FROM ". $wpdb->prefix.WDI_FEED_TABLE. " WHERE id ='%d' ",$current_id)));
206
+ return $feed_row;
207
+ }
208
+ private function check_settings($settings){
209
+ $settings = WDILibrary::objectToArray($settings);
210
+ if(isset($settings['feed_users']) && count(explode(',', $settings['feed_users']))>1){
211
+ $settings['feed_users'] = explode(',', $settings['feed_users']);
212
+ $settings['feed_users'] = $settings['feed_users'][0];
213
+ };
214
+ if(isset($settings['theme_id']) && intval($settings['theme_id']) > 1){
215
+ $settings['theme_id'] = '1';
216
+ };
217
+ if(isset($settings['feed_display_view']) && $settings['feed_display_view'] === 'infinite_scroll'){
218
+ $settings['feed_display_view'] = 'load_more_btn';
219
+ }
220
+ if(isset($settings['feed_type']) && $settings['feed_type'] === 'masonry' || $settings['feed_type'] === 'blog_style'){
221
+ $settings['feed_type'] = 'thumbnails';
222
+ }
223
+ if(isset($settings['popup_enable_filmstrip']) && $settings['popup_enable_filmstrip'] == '1'){
224
+ $settings['popup_enable_filmstrip'] = '0';
225
+ }
226
+ if(isset($settings['popup_filmstrip_height']) && $settings['popup_filmstrip_height'] != '70'){
227
+ $settings['popup_filmstrip_height'] = '70';
228
+ }
229
+ if(isset($settings['popup_enable_comment']) && $settings['popup_enable_comment'] == '1'){
230
+ $settings['popup_enable_comment'] = '0';
231
+ }
232
+ if(isset($settings['popup_enable_share_buttons']) && $settings['popup_enable_share_buttons'] == '1'){
233
+ $settings['popup_enable_share_buttons'] = '0';
234
+ }
235
+ $settings = WDILibrary::arrayToObject($settings);
236
+ return $settings;
237
+ }
238
+
239
+ }
240
+ ?>
admin/models/WDIModelLicensing_wdi.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIModelLicensing_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ // Getters & Setters //
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ ////////////////////////////////////////////////////////////////////////////////////////
25
+ // Private Methods //
26
+ ////////////////////////////////////////////////////////////////////////////////////////
27
+ ////////////////////////////////////////////////////////////////////////////////////////
28
+ // Listeners //
29
+ ////////////////////////////////////////////////////////////////////////////////////////
30
+ }
admin/models/WDIModelSettings_wdi.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIModelSettings_wdi{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Variables //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ public $active_tab = 'configure';
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constructor and Destructor //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ public function __construct(){
11
+ $this->activeTab = (isset($_GET['form_action']) ? $_GET['form_action'] : isset($_POST['form_action']) ? $_POST['form_action'] : 'configure');
12
+ }
13
+ }
admin/models/WDIModelThemes_wdi.php ADDED
@@ -0,0 +1,584 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIModelThemes_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+
22
+ public function get_rows_data() {
23
+ global $wpdb;
24
+ $where = ((isset($_POST['search_value'])) ? 'WHERE theme_name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
25
+ $asc_or_desc = ((isset($_POST['asc_or_desc']) && esc_html($_POST['asc_or_desc']) == 'desc') ? 'desc' : 'asc');
26
+ $order_by_arr = array('id', 'theme_name', 'default_theme');
27
+ $order_by = ((isset($_POST['order_by']) && in_array(esc_html($_POST['order_by']), $order_by_arr)) ? esc_html($_POST['order_by']) : 'id');
28
+ $order_by = ' ORDER BY `' . $order_by . '` ' . $asc_or_desc;
29
+ if (isset($_POST['page_number']) && $_POST['page_number']) {
30
+ $limit = ((int) $_POST['page_number'] - 1) * 20;
31
+ }
32
+ else {
33
+ $limit = 0;
34
+ }
35
+ $query = "SELECT * FROM " . $wpdb->prefix . WDI_THEME_TABLE .' '. $where . $order_by . " LIMIT " . $limit . ",20";
36
+
37
+ $rows = $wpdb->get_results($query);
38
+ return $rows;
39
+ }
40
+
41
+
42
+ public function page_nav() {
43
+ global $wpdb;
44
+ $where = ((isset($_POST['search_value']) && (esc_html(stripslashes($_POST['search_value'])) != '')) ? 'WHERE theme_name LIKE "%' . esc_html(stripslashes($_POST['search_value'])) . '%"' : '');
45
+ $total = $wpdb->get_var("SELECT COUNT(*) FROM " . $wpdb->prefix . WDI_THEME_TABLE. ' ' . $where);
46
+ $page_nav['total'] = $total;
47
+ if (isset($_POST['page_number']) && $_POST['page_number']) {
48
+ $limit = ((int) $_POST['page_number'] - 1) * 20;
49
+ }
50
+ else {
51
+ $limit = 0;
52
+ }
53
+ $page_nav['limit'] = (int) ($limit / 20 + 1);
54
+ return $page_nav;
55
+ }
56
+
57
+ public static function get_theme_defaults(){
58
+ global $wdi_options;
59
+ $settings = array(
60
+ 'theme_name' => 'Instagram Design',
61
+ 'default_theme'=> '0',
62
+ 'feed_container_bg_color' => '#FFFFFF',
63
+ 'feed_wrapper_width' => '100%',
64
+ 'feed_container_width' => '100%',
65
+ 'feed_wrapper_bg_color' => '#FFFFFF',
66
+ 'active_filter_bg_color' => '#2a5b83',
67
+ 'header_margin' => '0px',
68
+ 'header_padding' => '5px',
69
+ 'header_border_size' => '0px',
70
+ 'header_border_color' => '#DDDDDD',
71
+ 'header_position' => 'left',
72
+ 'header_img_width' => '40',
73
+ 'header_border_radius' => 0,
74
+ 'header_text_padding' => '5px',
75
+ 'header_text_color' => '#0f4973',
76
+ 'header_font_weight' => '400',
77
+ 'header_text_font_size' => '18px',
78
+ 'header_text_font_style' => 'normal',
79
+ 'follow_btn_border_radius'=>'3',
80
+ 'follow_btn_padding'=>'25',
81
+ 'follow_btn_margin'=>'10',
82
+ 'follow_btn_bg_color'=>'#ffffff',
83
+ 'follow_btn_border_color'=>'#0f4973',
84
+ 'follow_btn_text_color'=>'#0f4973',
85
+ 'follow_btn_font_size'=>'18',
86
+ 'follow_btn_border_hover_color'=>'#0f4973',
87
+ 'follow_btn_text_hover_color'=>'#0f4973',
88
+ 'follow_btn_background_hover_color'=>'#ffffff',
89
+
90
+
91
+ 'user_padding' => '5px',
92
+ /////////////////////////disabled////////////////////////
93
+ 'user_horizontal_margin' => '',//*
94
+ 'user_border_size' => '0px',//*
95
+ 'user_border_color' => '',//*
96
+ 'user_img_width' => '40',//enabled
97
+
98
+ 'user_border_radius' => '0',//enabled
99
+ 'user_background_color' => '',//*
100
+ 'users_border_size' => '0px',//*
101
+ 'users_border_color' => '',//*
102
+ 'users_background_color' => '',//*
103
+ //////////////////////////////////////////////////////////
104
+ //////////////////////lightbox////////////////////////////
105
+ 'users_text_color' => '#0f4973',
106
+ 'users_font_weight' => '400',
107
+ 'users_text_font_size' => '18px',
108
+ 'users_text_font_style' => 'normal',
109
+ 'user_description_font_size' => '18px',
110
+
111
+
112
+
113
+
114
+ 'lightbox_overlay_bg_color'=>'#25292c',
115
+ 'lightbox_overlay_bg_transparent'=>'90',
116
+ 'lightbox_bg_color'=>'#ffffff',
117
+ 'lightbox_ctrl_btn_height'=>'20',
118
+ 'lightbox_ctrl_btn_margin_top'=>'10',
119
+ 'lightbox_ctrl_btn_margin_left'=>'7',
120
+ 'lightbox_ctrl_btn_pos'=>'bottom',
121
+ 'lightbox_ctrl_cont_bg_color'=>'#2a5b83',
122
+ 'lightbox_ctrl_cont_border_radius'=>'4',
123
+ 'lightbox_ctrl_cont_transparent'=>'80',
124
+ 'lightbox_ctrl_btn_align'=>'center',
125
+ 'lightbox_ctrl_btn_color'=>'#FFFFFF',
126
+ 'lightbox_ctrl_btn_transparent'=>'100',
127
+ 'lightbox_toggle_btn_height'=>'14',
128
+ 'lightbox_toggle_btn_width'=>'100',
129
+ 'lightbox_close_btn_border_radius'=>'16',
130
+ 'lightbox_close_btn_border_width'=>'2',
131
+ 'lightbox_close_btn_border_style'=>'none',
132
+ 'lightbox_close_btn_border_color'=>'#FFFFFF',
133
+ 'lightbox_close_btn_box_shadow'=>'none',
134
+ 'lightbox_close_btn_bg_color'=>'#2a5b83',
135
+ 'lightbox_close_btn_transparent'=>'100',
136
+ 'lightbox_close_btn_width'=>'20',
137
+ 'lightbox_close_btn_height'=>'20',
138
+ 'lightbox_close_btn_top'=>'-10',
139
+ 'lightbox_close_btn_right'=>'-10',
140
+ 'lightbox_close_btn_size'=>'15',
141
+ 'lightbox_close_btn_color'=>'#FFFFFF',
142
+ 'lightbox_close_btn_full_color'=>'#000000',
143
+ 'lightbox_close_btn_hover_color'=>'#000000',
144
+ 'lightbox_comment_share_button_color'=>'#ffffff',
145
+ 'lightbox_rl_btn_style'=>'fa-chevron',
146
+ 'lightbox_rl_btn_bg_color'=>'#2a5b83',
147
+ 'lightbox_rl_btn_transparent'=>'80',
148
+ 'lightbox_rl_btn_box_shadow'=>'none',
149
+ 'lightbox_rl_btn_height'=>'40',
150
+ 'lightbox_rl_btn_width'=>'40',
151
+ 'lightbox_rl_btn_size'=>'20',
152
+ 'lightbox_close_rl_btn_hover_color'=>'#25292c',
153
+ 'lightbox_rl_btn_color'=>'#FFFFFF',
154
+ 'lightbox_rl_btn_border_radius'=>'20',
155
+ 'lightbox_rl_btn_border_width'=>'0',
156
+ 'lightbox_rl_btn_border_style'=>'none',
157
+ 'lightbox_rl_btn_border_color'=>'#FFFFFF',
158
+ 'lightbox_filmstrip_pos'=>'top',
159
+ 'lightbox_filmstrip_thumb_margin'=>'0 1px',
160
+ 'lightbox_filmstrip_thumb_border_width'=>'1',
161
+ 'lightbox_filmstrip_thumb_border_style'=>'solid',
162
+ 'lightbox_filmstrip_thumb_border_color'=>'#25292c',
163
+ 'lightbox_filmstrip_thumb_border_radius'=>'0',
164
+ 'lightbox_filmstrip_thumb_active_border_width'=>'0',
165
+ 'lightbox_filmstrip_thumb_active_border_color'=>'#FFFFFF',
166
+ 'lightbox_filmstrip_thumb_deactive_transparent'=>'70',
167
+ 'lightbox_filmstrip_rl_btn_size'=>'20',
168
+ 'lightbox_filmstrip_rl_btn_color'=>'#FFFFFF',
169
+ 'lightbox_filmstrip_rl_bg_color'=>'#3B3B3B',
170
+ 'lightbox_info_pos'=>'top',
171
+ 'lightbox_info_align'=>'right',
172
+ 'lightbox_info_bg_color'=>'#3b3b3b',
173
+ 'lightbox_info_bg_transparent'=>'80',
174
+ 'lightbox_info_border_width'=>'1',
175
+ 'lightbox_info_border_style'=>'none',
176
+ 'lightbox_info_border_color'=>'#3b3b3b',
177
+ 'lightbox_info_border_radius'=>'5',
178
+ 'lightbox_info_padding'=>'5px',
179
+ 'lightbox_info_margin'=>'15px',
180
+ 'lightbox_title_color'=>'#FFFFFF',
181
+ 'lightbox_title_font_style'=>'segoe ui',
182
+ 'lightbox_title_font_weight'=>'bold',
183
+ 'lightbox_title_font_size'=>'13',
184
+ 'lightbox_description_color'=>'#FFFFFF',
185
+ 'lightbox_description_font_style'=>'segoe ui',
186
+ 'lightbox_description_font_weight'=>'normal',
187
+ 'lightbox_description_font_size'=>'14',
188
+ 'lightbox_info_height'=>'30',
189
+ 'lightbox_comment_width'=>'400',
190
+ 'lightbox_comment_pos'=>'right',
191
+ 'lightbox_comment_bg_color'=>'#ffffff',
192
+ 'lightbox_comment_font_size'=>'12',
193
+ 'lightbox_comment_font_color'=>'#000000',
194
+ 'lightbox_comment_font_style'=>'segoe ui',
195
+ 'lightbox_comment_author_font_size'=>'14',
196
+ 'lightbox_comment_author_font_color'=>'#125688',
197
+ 'lightbox_comment_author_font_color_hover'=>'#002160',
198
+ 'lightbox_comment_date_font_size'=>'10',
199
+ 'lightbox_comment_body_font_size'=>'12',
200
+ 'lightbox_comment_input_border_width'=>'1',
201
+ 'lightbox_comment_input_border_style'=>'none',
202
+ 'lightbox_comment_input_border_color'=>'#666666',
203
+ 'lightbox_comment_input_border_radius'=>'0',
204
+ 'lightbox_comment_input_padding'=>'2px',
205
+ 'lightbox_comment_input_bg_color'=>'#333333',
206
+ 'lightbox_comment_button_bg_color'=>'#616161',
207
+ 'lightbox_comment_button_padding'=>'3px 10px',
208
+ 'lightbox_comment_button_border_width'=>'1',
209
+ 'lightbox_comment_button_border_style'=>'none',
210
+ 'lightbox_comment_button_border_color'=>'#666666',
211
+ 'lightbox_comment_button_border_radius'=>'3',
212
+ 'lightbox_comment_separator_width'=>'1',
213
+ 'lightbox_comment_separator_style'=>'solid',
214
+ 'lightbox_comment_separator_color'=>'#125688',
215
+ 'lightbox_comment_load_more_color' =>"#125688",
216
+ 'lightbox_comment_load_more_color_hover' =>"#000000",
217
+ //////////////////////////////////////////////////////////
218
+ 'th_photo_wrap_padding' => '10px',
219
+ 'th_photo_wrap_border_size' => '10px',
220
+ 'th_photo_wrap_border_color' => '#ffffff',
221
+ 'th_photo_img_border_radius' => '0px',
222
+ 'th_photo_wrap_bg_color' => '#FFFFFF',
223
+ 'th_photo_meta_bg_color' => '#FFFFFF',
224
+ 'th_photo_meta_one_line' => '1',
225
+ 'th_like_text_color' => '#8a8d8e',
226
+ 'th_comment_text_color' => '#8a8d8e',
227
+ 'th_photo_caption_font_size' => '14px',
228
+ 'th_photo_caption_color' => '#125688',
229
+ 'th_feed_item_margin' => '0',
230
+ 'th_photo_caption_hover_color' =>'#8e8e8e',
231
+ 'th_like_comm_font_size' => '13px',
232
+ 'th_overlay_hover_color'=>'#125688',
233
+ 'th_overlay_hover_transparent'=>'50',
234
+ 'th_overlay_hover_icon_color'=>'#FFFFFF',
235
+ 'th_overlay_hover_icon_font_size'=>'25px',
236
+ //////////////////////////////////////////////////////////
237
+ 'mas_photo_wrap_padding' => '10px',
238
+ 'mas_photo_wrap_border_size' => '0px',
239
+ 'mas_photo_wrap_border_color' => 'gray',
240
+ 'mas_photo_img_border_radius' => '0px',
241
+ 'mas_photo_wrap_bg_color' => '#FFFFFF',
242
+ 'mas_photo_meta_bg_color' => '#FFFFFF',
243
+ 'mas_photo_meta_one_line' => '1',
244
+ 'mas_like_text_color' => '#8a8d8e',
245
+ 'mas_comment_text_color' => '#8a8d8e',
246
+ 'mas_photo_caption_font_size' => '14px',
247
+ 'mas_photo_caption_color' => '#125688',
248
+ 'mas_feed_item_margin' => '0',
249
+ 'mas_photo_caption_hover_color' =>'#8e8e8e',
250
+ 'mas_like_comm_font_size' => '13px',
251
+ 'mas_overlay_hover_color'=>'#125688',
252
+ 'mas_overlay_hover_transparent'=>'50',
253
+ 'mas_overlay_hover_icon_color'=>'#FFFFFF',
254
+ 'mas_overlay_hover_icon_font_size'=>'25px',
255
+
256
+ /////////////////////////////////////////////////////////
257
+ //////////////////////////////////////////////////////////
258
+ 'blog_style_photo_wrap_padding' => '10px',
259
+ 'blog_style_photo_wrap_border_size' => '0px',
260
+ 'blog_style_photo_wrap_border_color' => 'gray',
261
+ 'blog_style_photo_img_border_radius' => '0px',
262
+ 'blog_style_photo_wrap_bg_color' => '#FFFFFF',
263
+ 'blog_style_photo_meta_bg_color' => '#FFFFFF',
264
+ 'blog_style_photo_meta_one_line' => '1',
265
+ 'blog_style_like_text_color' => '#8a8d8e',
266
+ 'blog_style_comment_text_color' => '#8a8d8e',
267
+ 'blog_style_photo_caption_font_size' => '16px',
268
+ 'blog_style_photo_caption_color' => '#125688',
269
+ 'blog_style_feed_item_margin' => '0',
270
+ 'blog_style_photo_caption_hover_color' =>'#8e8e8e',
271
+ 'blog_style_like_comm_font_size' => '20px',
272
+
273
+
274
+ ////////////////////////////////////////////////////////
275
+ /////////////////////////////////////////////////////////
276
+ 'image_browser_photo_wrap_padding' => '10px',
277
+ 'image_browser_photo_wrap_border_size' => '0px',
278
+ 'image_browser_photo_wrap_border_color' => 'gray',
279
+ 'image_browser_photo_img_border_radius' => '0px',
280
+ 'image_browser_photo_wrap_bg_color' => '#FFFFFF',
281
+ 'image_browser_photo_meta_bg_color' => '#FFFFFF',
282
+ 'image_browser_photo_meta_one_line' => '1',
283
+ 'image_browser_like_text_color' => '#8a8d8e',
284
+ 'image_browser_comment_text_color' => '#8a8d8e',
285
+ 'image_browser_photo_caption_font_size' => '16px',
286
+ 'image_browser_photo_caption_color' => '#125688',
287
+ 'image_browser_feed_item_margin' => '0',
288
+ 'image_browser_photo_caption_hover_color' =>'#8e8e8e',
289
+ 'image_browser_like_comm_font_size' => '20px',
290
+
291
+ 'load_more_position' => 'center',
292
+ 'load_more_padding' => '4px',
293
+ 'load_more_bg_color' => '#ffffff',
294
+ 'load_more_border_radius' => '500px',
295
+ 'load_more_height' => '90px',
296
+ 'load_more_width' => '90px',
297
+ 'load_more_border_size' => '1px',
298
+ 'load_more_border_color' => '#0f4973',
299
+ 'load_more_text_color' => '#1e73be',
300
+ /*load more icon*/
301
+ 'load_more_text_font_size' => '14px',
302
+ 'load_more_wrap_hover_color' => 'transparent',
303
+ 'pagination_ctrl_color' => '#0f4973',
304
+ 'pagination_size' => '40px',
305
+ 'pagination_ctrl_margin' => '15px',
306
+ 'pagination_ctrl_hover_color' => '#25292c',
307
+ 'pagination_position' => 'center',
308
+ 'pagination_position_vert' => 'top'
309
+ );
310
+ return $settings;
311
+ }
312
+
313
+ public function get_sanitize_types(){
314
+ $sanitize_types = array(
315
+ 'theme_name' => 'string',
316
+ 'default_theme'=> 'number',
317
+ 'feed_container_bg_color' => 'color',//*
318
+ 'feed_wrapper_width' => 'length',//
319
+ 'feed_container_width' => 'length',
320
+ 'feed_wrapper_bg_color' => 'color',//*
321
+ 'active_filter_bg_color' => 'color',
322
+ 'header_margin' => 'length_multi',//*
323
+ 'header_padding' => 'length_multi',//*
324
+ 'header_border_size' => 'length',//*
325
+ 'header_border_color' => 'color',//*
326
+ 'header_position' => 'position',//*
327
+ 'header_img_width' => 'number',//*
328
+ 'header_border_radius' => 'number',////////////////////////////*
329
+ 'header_text_padding' => 'length',//*
330
+ 'header_text_color' => 'color',//*
331
+ 'header_font_weight' => 'number',//*
332
+ 'header_text_font_size' => 'length',///////////*
333
+ 'header_text_font_style' => 'string',///////////////////
334
+ 'follow_btn_border_radius'=>'number',
335
+ 'follow_btn_padding'=>'number',
336
+ 'follow_btn_margin'=>'number',
337
+ 'follow_btn_bg_color'=>'color',
338
+ 'follow_btn_border_color'=>'color',
339
+ 'follow_btn_text_color'=>'color',
340
+ 'follow_btn_font_size'=>'number',
341
+ 'follow_btn_border_hover_color'=>'color',
342
+ 'follow_btn_text_hover_color'=>'color',
343
+ 'follow_btn_background_hover_color'=>'color',
344
+
345
+ 'user_padding' => 'length_multi',//*
346
+
347
+ 'user_horizontal_margin' => 'length',//*
348
+ 'user_border_size' => 'length',//*
349
+ 'user_border_color' => 'color',//*
350
+ 'user_img_width' => 'number',
351
+ 'user_border_radius' => 'number',
352
+ 'user_background_color' => 'color',//*
353
+
354
+ 'users_border_size' => 'length',//*
355
+ 'users_border_color' => 'color',//*
356
+ 'users_background_color' => 'color',//*
357
+ /////////////////////////LightBox////////////////////////
358
+ 'users_text_color' => 'color',
359
+ 'users_font_weight' => 'number',
360
+ 'users_text_font_size' => 'length',
361
+ 'users_text_font_style' => 'string',
362
+ 'user_description_font_size' => 'length',
363
+
364
+ 'lightbox_overlay_bg_color'=>'color',
365
+ 'lightbox_overlay_bg_transparent'=>'number_max_100',
366
+ 'lightbox_bg_color'=>'color',
367
+ 'lightbox_ctrl_btn_height'=>'number',
368
+ 'lightbox_ctrl_btn_margin_top'=>'number',
369
+ 'lightbox_ctrl_btn_margin_left'=>'number',
370
+ 'lightbox_ctrl_btn_pos'=>'string',
371
+ 'lightbox_ctrl_cont_bg_color'=>'color',
372
+ 'lightbox_ctrl_cont_border_radius'=>'number',
373
+ 'lightbox_ctrl_cont_transparent'=>'number_max_100',
374
+ 'lightbox_ctrl_btn_align'=>'position',
375
+ 'lightbox_ctrl_btn_color'=>'color',
376
+ 'lightbox_ctrl_btn_transparent'=>'number_max_100',
377
+ 'lightbox_toggle_btn_height'=>'number',
378
+ 'lightbox_toggle_btn_width'=>'number',
379
+ 'lightbox_close_btn_border_radius'=>'number',
380
+ 'lightbox_close_btn_border_width'=>'number',
381
+ 'lightbox_close_btn_border_style'=>'string',
382
+ 'lightbox_close_btn_border_color'=>'color',
383
+ 'lightbox_close_btn_box_shadow'=>'css_box_shadow',
384
+ 'lightbox_close_btn_bg_color'=>'color',
385
+ 'lightbox_close_btn_transparent'=>'number_max_100',
386
+ 'lightbox_close_btn_width'=>'number',
387
+ 'lightbox_close_btn_height'=>'number',
388
+ 'lightbox_close_btn_top'=>'number_neg',
389
+ 'lightbox_close_btn_right'=>'number_neg',
390
+ 'lightbox_close_btn_size'=>'number',
391
+ 'lightbox_close_btn_color'=>'color',
392
+ 'lightbox_close_btn_full_color'=>'color',
393
+ 'lightbox_close_btn_hover_color'=>'color',
394
+ 'lightbox_comment_share_button_color'=>'color',
395
+ 'lightbox_rl_btn_style'=>'string',
396
+ 'lightbox_rl_btn_bg_color'=>'color',
397
+ 'lightbox_rl_btn_transparent'=>'number_max_100',
398
+ 'lightbox_rl_btn_box_shadow'=>'css_box_shadow',
399
+ 'lightbox_rl_btn_height'=>'number',
400
+ 'lightbox_rl_btn_width'=>'number',
401
+ 'lightbox_rl_btn_size'=>'number',
402
+ 'lightbox_close_rl_btn_hover_color'=>'color',
403
+ 'lightbox_rl_btn_color'=>'color',
404
+ 'lightbox_rl_btn_border_radius'=>'number',
405
+ 'lightbox_rl_btn_border_width'=>'number',
406
+ 'lightbox_rl_btn_border_style'=>'string',
407
+ 'lightbox_rl_btn_border_color'=>'color',
408
+ 'lightbox_filmstrip_pos'=>'position',
409
+ 'lightbox_filmstrip_thumb_margin'=>'length_multi',
410
+ 'lightbox_filmstrip_thumb_border_width'=>'number',
411
+ 'lightbox_filmstrip_thumb_border_style'=>'string',
412
+ 'lightbox_filmstrip_thumb_border_color'=>'color',
413
+ 'lightbox_filmstrip_thumb_border_radius'=>'number',
414
+ 'lightbox_filmstrip_thumb_active_border_width'=>'number',
415
+ 'lightbox_filmstrip_thumb_active_border_color'=>'color',
416
+ 'lightbox_filmstrip_thumb_deactive_transparent'=>'number_max_100',
417
+ 'lightbox_filmstrip_rl_btn_size'=>'number',
418
+ 'lightbox_filmstrip_rl_btn_color'=>'color',
419
+ 'lightbox_filmstrip_rl_bg_color'=>'color',
420
+ 'lightbox_info_pos'=>'position',
421
+ 'lightbox_info_align'=>'string',
422
+ 'lightbox_info_bg_color'=>'color',
423
+ 'lightbox_info_bg_transparent'=>'number_max_100',
424
+ 'lightbox_info_border_width'=>'number',
425
+ 'lightbox_info_border_style'=>'string',
426
+ 'lightbox_info_border_color'=>'color',
427
+ 'lightbox_info_border_radius'=>'number',
428
+ 'lightbox_info_padding'=>'length_multi',
429
+ 'lightbox_info_margin'=>'length_multi',
430
+ 'lightbox_title_color'=>'color',
431
+ 'lightbox_title_font_style'=>'string',
432
+ 'lightbox_title_font_weight'=>'string',
433
+ 'lightbox_title_font_size'=>'number',
434
+ 'lightbox_description_color'=>'color',
435
+ 'lightbox_description_font_style'=>'string',
436
+ 'lightbox_description_font_weight'=>'string',
437
+ 'lightbox_description_font_size'=>'number',
438
+ 'lightbox_info_height'=>'number_max_100',
439
+ 'lightbox_comment_width'=>'number',
440
+ 'lightbox_comment_pos'=>'string',
441
+ 'lightbox_comment_bg_color'=>'color',
442
+ 'lightbox_comment_font_size'=>'number',
443
+ 'lightbox_comment_font_color'=>'color',
444
+ 'lightbox_comment_font_style'=>'string',
445
+ 'lightbox_comment_author_font_size'=>'number',
446
+ 'lightbox_comment_author_font_color'=>'color',
447
+ 'lightbox_comment_author_font_color_hover'=>'color',
448
+ 'lightbox_comment_date_font_size'=>'number',
449
+ 'lightbox_comment_body_font_size'=>'number',
450
+ 'lightbox_comment_input_border_width'=>'number',
451
+ 'lightbox_comment_input_border_style'=>'string',
452
+ 'lightbox_comment_input_border_color'=>'color',
453
+ 'lightbox_comment_input_border_radius'=>'number',
454
+ 'lightbox_comment_input_padding'=>'length_multi',
455
+ 'lightbox_comment_input_bg_color'=>'color',
456
+ 'lightbox_comment_button_bg_color'=>'color',
457
+ 'lightbox_comment_button_padding'=>'length_multi',
458
+ 'lightbox_comment_button_border_width'=>'number',
459
+ 'lightbox_comment_button_border_style'=>'string',
460
+ 'lightbox_comment_button_border_color'=>'color',
461
+ 'lightbox_comment_button_border_radius'=>'number',
462
+ 'lightbox_comment_separator_width'=>'number',
463
+ 'lightbox_comment_separator_style'=>'string',
464
+ 'lightbox_comment_separator_color'=>'color',
465
+ 'lightbox_comment_load_more_color' =>'color',
466
+ 'lightbox_comment_load_more_color_hover' =>'color',
467
+ /////////////////////////////////////////////////////////
468
+ 'th_photo_wrap_padding' => 'length',
469
+ 'th_photo_wrap_border_size' => 'length',
470
+ 'th_photo_wrap_border_color' => 'color',
471
+ 'th_photo_img_border_radius' => 'length',
472
+ 'th_photo_wrap_bg_color' => 'color',
473
+ 'th_photo_meta_bg_color' => 'color',
474
+ 'th_photo_meta_one_line' => 'bool',
475
+ 'th_like_text_color' => 'color',
476
+ 'th_comment_text_color' => 'color',
477
+ 'th_photo_caption_font_size' => 'length',
478
+ 'th_photo_caption_color' => 'color',
479
+ 'th_feed_item_margin' => 'length',
480
+ 'th_photo_caption_hover_color' =>'color',
481
+ 'th_like_comm_font_size' => 'length',
482
+ 'th_overlay_hover_color'=>'color',
483
+ 'th_overlay_hover_transparent'=>'number',
484
+ 'th_overlay_hover_icon_color'=>'color',
485
+ 'th_overlay_hover_icon_font_size'=>'length',
486
+
487
+ /////////////////////////////////////////////////////////
488
+ 'mas_photo_wrap_padding' => 'length',
489
+ 'mas_photo_wrap_border_size' => 'length',
490
+ 'mas_photo_wrap_border_color' => 'color',
491
+ 'mas_photo_img_border_radius' => 'length',
492
+ 'mas_photo_wrap_bg_color' => 'color',
493
+ 'mas_photo_meta_bg_color' => 'color',
494
+ 'mas_photo_meta_one_line' => 'bool',
495
+ 'mas_like_text_color' => 'color',
496
+ 'mas_comment_text_color' => 'color',
497
+ 'mas_photo_caption_font_size' => 'length',
498
+ 'mas_photo_caption_color' => 'color',
499
+ 'mas_feed_item_margin' => 'length',
500
+ 'mas_photo_caption_hover_color' =>'color',
501
+ 'mas_like_comm_font_size' => 'length',
502
+ 'mas_overlay_hover_color'=>'color',
503
+ 'mas_overlay_hover_transparent'=>'number',
504
+ 'mas_overlay_hover_icon_color'=>'color',
505
+ 'mas_overlay_hover_icon_font_size'=>'length',
506
+ /////////////////////////////////////////////////
507
+
508
+ 'blog_style_photo_wrap_padding' => 'length',
509
+ 'blog_style_photo_wrap_border_size' => 'length',
510
+ 'blog_style_photo_wrap_border_color' => 'color',
511
+ 'blog_style_photo_img_border_radius' => 'length',
512
+ 'blog_style_photo_wrap_bg_color' => 'color',
513
+ 'blog_style_photo_meta_bg_color' => 'color',
514
+ 'blog_style_photo_meta_one_line' => 'bool',
515
+ 'blog_style_like_text_color' => 'color',
516
+ 'blog_style_comment_text_color' => 'color',
517
+ 'blog_style_photo_caption_font_size' => 'length',
518
+ 'blog_style_photo_caption_color' => 'color',
519
+ 'blog_style_feed_item_margin' => 'length',
520
+ 'blog_style_photo_caption_hover_color' =>'color',
521
+ 'blog_style_like_comm_font_size' => 'length',
522
+ //////////////////////////////////////////
523
+
524
+ /////////////////////////////////////////////////
525
+
526
+ 'image_browser_photo_wrap_padding' => 'length',
527
+ 'image_browser_photo_wrap_border_size' => 'length',
528
+ 'image_browser_photo_wrap_border_color' => 'color',
529
+ 'image_browser_photo_img_border_radius' => 'length',
530
+ 'image_browser_photo_wrap_bg_color' => 'color',
531
+ 'image_browser_photo_meta_bg_color' => 'color',
532
+ 'image_browser_photo_meta_one_line' => 'bool',
533
+ 'image_browser_like_text_color' => 'color',
534
+ 'image_browser_comment_text_color' => 'color',
535
+ 'image_browser_photo_caption_font_size' => 'length',
536
+ 'image_browser_photo_caption_color' => 'color',
537
+ 'image_browser_feed_item_margin' => 'length',
538
+ 'image_browser_photo_caption_hover_color' =>'color',
539
+ 'image_browser_like_comm_font_size' => 'length',
540
+ //////////////////////////////////////////
541
+
542
+ 'load_more_position' => 'position',//*
543
+ 'load_more_padding' => 'length',//*
544
+ 'load_more_bg_color' => 'color',//*
545
+ 'load_more_border_radius' => 'length',//*
546
+ 'load_more_height' => 'length',//*
547
+ 'load_more_width' => 'length',//*
548
+ 'load_more_border_size' => 'length',//*
549
+ 'load_more_border_color' => 'color',//*
550
+ 'load_more_text_color' => 'color',//*
551
+ /*load more icon*/
552
+ 'load_more_text_font_size' => 'length',//*
553
+ 'load_more_wrap_hover_color' => 'color',//*
554
+ 'pagination_ctrl_color' => 'color',
555
+ 'pagination_size' => 'length',
556
+ 'pagination_ctrl_margin' => 'length_multi',
557
+ 'pagination_ctrl_hover_color' => 'color',
558
+ 'pagination_position' => 'position',
559
+ 'pagination_position_vert'=>'position'
560
+ );
561
+ return $sanitize_types;
562
+ }
563
+
564
+ public static function get_theme_row($current_id){
565
+ global $wpdb;
566
+ $theme_row = $wpdb->get_row($wpdb->prepare("SELECT * FROM ". $wpdb->prefix.WDI_THEME_TABLE. " WHERE id ='%d' ",$current_id));
567
+ return $theme_row;
568
+ }
569
+ public static function get_themes(){
570
+ global $wpdb;
571
+ $themes = WDILibrary::objectToArray($wpdb->get_results("SELECT `id`, `theme_name` FROM " . $wpdb->prefix.WDI_THEME_TABLE));
572
+ foreach ($themes as $theme) {
573
+ $output[$theme['id']] = $theme['theme_name'];
574
+ }
575
+ return $output;
576
+ }
577
+ public function check_default($current_id){
578
+ global $wpdb;
579
+ $query = $wpdb->prepare("SELECT `default_theme`FROM " . $wpdb->prefix.WDI_THEME_TABLE . " WHERE id='%d'",$current_id);
580
+ $row = WDILibrary::objectToArray($wpdb->get_row($query));
581
+ return ($row['default_theme']);
582
+ }
583
+ }
584
+ ?>
admin/models/WDIModelUninstall_wdi.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIModelUninstall_wdi{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Variables //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constructor and Destructor //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ public function __construct(){
10
+
11
+ }
12
+
13
+ }
admin/models/WDIModelWidget.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIModelWidget {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+
22
+ public function get_feeds() {
23
+ global $wpdb;
24
+ $query = "SELECT id,feed_name,feed_type FROM " . $wpdb->prefix . WDI_FEED_TABLE." WHERE published=1";
25
+ $rows = $wpdb->get_results($query);
26
+ return $rows;
27
+ }
28
+ public function get_last_feed_id(){
29
+ global $wpdb;
30
+ $max_id = $wpdb->get_var('SELECT MAX(id) FROM ' . $wpdb->prefix . WDI_THEME_TABLE);
31
+ return $max_id;
32
+ }
33
+
34
+
35
+
36
+ ////////////////////////////////////////////////////////////////////////////////////////
37
+ // Getters & Setters //
38
+ ////////////////////////////////////////////////////////////////////////////////////////
39
+ ////////////////////////////////////////////////////////////////////////////////////////
40
+ // Private Methods //
41
+ ////////////////////////////////////////////////////////////////////////////////////////
42
+ ////////////////////////////////////////////////////////////////////////////////////////
43
+ // Listeners //
44
+ ////////////////////////////////////////////////////////////////////////////////////////
45
+ }
admin/views/WDIViewEditorShortcode.php ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIViewEditorShortcode {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $model;
14
+
15
+
16
+ ////////////////////////////////////////////////////////////////////////////////////////
17
+ // Constructor & Destructor //
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ public function __construct($model) {
20
+ $this->model = $model;
21
+ }
22
+ ////////////////////////////////////////////////////////////////////////////////////////
23
+ // Public Methods //
24
+ ////////////////////////////////////////////////////////////////////////////////////////
25
+ public function display() {
26
+ $rows = WDILibrary::objectToArray($this->model->get_row_data());
27
+ wp_print_scripts('jquery');
28
+
29
+ ?>
30
+ <style type="text/css">
31
+ .editor_popup_container{
32
+ font-family:'Open Sans', sans-serif;
33
+ }
34
+ .styled-select select {
35
+ background: transparent;
36
+ width: 200px;
37
+ padding: 5px;
38
+ font-size: 14px;
39
+ line-height: 1;
40
+ color:rgb(68, 68, 68);
41
+ border-radius: 0;
42
+ height: 34px;
43
+ -webkit-appearance: none;
44
+ }
45
+ .wdi_editor_label{
46
+ color:rgb(68, 68, 68);
47
+ font-size:14px;
48
+ font-weight:600;
49
+ font-family:'Open Sans', sans-serif;
50
+ }
51
+ .wdi_feed_info{
52
+ color:rgb(68, 68, 68);
53
+ font-size:14px;
54
+ font-weight:600;
55
+ text-align: center;
56
+ font-family:'Open Sans', sans-serif;
57
+ width: 30%;
58
+ margin-top: 10px;
59
+ margin:0 auto;
60
+ }
61
+ .wdi_feed_thumb img{
62
+ max-height: 50px;
63
+ max-width: 50px;
64
+ width: auto;
65
+ height: auto;
66
+ }
67
+ .table-cell{
68
+ display: table-cell;
69
+ vertical-align: middle;
70
+ }
71
+ .table-row{
72
+ display: table-row;
73
+ }
74
+ .wdi_feed_thumb,
75
+ .wdi_feed_name{
76
+ padding: 5px;
77
+ }
78
+ .wdi_editor_insert{
79
+ background: #00a0d2;
80
+ border-color: #0073aa;
81
+ -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
82
+ box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
83
+ color: #fff;
84
+ text-decoration: none;
85
+ display: inline-block;
86
+ text-align: right;
87
+ height: 30px;
88
+ line-height: 28px;
89
+ padding: 0 12px 2px;
90
+ border-radius: 5px;
91
+ border: 1px solid #948888;
92
+ }
93
+ .wdi_editor_insert:hover{
94
+ cursor: pointer;
95
+ }
96
+ </style>
97
+ <div id="wdi_editor_popup">
98
+ <div class="editor_popup_container styled-select">
99
+ <div class="wdi_feed_select table-row">
100
+ <label for="wdi_feed_select" class="wdi_editor_label table-cell"><?php _e('Select Feed:', 'wdi'); ?></label>
101
+ <span class="wdi_feed_thumb table-cell"></span>
102
+ <span class="table-cell"><select name="wdi_feed_select" onchange="wdi_selectChange()" id="wdi_feed_select">
103
+ <?php foreach ($rows as $row) {
104
+ ?>
105
+ <option value="<?php echo $row['id']?>"><?php echo $row["feed_name"]?></option>
106
+ <?php
107
+ }?>
108
+ </select></span>
109
+ </div>
110
+ <div style="text-align:right">
111
+ <div id="wdi_editor_insert_btn" class="wdi_editor_insert">Insert</div>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ <script>
116
+ <?php echo 'var wdi_feed_rows =' . json_encode($rows);?>;
117
+ jQuery(document).ready(function(){
118
+ wdi_selectChange(jQuery('#wdi_feed_select'));
119
+ jQuery('#wdi_editor_insert_btn').on('click',wdi_insert_shortcode);
120
+ });
121
+ function wdi_selectChange(){
122
+ var current = jQuery("#wdi_feed_select").val();
123
+ for(var i = 0; i < wdi_feed_rows.length; i++){
124
+ if(wdi_feed_rows[i]['id'] == current){
125
+ var currentRow = wdi_feed_rows[i];
126
+ break;
127
+ }
128
+ }
129
+ var thumbHtml = '<img src="'+currentRow['feed_thumb']+'">';
130
+ //var nameHtml = currentRow['feed_name'];
131
+ var id_elem = jQuery('<input id="wdi_id" name="wdi_id" type="hidden"/>');
132
+ id_elem.val(currentRow['id']);
133
+ jQuery('.wdi_feed_thumb').html(thumbHtml);
134
+ jQuery('.wdi_feed_thumb').append(id_elem);
135
+ //jQuery('.wdi_feed_info .wdi_feed_name').html(nameHtml);
136
+ }
137
+ function wdi_insert_shortcode() {
138
+ if (document.getElementById("wdi_id").value) {
139
+ window.parent.send_to_editor('[wdi_feed id="' + document.getElementById('wdi_id').value + '"]');
140
+ }
141
+ window.parent.tb_remove();
142
+ }
143
+ </script>
144
+ <?php
145
+ die();
146
+ }
147
+
148
+ ////////////////////////////////////////////////////////////////////////////////////////
149
+ // Getters & Setters //
150
+ ////////////////////////////////////////////////////////////////////////////////////////
151
+ ////////////////////////////////////////////////////////////////////////////////////////
152
+ // Private Methods //
153
+ ////////////////////////////////////////////////////////////////////////////////////////
154
+ ////////////////////////////////////////////////////////////////////////////////////////
155
+ // Listeners //
156
+ ////////////////////////////////////////////////////////////////////////////////////////
157
+ }
admin/views/WDIViewFeeds_wdi.php ADDED
@@ -0,0 +1,436 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIViewFeeds_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $model;
14
+
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Constructor & Destructor //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ public function __construct($model) {
19
+ $this->model = $model;
20
+ }
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ // Public Methods //
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ public function display() {
25
+ /*My Edit*/
26
+ global $wdi_options;
27
+ $rows_data = $this->model->get_rows_data();
28
+ $page_nav = $this->model->page_nav();
29
+ $search_value = ((isset($_POST['search_value'])) ? esc_html(stripslashes($_POST['search_value'])) : '');
30
+ $search_select_value = ((isset($_POST['search_select_value'])) ? (int) $_POST['search_select_value'] : 0);
31
+ $asc_or_desc = ((isset($_POST['asc_or_desc'])) ? esc_html(stripslashes($_POST['asc_or_desc'])) : 'asc');
32
+ $order_by = (isset($_POST['order_by']) ? esc_html(stripslashes($_POST['order_by'])) : 'id');
33
+ $order_class = 'manage-column column-title sorted ' . $asc_or_desc;
34
+ $ids_string = '';
35
+ ?>
36
+ <!-- Banner Start -->
37
+ <div style="clear: both; float: left; width: 100%;">
38
+ <div style="float: left; font-size: 14px; font-weight: bold;">
39
+ <?php _e('This Section Allows You to Add/Edit Feeds','wdi') ?>
40
+ <a style="color: #15699F; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-instagram-feed-wd/creating-feeds.html"><?php _e('Read More in User Manual',"wdi"); ?></a>
41
+ </div>
42
+ <div style="float: right; text-align: right;margin-top:10px">
43
+ <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromInstagramFeedWD.php">
44
+ <img width="215" border="0" alt="web-dorado.com" src="<?php echo WDI_URL . '/images/wd_logo.png'; ?>" />
45
+ </a>
46
+ </div>
47
+ </div>
48
+ <!-- Banner END -->
49
+ <form class="wrap" id="sliders_form" method="post" action="admin.php?page=wdi_feeds" style="float: left; width: 99%;">
50
+ <?php wp_nonce_field('nonce_wd', 'nonce_wd'); ?>
51
+ <input type="hidden" id="wdi_access_token" name="access_token" value="<?php echo isset($wdi_options['wdi_access_token'])?$wdi_options['wdi_access_token']:'';?>">
52
+ <span class="slider-icon"></span>
53
+ <h2>
54
+ <?php _e('Feeds', "wdi"); ?>
55
+ <a href="" class="add-new-h2" onclick="wdi_spider_set_input_value('task', 'add');
56
+ if(document.getElementById('wdi_access_token').value!=''){
57
+ wdi_spider_form_submit(event, 'sliders_form');
58
+ }"><?php _e('Add new', "wdi"); ?></a>
59
+ </h2>
60
+ <div class="buttons_div">
61
+ <span class="button-secondary non_selectable" onclick="wdi_spider_check_all_items()">
62
+ <input type="checkbox" id="check_all_items" name="check_all_items" onclick="wdi_spider_check_all_items_checkbox()" style="margin: 0; vertical-align: middle;" />
63
+ <span style="vertical-align: middle;"><?php _e('Select All', "wdi"); ?></span>
64
+ </span>
65
+ <input class="button-secondary" type="submit" onclick="wdi_spider_set_input_value('task', 'publish_all')" value="<?php esc_attr_e('Publish', "wdi"); ?>" />
66
+ <input class="button-secondary" type="submit" onclick="wdi_spider_set_input_value('task', 'unpublish_all')" value="<?php esc_attr_e('Unpublish', "wdi"); ?>" />
67
+ <input class="button-secondary" type="submit" onclick="wdi_spider_set_input_value('task', 'duplicate_all')" value="<?php esc_attr_e('Duplicate', "wdi"); ?>" />
68
+
69
+ <input class="button-secondary" type="submit" onclick="if (confirm('<?php esc_attr_e('Do you want to delete selected items?', "wdi"); ?>')) {
70
+ wdi_spider_set_input_value('task', 'delete_all');
71
+ } else {
72
+ return false;
73
+ }" value="<?php esc_attr_e('Delete', "wdi"); ?>" />
74
+ </div>
75
+ <div class="tablenav top">
76
+ <?php
77
+ WDILibrary::search(__('Name',"wdi"), $search_value, 'sliders_form');
78
+ WDILibrary::html_page_nav($page_nav['total'], $page_nav['limit'], 'sliders_form');
79
+ ?>
80
+ </div>
81
+ <table class="wp-list-table widefat fixed pages">
82
+ <thead>
83
+ <th class="manage-column column-cb check-column table_small_col"><input id="check_all" type="checkbox" onclick="wdi_spider_check_all(this)" style="margin:0;" /></th>
84
+ <th class="table_small_col <?php if ($order_by == 'id') {echo $order_class;} ?>">
85
+ <a onclick="wdi_spider_set_input_value('task', '');
86
+ wdi_spider_set_input_value('order_by', 'id');
87
+ wdi_spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'id') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
88
+ wdi_spider_form_submit(event, 'sliders_form')" href="">
89
+ <span>ID</span><span class="sorting-indicator"></span>
90
+ </a>
91
+ </th>
92
+ <th class="table_big_col"><?php _e("Feed","wdi")?></th>
93
+ <th class="<?php if ($order_by == 'feed_name') {echo $order_class;} ?>">
94
+ <a onclick="wdi_spider_set_input_value('task', '');
95
+ wdi_spider_set_input_value('order_by', 'feed_name');
96
+ wdi_spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'feed_name') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
97
+ wdi_spider_form_submit(event, 'sliders_form')" href="">
98
+ <span><?php _e('Name', "wdi"); ?></span><span class="sorting-indicator"></span>
99
+ </a>
100
+ </th>
101
+ <th class="table_big_col"><?php _e('Shortcode', "wdi"); ?></th>
102
+ <th class="table_large_col"><?php _e('PHP function', "wdi"); ?></th>
103
+ <th class="table_big_col <?php if ($order_by == 'published') {echo $order_class;} ?>">
104
+ <a onclick="wdi_spider_set_input_value('task', '');
105
+ wdi_spider_set_input_value('order_by', 'published');
106
+ wdi_spider_set_input_value('asc_or_desc', '<?php echo ((isset($_POST['asc_or_desc']) && isset($_POST['order_by']) && (esc_html(stripslashes($_POST['order_by'])) == 'published') && esc_html(stripslashes($_POST['asc_or_desc'])) == 'asc') ? 'desc' : 'asc'); ?>');
107
+ wdi_spider_form_submit(event, 'sliders_form')" href="">
108
+ <span><?php _e('Published', "wdi"); ?></span><span class="sorting-indicator"></span>
109
+ </a>
110
+ </th>
111
+ <th class="table_big_col"><?php _e('Edit', "wdi"); ?></th>
112
+ <th class="table_big_col"><?php _e('Delete', "wdi"); ?></th>
113
+ </thead>
114
+ <tbody id="tbody_arr">
115
+ <?php
116
+ if ($rows_data) {
117
+ foreach ($rows_data as $row_data) {
118
+ $alternate = (!isset($alternate) || $alternate == 'class="alternate"') ? '' : 'class="alternate"';
119
+ $published_image = (($row_data->published) ? 'publish' : 'unpublish');
120
+ $published = (($row_data->published) ? 'unpublish' : 'publish');
121
+ $prev_img_url = $this->model->get_slider_prev_img($row_data->id);
122
+ ?>
123
+ <tr id="tr_<?php echo $row_data->id; ?>" <?php echo $alternate; ?>>
124
+ <td class="table_small_col check-column"><input id="check_<?php echo $row_data->id; ?>" name="check_<?php echo $row_data->id; ?>" onclick="wdi_spider_check_all(this)" type="checkbox" /></td>
125
+ <td class="table_small_col"><?php echo $row_data->id; ?></td>
126
+ <td class="table_big_col">
127
+ <img title="<?php echo $row_data->feed_name; ?>" style="border: 1px solid #CCCCCC; max-width: 70px; max-height: 50px;" src="<?php echo $prev_img_url . '?date=' . date('Y-m-y H:i:s'); ?>">
128
+ </td>
129
+ <td>
130
+ <a onclick="wdi_spider_set_input_value('task', 'edit');
131
+ wdi_spider_set_input_value('page_number', '1');
132
+ wdi_spider_set_input_value('search_value', '');
133
+ wdi_spider_set_input_value('search_or_not', '');
134
+ wdi_spider_set_input_value('asc_or_desc', 'asc');
135
+ wdi_spider_set_input_value('order_by', 'order');
136
+ wdi_spider_set_input_value('current_id', '<?php echo $row_data->id; ?>');
137
+ wdi_spider_form_submit(event, 'sliders_form')" href="" title="Edit"><?php echo $row_data->feed_name; ?>
138
+ </a>
139
+ </td>
140
+ <td class="table_big_col" style="padding-left: 0; padding-right: 0;">
141
+ <input type="text" value='[wdi_feed id="<?php echo $row_data->id; ?>"]' onclick="wdi_spider_select_value(this)" size="11" readonly="readonly" style="padding-left: 1px; padding-right: 1px;" />
142
+ </td>
143
+ <td class="table_large_col" style="padding-left: 0; padding-right: 0;">
144
+ <input type="text" value="&#60;?php wdi_feed(<?php echo $row_data->id; ?>); ?&#62;" onclick="wdi_spider_select_value(this)" size="23" readonly="readonly" style="padding-left: 1px; padding-right: 1px;" />
145
+ </td>
146
+ <td class="table_big_col"><a onclick="wdi_spider_set_input_value('task', '<?php echo $published; ?>');wdi_spider_set_input_value('current_id', '<?php echo $row_data->id; ?>');wdi_spider_form_submit(event, 'sliders_form')" href=""><img src="<?php echo WDI_URL . '/images/' . $published_image . '.png'; ?>"></img></a></td>
147
+ <td class="table_big_col"><a onclick="wdi_spider_set_input_value('task', 'edit');
148
+ wdi_spider_set_input_value('page_number', '1');
149
+ wdi_spider_set_input_value('search_value', '');
150
+ wdi_spider_set_input_value('search_or_not', '');
151
+ wdi_spider_set_input_value('asc_or_desc', 'asc');
152
+ wdi_spider_set_input_value('order_by', 'order');
153
+ wdi_spider_set_input_value('current_id', '<?php echo $row_data->id; ?>');
154
+ wdi_spider_form_submit(event, 'sliders_form')" href="">Edit</a></td>
155
+ <td class="table_big_col"><a onclick="if (confirm('<?php esc_attr_e('Do you want to delete selected items?', "wdi"); ?>')){
156
+ wdi_spider_set_input_value('task', 'delete');
157
+ wdi_spider_set_input_value('current_id', '<?php echo $row_data->id; ?>');
158
+ wdi_spider_form_submit(event, 'sliders_form');
159
+ }" href="">Delete</a></td>
160
+ </tr>
161
+ <?php
162
+ $ids_string .= $row_data->id . ',';
163
+ }
164
+ }
165
+ ?>
166
+ </tbody>
167
+ </table>
168
+ <input id="task" name="task" type="hidden" value="" />
169
+ <input id="current_id" name="current_id" type="hidden" value="" />
170
+ <input id="ids_string" name="ids_string" type="hidden" value="<?php echo $ids_string; ?>" />
171
+ <input id="asc_or_desc" name="asc_or_desc" type="hidden" value="asc" />
172
+ <input id="order_by" name="order_by" type="hidden" value="<?php echo $order_by; ?>" />
173
+ </form>
174
+ <?php
175
+ }
176
+ public function edit($type){
177
+ if($type===0){
178
+ $this->generateForm();
179
+ ?>
180
+ <script>jQuery(document).ready(function(){
181
+ wdi_controller.switchFeedTabs('feed_settings');
182
+ });</script>
183
+ <?php
184
+ }else{
185
+ $current_id = $type;
186
+ $feed_row= $this->model->get_feed_row($current_id);
187
+ $view_id = $feed_row->feed_type;
188
+ $this->generateForm($current_id);
189
+ $tab = isset($_POST['wdi_refresh_tab']) ? $_POST['wdi_refresh_tab'] : 'feed_settings';
190
+ ?>
191
+ <script>jQuery(document).ready(function(){
192
+ wdi_controller.switchFeedTabs("<?php echo $tab;?>","<?php echo $view_id;?>");
193
+ });</script>
194
+ <?php
195
+
196
+ }
197
+
198
+
199
+ }
200
+
201
+
202
+
203
+ public function getFormElements($current_id=''){
204
+ require_once(WDI_DIR. '/admin/models/WDIModelThemes_wdi.php');
205
+ $themes = WDIModelThemes_wdi::get_themes();
206
+ $elements = array(
207
+ 'feed_name' => array('name'=>'feed_name','title'=>__('Feed Name',"wdi"),'type'=>'input','tooltip'=>__('The name of your feed which can be displayed in feed\'s header section',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
208
+ 'theme_id' => array('switched'=>'off','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("Changing Theme is Available Only in PRO version","wdi"),'br'=>'true'),'name' =>'theme_id', 'title'=>__('Theme',"wdi"),'valid_options'=>$themes,'type'=>'select','tooltip'=>__('The theme of your feed, you can create themes in themes menu',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
209
+ 'feed_users' => array('name'=>'feed_users','title'=>__('Feed Usernames and Hashtags',"wdi"),'type'=>'input','input_type'=>'hidden','tooltip'=>__('Enter usernames or hashtags to your feed, hashtags must start with #, username\'s shouldn\'t start with @',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
210
+ 'thumb_user' => array('name' =>'thumb_user', 'title'=>__('Featured Image',"wdi"),'valid_options'=>array(),'type'=>'select','tooltip'=>__('Select Featured Image For Header Section',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
211
+ 'feed_display_view' => array('name'=>'feed_display_view','title'=>__('Feed Display Type',"wdi"),'type'=>'radio','valid_options'=>array('pagination'=>__('Pagination',"wdi"),'load_more_btn'=>__('Load More Button',"wdi"),'infinite_scroll'=>__('Infinite Scroll',"wdi")),'disabled_options'=>array('infinite_scroll'=>__('This Feature is Available in PRO version'),'br'=>'true'),'break'=>'true','hide_ids'=>array('pagination'=>'number_of_photos,load_more_number,resort_after_load_more','load_more_btn'=>'pagination_per_page_number,pagination_preload_number','infinite_scroll'=>'pagination_per_page_number,pagination_preload_number'),'tooltip'=>__('How to load and display new images',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style'))),
212
+ 'sort_images_by' => array('name' =>'sort_images_by', 'title'=>__('Sort Images By',"wdi"),'valid_options'=>array('date'=>__('Date',"wdi"),'likes'=>__('Likes',"wdi"),'comments'=>__('Comments',"wdi"),'random'=>__('Random',"wdi")),'type'=>'select','tooltip'=>__('How to sort images',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
213
+ 'display_order' => array('name' =>'display_order', 'title'=>__('Order By',"wdi"),'valid_options'=>array('asc'=>'Ascending','desc'=>'Descending '),'type'=>'select','tooltip'=>__('Sorting order either Ascending or Descending',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
214
+ 'follow_on_instagram_btn' => array('name'=>'follow_on_instagram_btn','title'=>__('Follow on Instagram Button',"wdi"),'type'=>'checkbox','tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
215
+ 'display_header' => array('name'=>'display_header','title'=>__('Display Header',"wdi"),'type'=>'checkbox','tooltip'=>__('Displays feed\'s header, header includes feed name and feed users',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
216
+ 'number_of_photos' => array('name'=>'number_of_photos','title'=>__('Number of Photos to Display',"wdi"),'type'=>'input','input_type'=>'number','tooltip'=>__('Number of images to load when page loads first time',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style'))),
217
+ 'load_more_number' => array('name'=>'load_more_number','title'=>__('Number of Photos to Load',"wdi"),'type'=>'input','input_type'=>'number','tooltip'=>__('Number of images to load when clicking load more button or triggering infinite scroll',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style'))),
218
+ 'pagination_per_page_number'=>array('name'=>'pagination_per_page_number','title'=>__('Number of Images Per Page',"wdi"),'type'=>'input','input_type'=>'number','tooltip'=>__('Number Of Images To Show On Each Pagination Page',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style'))),
219
+ 'pagination_preload_number'=>array('name'=>'pagination_preload_number','title'=>__('Number of Pages To Preload',"wdi"),'type'=>'input','input_type'=>'number','tooltip'=>__('This Will Preload Images For Pagination',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style'))),
220
+ 'image_browser_preload_number'=>array('name'=>'image_browser_preload_number','title'=>__('Number of Images To Preload',"wdi"),'type'=>'input','input_type'=>'number','tooltip'=>__('This Will Preload Images For Pagination',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'image_browser'))),
221
+ 'image_browser_load_number'=>array('name'=>'image_browser_load_number','title'=>__('Number of Images To Load Each Time',"wdi"),'type'=>'input','input_type'=>'number','tooltip'=>__('Number Of Photos To Load on Each Load',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'image_browser'))),
222
+ 'number_of_columns' => array('name'=>'number_of_columns','title'=>__('Number of Columns',"wdi"),'type'=>'select','valid_options'=>array('1'=>'1','2'=>'2','3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8'),'tooltip'=>__('Feed item\'s column count',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry'))),
223
+ 'resort_after_load_more' => array('name'=>'resort_after_load_more','title'=>__('Sort Again Whole Feed After Loading New Images',"wdi"),'type'=>'checkbox','tooltip'=>__('Sort both newly loaded and existing images alltogether',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style'))),
224
+ 'show_likes' => array('switched'=>'off','name'=>'show_likes','title'=>__('Show Likes',"wdi"),'type'=>'checkbox','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
225
+ 'show_description' => array('switched'=>'off','name'=>'show_description','title'=>__('Show Description',"wdi"),'type'=>'checkbox','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
226
+ 'show_comments' => array('switched'=>'off','name'=>'show_comments','title'=>__('Show Comments',"wdi"),'type'=>'checkbox','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
227
+ 'show_usernames' => array('name'=>'show_usernames','title'=>__('Show User Data',"wdi"),'type'=>'checkbox','tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
228
+ 'display_user_info' => array('name'=>'display_user_info','title'=>__('Display User Bio',"wdi"),'type'=>'checkbox','tooltip'=>__('User bio will be displayed if feed has only one user',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
229
+ 'display_user_post_follow_number' => array('name'=>'display_user_post_follow_number','title'=>__('Display User Posts and Followers count',"wdi"),'type'=>'checkbox','tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
230
+ 'show_full_description' => array('name'=>'show_full_description','title'=>__('Show Full Description',"wdi"),'type'=>'checkbox','tooltip'=>__('Discription will be shown no matter how long it is',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'masonry'))),
231
+ 'disable_mobile_layout' => array('name'=>'disable_mobile_layout','title'=>__('Disable Mobile Layout',"wdi"),'type'=>'checkbox','tooltip'=>__('Column number stays the same in all screens',"wdi"),'attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry'))),
232
+ 'feed_item_onclick' => array('name'=>'feed_item_onclick','title'=>__('Image Onclick',"wdi"),'type'=>'radio','valid_options'=>array('lightbox'=>__('Open Lightbox',"wdi"),'instagram'=>__('Redirect To Instagram',"wdi"),'none'=>__('Do Nothing',"wdi")),'break'=>'true','tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'feed_settings'),array('name'=>'section','value'=>'thumbnails,masonry,blog_style,image_browser'))),
233
+ //lightbox settings
234
+ 'popup_fullscreen' => array('name'=>'popup_fullscreen','title'=>__('Full width lightbox',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
235
+ 'popup_width' => array('name'=>'popup_width','title'=>__('Lightbox Width',"wdi"),'type'=>'input','input_type'=>'number','label'=>array('text'=>'px','place'=>'after'),'tooltip'=>'','attr'=>array(array('name'=>'class','value'=>'small_input'),array('name'=>'tab','value'=>'lightbox_settings'))),
236
+ 'popup_height' => array('name'=>'popup_height','title'=>__('Lightbox Height',"wdi"),'type'=>'input','input_type'=>'number','label'=>array('text'=>'px','place'=>'after'),'tooltip'=>'','attr'=>array(array('name'=>'class','value'=>'small_input'),array('name'=>'tab','value'=>'lightbox_settings'))),
237
+ 'popup_type' => array('name' =>'popup_type', 'title'=>__('Lightbox Effect',"wdi"),'valid_options'=>array('none'=>'None','fade'=>'Fade','cubeH'=>'Cube Horizontal','cubeV'=>'Cube Vertical','sliceH'=>'Slice Horizontal','sliceV'=>'Slice Vertical','slideH'=>'Slide Horizontal','slideV'=>'Slide Vertical','scaleOut'=>'Scale Out','scaleIn'=>'Scale In','blockScale'=>'Block Scale','kaleidoscope'=>'Kaleidoscope','fan'=>'Fan','blindH'=>'Blind Horizontal','blindV'=>'Blinde Vertical','random'=>'Random'),'disabled_options'=>array('cubeH','cubeV','sliceH','sliceV','slideH','slideV','scaleOut','scaleIn','blockScale','kaleidoscope','fan','blindH','blindV','random'),'type'=>'select','tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
238
+ 'popup_autoplay' => array('name'=>'popup_autoplay','title'=>__('Lightbox autoplay',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'hide_ids'=>array('0'=>'popup_interval'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
239
+ 'popup_interval' => array('name'=>'popup_interval','title'=>__('Time Interval',"wdi"),'type'=>'input','input_type'=>'number','label'=>array('text'=>'sec','place'=>'after'),'tooltip'=>'','attr'=>array(array('name'=>'class','value'=>'small_input'),array('name'=>'tab','value'=>'lightbox_settings'))),
240
+ 'popup_enable_filmstrip' => array('disabled_options'=>array('1'=>'','0'=>''),'label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'name'=>'popup_enable_filmstrip','title'=>__('Enable filmstrip in lightbox',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'hide_ids'=>array('0'=>'popup_filmstrip_height'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
241
+ 'popup_filmstrip_height' => array('switched'=>'off','disabled'=>array('text'=>__("This Feature is Available Only in PRO version","wdi")),'name'=>'popup_filmstrip_height','title'=>__('Filmstrip size',"wdi"),'type'=>'input','input_type'=>'number','label'=>array('text'=>'px','place'=>'after'),'tooltip'=>'','attr'=>array(array('name'=>'class','value'=>'small_input'),array('name'=>'tab','value'=>'lightbox_settings'))),
242
+ 'autohide_lightbox_navigation' => array('name'=>'autohide_lightbox_navigation','title'=>__('Show Next / Previous Buttons',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('On Hover',"wdi"),'0'=>__('Always',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
243
+ 'popup_info_always_show' => array('disabled_options'=>array('1'=>'','0'=>''),'name'=>'popup_info_always_show','title'=>__('Display info by default',"wdi"),'type'=>'radio','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
244
+ 'popup_info_full_width' => array('disabled_options'=>array('1'=>'','0'=>''),'name'=>'popup_info_full_width','title'=>__('Full width info',"wdi"),'type'=>'radio','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
245
+ 'enable_loop' => array('name'=>'enable_loop','title'=>__('Enable Loop',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
246
+ 'popup_image_right_click' => array('name'=>'popup_image_right_click','title'=>__('Enable Right Click Protection',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
247
+ 'popup_enable_ctrl_btn' => array('name'=>'popup_enable_ctrl_btn','title'=>__('Enable control buttons',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'hide_ids'=>array('0'=>'popup_enable_info,popup_enable_fullscreen,popup_enable_info,popup_enable_comment,popup_enable_download,popup_enable_share_buttons,popup_enable_fullsize_image'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
248
+ 'popup_enable_info' => array('disabled_options'=>array('1'=>'','0'=>''),'name'=>'popup_enable_info','title'=>__('Enable info',"wdi"),'type'=>'radio','label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'valid_options'=>array('1'=>'Yes','0'=>'No'),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
249
+ 'popup_enable_fullscreen' => array('name'=>'popup_enable_fullscreen','title'=>__('Enable fullscreen',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
250
+ 'popup_enable_comment' => array('switched'=>'off','disabled_options'=>array('1'=>'','0'=>''),'label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'name'=>'popup_enable_comment','title'=>__('Enable comments',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
251
+ 'popup_enable_fullsize_image' => array('name'=>'popup_enable_fullsize_image','title'=>__('Link To Instagram Button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
252
+ 'popup_enable_download' => array('name'=>'popup_enable_download','title'=>__('Enable Download Button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
253
+ 'popup_enable_share_buttons' => array('disabled_options'=>array('1'=>'','0'=>''),'label'=>array('place'=>'after','class'=>'wdi_pro_only','text'=>__("This Feature is Available Only in PRO version","wdi"),'br'=>'true'),'name'=>'popup_enable_share_buttons','title'=>__('Enable Share Buttons',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
254
+ 'popup_enable_facebook' => array('status'=>'disabled','name'=>'popup_enable_facebook','title'=>__('Enable Facebook button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
255
+ 'popup_enable_twitter' => array('status'=>'disabled','name'=>'popup_enable_twitter','title'=>__('Enable Twitter button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
256
+ 'popup_enable_google' => array('status'=>'disabled','name'=>'popup_enable_google','title'=>__('Enable Google+ button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
257
+ 'popup_enable_pinterest' => array('status'=>'disabled','name'=>'popup_enable_pinterest','title'=>__('Enable Pinterest button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
258
+ 'popup_enable_tumblr' => array('status'=>'disabled','name'=>'popup_enable_tumblr','title'=>__('Enable Tumblr button',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
259
+ 'show_image_counts' => array('status'=>'disabled','name'=>'show_image_counts','title'=>__('Show Images Count',"wdi"),'type'=>'radio','valid_options'=>array('1'=>__('Yes',"wdi"),'0'=>__('No',"wdi")),'tooltip'=>'','attr'=>array(array('name'=>'tab','value'=>'lightbox_settings'))),
260
+
261
+
262
+ );
263
+ $return = array('elements'=>$elements,'current_id'=>$current_id);
264
+ return $return;
265
+ }
266
+
267
+
268
+ public function genarateFeedViews(){
269
+ ?>
270
+ <div class="wdi_border_wrapper">
271
+
272
+
273
+ <div class="display_type" tab="feed_settings" style="margin:5px;float:left;">
274
+ <div style="text-align:center;padding:2px;" ><input type="radio" id="thumbnails" name="feed_type" value="thumbnails"><label for="thumbnails">Thumbnails</label></div>
275
+ <label for="thumbnails"><img src="<?php echo plugins_url('../../images/feed_views/thumbnails.png',__FILE__);?>"></label>
276
+ </div>
277
+
278
+ <div class="display_type wdi_tooltip" wdi-tooltip="<?php _e('Available In Pro Version') ?>" tab="feed_settings" style="margin:5px;float:left;">
279
+ <div style="text-align:center;padding:2px;" ><input type="radio" disabled id="masonry" name="feed_type" value="masonry"><label for="masonry" class="wdi_pro_only">Masonry</label></div>
280
+ <label for="masonry" class="wdi_pro_only_op"><img src="<?php echo plugins_url('../../images/feed_views/masonry.png',__FILE__);?>"></label>
281
+ </div>
282
+
283
+ <div class="display_type wdi_tooltip" wdi-tooltip="<?php _e('Available In Pro Version') ?>" tab="feed_settings" style="margin:5px;float:left;">
284
+ <div style="text-align:center;padding:2px;" ><input disabled type="radio" id="blog_style" name="feed_type" value="blog_style"><label for="blog_style" class="wdi_pro_only">Blog Style</label></div>
285
+ <label for="blog_style" class="wdi_pro_only_op"><img src="<?php echo plugins_url('../../images/feed_views/blog_style.png',__FILE__);?>"></label>
286
+ </div>
287
+
288
+ <div class="display_type" tab="feed_settings" style="margin:5px;float:left;">
289
+ <div style="text-align:center;padding:2px;" ><input type="radio" id="image_browser" name="feed_type" value="image_browser"><label for="image_browser">Image Browser</label></div>
290
+ <label for="image_browser"><img src="<?php echo plugins_url('../../images/feed_views/image_browser.png',__FILE__);?>"></label>
291
+ </div>
292
+
293
+ <br class="clear">
294
+ <?php
295
+ }
296
+ public function generateTabs(){
297
+ ?>
298
+ <div id="wdi_feed_tabs">
299
+ <div class="wdi_feed_tabs" id="wdi_feed_settings" onclick="wdi_controller.switchFeedTabs('feed_settings');"><?php _e('Feed Settings',"wdi")?></div>
300
+ <div class="wdi_feed_tabs" id="wdi_lightbox_settings" onclick="wdi_controller.switchFeedTabs('lightbox_settings');"><?php _e('Lightbox Settings',"wdi")?></div>
301
+ <br class="clear">
302
+ </div>
303
+ <?php
304
+ }
305
+ public function generateForm($current_id = ''){
306
+ $formInfo = $this->getFormElements($current_id);
307
+ $elements=$formInfo['elements'];
308
+
309
+ global $wdi_options;
310
+ //for edit
311
+ $edit = false;
312
+ if($current_id != ''){
313
+ $feed_row = WDILibrary::objectToarray($this->model->get_feed_row($current_id));
314
+ $edit = true;
315
+ }
316
+ else{
317
+ $feed_row = '';
318
+ }
319
+ ?>
320
+ <!-- Banner Start -->
321
+ <div style="clear: both; float: left; width: 100%;">
322
+ <div style="float: left; font-size: 14px; font-weight: bold;">
323
+ <?php _e('Here You Can Change Feed Parameters','wdi') ?>
324
+ <a style="color: #15699F; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-instagram-feed-wd/creating-feeds.html"><?php _e('Read More in User Manual',"wdi"); ?></a>
325
+ </div>
326
+ <div style="float: right; text-align: right;margin-top:10px">
327
+ <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromInstagramFeedWD.php">
328
+ <img width="215" border="0" alt="web-dorado.com" src="<?php echo WDI_URL . '/images/wd_logo.png'; ?>" />
329
+ </a>
330
+ </div>
331
+ </div>
332
+ <!-- Banner END -->
333
+ <div class="wrap">
334
+ <h2><?php if($edit==true && isset($feed_row['feed_name'])){
335
+ echo __('Edit feed',"wdi").' <b style="font-size:23px;color:rgb(255, 97, 0);">' .$feed_row['feed_name'].'</b>';
336
+ }
337
+ else{
338
+ _e('Add new Feed', "wdi");
339
+ }?>
340
+
341
+
342
+ </h2>
343
+ <?php $this->generateTabs();?>
344
+ <?php $this->genarateFeedViews();?>
345
+ <form method="post" action="admin.php?page=wdi_feeds" id='wdi_save_feed'>
346
+ <?php wp_nonce_field('nonce_wd', 'nonce_wd'); ?>
347
+ <input type="hidden" id="wdi_feed_type" name='<?php echo WDI_FSN.'[feed_type]'?>'>
348
+ <input type="hidden" id="task" name='task'>
349
+ <input type="hidden" id="wdi_feed_thumb" name="<?php echo WDI_FSN.'[feed_thumb]'?>">
350
+ <input type="hidden" id="wdi_access_token" name="access_token" value="<?php echo $wdi_options['wdi_access_token'];?>">
351
+ <input type="hidden" id="wdi_add_or_edit" name="add_or_edit" value="<?php echo $current_id;?>">
352
+ <input type="hidden" id="wdi_thumb_user" value="<?php echo isset($feed_row['thumb_user'])?$feed_row['thumb_user']:$wdi_options['wdi_user_name'];?>">
353
+ <input type="hidden" id="wdi_default_user" value="<?php echo $wdi_options['wdi_user_name'];?>">
354
+ <input type="hidden" name="<?php echo WDI_FSN.'[published]'?>" value="<?php echo isset($feed_row['published'])?$feed_row['published']: '1';?>">
355
+ <input type="hidden" id="wdi_current_id" name="current_id" value=''>
356
+ <input type="hidden" id="wdi_refresh_tab" name="wdi_refresh_tab">
357
+ <table class="form-table">
358
+ <tbody>
359
+ <?php
360
+ foreach ($elements as $element) {
361
+ if(isset($element['status'])){
362
+ if($element['status'] == 'disabled'){
363
+ continue;
364
+ }
365
+ }
366
+ ?><tr>
367
+ <th scope="row"><a href="#" <?php echo ($element['tooltip']!='' && isset($element['tooltip'])) ? 'class="wdi_tooltip" wdi-tooltip="'.$element['tooltip'].'"' : 'class="wdi_settings_link"'; ?> ><?php echo $element['title'];?></a></th>
368
+ <td><?php $this->buildField($element,$feed_row);?>
369
+ <?php if($element['name']=='feed_users'){
370
+ ?>
371
+ <input type="text" id="wdi_add_user_ajax_input">
372
+ <div id="wdi_add_user_ajax" class="button"><?php _e('Add', "wdi"); ?></div>
373
+ <div id="wdi_feed_users">
374
+ <?php $this->display_feed_users($feed_row);?>
375
+ </div>
376
+ <?php
377
+ }?>
378
+
379
+ </td>
380
+ </tr><?php
381
+
382
+ }
383
+ ?>
384
+ </tbody>
385
+ </table>
386
+ <div id="wdi_save_feed_submit" class="button button-primary"><?php _e('Save', "wdi"); ?></div>
387
+
388
+ <div id="wdi_save_feed_apply" class="button button-primary"><?php _e('Apply', "wdi"); ?></div>
389
+ <div id="wdi_save_feed_reset" style="display:none" class="button button-secondary"><?php _e('Reset', "wdi"); ?></div>
390
+ <div id="wdi_cancel_changes" class="button button-secondary"><?php _e('Cancel', "wdi"); ?></div>
391
+ </form>
392
+ </div>
393
+ </div>
394
+ <?php
395
+ }
396
+ private function buildField($element,$feed_row=''){
397
+ require_once(WDI_DIR.'/framework/WDI_form_builder.php');
398
+ $element['defaults'] = $this->model->wdi_get_feed_defaults();
399
+ $element['CONST'] = WDI_FSN;
400
+ $builder = new WDI_form_builder();
401
+ switch($element['type']){
402
+ case 'input':{
403
+ $builder->input($element,$feed_row);
404
+ break;
405
+ }
406
+ case 'select':{
407
+ $builder->select($element,$feed_row);
408
+ break;
409
+ }
410
+ case 'radio':{
411
+ $builder->radio($element,$feed_row);
412
+ break;
413
+ }
414
+ case 'checkbox':{
415
+ $builder->checkbox($element,$feed_row);
416
+ break;
417
+ }
418
+ }
419
+ }
420
+
421
+
422
+ public function display_feed_users($feed_row){
423
+ $users = isset($feed_row['feed_users'])?$feed_row['feed_users']:"";
424
+ $users = explode(',', $users);
425
+ foreach ($users as $user) {
426
+ ?><script>wdi_controller.requestUserData(<?php echo '"'.$user.'"'?>);</script><?php
427
+ }
428
+ }
429
+
430
+
431
+ }
432
+
433
+
434
+
435
+
436
+
admin/views/WDIViewLicensing_wdi.php ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIViewLicensing_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $model;
14
+
15
+
16
+ ////////////////////////////////////////////////////////////////////////////////////////
17
+ // Constructor & Destructor //
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ public function __construct($model) {
20
+ $this->model = $model;
21
+ }
22
+ ////////////////////////////////////////////////////////////////////////////////////////
23
+ // Public Methods //
24
+ ////////////////////////////////////////////////////////////////////////////////////////
25
+ public function display() {
26
+ ?>
27
+ <div id="featurs_tables">
28
+ <div id="featurs_table1">
29
+ <span>WordPress 4.0+ <?php _e("ready", 'wdi'); ?></span>
30
+
31
+ <span><?php _e("Responsive Design and Layout", 'wdi'); ?></span>
32
+ <span><?php _e("SEO Friendly", 'wdi'); ?></span>
33
+ <span><?php _e("Thumbnails layout", 'wdi'); ?></span>
34
+ <span><?php _e("Image Browser layout", 'wdi'); ?></span>
35
+ <span><?php _e("Lightbox", 'wdi'); ?></span>
36
+ <span><?php _e("Load More Button / Classic Pagination", 'wdi'); ?></span>
37
+ <span><?php _e("Image Sorting", 'wdi'); ?></span>
38
+ <span><?php _e("Widget", 'wdi'); ?></span>
39
+ <span><?php _e("Slideshow/Lightbox Effects", 'wdi'); ?></span>
40
+
41
+
42
+ <span><?php _e("Infinite Scroll Load More", 'wdi'); ?></span>
43
+ <span><?php _e("Full Style Customization With Themes", 'wdi'); ?></span>
44
+ <span><?php _e("Filmstrip", 'wdi'); ?></span>
45
+ <span><?php _e("Instagram Comments in Lightbox", 'wdi'); ?></span>
46
+ <span><?php _e("Blog Style layout", 'wdi'); ?></span>
47
+ <span><?php _e("Masonry layout", 'wdi'); ?></span>
48
+ <span><?php _e("Videos in BlogStyle, ImageBrowser and Lightbox", 'wdi'); ?></span>
49
+ <span><?php _e("Social Share Buttons", 'wdi'); ?></span>
50
+ <span><?php _e("Multiple User/Hashtag Feeds", 'wdi'); ?></span>
51
+ <span><?php _e("Filtering Images Based on Users/Hashtags", 'wdi'); ?></span>
52
+ <span><?php _e("Support / Updates", 'wdi'); ?></span>
53
+ </div>
54
+ <div id="featurs_table2">
55
+ <span style="padding-top: 18px;height: 39px;"><?php _e("Free", 'wdi'); ?></span>
56
+
57
+ <span class="yes"></span>
58
+ <span class="yes"></span>
59
+ <span class="yes"></span>
60
+ <span class="yes"></span>
61
+ <span class="yes"></span>
62
+ <span class="yes"></span>
63
+ <span class="yes"></span>
64
+ <span class="yes"></span>
65
+ <span class="yes"></span>
66
+ <span>1</span>
67
+ <span class="no"></span>
68
+ <span class="no"></span>
69
+ <span class="no"></span>
70
+ <span class="no"></span>
71
+ <span class="no"></span>
72
+ <span class="no"></span>
73
+ <span class="no"></span>
74
+ <span class="no"></span>
75
+ <span class="no"></span>
76
+ <span class="no"></span>
77
+ <span> <?php _e('Only Bug Fixes',"wdi"); ?> </span>
78
+ </div>
79
+ <div id="featurs_table3">
80
+ <span><?php _e("Pro Version", 'wdi'); ?></span>
81
+
82
+ <span class="yes"></span>
83
+ <span class="yes"></span>
84
+ <span class="yes"></span>
85
+ <span class="yes"></span>
86
+ <span class="yes"></span>
87
+ <span class="yes"></span>
88
+ <span class="yes"></span>
89
+ <span class="yes"></span>
90
+ <span class="yes"></span>
91
+ <span>15</span>
92
+ <span class="yes"></span>
93
+ <span class="yes"></span>
94
+ <span class="yes"></span>
95
+ <span class="yes"></span>
96
+ <span class="yes"></span>
97
+ <span class="yes"></span>
98
+ <span class="yes"></span>
99
+ <span class="yes"></span>
100
+ <span class="yes"></span>
101
+ <span class="yes"></span>
102
+ <span> <?php _e('Full Support',"wdi"); ?> </span>
103
+ </div>
104
+
105
+ <div style=" text-align: right;position: relative;top:-30px;">
106
+ <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromInstagramFeedWD.php">
107
+ <img width="215" border="0" alt="web-dorado.com" src="<?php echo WDI_URL . '/images/wd_logo.png'; ?>" />
108
+ </a>
109
+ </div>
110
+
111
+ </div>
112
+
113
+ <div style="float: left; clear: both;">
114
+ <p><?php _e("After purchasing the commercial version follow these steps:", 'wdi'); ?></p>
115
+ <ol>
116
+ <li><?php _e("Deactivate Instagram Feed WD plugin.", 'wdi'); ?></li>
117
+ <li><?php _e("Delete Instagram Feed WD plugin.", 'wdi'); ?></li>
118
+ <li><?php _e("Install the downloaded commercial version of the plugin.", 'wdi'); ?></li>
119
+ </ol>
120
+ </div>
121
+ <?php
122
+ }
123
+ ////////////////////////////////////////////////////////////////////////////////////////
124
+ // Getters & Setters //
125
+ ////////////////////////////////////////////////////////////////////////////////////////
126
+ ////////////////////////////////////////////////////////////////////////////////////////
127
+ // Private Methods //
128
+ ////////////////////////////////////////////////////////////////////////////////////////
129
+ ////////////////////////////////////////////////////////////////////////////////////////
130
+ // Listeners //
131
+ ////////////////////////////////////////////////////////////////////////////////////////
132
+ }
admin/views/WDIViewSettings_wdi.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIViewSettings_wdi{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Variables //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ private $model;
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constructor and Destructor //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ public function __construct($model){
11
+ $this->model = $model;
12
+ }
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Public Methods //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function display(){
17
+ require_once(WDI_DIR . '/framework/WDI_admin_view.php');
18
+ if(isset($_GET['access_token'])) {
19
+ ?>
20
+ <script>
21
+ if(wdi_controller.getCookie('wdi_autofill') != 'false'){
22
+ wdi_controller.apiRedirected();
23
+ document.cookie = "wdi_autofill=false";
24
+ jQuery(document).ready(function(){
25
+ jQuery(document).on('wdi_settings_filled',function(){
26
+ jQuery('#submit').trigger('click');
27
+ })
28
+ });
29
+
30
+ }
31
+ </script>
32
+ <?php
33
+ }
34
+ ?>
35
+ <!-- Banner Start -->
36
+ <div style="clear: both; float: left; width: 100%;">
37
+ <div style="float: left; font-size: 14px; font-weight: bold;">
38
+ <?php _e('This Section Allows You To Set API Parameters','wdi') ?>
39
+ <a style="color: #15699F; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-instagram-feed-wd/installation-and-configuration/getting-access-token.html"><?php _e('Read More in User Manual',"wdi"); ?></a>
40
+ </div>
41
+ <div style="float: right; text-align: right;margin-top:10px">
42
+ <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromInstagramFeedWD.php">
43
+ <img width="215" border="0" alt="web-dorado.com" src="<?php echo WDI_URL . '/images/wd_logo.png'; ?>" />
44
+ </a>
45
+ </div>
46
+ </div>
47
+ <!-- Banner END -->
48
+
49
+ <h1 id="settings_wdi_title"><?php _e('Instagram WD Settings', "wdi"); ?></h1>
50
+ <form method="post" action="options.php">
51
+
52
+ <?php settings_fields('wdi_all_settings'); ?>
53
+ <?php do_settings_sections('settings_wdi'); ?>
54
+ <div id="wdi_reset_access_token" class="button button-secondary"><?php _e("Reset Access Token and Username","wdi")?></div>
55
+ <?php submit_button(); ?>
56
+ <style>
57
+ p.submit{
58
+ display: inline;
59
+ padding-left: 10px;
60
+ }
61
+ #wdi_reset_access_token{
62
+ margin-top: 0;
63
+ float: left;
64
+ }
65
+ </style>
66
+ <script>
67
+ jQuery(document).ready(function(){
68
+ jQuery('#wdi_reset_access_token').on('click',function(){
69
+ if(confirm("<?php _e('Are you sure that you want to reset access token and username, after resetting it you will need to log in with Instagram again for using plugin','wdi')?>")){
70
+ jQuery('#wdi_access_token').attr('value','');
71
+ jQuery('#wdi_user_name').attr('value','');
72
+ document.cookie = "wdi_autofill=false";
73
+ jQuery(this).parent().parent().find('#submit').trigger('click');
74
+ }
75
+ });
76
+ });
77
+ </script>
78
+ </form>
79
+ <?php
80
+ }
81
+ }
admin/views/WDIViewThemes_wdi.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIViewThemes_wdi {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $model;
14
+
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Constructor & Destructor //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ public function __construct($model) {
19
+ $this->model = $model;
20
+ }
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ // Public Methods //
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ public function display() {
25
+
26
+ ?>
27
+ <!-- Banner Start -->
28
+ <div style="clear: both; float: left; width: 100%;">
29
+ <div style="float: left; font-size: 14px; font-weight: bold;">
30
+ <?php _e('Here You Can Customize Your Themes','wdi') ?>
31
+ <a style="color: #15699F; text-decoration: none;" target="_blank" href="https://web-dorado.com/wordpress-instagram-feed-wd/editing-themes.html"><?php _e('Read More in User Manual',"wdi");?></a>
32
+ </div>
33
+ <div style="float: right; text-align: right;margin-top:10px">
34
+ <a style="text-decoration: none;" target="_blank" href="https://web-dorado.com/files/fromInstagramFeedWD.php">
35
+ <img width="215" border="0" alt="web-dorado.com" src="<?php echo WDI_URL . '/images/wd_logo.png'; ?>" />
36
+ </a>
37
+ </div>
38
+ </div>
39
+ <!-- Banner END -->
40
+ <div class="wdi_pro_notice"> <?php _e("This is FREE version, Customizing themes is available only in PRO version","wdi"); ?> </div>
41
+
42
+
43
+ <?php
44
+ $this->buildFreeThemeDemo();
45
+ }
46
+
47
+ public function buildFreeThemeDemo(){
48
+ ?>
49
+ <div class="wdi_demo_img" demo-tab="general"><img src="<?php echo WDI_URL . '/demo_images/1.png'; ?>" alt=""></div>
50
+ <div class="wdi_demo_img" demo-tab="header"><img src="<?php echo WDI_URL . '/demo_images/2.png'; ?>" alt=""></div>
51
+ <div class="wdi_demo_img" demo-tab="load_more"><img src="<?php echo WDI_URL . '/demo_images/3.png'; ?>" alt=""></div>
52
+ <div class="wdi_demo_img" demo-tab="thumbnails"><img src="<?php echo WDI_URL . '/demo_images/4.png'; ?>" alt=""></div>
53
+ <div class="wdi_demo_img" demo-tab="masonry"><img src="<?php echo WDI_URL . '/demo_images/5.png'; ?>" alt=""></div>
54
+ <div class="wdi_demo_img" demo-tab="blog_style"><img src="<?php echo WDI_URL . '/demo_images/6.png'; ?>" alt=""></div>
55
+ <div class="wdi_demo_img" demo-tab="image_browser"><img src="<?php echo WDI_URL . '/demo_images/7.png'; ?>" alt=""></div>
56
+ <div class="wdi_demo_img" demo-tab="image_browser"><img src="<?php echo WDI_URL . '/demo_images/8.png'; ?>" alt=""></div>
57
+ <div class="wdi_demo_img" demo-tab="lb_general"><img src="<?php echo WDI_URL . '/demo_images/l1.png'; ?>" alt=""></div>
58
+ <div class="wdi_demo_img" demo-tab="lb_ctrl_btns"><img src="<?php echo WDI_URL . '/demo_images/l2.png'; ?>" alt=""></div>
59
+ <div class="wdi_demo_img" demo-tab="lb_close_btn"><img src="<?php echo WDI_URL . '/demo_images/l3.png'; ?>" alt=""></div>
60
+ <div class="wdi_demo_img" demo-tab="lb_nav_btns"><img src="<?php echo WDI_URL . '/demo_images/l4.png'; ?>" alt=""></div>
61
+ <div class="wdi_demo_img" demo-tab="lb_filmstrip"><img src="<?php echo WDI_URL . '/demo_images/l5.png'; ?>" alt=""></div>
62
+ <div class="wdi_demo_img" demo-tab="lb_info"><img src="<?php echo WDI_URL . '/demo_images/l6.png'; ?>" alt=""></div>
63
+ <div class="wdi_demo_img" demo-tab="lb_comments"><img src="<?php echo WDI_URL . '/demo_images/l7.png'; ?>" alt=""></div>
64
+ <?php
65
+ }
66
+
67
+
68
+
69
+ }
70
+
71
+
72
+
73
+
74
+
admin/views/WDIViewUninstall_wdi.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIViewUninstall_wdi{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Variables //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ private $model;
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constructor and Destructor //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ public function __construct($model){
11
+ $this->model = $model;
12
+ }
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Public Methods //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function display(){
17
+ global $wpdb;
18
+ ?>
19
+
20
+ <span class="uninstall-icon"></span>
21
+ <h2>
22
+ <?php _e('Uninstalling Instagram Feed WD', "wdi"); ?>
23
+ </h2>
24
+ <p style="color:red;font-size:15px"> <?php _e('Deactivating Instagram Feed WD plugin does not remove any data that may have been created. To completely remove this plugin, you can uninstall it here.','wdi') ?><br>
25
+ <?php _e('WARNING: Once uninstalled, this can\'t be undone. You should use a Database Backup plugin of WordPress to back up all the data first.','wdi') ?> </p>
26
+ <p style="color:red;margin-top:10px;font-size:13px;"> <?php _e('The following Database Tables will be deleted:','wdi') ?> </p>
27
+ <div style="background-color:white;border:1px solid #888888" >
28
+ <ul style="background-color:white;margin:0">
29
+ <p style="background-color:#F3EFEF;margin: 0;border-bottom: 1px solid #888888;padding:2px;font-size:20px;">Database Tables</p>
30
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">1) <?php echo $wpdb->prefix . WDI_FEED_TABLE ?></li>
31
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">2) <?php echo $wpdb->prefix . WDI_THEME_TABLE ?></li>
32
+ <p style="background-color:#F3EFEF;margin: 0;border-top: 1px solid #888888;border-bottom: 1px solid #888888;padding:2px;font-size:20px;">Options From <?php echo $wpdb->prefix , 'options' ?></p>
33
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">3) wdi_user_name</li>
34
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">4) wdi_access_token</li>
35
+ </ul>
36
+ </div>
37
+
38
+ <form action="admin.php?page=wdi_uninstall" id="wdi_uninstall_form" method="post">
39
+ <?php wp_nonce_field('nonce_wd', 'nonce_wd'); ?>
40
+ <input type="hidden" name="task" value="uninstall">
41
+ <div style="text-align:center">
42
+ <p style="margin:0;font-size:15px;"><?php _e('Are you sure you want to uninstall plugin?','wdi') ?></p>
43
+ <input type="checkbox" style="text-align: center;" id="wdi_verify" name="wdi_verify" value="1">
44
+ <label for="wdi_verify" style="vertical-align:top">Yes</label>
45
+ <br>
46
+
47
+ <div id="wdi_submit" style="text-align:center;margin-top:10px" class="button button-primary">Uninstall</div>
48
+ </div>
49
+
50
+
51
+ </form>
52
+ <script>
53
+ jQuery(document).ready(function(){
54
+ jQuery('#wdi_submit').on('click',function(){
55
+ if(confirm("<?php _e('Are you sure you want to uninstall plugin?','wdi') ?>")){
56
+ jQuery('#wdi_uninstall_form').submit();
57
+ }
58
+ });
59
+ });
60
+ </script>
61
+ <?php
62
+ }
63
+ public function already_uninstalled(){
64
+ $deactivate_url = wp_nonce_url('plugins.php?action=deactivate&amp;plugin=wd-instagram-feed/instagram-wd.php', 'deactivate-plugin_wd-instagram-feed/instagram-wd.php');
65
+ ?>
66
+ <span class="uninstall-icon"></span>
67
+ <h2>
68
+ <?php _e('Uninstalling Instagram Feed WD', "wdi"); ?>
69
+ </h2>
70
+ <p style="color:green;font-size:15px"> <?php _e('Instagram Feed WD is uninstalled','wdi') ?><a style="text-decoration:none;padding:3px;" href="<?php echo $deactivate_url ?>"> <?php _e('Click Here') ?> </a><?php _e('to deactivate it','wdi') ?></p>
71
+
72
+ <?php
73
+ }
74
+ public function successfully_uninstalled(){
75
+ global $wpdb;
76
+ $deactivate_url = wp_nonce_url('plugins.php?action=deactivate&amp;plugin=wd-instagram-feed/instagram-wd.php', 'deactivate-plugin_wd-instagram-feed/instagram-wd.php');
77
+ ?>
78
+ <span class="uninstall-icon"></span>
79
+ <h2>
80
+ <?php _e('Uninstalling Instagram Feed WD', "wdi"); ?>
81
+ </h2>
82
+ <p style="color:green;margin-top:10px;font-size:13px;"> <?php _e('The following Database Tables has been successfully deleted:','wdi') ?> </p>
83
+ <div style="background-color:white;border:1px solid #888888" >
84
+ <ul style="background-color:white;margin:0">
85
+ <p style="background-color:#F3EFEF;margin: 0;border-bottom: 1px solid #888888;padding:2px;font-size:20px;">Database Tables</p>
86
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">1)<?php echo $wpdb->prefix . WDI_FEED_TABLE ?></li>
87
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">2)<?php echo $wpdb->prefix . WDI_THEME_TABLE ?></li>
88
+ <p style="background-color:#F3EFEF;margin: 0;border-top: 1px solid #888888;border-bottom: 1px solid #888888;padding:2px;font-size:20px;">Options From <?php echo $wpdb->prefix , 'options' ?></p>
89
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">3)wdi_user_name</li>
90
+ <li style="padding-bottom:5px;padding-left:5px;font-weight: bold;margin:0;">4)wdi_access_token</li>
91
+ </ul>
92
+ </div>
93
+ <p style="color:green;font-size:15px"> <?php _e('Instagram Feed WD is successfully uninstalled','wdi') ?><a style="text-decoration:none;padding:3px;" href="<?php echo $deactivate_url ?>"> <?php _e('Click Here') ?> </a><?php _e('to deactivate it','wdi') ?></p>
94
+
95
+ <?php
96
+ }
97
+ }
admin/views/WDIViewWidget.php ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIViewWidget {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $model;
14
+
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Constructor & Destructor //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ public function __construct($model) {
19
+ $this->model = $model;
20
+ }
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ // Public Methods //
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+
25
+ public function display() {
26
+ }
27
+
28
+ function widget($args, $instance) {
29
+ extract($args);
30
+ $title = (isset($instance['title']) ? $instance['title'] : "");
31
+ $feed_id = (isset($instance['feed_id']) ? $instance['feed_id'] : 0);
32
+ $img_number = (isset($instance['img_number']) ? $instance['img_number'] : 2);
33
+ $show_likes_comments = (isset($instance['show_likes_comments']) ? $instance['show_likes_comments'] : 0);
34
+ $number_of_columns = (isset($instance['number_of_columns']) ? $instance['number_of_columns'] : 1);
35
+ // Before widget.
36
+ echo $before_widget;
37
+ // Title of widget.
38
+ if ($title) {
39
+ echo $before_title . $title . $after_title;
40
+ }
41
+ // Widget output.
42
+ $widget_params = array(
43
+ 'widget' => true,
44
+ 'widget_image_num' => $img_number,
45
+ 'widget_show_likes_and_comments' => $show_likes_comments,
46
+ 'number_of_columns'=>$number_of_columns
47
+ );
48
+ echo wdi_feed(array('id'=>$feed_id),$widget_params);
49
+
50
+ // After widget.
51
+ echo $after_widget;
52
+ }
53
+
54
+ // Widget Control Panel.
55
+ function form($instance,
56
+ $id_title, $name_title,
57
+ $id_feed_id, $name_feed_id,
58
+ $id_img_number, $name_img_number,
59
+ $id_show_likes_comments, $name_show_likes_comments,
60
+ $id_number_of_columns,$name_number_of_columns) {
61
+ $defaults = array(
62
+ 'title' => 'Instagram Feed',
63
+ 'feed_id' => $this->model->get_last_feed_id(),
64
+ 'img_number' => 4,
65
+ 'show_likes_comments' => 0,
66
+ 'number_of_columns' => 1
67
+ );
68
+ require_once(WDI_DIR . '/framework/WDILibrary.php');
69
+ $feeds = WDILibrary::objectToArray($this->model->get_feeds());
70
+ $instance = wp_parse_args((array) $instance, $defaults);
71
+ ?>
72
+
73
+ <p>
74
+ <label for="<?php echo $id_title; ?>">Title:</label>
75
+ <input class="widefat" id="<?php echo $id_title; ?>" name="<?php echo $name_title; ?>'" type="text" value="<?php echo $instance['title']; ?>"/>
76
+ </p>
77
+ <p>
78
+ <label for="<?php echo $id_feed_id; ?>">Feed:</label>
79
+ <select onchange="wdi_toggle(jQuery(this));" class="widefat" id="<?php echo $id_feed_id; ?>" name="<?php echo $name_feed_id; ?>'" type="text"?>">
80
+ <?php foreach ($feeds as $feed) {
81
+ ?>
82
+ <option <?php if($instance['feed_id'] == $feed['id']) echo 'selected'?> value="<?php echo $feed['id'];?>"><?php echo $feed['feed_name'];?></option>
83
+ <?php
84
+ }?>
85
+ </select>
86
+ </p>
87
+
88
+ <p class="wdi_number_of_columns">
89
+ <label for="<?php echo $id_number_of_columns; ?>">Number of columns:</label>
90
+ <select class="widefat" id="<?php echo $id_number_of_columns; ?>" name="<?php echo $name_number_of_columns; ?>'" type="text" >
91
+ <?php for ($k = 1 ;$k <= 10; $k++) {
92
+ ?>
93
+ <option <?php if($instance['number_of_columns'] == $k) echo 'selected'?> value="<?php echo $k?>"><?php echo $k;?></option>
94
+ <?php
95
+ }?>
96
+ </select>
97
+ </p>
98
+
99
+
100
+ <p>
101
+ <label for="<?php echo $id_img_number; ?>">How many images to show:</label>
102
+ <input class="widefat" id="<?php echo $id_img_number; ?>" name="<?php echo $name_img_number; ?>'" type="text" value="<?php echo $instance['img_number']; ?>"/>
103
+ </p>
104
+ <p>
105
+ <input <?php if($instance['show_likes_comments']=='1') echo "checked"?> class="widefat" id="<?php echo $id_show_likes_comments; ?>" name="<?php echo $name_show_likes_comments; ?>'" type="checkbox" value="<?php echo $instance['show_likes_comments']; ?>"/>
106
+ <label for="<?php echo $id_show_likes_comments; ?>">Show likes and comments</label>
107
+ </p>
108
+ <script>
109
+ jQuery(document).ready(function(){
110
+ wdi_toggle(jQuery('#<?php echo $id_feed_id; ?>'));
111
+ });
112
+ var feed_list = <?php echo json_encode($feeds);?>;
113
+ function wdi_toggle(select){
114
+ var id = select.val();
115
+ for(var i = 0 ; i < feed_list.length; i++){
116
+ if(feed_list[i]['id'] == id){
117
+ if(feed_list[i]['feed_type'] == 'blog_style'){
118
+ select.parent().parent().find('.wdi_number_of_columns').css('display','none');
119
+ }else{
120
+ select.parent().parent().find('.wdi_number_of_columns').css('display','block');
121
+ }
122
+ }
123
+ }
124
+ }
125
+ </script>
126
+ <?php
127
+ }
128
+
129
+ ////////////////////////////////////////////////////////////////////////////////////////
130
+ // Getters & Setters //
131
+ ////////////////////////////////////////////////////////////////////////////////////////
132
+ ////////////////////////////////////////////////////////////////////////////////////////
133
+ // Private Methods //
134
+ ////////////////////////////////////////////////////////////////////////////////////////
135
+ ////////////////////////////////////////////////////////////////////////////////////////
136
+ // Listeners //
137
+ ////////////////////////////////////////////////////////////////////////////////////////
138
+ }
css/font-awesome/font-awesome.css ADDED
@@ -0,0 +1,1713 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+ /* FONT PATH
6
+ * -------------------------- */
7
+ @font-face {
8
+ font-family: 'FontAwesome';
9
+ src: url('fonts/fontawesome-webfont.eot?v=4.2.0');
10
+ src: url('fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
11
+ font-weight: normal;
12
+ font-style: normal;
13
+ }
14
+ #wdi_spider_popup_wrap .fa,
15
+ div[id^="bwg_container"] .fa,
16
+ #bwg_rotate_image .fa {
17
+ display: inline-block;
18
+ font-family: FontAwesome !important;
19
+ font-style: normal;
20
+ font-weight: normal;
21
+ line-height: 1 !important;
22
+ text-rendering: auto;
23
+ -webkit-font-smoothing: antialiased !important;
24
+ -moz-osx-font-smoothing: grayscale !important;
25
+ }
26
+ /* makes the font 33% larger relative to the icon container */
27
+ .fa-lg {
28
+ font-size: 1.33333333em;
29
+ line-height: 0.75em;
30
+ vertical-align: -15%;
31
+ }
32
+ .fa-2x {
33
+ font-size: 2em;
34
+ }
35
+ .fa-3x {
36
+ font-size: 3em;
37
+ }
38
+ .fa-4x {
39
+ font-size: 4em;
40
+ }
41
+ .fa-5x {
42
+ font-size: 5em;
43
+ }
44
+ .fa-fw {
45
+ width: 1.28571429em;
46
+ text-align: center;
47
+ }
48
+ .fa-ul {
49
+ padding-left: 0;
50
+ margin-left: 2.14285714em;
51
+ list-style-type: none;
52
+ }
53
+ .fa-ul > li {
54
+ position: relative;
55
+ }
56
+ .fa-li {
57
+ position: absolute;
58
+ left: -2.14285714em;
59
+ width: 2.14285714em;
60
+ top: 0.14285714em;
61
+ text-align: center;
62
+ }
63
+ .fa-li.fa-lg {
64
+ left: -1.85714286em;
65
+ }
66
+ .fa-border {
67
+ padding: .2em .25em .15em;
68
+ border: solid 0.08em #eeeeee;
69
+ border-radius: .1em;
70
+ }
71
+ .pull-right {
72
+ float: right;
73
+ }
74
+ .pull-left {
75
+ float: left;
76
+ }
77
+ .fa.pull-left {
78
+ margin-right: .3em;
79
+ }
80
+ .fa.pull-right {
81
+ margin-left: .3em;
82
+ }
83
+ .fa-spin {
84
+ -webkit-animation: spin 2s infinite linear;
85
+ -moz-animation: spin 2s infinite linear;
86
+ -o-animation: spin 2s infinite linear;
87
+ animation: spin 2s infinite linear;
88
+ }
89
+ @-moz-keyframes spin {
90
+ 0% {
91
+ -moz-transform: rotate(0deg);
92
+ }
93
+ 100% {
94
+ -moz-transform: rotate(359deg);
95
+ }
96
+ }
97
+ @-webkit-keyframes spin {
98
+ 0% {
99
+ -webkit-transform: rotate(0deg);
100
+ }
101
+ 100% {
102
+ -webkit-transform: rotate(359deg);
103
+ }
104
+ }
105
+ @-o-keyframes spin {
106
+ 0% {
107
+ -o-transform: rotate(0deg);
108
+ }
109
+ 100% {
110
+ -o-transform: rotate(359deg);
111
+ }
112
+ }
113
+ @-ms-keyframes spin {
114
+ 0% {
115
+ -ms-transform: rotate(0deg);
116
+ }
117
+ 100% {
118
+ -ms-transform: rotate(359deg);
119
+ }
120
+ }
121
+ @keyframes spin {
122
+ 0% {
123
+ transform: rotate(0deg);
124
+ }
125
+ 100% {
126
+ transform: rotate(359deg);
127
+ }
128
+ }
129
+ .fa-rotate-90 {
130
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
131
+ -webkit-transform: rotate(90deg);
132
+ -moz-transform: rotate(90deg);
133
+ -ms-transform: rotate(90deg);
134
+ -o-transform: rotate(90deg);
135
+ transform: rotate(90deg);
136
+ }
137
+ .fa-rotate-180 {
138
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
139
+ -webkit-transform: rotate(180deg);
140
+ -moz-transform: rotate(180deg);
141
+ -ms-transform: rotate(180deg);
142
+ -o-transform: rotate(180deg);
143
+ transform: rotate(180deg);
144
+ }
145
+ .fa-rotate-270 {
146
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
147
+ -webkit-transform: rotate(270deg);
148
+ -moz-transform: rotate(270deg);
149
+ -ms-transform: rotate(270deg);
150
+ -o-transform: rotate(270deg);
151
+ transform: rotate(270deg);
152
+ }
153
+ .fa-flip-horizontal {
154
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
155
+ -webkit-transform: scale(-1, 1);
156
+ -moz-transform: scale(-1, 1);
157
+ -ms-transform: scale(-1, 1);
158
+ -o-transform: scale(-1, 1);
159
+ transform: scale(-1, 1);
160
+ }
161
+ .fa-flip-vertical {
162
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
163
+ -webkit-transform: scale(1, -1);
164
+ -moz-transform: scale(1, -1);
165
+ -ms-transform: scale(1, -1);
166
+ -o-transform: scale(1, -1);
167
+ transform: scale(1, -1);
168
+ }
169
+ :root .fa-rotate-90,
170
+ :root .fa-rotate-180,
171
+ :root .fa-rotate-270,
172
+ :root .fa-flip-horizontal,
173
+ :root .fa-flip-vertical {
174
+ filter: none;
175
+ }
176
+ .fa-stack {
177
+ position: relative;
178
+ display: inline-block;
179
+ width: 2em;
180
+ height: 2em;
181
+ line-height: 2em;
182
+ vertical-align: middle;
183
+ }
184
+ .fa-stack-1x,
185
+ .fa-stack-2x {
186
+ position: absolute;
187
+ left: 0;
188
+ width: 100%;
189
+ text-align: center;
190
+ }
191
+ .fa-stack-1x {
192
+ line-height: inherit;
193
+ }
194
+ .fa-stack-2x {
195
+ font-size: 2em;
196
+ }
197
+ .fa-inverse {
198
+ color: #ffffff;
199
+ }
200
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
201
+ readers do not read off random characters that represent icons */
202
+ .fa-glass:before {
203
+ content: "\f000";
204
+ }
205
+ .fa-music:before {
206
+ content: "\f001";
207
+ }
208
+ .fa-search:before {
209
+ content: "\f002";
210
+ }
211
+ .fa-envelope-o:before {
212
+ content: "\f003";
213
+ }
214
+ .fa-heart:before {
215
+ content: "\f004";
216
+ }
217
+ .fa-star:before {
218
+ content: "\f005";
219
+ }
220
+ .fa-star-o:before {
221
+ content: "\f006";
222
+ }
223
+ .fa-user:before {
224
+ content: "\f007";
225
+ }
226
+ .fa-film:before {
227
+ content: "\f008";
228
+ }
229
+ .fa-th-large:before {
230
+ content: "\f009";
231
+ }
232
+ .fa-th:before {
233
+ content: "\f00a";
234
+ }
235
+ .fa-th-list:before {
236
+ content: "\f00b";
237
+ }
238
+ .fa-check:before {
239
+ content: "\f00c";
240
+ }
241
+ .fa-remove:before,
242
+ .fa-close:before,
243
+ .fa-times:before {
244
+ content: "\f00d";
245
+ }
246
+ .fa-search-plus:before {
247
+ content: "\f00e";
248
+ }
249
+ .fa-search-minus:before {
250
+ content: "\f010";
251
+ }
252
+ .fa-power-off:before {
253
+ content: "\f011";
254
+ }
255
+ .fa-signal:before {
256
+ content: "\f012";
257
+ }
258
+ .fa-gear:before,
259
+ .fa-cog:before {
260
+ content: "\f013";
261
+ }
262
+ .fa-trash-o:before {
263
+ content: "\f014";
264
+ }
265
+ .fa-home:before {
266
+ content: "\f015";
267
+ }
268
+ .fa-file-o:before {
269
+ content: "\f016";
270
+ }
271
+ .fa-clock-o:before {
272
+ content: "\f017";
273
+ }
274
+ .fa-road:before {
275
+ content: "\f018";
276
+ }
277
+ .fa-download:before {
278
+ content: "\f019";
279
+ }
280
+ .fa-arrow-circle-o-down:before {
281
+ content: "\f01a";
282
+ }
283
+ .fa-arrow-circle-o-up:before {
284
+ content: "\f01b";
285
+ }
286
+ .fa-inbox:before {
287
+ content: "\f01c";
288
+ }
289
+ .fa-play-circle-o:before {
290
+ content: "\f01d";
291
+ }
292
+ .fa-rotate-right:before,
293
+ .fa-repeat:before {
294
+ content: "\f01e";
295
+ }
296
+ .fa-refresh:before {
297
+ content: "\f021";
298
+ }
299
+ .fa-list-alt:before {
300
+ content: "\f022";
301
+ }
302
+ .fa-lock:before {
303
+ content: "\f023";
304
+ }
305
+ .fa-flag:before {
306
+ content: "\f024";
307
+ }
308
+ .fa-headphones:before {
309
+ content: "\f025";
310
+ }
311
+ .fa-volume-off:before {
312
+ content: "\f026";
313
+ }
314
+ .fa-volume-down:before {
315
+ content: "\f027";
316
+ }
317
+ .fa-volume-up:before {
318
+ content: "\f028";
319
+ }
320
+ .fa-qrcode:before {
321
+ content: "\f029";
322
+ }
323
+ .fa-barcode:before {
324
+ content: "\f02a";
325
+ }
326
+ .fa-tag:before {
327
+ content: "\f02b";
328
+ }
329
+ .fa-tags:before {
330
+ content: "\f02c";
331
+ }
332
+ .fa-book:before {
333
+ content: "\f02d";
334
+ }
335
+ .fa-bookmark:before {
336
+ content: "\f02e";
337
+ }
338
+ .fa-print:before {
339
+ content: "\f02f";
340
+ }
341
+ .fa-camera:before {
342
+ content: "\f030";
343
+ }
344
+ .fa-font:before {
345
+ content: "\f031";
346
+ }
347
+ .fa-bold:before {
348
+ content: "\f032";
349
+ }
350
+ .fa-italic:before {
351
+ content: "\f033";
352
+ }
353
+ .fa-text-height:before {
354
+ content: "\f034";
355
+ }
356
+ .fa-text-width:before {
357
+ content: "\f035";
358
+ }
359
+ .fa-align-left:before {
360
+ content: "\f036";
361
+ }
362
+ .fa-align-center:before {
363
+ content: "\f037";
364
+ }
365
+ .fa-align-right:before {
366
+ content: "\f038";
367
+ }
368
+ .fa-align-justify:before {
369
+ content: "\f039";
370
+ }
371
+ .fa-list:before {
372
+ content: "\f03a";
373
+ }
374
+ .fa-dedent:before,
375
+ .fa-outdent:before {
376
+ content: "\f03b";
377
+ }
378
+ .fa-indent:before {
379
+ content: "\f03c";
380
+ }
381
+ .fa-video-camera:before {
382
+ content: "\f03d";
383
+ }
384
+ .fa-photo:before,
385
+ .fa-image:before,
386
+ .fa-picture-o:before {
387
+ content: "\f03e";
388
+ }
389
+ .fa-pencil:before {
390
+ content: "\f040";
391
+ }
392
+ .fa-map-marker:before {
393
+ content: "\f041";
394
+ }
395
+ .fa-adjust:before {
396
+ content: "\f042";
397
+ }
398
+ .fa-tint:before {
399
+ content: "\f043";
400
+ }
401
+ .fa-edit:before,
402
+ .fa-pencil-square-o:before {
403
+ content: "\f044";
404
+ }
405
+ .fa-share-square-o:before {
406
+ content: "\f045";
407
+ }
408
+ .fa-check-square-o:before {
409
+ content: "\f046";
410
+ }
411
+ .fa-arrows:before {
412
+ content: "\f047";
413
+ }
414
+ .fa-step-backward:before {
415
+ content: "\f048";
416
+ }
417
+ .fa-fast-backward:before {
418
+ content: "\f049";
419
+ }
420
+ .fa-backward:before {
421
+ content: "\f04a";
422
+ }
423
+ .fa-play:before {
424
+ content: "\f04b";
425
+ }
426
+ .fa-pause:before {
427
+ content: "\f04c";
428
+ }
429
+ .fa-stop:before {
430
+ content: "\f04d";
431
+ }
432
+ .fa-forward:before {
433
+ content: "\f04e";
434
+ }
435
+ .fa-fast-forward:before {
436
+ content: "\f050";
437
+ }
438
+ .fa-step-forward:before {
439
+ content: "\f051";
440
+ }
441
+ .fa-eject:before {
442
+ content: "\f052";
443
+ }
444
+ .fa-chevron-left:before {
445
+ content: "\f053";
446
+ }
447
+ .fa-chevron-right:before {
448
+ content: "\f054";
449
+ }
450
+ .fa-plus-circle:before {
451
+ content: "\f055";
452
+ }
453
+ .fa-minus-circle:before {
454
+ content: "\f056";
455
+ }
456
+ .fa-times-circle:before {
457
+ content: "\f057";
458
+ }
459
+ .fa-check-circle:before {
460
+ content: "\f058";
461
+ }
462
+ .fa-question-circle:before {
463
+ content: "\f059";
464
+ }
465
+ .fa-info-circle:before {
466
+ content: "\f05a";
467
+ }
468
+ .fa-crosshairs:before {
469
+ content: "\f05b";
470
+ }
471
+ .fa-times-circle-o:before {
472
+ content: "\f05c";
473
+ }
474
+ .fa-check-circle-o:before {
475
+ content: "\f05d";
476
+ }
477
+ .fa-ban:before {
478
+ content: "\f05e";
479
+ }
480
+ .fa-arrow-left:before {
481
+ content: "\f060";
482
+ }
483
+ .fa-arrow-right:before {
484
+ content: "\f061";
485
+ }
486
+ .fa-arrow-up:before {
487
+ content: "\f062";
488
+ }
489
+ .fa-arrow-down:before {
490
+ content: "\f063";
491
+ }
492
+ .fa-mail-forward:before,
493
+ .fa-share:before {
494
+ content: "\f064";
495
+ }
496
+ .fa-resize-full:before,
497
+ .fa-expand:before {
498
+ content: "\f065";
499
+ }
500
+ .fa-resize-small:before,
501
+ .fa-compress:before {
502
+ content: "\f066";
503
+ }
504
+ .fa-plus:before {
505
+ content: "\f067";
506
+ }
507
+ .fa-minus:before {
508
+ content: "\f068";
509
+ }
510
+ .fa-asterisk:before {
511
+ content: "\f069";
512
+ }
513
+ .fa-exclamation-circle:before {
514
+ content: "\f06a";
515
+ }
516
+ .fa-gift:before {
517
+ content: "\f06b";
518
+ }
519
+ .fa-leaf:before {
520
+ content: "\f06c";
521
+ }
522
+ .fa-fire:before {
523
+ content: "\f06d";
524
+ }
525
+ .fa-eye:before {
526
+ content: "\f06e";
527
+ }
528
+ .fa-eye-slash:before {
529
+ content: "\f070";
530
+ }
531
+ .fa-warning:before,
532
+ .fa-exclamation-triangle:before {
533
+ content: "\f071";
534
+ }
535
+ .fa-plane:before {
536
+ content: "\f072";
537
+ }
538
+ .fa-calendar:before {
539
+ content: "\f073";
540
+ }
541
+ .fa-random:before {
542
+ content: "\f074";
543
+ }
544
+ .fa-comment:before {
545
+ content: "\f075";
546
+ }
547
+ .fa-magnet:before {
548
+ content: "\f076";
549
+ }
550
+ .fa-chevron-up:before {
551
+ content: "\f077";
552
+ }
553
+ .fa-chevron-down:before {
554
+ content: "\f078";
555
+ }
556
+ .fa-retweet:before {
557
+ content: "\f079";
558
+ }
559
+ .fa-shopping-cart:before {
560
+ content: "\f07a";
561
+ }
562
+ .fa-folder:before {
563
+ content: "\f07b";
564
+ }
565
+ .fa-folder-open:before {
566
+ content: "\f07c";
567
+ }
568
+ .fa-resize-vertical:before,
569
+ .fa-arrows-v:before {
570
+ content: "\f07d";
571
+ }
572
+ .fa-resize-horizontal:before,
573
+ .fa-arrows-h:before {
574
+ content: "\f07e";
575
+ }
576
+ .fa-bar-chart-o:before,
577
+ .fa-bar-chart:before {
578
+ content: "\f080";
579
+ }
580
+ .fa-twitter-square:before {
581
+ content: "\f081";
582
+ }
583
+ .fa-facebook-square:before {
584
+ content: "\f082";
585
+ }
586
+ .fa-camera-retro:before {
587
+ content: "\f083";
588
+ }
589
+ .fa-key:before {
590
+ content: "\f084";
591
+ }
592
+ .fa-gears:before,
593
+ .fa-cogs:before {
594
+ content: "\f085";
595
+ }
596
+ .fa-comments:before {
597
+ content: "\f086";
598
+ }
599
+ .fa-thumbs-o-up:before {
600
+ content: "\f087";
601
+ }
602
+ .fa-thumbs-o-down:before {
603
+ content: "\f088";
604
+ }
605
+ .fa-star-half:before {
606
+ content: "\f089";
607
+ }
608
+ .fa-heart-o:before {
609
+ content: "\f08a";
610
+ }
611
+ .fa-sign-out:before {
612
+ content: "\f08b";
613
+ }
614
+ .fa-linkedin-square:before {
615
+ content: "\f08c";
616
+ }
617
+ .fa-thumb-tack:before {
618
+ content: "\f08d";
619
+ }
620
+ .fa-external-link:before {
621
+ content: "\f08e";
622
+ }
623
+ .fa-sign-in:before {
624
+ content: "\f090";
625
+ }
626
+ .fa-trophy:before {
627
+ content: "\f091";
628
+ }
629
+ .fa-github-square:before {
630
+ content: "\f092";
631
+ }
632
+ .fa-upload:before {
633
+ content: "\f093";
634
+ }
635
+ .fa-lemon-o:before {
636
+ content: "\f094";
637
+ }
638
+ .fa-phone:before {
639
+ content: "\f095";
640
+ }
641
+ .fa-square-o:before {
642
+ content: "\f096";
643
+ }
644
+ .fa-bookmark-o:before {
645
+ content: "\f097";
646
+ }
647
+ .fa-phone-square:before {
648
+ content: "\f098";
649
+ }
650
+ .fa-twitter:before {
651
+ content: "\f099";
652
+ }
653
+ .fa-facebook:before {
654
+ content: "\f09a";
655
+ }
656
+ .fa-github:before {
657
+ content: "\f09b";
658
+ }
659
+ .fa-unlock:before {
660
+ content: "\f09c";
661
+ }
662
+ .fa-credit-card:before {
663
+ content: "\f09d";
664
+ }
665
+ .fa-rss:before {
666
+ content: "\f09e";
667
+ }
668
+ .fa-hdd-o:before {
669
+ content: "\f0a0";
670
+ }
671
+ .fa-bullhorn:before {
672
+ content: "\f0a1";
673
+ }
674
+ .fa-bell:before {
675
+ content: "\f0f3";
676
+ }
677
+ .fa-certificate:before {
678
+ content: "\f0a3";
679
+ }
680
+ .fa-hand-o-right:before {
681
+ content: "\f0a4";
682
+ }
683
+ .fa-hand-o-left:before {
684
+ content: "\f0a5";
685
+ }
686
+ .fa-hand-o-up:before {
687
+ content: "\f0a6";
688
+ }
689
+ .fa-hand-o-down:before {
690
+ content: "\f0a7";
691
+ }
692
+ .fa-arrow-circle-left:before {
693
+ content: "\f0a8";
694
+ }
695
+ .fa-arrow-circle-right:before {
696
+ content: "\f0a9";
697
+ }
698
+ .fa-arrow-circle-up:before {
699
+ content: "\f0aa";
700
+ }
701
+ .fa-arrow-circle-down:before {
702
+ content: "\f0ab";
703
+ }
704
+ .fa-globe:before {
705
+ content: "\f0ac";
706
+ }
707
+ .fa-wrench:before {
708
+ content: "\f0ad";
709
+ }
710
+ .fa-tasks:before {
711
+ content: "\f0ae";
712
+ }
713
+ .fa-filter:before {
714
+ content: "\f0b0";
715
+ }
716
+ .fa-briefcase:before {
717
+ content: "\f0b1";
718
+ }
719
+ .fa-fullscreen:before,
720
+ .fa-arrows-alt:before {
721
+ content: "\f0b2";
722
+ }
723
+ .fa-group:before,
724
+ .fa-users:before {
725
+ content: "\f0c0";
726
+ }
727
+ .fa-chain:before,
728
+ .fa-link:before {
729
+ content: "\f0c1";
730
+ }
731
+ .fa-cloud:before {
732
+ content: "\f0c2";
733
+ }
734
+ .fa-flask:before {
735
+ content: "\f0c3";
736
+ }
737
+ .fa-cut:before,
738
+ .fa-scissors:before {
739
+ content: "\f0c4";
740
+ }
741
+ .fa-copy:before,
742
+ .fa-files-o:before {
743
+ content: "\f0c5";
744
+ }
745
+ .fa-paperclip:before {
746
+ content: "\f0c6";
747
+ }
748
+ .fa-save:before,
749
+ .fa-floppy-o:before {
750
+ content: "\f0c7";
751
+ }
752
+ .fa-square:before {
753
+ content: "\f0c8";
754
+ }
755
+ .fa-navicon:before,
756
+ .fa-reorder:before,
757
+ .fa-bars:before {
758
+ content: "\f0c9";
759
+ }
760
+ .fa-list-ul:before {
761
+ content: "\f0ca";
762
+ }
763
+ .fa-list-ol:before {
764
+ content: "\f0cb";
765
+ }
766
+ .fa-strikethrough:before {
767
+ content: "\f0cc";
768
+ }
769
+ .fa-underline:before {
770
+ content: "\f0cd";
771
+ }
772
+ .fa-table:before {
773
+ content: "\f0ce";
774
+ }
775
+ .fa-magic:before {
776
+ content: "\f0d0";
777
+ }
778
+ .fa-truck:before {
779
+ content: "\f0d1";
780
+ }
781
+ .fa-pinterest:before {
782
+ content: "\f0d2";
783
+ }
784
+ .fa-pinterest-square:before {
785
+ content: "\f0d3";
786
+ }
787
+ .fa-google-plus-square:before {
788
+ content: "\f0d4";
789
+ }
790
+ .fa-google-plus:before {
791
+ content: "\f0d5";
792
+ }
793
+ .fa-money:before {
794
+ content: "\f0d6";
795
+ }
796
+ .fa-caret-down:before {
797
+ content: "\f0d7";
798
+ }
799
+ .fa-caret-up:before {
800
+ content: "\f0d8";
801
+ }
802
+ .fa-caret-left:before {
803
+ content: "\f0d9";
804
+ }
805
+ .fa-caret-right:before {
806
+ content: "\f0da";
807
+ }
808
+ .fa-columns:before {
809
+ content: "\f0db";
810
+ }
811
+ .fa-unsorted:before,
812
+ .fa-sort:before {
813
+ content: "\f0dc";
814
+ }
815
+ .fa-sort-down:before,
816
+ .fa-sort-desc:before {
817
+ content: "\f0dd";
818
+ }
819
+ .fa-sort-up:before,
820
+ .fa-sort-asc:before {
821
+ content: "\f0de";
822
+ }
823
+ .fa-envelope:before {
824
+ content: "\f0e0";
825
+ }
826
+ .fa-linkedin:before {
827
+ content: "\f0e1";
828
+ }
829
+ .fa-rotate-left:before,
830
+ .fa-undo:before {
831
+ content: "\f0e2";
832
+ }
833
+ .fa-legal:before,
834
+ .fa-gavel:before {
835
+ content: "\f0e3";
836
+ }
837
+ .fa-dashboard:before,
838
+ .fa-tachometer:before {
839
+ content: "\f0e4";
840
+ }
841
+ .fa-comment-o:before {
842
+ content: "\f0e5";
843
+ }
844
+ .fa-comments-o:before {
845
+ content: "\f0e6";
846
+ }
847
+ .fa-flash:before,
848
+ .fa-bolt:before {
849
+ content: "\f0e7";
850
+ }
851
+ .fa-sitemap:before {
852
+ content: "\f0e8";
853
+ }
854
+ .fa-umbrella:before {
855
+ content: "\f0e9";
856
+ }
857
+ .fa-paste:before,
858
+ .fa-clipboard:before {
859
+ content: "\f0ea";
860
+ }
861
+ .fa-lightbulb-o:before {
862
+ content: "\f0eb";
863
+ }
864
+ .fa-exchange:before {
865
+ content: "\f0ec";
866
+ }
867
+ .fa-cloud-download:before {
868
+ content: "\f0ed";
869
+ }
870
+ .fa-cloud-upload:before {
871
+ content: "\f0ee";
872
+ }
873
+ .fa-user-md:before {
874
+ content: "\f0f0";
875
+ }
876
+ .fa-stethoscope:before {
877
+ content: "\f0f1";
878
+ }
879
+ .fa-suitcase:before {
880
+ content: "\f0f2";
881
+ }
882
+ .fa-bell-o:before {
883
+ content: "\f0a2";
884
+ }
885
+ .fa-coffee:before {
886
+ content: "\f0f4";
887
+ }
888
+ .fa-cutlery:before {
889
+ content: "\f0f5";
890
+ }
891
+ .fa-file-text-o:before {
892
+ content: "\f0f6";
893
+ }
894
+ .fa-building-o:before {
895
+ content: "\f0f7";
896
+ }
897
+ .fa-hospital-o:before {
898
+ content: "\f0f8";
899
+ }
900
+ .fa-ambulance:before {
901
+ content: "\f0f9";
902
+ }
903
+ .fa-medkit:before {
904
+ content: "\f0fa";
905
+ }
906
+ .fa-fighter-jet:before {
907
+ content: "\f0fb";
908
+ }
909
+ .fa-beer:before {
910
+ content: "\f0fc";
911
+ }
912
+ .fa-h-square:before {
913
+ content: "\f0fd";
914
+ }
915
+ .fa-plus-square:before {
916
+ content: "\f0fe";
917
+ }
918
+ .fa-angle-double-left:before {
919
+ content: "\f100";
920
+ }
921
+ .fa-angle-double-right:before {
922
+ content: "\f101";
923
+ }
924
+ .fa-angle-double-up:before {
925
+ content: "\f102";
926
+ }
927
+ .fa-angle-double-down:before {
928
+ content: "\f103";
929
+ }
930
+ .fa-angle-left:before {
931
+ content: "\f104";
932
+ }
933
+ .fa-angle-right:before {
934
+ content: "\f105";
935
+ }
936
+ .fa-angle-up:before {
937
+ content: "\f106";
938
+ }
939
+ .fa-angle-down:before {
940
+ content: "\f107";
941
+ }
942
+ .fa-desktop:before {
943
+ content: "\f108";
944
+ }
945
+ .fa-laptop:before {
946
+ content: "\f109";
947
+ }
948
+ .fa-tablet:before {
949
+ content: "\f10a";
950
+ }
951
+ .fa-mobile-phone:before,
952
+ .fa-mobile:before {
953
+ content: "\f10b";
954
+ }
955
+ .fa-circle-o:before {
956
+ content: "\f10c";
957
+ }
958
+ .fa-quote-left:before {
959
+ content: "\f10d";
960
+ }
961
+ .fa-quote-right:before {
962
+ content: "\f10e";
963
+ }
964
+ .fa-spinner:before {
965
+ content: "\f110";
966
+ }
967
+ .fa-circle:before {
968
+ content: "\f111";
969
+ }
970
+ .fa-mail-reply:before,
971
+ .fa-reply:before {
972
+ content: "\f112";
973
+ }
974
+ .fa-github-alt:before {
975
+ content: "\f113";
976
+ }
977
+ .fa-folder-o:before {
978
+ content: "\f114";
979
+ }
980
+ .fa-folder-open-o:before {
981
+ content: "\f115";
982
+ }
983
+ .fa-smile-o:before {
984
+ content: "\f118";
985
+ }
986
+ .fa-frown-o:before {
987
+ content: "\f119";
988
+ }
989
+ .fa-meh-o:before {
990
+ content: "\f11a";
991
+ }
992
+ .fa-gamepad:before {
993
+ content: "\f11b";
994
+ }
995
+ .fa-keyboard-o:before {
996
+ content: "\f11c";
997
+ }
998
+ .fa-flag-o:before {
999
+ content: "\f11d";
1000
+ }
1001
+ .fa-flag-checkered:before {
1002
+ content: "\f11e";
1003
+ }
1004
+ .fa-terminal:before {
1005
+ content: "\f120";
1006
+ }
1007
+ .fa-code:before {
1008
+ content: "\f121";
1009
+ }
1010
+ .fa-mail-reply-all:before,
1011
+ .fa-reply-all:before {
1012
+ content: "\f122";
1013
+ }
1014
+ .fa-star-half-empty:before,
1015
+ .fa-star-half-full:before,
1016
+ .fa-star-half-o:before {
1017
+ content: "\f123";
1018
+ }
1019
+ .fa-location-arrow:before {
1020
+ content: "\f124";
1021
+ }
1022
+ .fa-crop:before {
1023
+ content: "\f125";
1024
+ }
1025
+ .fa-code-fork:before {
1026
+ content: "\f126";
1027
+ }
1028
+ .fa-unlink:before,
1029
+ .fa-chain-broken:before {
1030
+ content: "\f127";
1031
+ }
1032
+ .fa-question:before {
1033
+ content: "\f128";
1034
+ }
1035
+ .fa-info:before {
1036
+ content: "\f129";
1037
+ }
1038
+ .fa-exclamation:before {
1039
+ content: "\f12a";
1040
+ }
1041
+ .fa-superscript:before {
1042
+ content: "\f12b";
1043
+ }
1044
+ .fa-subscript:before {
1045
+ content: "\f12c";
1046
+ }
1047
+ .fa-eraser:before {
1048
+ content: "\f12d";
1049
+ }
1050
+ .fa-puzzle-piece:before {
1051
+ content: "\f12e";
1052
+ }
1053
+ .fa-microphone:before {
1054
+ content: "\f130";
1055
+ }
1056
+ .fa-microphone-slash:before {
1057
+ content: "\f131";
1058
+ }
1059
+ .fa-shield:before {
1060
+ content: "\f132";
1061
+ }
1062
+ .fa-calendar-o:before {
1063
+ content: "\f133";
1064
+ }
1065
+ .fa-fire-extinguisher:before {
1066
+ content: "\f134";
1067
+ }
1068
+ .fa-rocket:before {
1069
+ content: "\f135";
1070
+ }
1071
+ .fa-maxcdn:before {
1072
+ content: "\f136";
1073
+ }
1074
+ .fa-chevron-circle-left:before {
1075
+ content: "\f137";
1076
+ }
1077
+ .fa-chevron-circle-right:before {
1078
+ content: "\f138";
1079
+ }
1080
+ .fa-chevron-circle-up:before {
1081
+ content: "\f139";
1082
+ }
1083
+ .fa-chevron-circle-down:before {
1084
+ content: "\f13a";
1085
+ }
1086
+ .fa-html5:before {
1087
+ content: "\f13b";
1088
+ }
1089
+ .fa-css3:before {
1090
+ content: "\f13c";
1091
+ }
1092
+ .fa-anchor:before {
1093
+ content: "\f13d";
1094
+ }
1095
+ .fa-unlock-alt:before {
1096
+ content: "\f13e";
1097
+ }
1098
+ .fa-bullseye:before {
1099
+ content: "\f140";
1100
+ }
1101
+ .fa-ellipsis-h:before {
1102
+ content: "\f141";
1103
+ }
1104
+ .fa-ellipsis-v:before {
1105
+ content: "\f142";
1106
+ }
1107
+ .fa-rss-square:before {
1108
+ content: "\f143";
1109
+ }
1110
+ .fa-play-circle:before {
1111
+ content: "\f144";
1112
+ }
1113
+ .fa-ticket:before {
1114
+ content: "\f145";
1115
+ }
1116
+ .fa-minus-square:before {
1117
+ content: "\f146";
1118
+ }
1119
+ .fa-minus-square-o:before {
1120
+ content: "\f147";
1121
+ }
1122
+ .fa-level-up:before {
1123
+ content: "\f148";
1124
+ }
1125
+ .fa-level-down:before {
1126
+ content: "\f149";
1127
+ }
1128
+ .fa-check-square:before {
1129
+ content: "\f14a";
1130
+ }
1131
+ .fa-pencil-square:before {
1132
+ content: "\f14b";
1133
+ }
1134
+ .fa-external-link-square:before {
1135
+ content: "\f14c";
1136
+ }
1137
+ .fa-share-square:before {
1138
+ content: "\f14d";
1139
+ }
1140
+ .fa-compass:before {
1141
+ content: "\f14e";
1142
+ }
1143
+ .fa-toggle-down:before,
1144
+ .fa-caret-square-o-down:before {
1145
+ content: "\f150";
1146
+ }
1147
+ .fa-toggle-up:before,
1148
+ .fa-caret-square-o-up:before {
1149
+ content: "\f151";
1150
+ }
1151
+ .fa-toggle-right:before,
1152
+ .fa-caret-square-o-right:before {
1153
+ content: "\f152";
1154
+ }
1155
+ .fa-euro:before,
1156
+ .fa-eur:before {
1157
+ content: "\f153";
1158
+ }
1159
+ .fa-gbp:before {
1160
+ content: "\f154";
1161
+ }
1162
+ .fa-dollar:before,
1163
+ .fa-usd:before {
1164
+ content: "\f155";
1165
+ }
1166
+ .fa-rupee:before,
1167
+ .fa-inr:before {
1168
+ content: "\f156";
1169
+ }
1170
+ .fa-cny:before,
1171
+ .fa-rmb:before,
1172
+ .fa-yen:before,
1173
+ .fa-jpy:before {
1174
+ content: "\f157";
1175
+ }
1176
+ .fa-ruble:before,
1177
+ .fa-rouble:before,
1178
+ .fa-rub:before {
1179
+ content: "\f158";
1180
+ }
1181
+ .fa-won:before,
1182
+ .fa-krw:before {
1183
+ content: "\f159";
1184
+ }
1185
+ .fa-bitcoin:before,
1186
+ .fa-btc:before {
1187
+ content: "\f15a";
1188
+ }
1189
+ .fa-file:before {
1190
+ content: "\f15b";
1191
+ }
1192
+ .fa-file-text:before {
1193
+ content: "\f15c";
1194
+ }
1195
+ .fa-sort-alpha-asc:before {
1196
+ content: "\f15d";
1197
+ }
1198
+ .fa-sort-alpha-desc:before {
1199
+ content: "\f15e";
1200
+ }
1201
+ .fa-sort-amount-asc:before {
1202
+ content: "\f160";
1203
+ }
1204
+ .fa-sort-amount-desc:before {
1205
+ content: "\f161";
1206
+ }
1207
+ .fa-sort-numeric-asc:before {
1208
+ content: "\f162";
1209
+ }
1210
+ .fa-sort-numeric-desc:before {
1211
+ content: "\f163";
1212
+ }
1213
+ .fa-thumbs-up:before {
1214
+ content: "\f164";
1215
+ }
1216
+ .fa-thumbs-down:before {
1217
+ content: "\f165";
1218
+ }
1219
+ .fa-youtube-square:before {
1220
+ content: "\f166";
1221
+ }
1222
+ .fa-youtube:before {
1223
+ content: "\f167";
1224
+ }
1225
+ .fa-xing:before {
1226
+ content: "\f168";
1227
+ }
1228
+ .fa-xing-square:before {
1229
+ content: "\f169";
1230
+ }
1231
+ .fa-youtube-play:before {
1232
+ content: "\f16a";
1233
+ }
1234
+ .fa-dropbox:before {
1235
+ content: "\f16b";
1236
+ }
1237
+ .fa-stack-overflow:before {
1238
+ content: "\f16c";
1239
+ }
1240
+ .fa-instagram:before {
1241
+ content: "\f16d";
1242
+ }
1243
+ .fa-flickr:before {
1244
+ content: "\f16e";
1245
+ }
1246
+ .fa-adn:before {
1247
+ content: "\f170";
1248
+ }
1249
+ .fa-bitbucket:before {
1250
+ content: "\f171";
1251
+ }
1252
+ .fa-bitbucket-square:before {
1253
+ content: "\f172";
1254
+ }
1255
+ .fa-tumblr:before {
1256
+ content: "\f173";
1257
+ }
1258
+ .fa-tumblr-square:before {
1259
+ content: "\f174";
1260
+ }
1261
+ .fa-long-arrow-down:before {
1262
+ content: "\f175";
1263
+ }
1264
+ .fa-long-arrow-up:before {
1265
+ content: "\f176";
1266
+ }
1267
+ .fa-long-arrow-left:before {
1268
+ content: "\f177";
1269
+ }
1270
+ .fa-long-arrow-right:before {
1271
+ content: "\f178";
1272
+ }
1273
+ .fa-apple:before {
1274
+ content: "\f179";
1275
+ }
1276
+ .fa-windows:before {
1277
+ content: "\f17a";
1278
+ }
1279
+ .fa-android:before {
1280
+ content: "\f17b";
1281
+ }
1282
+ .fa-linux:before {
1283
+ content: "\f17c";
1284
+ }
1285
+ .fa-dribbble:before {
1286
+ content: "\f17d";
1287
+ }
1288
+ .fa-skype:before {
1289
+ content: "\f17e";
1290
+ }
1291
+ .fa-foursquare:before {
1292
+ content: "\f180";
1293
+ }
1294
+ .fa-trello:before {
1295
+ content: "\f181";
1296
+ }
1297
+ .fa-female:before {
1298
+ content: "\f182";
1299
+ }
1300
+ .fa-male:before {
1301
+ content: "\f183";
1302
+ }
1303
+ .fa-gittip:before {
1304
+ content: "\f184";
1305
+ }
1306
+ .fa-sun-o:before {
1307
+ content: "\f185";
1308
+ }
1309
+ .fa-moon-o:before {
1310
+ content: "\f186";
1311
+ }
1312
+ .fa-archive:before {
1313
+ content: "\f187";
1314
+ }
1315
+ .fa-bug:before {
1316
+ content: "\f188";
1317
+ }
1318
+ .fa-vk:before {
1319
+ content: "\f189";
1320
+ }
1321
+ .fa-weibo:before {
1322
+ content: "\f18a";
1323
+ }
1324
+ .fa-renren:before {
1325
+ content: "\f18b";
1326
+ }
1327
+ .fa-pagelines:before {
1328
+ content: "\f18c";
1329
+ }
1330
+ .fa-stack-exchange:before {
1331
+ content: "\f18d";
1332
+ }
1333
+ .fa-arrow-circle-o-right:before {
1334
+ content: "\f18e";
1335
+ }
1336
+ .fa-arrow-circle-o-left:before {
1337
+ content: "\f190";
1338
+ }
1339
+ .fa-toggle-left:before,
1340
+ .fa-caret-square-o-left:before {
1341
+ content: "\f191";
1342
+ }
1343
+ .fa-dot-circle-o:before {
1344
+ content: "\f192";
1345
+ }
1346
+ .fa-wheelchair:before {
1347
+ content: "\f193";
1348
+ }
1349
+ .fa-vimeo-square:before {
1350
+ content: "\f194";
1351
+ }
1352
+ .fa-turkish-lira:before,
1353
+ .fa-try:before {
1354
+ content: "\f195";
1355
+ }
1356
+ .fa-plus-square-o:before {
1357
+ content: "\f196";
1358
+ }
1359
+ .fa-space-shuttle:before {
1360
+ content: "\f197";
1361
+ }
1362
+ .fa-slack:before {
1363
+ content: "\f198";
1364
+ }
1365
+ .fa-envelope-square:before {
1366
+ content: "\f199";
1367
+ }
1368
+ .fa-wordpress:before {
1369
+ content: "\f19a";
1370
+ }
1371
+ .fa-openid:before {
1372
+ content: "\f19b";
1373
+ }
1374
+ .fa-institution:before,
1375
+ .fa-bank:before,
1376
+ .fa-university:before {
1377
+ content: "\f19c";
1378
+ }
1379
+ .fa-mortar-board:before,
1380
+ .fa-graduation-cap:before {
1381
+ content: "\f19d";
1382
+ }
1383
+ .fa-yahoo:before {
1384
+ content: "\f19e";
1385
+ }
1386
+ .fa-google:before {
1387
+ content: "\f1a0";
1388
+ }
1389
+ .fa-reddit:before {
1390
+ content: "\f1a1";
1391
+ }
1392
+ .fa-reddit-square:before {
1393
+ content: "\f1a2";
1394
+ }
1395
+ .fa-stumbleupon-circle:before {
1396
+ content: "\f1a3";
1397
+ }
1398
+ .fa-stumbleupon:before {
1399
+ content: "\f1a4";
1400
+ }
1401
+ .fa-delicious:before {
1402
+ content: "\f1a5";
1403
+ }
1404
+ .fa-digg:before {
1405
+ content: "\f1a6";
1406
+ }
1407
+ .fa-pied-piper:before {
1408
+ content: "\f1a7";
1409
+ }
1410
+ .fa-pied-piper-alt:before {
1411
+ content: "\f1a8";
1412
+ }
1413
+ .fa-drupal:before {
1414
+ content: "\f1a9";
1415
+ }
1416
+ .fa-joomla:before {
1417
+ content: "\f1aa";
1418
+ }
1419
+ .fa-language:before {
1420
+ content: "\f1ab";
1421
+ }
1422
+ .fa-fax:before {
1423
+ content: "\f1ac";
1424
+ }
1425
+ .fa-building:before {
1426
+ content: "\f1ad";
1427
+ }
1428
+ .fa-child:before {
1429
+ content: "\f1ae";
1430
+ }
1431
+ .fa-paw:before {
1432
+ content: "\f1b0";
1433
+ }
1434
+ .fa-spoon:before {
1435
+ content: "\f1b1";
1436
+ }
1437
+ .fa-cube:before {
1438
+ content: "\f1b2";
1439
+ }
1440
+ .fa-cubes:before {
1441
+ content: "\f1b3";
1442
+ }
1443
+ .fa-behance:before {
1444
+ content: "\f1b4";
1445
+ }
1446
+ .fa-behance-square:before {
1447
+ content: "\f1b5";
1448
+ }
1449
+ .fa-steam:before {
1450
+ content: "\f1b6";
1451
+ }
1452
+ .fa-steam-square:before {
1453
+ content: "\f1b7";
1454
+ }
1455
+ .fa-recycle:before {
1456
+ content: "\f1b8";
1457
+ }
1458
+ .fa-automobile:before,
1459
+ .fa-car:before {
1460
+ content: "\f1b9";
1461
+ }
1462
+ .fa-cab:before,
1463
+ .fa-taxi:before {
1464
+ content: "\f1ba";
1465
+ }
1466
+ .fa-tree:before {
1467
+ content: "\f1bb";
1468
+ }
1469
+ .fa-spotify:before {
1470
+ content: "\f1bc";
1471
+ }
1472
+ .fa-deviantart:before {
1473
+ content: "\f1bd";
1474
+ }
1475
+ .fa-soundcloud:before {
1476
+ content: "\f1be";
1477
+ }
1478
+ .fa-database:before {
1479
+ content: "\f1c0";
1480
+ }
1481
+ .fa-file-pdf-o:before {
1482
+ content: "\f1c1";
1483
+ }
1484
+ .fa-file-word-o:before {
1485
+ content: "\f1c2";
1486
+ }
1487
+ .fa-file-excel-o:before {
1488
+ content: "\f1c3";
1489
+ }
1490
+ .fa-file-powerpoint-o:before {
1491
+ content: "\f1c4";
1492
+ }
1493
+ .fa-file-photo-o:before,
1494
+ .fa-file-picture-o:before,
1495
+ .fa-file-image-o:before {
1496
+ content: "\f1c5";
1497
+ }
1498
+ .fa-file-zip-o:before,
1499
+ .fa-file-archive-o:before {
1500
+ content: "\f1c6";
1501
+ }
1502
+ .fa-file-sound-o:before,
1503
+ .fa-file-audio-o:before {
1504
+ content: "\f1c7";
1505
+ }
1506
+ .fa-file-movie-o:before,
1507
+ .fa-file-video-o:before {
1508
+ content: "\f1c8";
1509
+ }
1510
+ .fa-file-code-o:before {
1511
+ content: "\f1c9";
1512
+ }
1513
+ .fa-vine:before {
1514
+ content: "\f1ca";
1515
+ }
1516
+ .fa-codepen:before {
1517
+ content: "\f1cb";
1518
+ }
1519
+ .fa-jsfiddle:before {
1520
+ content: "\f1cc";
1521
+ }
1522
+ .fa-life-bouy:before,
1523
+ .fa-life-buoy:before,
1524
+ .fa-life-saver:before,
1525
+ .fa-support:before,
1526
+ .fa-life-ring:before {
1527
+ content: "\f1cd";
1528
+ }
1529
+ .fa-circle-o-notch:before {
1530
+ content: "\f1ce";
1531
+ }
1532
+ .fa-ra:before,
1533
+ .fa-rebel:before {
1534
+ content: "\f1d0";
1535
+ }
1536
+ .fa-ge:before,
1537
+ .fa-empire:before {
1538
+ content: "\f1d1";
1539
+ }
1540
+ .fa-git-square:before {
1541
+ content: "\f1d2";
1542
+ }
1543
+ .fa-git:before {
1544
+ content: "\f1d3";
1545
+ }
1546
+ .fa-hacker-news:before {
1547
+ content: "\f1d4";
1548
+ }
1549
+ .fa-tencent-weibo:before {
1550
+ content: "\f1d5";
1551
+ }
1552
+ .fa-qq:before {
1553
+ content: "\f1d6";
1554
+ }
1555
+ .fa-wechat:before,
1556
+ .fa-weixin:before {
1557
+ content: "\f1d7";
1558
+ }
1559
+ .fa-send:before,
1560
+ .fa-paper-plane:before {
1561
+ content: "\f1d8";
1562
+ }
1563
+ .fa-send-o:before,
1564
+ .fa-paper-plane-o:before {
1565
+ content: "\f1d9";
1566
+ }
1567
+ .fa-history:before {
1568
+ content: "\f1da";
1569
+ }
1570
+ .fa-circle-thin:before {
1571
+ content: "\f1db";
1572
+ }
1573
+ .fa-header:before {
1574
+ content: "\f1dc";
1575
+ }
1576
+ .fa-paragraph:before {
1577
+ content: "\f1dd";
1578
+ }
1579
+ .fa-sliders:before {
1580
+ content: "\f1de";
1581
+ }
1582
+ .fa-share-alt:before {
1583
+ content: "\f1e0";
1584
+ }
1585
+ .fa-share-alt-square:before {
1586
+ content: "\f1e1";
1587
+ }
1588
+ .fa-bomb:before {
1589
+ content: "\f1e2";
1590
+ }
1591
+ .fa-soccer-ball-o:before,
1592
+ .fa-futbol-o:before {
1593
+ content: "\f1e3";
1594
+ }
1595
+ .fa-tty:before {
1596
+ content: "\f1e4";
1597
+ }
1598
+ .fa-binoculars:before {
1599
+ content: "\f1e5";
1600
+ }
1601
+ .fa-plug:before {
1602
+ content: "\f1e6";
1603
+ }
1604
+ .fa-slideshare:before {
1605
+ content: "\f1e7";
1606
+ }
1607
+ .fa-twitch:before {
1608
+ content: "\f1e8";
1609
+ }
1610
+ .fa-yelp:before {
1611
+ content: "\f1e9";
1612
+ }
1613
+ .fa-newspaper-o:before {
1614
+ content: "\f1ea";
1615
+ }
1616
+ .fa-wifi:before {
1617
+ content: "\f1eb";
1618
+ }
1619
+ .fa-calculator:before {
1620
+ content: "\f1ec";
1621
+ }
1622
+ .fa-paypal:before {
1623
+ content: "\f1ed";
1624
+ }
1625
+ .fa-google-wallet:before {
1626
+ content: "\f1ee";
1627
+ }
1628
+ .fa-cc-visa:before {
1629
+ content: "\f1f0";
1630
+ }
1631
+ .fa-cc-mastercard:before {
1632
+ content: "\f1f1";
1633
+ }
1634
+ .fa-cc-discover:before {
1635
+ content: "\f1f2";
1636
+ }
1637
+ .fa-cc-amex:before {
1638
+ content: "\f1f3";
1639
+ }
1640
+ .fa-cc-paypal:before {
1641
+ content: "\f1f4";
1642
+ }
1643
+ .fa-cc-stripe:before {
1644
+ content: "\f1f5";
1645
+ }
1646
+ .fa-bell-slash:before {
1647
+ content: "\f1f6";
1648
+ }
1649
+ .fa-bell-slash-o:before {
1650
+ content: "\f1f7";
1651
+ }
1652
+ .fa-trash:before {
1653
+ content: "\f1f8";
1654
+ }
1655
+ .fa-copyright:before {
1656
+ content: "\f1f9";
1657
+ }
1658
+ .fa-at:before {
1659
+ content: "\f1fa";
1660
+ }
1661
+ .fa-eyedropper:before {
1662
+ content: "\f1fb";
1663
+ }
1664
+ .fa-paint-brush:before {
1665
+ content: "\f1fc";
1666
+ }
1667
+ .fa-birthday-cake:before {
1668
+ content: "\f1fd";
1669
+ }
1670
+ .fa-area-chart:before {
1671
+ content: "\f1fe";
1672
+ }
1673
+ .fa-pie-chart:before {
1674
+ content: "\f200";
1675
+ }
1676
+ .fa-line-chart:before {
1677
+ content: "\f201";
1678
+ }
1679
+ .fa-lastfm:before {
1680
+ content: "\f202";
1681
+ }
1682
+ .fa-lastfm-square:before {
1683
+ content: "\f203";
1684
+ }
1685
+ .fa-toggle-off:before {
1686
+ content: "\f204";
1687
+ }
1688
+ .fa-toggle-on:before {
1689
+ content: "\f205";
1690
+ }
1691
+ .fa-bicycle:before {
1692
+ content: "\f206";
1693
+ }
1694
+ .fa-bus:before {
1695
+ content: "\f207";
1696
+ }
1697
+ .fa-ioxhost:before {
1698
+ content: "\f208";
1699
+ }
1700
+ .fa-angellist:before {
1701
+ content: "\f209";
1702
+ }
1703
+ .fa-cc:before {
1704
+ content: "\f20a";
1705
+ }
1706
+ .fa-shekel:before,
1707
+ .fa-sheqel:before,
1708
+ .fa-ils:before {
1709
+ content: "\f20b";
1710
+ }
1711
+ .fa-meanpath:before {
1712
+ content: "\f20c";
1713
+ }
css/font-awesome/fonts/FontAwesome.otf ADDED
Binary file
css/font-awesome/fonts/fontawesome-webfont.eot ADDED
Binary file
css/font-awesome/fonts/fontawesome-webfont.svg ADDED
@@ -0,0 +1,520 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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="fontawesomeregular" horiz-adv-x="1536" >
7
+ <font-face units-per-em="1792" ascent="1536" descent="-256" />
8
+ <missing-glyph horiz-adv-x="448" />
9
+ <glyph unicode=" " horiz-adv-x="448" />
10
+ <glyph unicode="&#x09;" horiz-adv-x="448" />
11
+ <glyph unicode="&#xa0;" horiz-adv-x="448" />
12
+ <glyph unicode="&#xa8;" horiz-adv-x="1792" />
13
+ <glyph unicode="&#xa9;" horiz-adv-x="1792" />
14
+ <glyph unicode="&#xae;" horiz-adv-x="1792" />
15
+ <glyph unicode="&#xb4;" horiz-adv-x="1792" />
16
+ <glyph unicode="&#xc6;" horiz-adv-x="1792" />
17
+ <glyph unicode="&#xd8;" horiz-adv-x="1792" />
18
+ <glyph unicode="&#x2000;" horiz-adv-x="768" />
19
+ <glyph unicode="&#x2001;" horiz-adv-x="1537" />
20
+ <glyph unicode="&#x2002;" horiz-adv-x="768" />
21
+ <glyph unicode="&#x2003;" horiz-adv-x="1537" />
22
+ <glyph unicode="&#x2004;" horiz-adv-x="512" />
23
+ <glyph unicode="&#x2005;" horiz-adv-x="384" />
24
+ <glyph unicode="&#x2006;" horiz-adv-x="256" />
25
+ <glyph unicode="&#x2007;" horiz-adv-x="256" />
26
+ <glyph unicode="&#x2008;" horiz-adv-x="192" />
27
+ <glyph unicode="&#x2009;" horiz-adv-x="307" />
28
+ <glyph unicode="&#x200a;" horiz-adv-x="85" />
29
+ <glyph unicode="&#x202f;" horiz-adv-x="307" />
30
+ <glyph unicode="&#x205f;" horiz-adv-x="384" />
31
+ <glyph unicode="&#x2122;" horiz-adv-x="1792" />
32
+ <glyph unicode="&#x221e;" horiz-adv-x="1792" />
33
+ <glyph unicode="&#x2260;" horiz-adv-x="1792" />
34
+ <glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
35
+ <glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
36
+ <glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
37
+ <glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
38
+ <glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
39
+ <glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
40
+ <glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
41
+ <glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
42
+ <glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
43
+ <glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
44
+ <glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
45
+ <glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
46
+ <glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
47
+ <glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
48
+ <glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
49
+ <glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
50
+ <glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
51
+ <glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
52
+ <glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
53
+ <glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
54
+ <glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
55
+ <glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
56
+ <glyph unicode="&#xf016;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z " />
57
+ <glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
58
+ <glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
59
+ <glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
60
+ <glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
61
+ <glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
62
+ <glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
63
+ <glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
64
+ <glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
65
+ <glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
66
+ <glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
67
+ <glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
68
+ <glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
69
+ <glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
70
+ <glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
71
+ <glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
72
+ <glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
73
+ <glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
74
+ <glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
75
+ <glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
76
+ <glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
77
+ <glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
78
+ <glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
79
+ <glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
80
+ <glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
81
+ <glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -4 -0.5 -13t-0.5 -13q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
82
+ <glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68.5 -0.5t67.5 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
83
+ <glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
84
+ <glyph unicode="&#xf034;" horiz-adv-x="1792" d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
85
+ <glyph unicode="&#xf035;" d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
86
+ <glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
87
+ <glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
88
+ <glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
89
+ <glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
90
+ <glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
91
+ <glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
92
+ <glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
93
+ <glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
94
+ <glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
95
+ <glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
96
+ <glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
97
+ <glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
98
+ <glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
99
+ <glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
100
+ <glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
101
+ <glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
102
+ <glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
103
+ <glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
104
+ <glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
105
+ <glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
106
+ <glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
107
+ <glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
108
+ <glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
109
+ <glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
110
+ <glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
111
+ <glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
112
+ <glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
113
+ <glyph unicode="&#xf053;" horiz-adv-x="1280" d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
114
+ <glyph unicode="&#xf054;" horiz-adv-x="1280" d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
115
+ <glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
116
+ <glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
117
+ <glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
118
+ <glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
119
+ <glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
120
+ <glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
121
+ <glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
122
+ <glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
123
+ <glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
124
+ <glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
125
+ <glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
126
+ <glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
127
+ <glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
128
+ <glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
129
+ <glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
130
+ <glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
131
+ <glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
132
+ <glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
133
+ <glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
134
+ <glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
135
+ <glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
136
+ <glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
137
+ <glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
138
+ <glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
139
+ <glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
140
+ <glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
141
+ <glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
142
+ <glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
143
+ <glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
144
+ <glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
145
+ <glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
146
+ <glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
147
+ <glyph unicode="&#xf077;" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
148
+ <glyph unicode="&#xf078;" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
149
+ <glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
150
+ <glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
151
+ <glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
152
+ <glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
153
+ <glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
154
+ <glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
155
+ <glyph unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
156
+ <glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
157
+ <glyph unicode="&#xf082;" d="M1536 160q0 -119 -84.5 -203.5t-203.5 -84.5h-192v608h203l30 224h-233v143q0 54 28 83t96 29l132 1v207q-96 9 -180 9q-136 0 -218 -80.5t-82 -225.5v-166h-224v-224h224v-608h-544q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5v-960z" />
158
+ <glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
159
+ <glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
160
+ <glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
161
+ <glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
162
+ <glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
163
+ <glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
164
+ <glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
165
+ <glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
166
+ <glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
167
+ <glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
168
+ <glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
169
+ <glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
170
+ <glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
171
+ <glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
172
+ <glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
173
+ <glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
174
+ <glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
175
+ <glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
176
+ <glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
177
+ <glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
178
+ <glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
179
+ <glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
180
+ <glyph unicode="&#xf09a;" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
181
+ <glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
182
+ <glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
183
+ <glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
184
+ <glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
185
+ <glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
186
+ <glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
187
+ <glyph unicode="&#xf0a2;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
188
+ <glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
189
+ <glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
190
+ <glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
191
+ <glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
192
+ <glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
193
+ <glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
194
+ <glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
195
+ <glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
196
+ <glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
197
+ <glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
198
+ <glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
199
+ <glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
200
+ <glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
201
+ <glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
202
+ <glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
203
+ <glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
204
+ <glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
205
+ <glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
206
+ <glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
207
+ <glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
208
+ <glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
209
+ <glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
210
+ <glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
211
+ <glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
212
+ <glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
213
+ <glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
214
+ <glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
215
+ <glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
216
+ <glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
217
+ <glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
218
+ <glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
219
+ <glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
220
+ <glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
221
+ <glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
222
+ <glyph unicode="&#xf0d4;" d="M829 318q0 -76 -58.5 -112.5t-139.5 -36.5q-41 0 -80.5 9.5t-75.5 28.5t-58 53t-22 78q0 46 25 80t65.5 51.5t82 25t84.5 7.5q20 0 31 -2q2 -1 23 -16.5t26 -19t23 -18t24.5 -22t19 -22.5t17 -26t9 -26.5t4.5 -31.5zM755 863q0 -60 -33 -99.5t-92 -39.5q-53 0 -93 42.5 t-57.5 96.5t-17.5 106q0 61 32 104t92 43q53 0 93.5 -45t58 -101t17.5 -107zM861 1120l88 64h-265q-85 0 -161 -32t-127.5 -98t-51.5 -153q0 -93 64.5 -154.5t158.5 -61.5q22 0 43 3q-13 -29 -13 -54q0 -44 40 -94q-175 -12 -257 -63q-47 -29 -75.5 -73t-28.5 -95 q0 -43 18.5 -77.5t48.5 -56.5t69 -37t77.5 -21t76.5 -6q60 0 120.5 15.5t113.5 46t86 82.5t33 117q0 49 -20 89.5t-49 66.5t-58 47.5t-49 44t-20 44.5t15.5 42.5t37.5 39.5t44 42t37.5 59.5t15.5 82.5q0 60 -22.5 99.5t-72.5 90.5h83zM1152 672h128v64h-128v128h-64v-128 h-128v-64h128v-160h64v160zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
223
+ <glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M735 740q0 -36 32 -70.5t77.5 -68t90.5 -73.5t77 -104t32 -142q0 -90 -48 -173q-72 -122 -211 -179.5t-298 -57.5q-132 0 -246.5 41.5t-171.5 137.5q-37 60 -37 131q0 81 44.5 150t118.5 115q131 82 404 100q-32 42 -47.5 74t-15.5 73q0 36 21 85q-46 -4 -68 -4 q-148 0 -249.5 96.5t-101.5 244.5q0 82 36 159t99 131q77 66 182.5 98t217.5 32h418l-138 -88h-131q74 -63 112 -133t38 -160q0 -72 -24.5 -129.5t-59 -93t-69.5 -65t-59.5 -61.5t-24.5 -66zM589 836q38 0 78 16.5t66 43.5q53 57 53 159q0 58 -17 125t-48.5 129.5 t-84.5 103.5t-117 41q-42 0 -82.5 -19.5t-65.5 -52.5q-47 -59 -47 -160q0 -46 10 -97.5t31.5 -103t52 -92.5t75 -67t96.5 -26zM591 -37q58 0 111.5 13t99 39t73 73t27.5 109q0 25 -7 49t-14.5 42t-27 41.5t-29.5 35t-38.5 34.5t-36.5 29t-41.5 30t-36.5 26q-16 2 -48 2 q-53 0 -105 -7t-107.5 -25t-97 -46t-68.5 -74.5t-27 -105.5q0 -70 35 -123.5t91.5 -83t119 -44t127.5 -14.5zM1401 839h213v-108h-213v-219h-105v219h-212v108h212v217h105v-217z" />
224
+ <glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
225
+ <glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
226
+ <glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
227
+ <glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
228
+ <glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
229
+ <glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
230
+ <glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
231
+ <glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
232
+ <glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
233
+ <glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
234
+ <glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
235
+ <glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
236
+ <glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
237
+ <glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
238
+ <glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
239
+ <glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
240
+ <glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
241
+ <glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
242
+ <glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
243
+ <glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
244
+ <glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
245
+ <glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
246
+ <glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
247
+ <glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
248
+ <glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
249
+ <glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
250
+ <glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
251
+ <glyph unicode="&#xf0f3;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
252
+ <glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
253
+ <glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
254
+ <glyph unicode="&#xf0f6;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
255
+ <glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
256
+ <glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
257
+ <glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
258
+ <glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
259
+ <glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
260
+ <glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
261
+ <glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
262
+ <glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
263
+ <glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
264
+ <glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
265
+ <glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
266
+ <glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
267
+ <glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
268
+ <glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
269
+ <glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
270
+ <glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
271
+ <glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
272
+ <glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
273
+ <glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
274
+ <glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
275
+ <glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
276
+ <glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
277
+ <glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
278
+ <glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
279
+ <glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
280
+ <glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
281
+ <glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
282
+ <glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
283
+ <glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
284
+ <glyph unicode="&#xf116;" horiz-adv-x="1792" />
285
+ <glyph unicode="&#xf117;" horiz-adv-x="1792" />
286
+ <glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
287
+ <glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
288
+ <glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
289
+ <glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
290
+ <glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
291
+ <glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
292
+ <glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
293
+ <glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
294
+ <glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
295
+ <glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
296
+ <glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
297
+ <glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
298
+ <glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
299
+ <glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
300
+ <glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
301
+ <glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
302
+ <glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
303
+ <glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
304
+ <glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
305
+ <glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
306
+ <glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
307
+ <glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
308
+ <glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
309
+ <glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
310
+ <glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
311
+ <glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
312
+ <glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
313
+ <glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
314
+ <glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
315
+ <glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
316
+ <glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
317
+ <glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
318
+ <glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
319
+ <glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
320
+ <glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
321
+ <glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
322
+ <glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
323
+ <glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
324
+ <glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
325
+ <glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
326
+ <glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
327
+ <glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
328
+ <glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
329
+ <glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
330
+ <glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
331
+ <glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
332
+ <glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
333
+ <glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
334
+ <glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
335
+ <glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
336
+ <glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
337
+ <glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
338
+ <glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
339
+ <glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
340
+ <glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
341
+ <glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
342
+ <glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
343
+ <glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
344
+ <glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
345
+ <glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
346
+ <glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
347
+ <glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
348
+ <glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
349
+ <glyph unicode="&#xf15b;" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
350
+ <glyph unicode="&#xf15c;" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
351
+ <glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
352
+ <glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
353
+ <glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
354
+ <glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
355
+ <glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
356
+ <glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
357
+ <glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
358
+ <glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
359
+ <glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
360
+ <glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
361
+ <glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
362
+ <glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
363
+ <glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
364
+ <glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
365
+ <glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
366
+ <glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
367
+ <glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
368
+ <glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
369
+ <glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
370
+ <glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
371
+ <glyph unicode="&#xf173;" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />
372
+ <glyph unicode="&#xf174;" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
373
+ <glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
374
+ <glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
375
+ <glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
376
+ <glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
377
+ <glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
378
+ <glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
379
+ <glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
380
+ <glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
381
+ <glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
382
+ <glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
383
+ <glyph unicode="&#xf180;" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
384
+ <glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
385
+ <glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
386
+ <glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
387
+ <glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
388
+ <glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
389
+ <glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
390
+ <glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
391
+ <glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
392
+ <glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
393
+ <glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
394
+ <glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
395
+ <glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
396
+ <glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
397
+ <glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
398
+ <glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
399
+ <glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
400
+ <glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
401
+ <glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
402
+ <glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
403
+ <glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
404
+ <glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
405
+ <glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
406
+ <glyph unicode="&#xf198;" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
407
+ <glyph unicode="&#xf199;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
408
+ <glyph unicode="&#xf19a;" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />
409
+ <glyph unicode="&#xf19b;" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
410
+ <glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
411
+ <glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
412
+ <glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
413
+ <glyph unicode="&#xf1a0;" horiz-adv-x="1280" d="M981 197q0 25 -7 49t-14.5 42t-27 41.5t-29.5 35t-38.5 34.5t-36.5 29t-41.5 30t-36.5 26q-16 2 -49 2q-53 0 -104.5 -7t-107 -25t-97 -46t-68.5 -74.5t-27 -105.5q0 -56 23.5 -102t61 -75.5t87 -50t100 -29t101.5 -8.5q58 0 111.5 13t99 39t73 73t27.5 109zM864 1055 q0 59 -17 125.5t-48 129t-84 103.5t-117 41q-42 0 -82.5 -19.5t-66.5 -52.5q-46 -59 -46 -160q0 -46 10 -97.5t31.5 -103t52 -92.5t75 -67t96.5 -26q37 0 77.5 16.5t65.5 43.5q53 56 53 159zM752 1536h417l-137 -88h-132q75 -63 113 -133t38 -160q0 -72 -24.5 -129.5 t-59.5 -93t-69.5 -65t-59 -61.5t-24.5 -66q0 -36 32 -70.5t77 -68t90.5 -73.5t77.5 -104t32 -142q0 -91 -49 -173q-71 -122 -209.5 -179.5t-298.5 -57.5q-132 0 -246.5 41.5t-172.5 137.5q-36 59 -36 131q0 81 44.5 150t118.5 115q131 82 404 100q-32 41 -47.5 73.5 t-15.5 73.5q0 40 21 85q-46 -4 -68 -4q-148 0 -249.5 96.5t-101.5 244.5q0 82 36 159t99 131q76 66 182 98t218 32z" />
414
+ <glyph unicode="&#xf1a1;" horiz-adv-x="1984" d="M831 572q0 -56 -40.5 -96t-96.5 -40q-57 0 -98 40t-41 96q0 57 41.5 98t97.5 41t96.5 -41t40.5 -98zM1292 711q56 0 96.5 -41t40.5 -98q0 -56 -40.5 -96t-96.5 -40q-57 0 -98 40t-41 96q0 57 41.5 98t97.5 41zM1984 722q0 -62 -31 -114t-83 -82q5 -33 5 -61 q0 -121 -68.5 -230.5t-197.5 -193.5q-125 -82 -285.5 -125.5t-335.5 -43.5q-176 0 -336.5 43.5t-284.5 125.5q-129 84 -197.5 193t-68.5 231q0 29 5 66q-48 31 -77 81.5t-29 109.5q0 94 66 160t160 66q83 0 148 -55q248 158 592 164l134 423q4 14 17.5 21.5t28.5 4.5 l347 -82q22 50 68.5 81t102.5 31q77 0 131.5 -54.5t54.5 -131.5t-54.5 -132t-131.5 -55q-76 0 -130.5 54t-55.5 131l-315 74l-116 -366q327 -14 560 -166q64 58 151 58q94 0 160 -66t66 -160zM1664 1459q-45 0 -77 -32t-32 -77t32 -77t77 -32t77 32t32 77t-32 77t-77 32z M77 722q0 -67 51 -111q49 131 180 235q-36 25 -82 25q-62 0 -105.5 -43.5t-43.5 -105.5zM1567 105q112 73 171.5 166t59.5 194t-59.5 193.5t-171.5 165.5q-116 75 -265.5 115.5t-313.5 40.5t-313.5 -40.5t-265.5 -115.5q-112 -73 -171.5 -165.5t-59.5 -193.5t59.5 -194 t171.5 -166q116 -75 265.5 -115.5t313.5 -40.5t313.5 40.5t265.5 115.5zM1850 605q57 46 57 117q0 62 -43.5 105.5t-105.5 43.5q-49 0 -86 -28q131 -105 178 -238zM1258 237q11 11 27 11t27 -11t11 -27.5t-11 -27.5q-99 -99 -319 -99h-2q-220 0 -319 99q-11 11 -11 27.5 t11 27.5t27 11t27 -11q77 -77 265 -77h2q188 0 265 77z" />
415
+ <glyph unicode="&#xf1a2;" d="M950 393q7 7 17.5 7t17.5 -7t7 -18t-7 -18q-65 -64 -208 -64h-1h-1q-143 0 -207 64q-8 7 -8 18t8 18q7 7 17.5 7t17.5 -7q49 -51 172 -51h1h1q122 0 173 51zM671 613q0 -37 -26 -64t-63 -27t-63 27t-26 64t26 63t63 26t63 -26t26 -63zM1214 1049q-29 0 -50 21t-21 50 q0 30 21 51t50 21q30 0 51 -21t21 -51q0 -29 -21 -50t-51 -21zM1216 1408q132 0 226 -94t94 -227v-894q0 -133 -94 -227t-226 -94h-896q-132 0 -226 94t-94 227v894q0 133 94 227t226 94h896zM1321 596q35 14 57 45.5t22 70.5q0 51 -36 87.5t-87 36.5q-60 0 -98 -48 q-151 107 -375 115l83 265l206 -49q1 -50 36.5 -85t84.5 -35q50 0 86 35.5t36 85.5t-36 86t-86 36q-36 0 -66 -20.5t-45 -53.5l-227 54q-9 2 -17.5 -2.5t-11.5 -14.5l-95 -302q-224 -4 -381 -113q-36 43 -93 43q-51 0 -87 -36.5t-36 -87.5q0 -37 19.5 -67.5t52.5 -45.5 q-7 -25 -7 -54q0 -98 74 -181.5t201.5 -132t278.5 -48.5q150 0 277.5 48.5t201.5 132t74 181.5q0 27 -6 54zM971 702q37 0 63 -26t26 -63t-26 -64t-63 -27t-63 27t-26 64t26 63t63 26z" />
416
+ <glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 t385.5 -103t279.5 -279.5t103 -385.5z" />
417
+ <glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
418
+ <glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
419
+ <glyph unicode="&#xf1a6;" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />
420
+ <glyph unicode="&#xf1a7;" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
421
+ <glyph unicode="&#xf1a8;" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
422
+ <glyph unicode="&#xf1a9;" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
423
+ <glyph unicode="&#xf1aa;" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />
424
+ <glyph unicode="&#xf1ab;" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />
425
+ <glyph unicode="&#xf1ac;" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
426
+ <glyph unicode="&#xf1ad;" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
427
+ <glyph unicode="&#xf1ae;" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
428
+ <glyph unicode="&#xf1b0;" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />
429
+ <glyph unicode="&#xf1b1;" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
430
+ <glyph unicode="&#xf1b2;" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />
431
+ <glyph unicode="&#xf1b3;" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />
432
+ <glyph unicode="&#xf1b4;" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
433
+ <glyph unicode="&#xf1b5;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
434
+ <glyph unicode="&#xf1b6;" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
435
+ <glyph unicode="&#xf1b7;" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />
436
+ <glyph unicode="&#xf1b8;" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
437
+ <glyph unicode="&#xf1b9;" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
438
+ <glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
439
+ <glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
440
+ <glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
441
+ <glyph unicode="&#xf1bd;" d="M1397 1408q58 0 98.5 -40.5t40.5 -98.5v-1258q0 -58 -40.5 -98.5t-98.5 -40.5h-1258q-58 0 -98.5 40.5t-40.5 98.5v1258q0 58 40.5 98.5t98.5 40.5h1258zM1465 11v1258q0 28 -20 48t-48 20h-1258q-28 0 -48 -20t-20 -48v-1258q0 -28 20 -48t48 -20h1258q28 0 48 20t20 48 zM694 749l188 -387l533 145v-496q0 -7 -5.5 -12.5t-12.5 -5.5h-1258q-7 0 -12.5 5.5t-5.5 12.5v141l711 195l-212 439q4 1 12 2.5t12 1.5q170 32 303.5 21.5t221 -46t143.5 -94.5q27 -28 -25 -42q-64 -16 -256 -62l-97 198q-111 7 -240 -16zM1397 1287q7 0 12.5 -5.5 t5.5 -12.5v-428q-85 30 -188 52q-294 64 -645 12l-18 -3l-65 134h-233l85 -190q-132 -51 -230 -137v560q0 7 5.5 12.5t12.5 5.5h1258zM286 387q-14 -3 -26 4.5t-14 21.5q-24 203 166 305l129 -270z" />
442
+ <glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
443
+ <glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
444
+ <glyph unicode="&#xf1c1;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
445
+ <glyph unicode="&#xf1c2;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />
446
+ <glyph unicode="&#xf1c3;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />
447
+ <glyph unicode="&#xf1c4;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
448
+ <glyph unicode="&#xf1c5;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
449
+ <glyph unicode="&#xf1c6;" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
450
+ <glyph unicode="&#xf1c7;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
451
+ <glyph unicode="&#xf1c8;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
452
+ <glyph unicode="&#xf1c9;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
453
+ <glyph unicode="&#xf1ca;" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
454
+ <glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
455
+ <glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />
456
+ <glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
457
+ <glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348q0 222 101 414.5t276.5 317t390.5 155.5v-260q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 q0 230 -145.5 406t-366.5 221v260q215 -31 390.5 -155.5t276.5 -317t101 -414.5z" />
458
+ <glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
459
+ <glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
460
+ <glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
461
+ <glyph unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
462
+ <glyph unicode="&#xf1d4;" d="M825 547l343 588h-150q-21 -39 -63.5 -118.5t-68 -128.5t-59.5 -118.5t-60 -128.5h-3q-21 48 -44.5 97t-52 105.5t-46.5 92t-54 104.5t-49 95h-150l323 -589v-435h134v436zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
463
+ <glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
464
+ <glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
465
+ <glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
466
+ <glyph unicode="&#xf1d8;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
467
+ <glyph unicode="&#xf1d9;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />
468
+ <glyph unicode="&#xf1da;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
469
+ <glyph unicode="&#xf1db;" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
470
+ <glyph unicode="&#xf1dc;" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />
471
+ <glyph unicode="&#xf1dd;" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
472
+ <glyph unicode="&#xf1de;" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
473
+ <glyph unicode="&#xf1e0;" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
474
+ <glyph unicode="&#xf1e1;" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
475
+ <glyph unicode="&#xf1e2;" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
476
+ <glyph unicode="&#xf1e3;" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
477
+ <glyph unicode="&#xf1e4;" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
478
+ <glyph unicode="&#xf1e5;" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
479
+ <glyph unicode="&#xf1e6;" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />
480
+ <glyph unicode="&#xf1e7;" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
481
+ <glyph unicode="&#xf1e8;" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
482
+ <glyph unicode="&#xf1e9;" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
483
+ <glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
484
+ <glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
485
+ <glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
486
+ <glyph unicode="&#xf1ed;" horiz-adv-x="1792" d="M1112 1090q0 159 -237 159h-70q-32 0 -59.5 -21.5t-34.5 -52.5l-63 -276q-2 -5 -2 -16q0 -24 17 -39.5t41 -15.5h53q69 0 128.5 13t112.5 41t83.5 81.5t30.5 126.5zM1716 938q0 -265 -220 -428q-219 -161 -612 -161h-61q-32 0 -59 -21.5t-34 -52.5l-73 -316 q-8 -36 -40.5 -61.5t-69.5 -25.5h-213q-31 0 -53 20t-22 51q0 10 13 65h151q34 0 64 23.5t38 56.5l73 316q8 33 37.5 57t63.5 24h61q390 0 607 160t217 421q0 129 -51 207q183 -92 183 -335zM1533 1123q0 -264 -221 -428q-218 -161 -612 -161h-60q-32 0 -59.5 -22t-34.5 -53 l-73 -315q-8 -36 -40 -61.5t-69 -25.5h-214q-31 0 -52.5 19.5t-21.5 51.5q0 8 2 20l300 1301q8 36 40.5 61.5t69.5 25.5h444q68 0 125 -4t120.5 -15t113.5 -30t96.5 -50.5t77.5 -74t49.5 -103.5t18.5 -136z" />
487
+ <glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M602 949q19 -61 31 -123.5t17 -141.5t-14 -159t-62 -145q-21 81 -67 157t-95.5 127t-99 90.5t-78.5 57.5t-33 19q-62 34 -81.5 100t14.5 128t101 81.5t129 -14.5q138 -83 238 -177zM927 1236q11 -25 20.5 -46t36.5 -100.5t42.5 -150.5t25.5 -179.5t0 -205.5t-47.5 -209.5 t-105.5 -208.5q-51 -72 -138 -72q-54 0 -98 31q-57 40 -69 109t28 127q60 85 81 195t13 199.5t-32 180.5t-39 128t-22 52q-31 63 -8.5 129.5t85.5 97.5q34 17 75 17q47 0 88.5 -25t63.5 -69zM1248 567q-17 -160 -72 -311q-17 131 -63 246q25 174 -5 361q-27 178 -94 342 q114 -90 212 -211q9 -37 15 -80q26 -179 7 -347zM1520 1440q9 -17 23.5 -49.5t43.5 -117.5t50.5 -178t34 -227.5t5 -269t-47 -300t-112.5 -323.5q-22 -48 -66 -75.5t-95 -27.5q-39 0 -74 16q-67 31 -92.5 100t4.5 136q58 126 90 257.5t37.5 239.5t-3.5 213.5t-26.5 180.5 t-38.5 138.5t-32.5 90t-15.5 32.5q-34 65 -11.5 135.5t87.5 104.5q37 20 81 20q49 0 91.5 -25.5t66.5 -70.5z" />
488
+ <glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
489
+ <glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
490
+ <glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
491
+ <glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
492
+ <glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M322 689h-15q-19 0 -19 18q0 28 19 85q5 15 15 19.5t28 4.5q77 0 77 -49q0 -41 -30.5 -59.5t-74.5 -18.5zM664 528q-47 0 -47 29q0 62 123 62l3 -3q-5 -88 -79 -88zM1438 687h-15q-19 0 -19 19q0 28 19 85q5 15 14.5 19t28.5 4q77 0 77 -49q0 -41 -30.5 -59.5 t-74.5 -18.5zM1780 527q-47 0 -47 30q0 62 123 62l3 -3q-5 -89 -79 -89zM373 894h-128q-8 0 -14.5 -4t-8.5 -7.5t-7 -12.5q-3 -7 -45 -190t-42 -192q0 -7 5.5 -12.5t13.5 -5.5h62q25 0 32.5 34.5l15 69t32.5 34.5q47 0 87.5 7.5t80.5 24.5t63.5 52.5t23.5 84.5 q0 36 -14.5 61t-41 36.5t-53.5 15.5t-62 4zM719 798q-38 0 -74 -6q-2 0 -8.5 -1t-9 -1.5l-7.5 -1.5t-7.5 -2t-6.5 -3t-6.5 -4t-5 -5t-4.5 -7t-4 -9q-9 -29 -9 -39t9 -10q5 0 21.5 5t19.5 6q30 8 58 8q74 0 74 -36q0 -11 -10 -14q-8 -2 -18 -3t-21.5 -1.5t-17.5 -1.5 q-38 -4 -64.5 -10t-56.5 -19.5t-45.5 -39t-15.5 -62.5q0 -38 26 -59.5t64 -21.5q24 0 45.5 6.5t33 13t38.5 23.5q-3 -7 -3 -15t5.5 -13.5t12.5 -5.5h56q1 1 7 3.5t7.5 3.5t5 3.5t5 5.5t2.5 8l45 194q4 13 4 30q0 81 -145 81zM1247 793h-74q-22 0 -39 -23q-5 -7 -29.5 -51 t-46.5 -81.5t-26 -38.5l-5 4q0 77 -27 166q-1 5 -3.5 8.5t-6 6.5t-6.5 5t-8.5 3t-8.5 1.5t-9.5 1t-9 0.5h-10h-8.5q-38 0 -38 -21l1 -5q5 -53 25 -151t25 -143q2 -16 2 -24q0 -19 -30.5 -61.5t-30.5 -58.5q0 -13 40 -13q61 0 76 25l245 415q10 20 10 26q0 9 -8 9zM1489 892 h-129q-18 0 -29 -23q-6 -13 -46.5 -191.5t-40.5 -190.5q0 -20 43 -20h7.5h9h9t9.5 1t8.5 2t8.5 3t6.5 4.5t5.5 6t3 8.5l21 91q2 10 10.5 17t19.5 7q47 0 87.5 7t80.5 24.5t63.5 52.5t23.5 84q0 36 -14.5 61t-41 36.5t-53.5 15.5t-62 4zM1835 798q-26 0 -74 -6 q-38 -6 -48 -16q-7 -8 -11 -19q-8 -24 -8 -39q0 -10 8 -10q1 0 41 12q30 8 58 8q74 0 74 -36q0 -12 -10 -14q-4 -1 -57 -7q-38 -4 -64.5 -10t-56.5 -19.5t-45.5 -39t-15.5 -62.5t26 -58.5t64 -21.5q24 0 45 6t34 13t38 24q-3 -15 -3 -16q0 -5 2 -8.5t6.5 -5.5t8 -3.5 t10.5 -2t9.5 -0.5h9.5h8q42 0 48 25l45 194q3 15 3 31q0 81 -145 81zM2157 889h-55q-25 0 -33 -40q-10 -44 -36.5 -167t-42.5 -190v-5q0 -16 16 -18h1h57q10 0 18.5 6.5t10.5 16.5l83 374h-1l1 5q0 7 -5.5 12.5t-13.5 5.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048 q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
493
+ <glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
494
+ <glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />
495
+ <glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
496
+ <glyph unicode="&#xf1f8;" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
497
+ <glyph unicode="&#xf1f9;" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
498
+ <glyph unicode="&#xf1fa;" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
499
+ <glyph unicode="&#xf1fb;" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
500
+ <glyph unicode="&#xf1fc;" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
501
+ <glyph unicode="&#xf1fd;" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
502
+ <glyph unicode="&#xf1fe;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
503
+ <glyph unicode="&#xf200;" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
504
+ <glyph unicode="&#xf201;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />
505
+ <glyph unicode="&#xf202;" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
506
+ <glyph unicode="&#xf203;" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
507
+ <glyph unicode="&#xf204;" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
508
+ <glyph unicode="&#xf205;" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
509
+ <glyph unicode="&#xf206;" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
510
+ <glyph unicode="&#xf207;" d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
511
+ <glyph unicode="&#xf208;" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
512
+ <glyph unicode="&#xf209;" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
513
+ <glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
514
+ <glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
515
+ <glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
516
+ <glyph unicode="&#xf20d;" horiz-adv-x="1792" />
517
+ <glyph unicode="&#xf20e;" horiz-adv-x="1792" />
518
+ <glyph unicode="&#xf500;" horiz-adv-x="1792" />
519
+ </font>
520
+ </defs></svg>
css/font-awesome/fonts/fontawesome-webfont.ttf ADDED
Binary file
css/font-awesome/fonts/fontawesome-webfont.woff ADDED
Binary file
css/font-awesome/less/bordered-pulled.less ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Bordered & Pulled
2
+ // -------------------------
3
+
4
+ .@{fa-css-prefix}-border {
5
+ padding: .2em .25em .15em;
6
+ border: solid .08em @fa-border-color;
7
+ border-radius: .1em;
8
+ }
9
+
10
+ .pull-right { float: right; }
11
+ .pull-left { float: left; }
12
+
13
+ .@{fa-css-prefix} {
14
+ &.pull-left { margin-right: .3em; }
15
+ &.pull-right { margin-left: .3em; }
16
+ }
css/font-awesome/less/core.less ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ // Base Class Definition
2
+ // -------------------------
3
+
4
+ .@{fa-css-prefix} {
5
+ display: inline-block;
6
+ font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7
+ font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+ text-rendering: auto; // optimizelegibility throws things off #1094
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ }
css/font-awesome/less/fixed-width.less ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ // Fixed Width Icons
2
+ // -------------------------
3
+ .@{fa-css-prefix}-fw {
4
+ width: (18em / 14);
5
+ text-align: center;
6
+ }
css/font-awesome/less/font-awesome.less ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+ @import "variables.less";
7
+ @import "mixins.less";
8
+ @import "path.less";
9
+ @import "core.less";
10
+ @import "larger.less";
11
+ @import "fixed-width.less";
12
+ @import "list.less";
13
+ @import "bordered-pulled.less";
14
+ @import "spinning.less";
15
+ @import "rotated-flipped.less";
16
+ @import "stacked.less";
17
+ @import "icons.less";
css/font-awesome/less/icons.less ADDED
@@ -0,0 +1,552 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2
+ readers do not read off random characters that represent icons */
3
+
4
+ .@{fa-css-prefix}-glass:before { content: @fa-var-glass; }
5
+ .@{fa-css-prefix}-music:before { content: @fa-var-music; }
6
+ .@{fa-css-prefix}-search:before { content: @fa-var-search; }
7
+ .@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; }
8
+ .@{fa-css-prefix}-heart:before { content: @fa-var-heart; }
9
+ .@{fa-css-prefix}-star:before { content: @fa-var-star; }
10
+ .@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; }
11
+ .@{fa-css-prefix}-user:before { content: @fa-var-user; }
12
+ .@{fa-css-prefix}-film:before { content: @fa-var-film; }
13
+ .@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; }
14
+ .@{fa-css-prefix}-th:before { content: @fa-var-th; }
15
+ .@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; }
16
+ .@{fa-css-prefix}-check:before { content: @fa-var-check; }
17
+ .@{fa-css-prefix}-remove:before,
18
+ .@{fa-css-prefix}-close:before,
19
+ .@{fa-css-prefix}-times:before { content: @fa-var-times; }
20
+ .@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; }
21
+ .@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; }
22
+ .@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; }
23
+ .@{fa-css-prefix}-signal:before { content: @fa-var-signal; }
24
+ .@{fa-css-prefix}-gear:before,
25
+ .@{fa-css-prefix}-cog:before { content: @fa-var-cog; }
26
+ .@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; }
27
+ .@{fa-css-prefix}-home:before { content: @fa-var-home; }
28
+ .@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; }
29
+ .@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; }
30
+ .@{fa-css-prefix}-road:before { content: @fa-var-road; }
31
+ .@{fa-css-prefix}-download:before { content: @fa-var-download; }
32
+ .@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; }
33
+ .@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; }
34
+ .@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; }
35
+ .@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; }
36
+ .@{fa-css-prefix}-rotate-right:before,
37
+ .@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; }
38
+ .@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; }
39
+ .@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; }
40
+ .@{fa-css-prefix}-lock:before { content: @fa-var-lock; }
41
+ .@{fa-css-prefix}-flag:before { content: @fa-var-flag; }
42
+ .@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; }
43
+ .@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; }
44
+ .@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; }
45
+ .@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; }
46
+ .@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; }
47
+ .@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; }
48
+ .@{fa-css-prefix}-tag:before { content: @fa-var-tag; }
49
+ .@{fa-css-prefix}-tags:before { content: @fa-var-tags; }
50
+ .@{fa-css-prefix}-book:before { content: @fa-var-book; }
51
+ .@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; }
52
+ .@{fa-css-prefix}-print:before { content: @fa-var-print; }
53
+ .@{fa-css-prefix}-camera:before { content: @fa-var-camera; }
54
+ .@{fa-css-prefix}-font:before { content: @fa-var-font; }
55
+ .@{fa-css-prefix}-bold:before { content: @fa-var-bold; }
56
+ .@{fa-css-prefix}-italic:before { content: @fa-var-italic; }
57
+ .@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; }
58
+ .@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; }
59
+ .@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; }
60
+ .@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; }
61
+ .@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; }
62
+ .@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; }
63
+ .@{fa-css-prefix}-list:before { content: @fa-var-list; }
64
+ .@{fa-css-prefix}-dedent:before,
65
+ .@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; }
66
+ .@{fa-css-prefix}-indent:before { content: @fa-var-indent; }
67
+ .@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; }
68
+ .@{fa-css-prefix}-photo:before,
69
+ .@{fa-css-prefix}-image:before,
70
+ .@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; }
71
+ .@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; }
72
+ .@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; }
73
+ .@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; }
74
+ .@{fa-css-prefix}-tint:before { content: @fa-var-tint; }
75
+ .@{fa-css-prefix}-edit:before,
76
+ .@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; }
77
+ .@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; }
78
+ .@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; }
79
+ .@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; }
80
+ .@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; }
81
+ .@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; }
82
+ .@{fa-css-prefix}-backward:before { content: @fa-var-backward; }
83
+ .@{fa-css-prefix}-play:before { content: @fa-var-play; }
84
+ .@{fa-css-prefix}-pause:before { content: @fa-var-pause; }
85
+ .@{fa-css-prefix}-stop:before { content: @fa-var-stop; }
86
+ .@{fa-css-prefix}-forward:before { content: @fa-var-forward; }
87
+ .@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; }
88
+ .@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; }
89
+ .@{fa-css-prefix}-eject:before { content: @fa-var-eject; }
90
+ .@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; }
91
+ .@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; }
92
+ .@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; }
93
+ .@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; }
94
+ .@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; }
95
+ .@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; }
96
+ .@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; }
97
+ .@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; }
98
+ .@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; }
99
+ .@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; }
100
+ .@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; }
101
+ .@{fa-css-prefix}-ban:before { content: @fa-var-ban; }
102
+ .@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; }
103
+ .@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; }
104
+ .@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; }
105
+ .@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; }
106
+ .@{fa-css-prefix}-mail-forward:before,
107
+ .@{fa-css-prefix}-share:before { content: @fa-var-share; }
108
+ .@{fa-css-prefix}-expand:before { content: @fa-var-expand; }
109
+ .@{fa-css-prefix}-compress:before { content: @fa-var-compress; }
110
+ .@{fa-css-prefix}-plus:before { content: @fa-var-plus; }
111
+ .@{fa-css-prefix}-minus:before { content: @fa-var-minus; }
112
+ .@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; }
113
+ .@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; }
114
+ .@{fa-css-prefix}-gift:before { content: @fa-var-gift; }
115
+ .@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; }
116
+ .@{fa-css-prefix}-fire:before { content: @fa-var-fire; }
117
+ .@{fa-css-prefix}-eye:before { content: @fa-var-eye; }
118
+ .@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; }
119
+ .@{fa-css-prefix}-warning:before,
120
+ .@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; }
121
+ .@{fa-css-prefix}-plane:before { content: @fa-var-plane; }
122
+ .@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; }
123
+ .@{fa-css-prefix}-random:before { content: @fa-var-random; }
124
+ .@{fa-css-prefix}-comment:before { content: @fa-var-comment; }
125
+ .@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; }
126
+ .@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; }
127
+ .@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; }
128
+ .@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; }
129
+ .@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; }
130
+ .@{fa-css-prefix}-folder:before { content: @fa-var-folder; }
131
+ .@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; }
132
+ .@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; }
133
+ .@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; }
134
+ .@{fa-css-prefix}-bar-chart-o:before,
135
+ .@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; }
136
+ .@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; }
137
+ .@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; }
138
+ .@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; }
139
+ .@{fa-css-prefix}-key:before { content: @fa-var-key; }
140
+ .@{fa-css-prefix}-gears:before,
141
+ .@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; }
142
+ .@{fa-css-prefix}-comments:before { content: @fa-var-comments; }
143
+ .@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; }
144
+ .@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; }
145
+ .@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; }
146
+ .@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; }
147
+ .@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; }
148
+ .@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; }
149
+ .@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; }
150
+ .@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; }
151
+ .@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; }
152
+ .@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; }
153
+ .@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; }
154
+ .@{fa-css-prefix}-upload:before { content: @fa-var-upload; }
155
+ .@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; }
156
+ .@{fa-css-prefix}-phone:before { content: @fa-var-phone; }
157
+ .@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; }
158
+ .@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; }
159
+ .@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; }
160
+ .@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; }
161
+ .@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; }
162
+ .@{fa-css-prefix}-github:before { content: @fa-var-github; }
163
+ .@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; }
164
+ .@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; }
165
+ .@{fa-css-prefix}-rss:before { content: @fa-var-rss; }
166
+ .@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; }
167
+ .@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; }
168
+ .@{fa-css-prefix}-bell:before { content: @fa-var-bell; }
169
+ .@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; }
170
+ .@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; }
171
+ .@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; }
172
+ .@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; }
173
+ .@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; }
174
+ .@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; }
175
+ .@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; }
176
+ .@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; }
177
+ .@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; }
178
+ .@{fa-css-prefix}-globe:before { content: @fa-var-globe; }
179
+ .@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; }
180
+ .@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; }
181
+ .@{fa-css-prefix}-filter:before { content: @fa-var-filter; }
182
+ .@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; }
183
+ .@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; }
184
+ .@{fa-css-prefix}-group:before,
185
+ .@{fa-css-prefix}-users:before { content: @fa-var-users; }
186
+ .@{fa-css-prefix}-chain:before,
187
+ .@{fa-css-prefix}-link:before { content: @fa-var-link; }
188
+ .@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; }
189
+ .@{fa-css-prefix}-flask:before { content: @fa-var-flask; }
190
+ .@{fa-css-prefix}-cut:before,
191
+ .@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; }
192
+ .@{fa-css-prefix}-copy:before,
193
+ .@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; }
194
+ .@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; }
195
+ .@{fa-css-prefix}-save:before,
196
+ .@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; }
197
+ .@{fa-css-prefix}-square:before { content: @fa-var-square; }
198
+ .@{fa-css-prefix}-navicon:before,
199
+ .@{fa-css-prefix}-reorder:before,
200
+ .@{fa-css-prefix}-bars:before { content: @fa-var-bars; }
201
+ .@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; }
202
+ .@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; }
203
+ .@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; }
204
+ .@{fa-css-prefix}-underline:before { content: @fa-var-underline; }
205
+ .@{fa-css-prefix}-table:before { content: @fa-var-table; }
206
+ .@{fa-css-prefix}-magic:before { content: @fa-var-magic; }
207
+ .@{fa-css-prefix}-truck:before { content: @fa-var-truck; }
208
+ .@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; }
209
+ .@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; }
210
+ .@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; }
211
+ .@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; }
212
+ .@{fa-css-prefix}-money:before { content: @fa-var-money; }
213
+ .@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; }
214
+ .@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; }
215
+ .@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; }
216
+ .@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; }
217
+ .@{fa-css-prefix}-columns:before { content: @fa-var-columns; }
218
+ .@{fa-css-prefix}-unsorted:before,
219
+ .@{fa-css-prefix}-sort:before { content: @fa-var-sort; }
220
+ .@{fa-css-prefix}-sort-down:before,
221
+ .@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; }
222
+ .@{fa-css-prefix}-sort-up:before,
223
+ .@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; }
224
+ .@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; }
225
+ .@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; }
226
+ .@{fa-css-prefix}-rotate-left:before,
227
+ .@{fa-css-prefix}-undo:before { content: @fa-var-undo; }
228
+ .@{fa-css-prefix}-legal:before,
229
+ .@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; }
230
+ .@{fa-css-prefix}-dashboard:before,
231
+ .@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; }
232
+ .@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; }
233
+ .@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; }
234
+ .@{fa-css-prefix}-flash:before,
235
+ .@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; }
236
+ .@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; }
237
+ .@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; }
238
+ .@{fa-css-prefix}-paste:before,
239
+ .@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; }
240
+ .@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; }
241
+ .@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; }
242
+ .@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; }
243
+ .@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; }
244
+ .@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; }
245
+ .@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; }
246
+ .@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; }
247
+ .@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; }
248
+ .@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; }
249
+ .@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; }
250
+ .@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; }
251
+ .@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; }
252
+ .@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; }
253
+ .@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; }
254
+ .@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; }
255
+ .@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; }
256
+ .@{fa-css-prefix}-beer:before { content: @fa-var-beer; }
257
+ .@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; }
258
+ .@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; }
259
+ .@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; }
260
+ .@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; }
261
+ .@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; }
262
+ .@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; }
263
+ .@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; }
264
+ .@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; }
265
+ .@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; }
266
+ .@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; }
267
+ .@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; }
268
+ .@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; }
269
+ .@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; }
270
+ .@{fa-css-prefix}-mobile-phone:before,
271
+ .@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; }
272
+ .@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; }
273
+ .@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; }
274
+ .@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; }
275
+ .@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; }
276
+ .@{fa-css-prefix}-circle:before { content: @fa-var-circle; }
277
+ .@{fa-css-prefix}-mail-reply:before,
278
+ .@{fa-css-prefix}-reply:before { content: @fa-var-reply; }
279
+ .@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; }
280
+ .@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; }
281
+ .@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; }
282
+ .@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; }
283
+ .@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; }
284
+ .@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; }
285
+ .@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; }
286
+ .@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; }
287
+ .@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; }
288
+ .@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; }
289
+ .@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; }
290
+ .@{fa-css-prefix}-code:before { content: @fa-var-code; }
291
+ .@{fa-css-prefix}-mail-reply-all:before,
292
+ .@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; }
293
+ .@{fa-css-prefix}-star-half-empty:before,
294
+ .@{fa-css-prefix}-star-half-full:before,
295
+ .@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; }
296
+ .@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; }
297
+ .@{fa-css-prefix}-crop:before { content: @fa-var-crop; }
298
+ .@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; }
299
+ .@{fa-css-prefix}-unlink:before,
300
+ .@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; }
301
+ .@{fa-css-prefix}-question:before { content: @fa-var-question; }
302
+ .@{fa-css-prefix}-info:before { content: @fa-var-info; }
303
+ .@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; }
304
+ .@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; }
305
+ .@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; }
306
+ .@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; }
307
+ .@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; }
308
+ .@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; }
309
+ .@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; }
310
+ .@{fa-css-prefix}-shield:before { content: @fa-var-shield; }
311
+ .@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; }
312
+ .@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; }
313
+ .@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; }
314
+ .@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; }
315
+ .@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; }
316
+ .@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; }
317
+ .@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; }
318
+ .@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; }
319
+ .@{fa-css-prefix}-html5:before { content: @fa-var-html5; }
320
+ .@{fa-css-prefix}-css3:before { content: @fa-var-css3; }
321
+ .@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; }
322
+ .@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; }
323
+ .@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; }
324
+ .@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; }
325
+ .@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; }
326
+ .@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; }
327
+ .@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; }
328
+ .@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; }
329
+ .@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; }
330
+ .@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; }
331
+ .@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; }
332
+ .@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; }
333
+ .@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; }
334
+ .@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; }
335
+ .@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; }
336
+ .@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; }
337
+ .@{fa-css-prefix}-compass:before { content: @fa-var-compass; }
338
+ .@{fa-css-prefix}-toggle-down:before,
339
+ .@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; }
340
+ .@{fa-css-prefix}-toggle-up:before,
341
+ .@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; }
342
+ .@{fa-css-prefix}-toggle-right:before,
343
+ .@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; }
344
+ .@{fa-css-prefix}-euro:before,
345
+ .@{fa-css-prefix}-eur:before { content: @fa-var-eur; }
346
+ .@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; }
347
+ .@{fa-css-prefix}-dollar:before,
348
+ .@{fa-css-prefix}-usd:before { content: @fa-var-usd; }
349
+ .@{fa-css-prefix}-rupee:before,
350
+ .@{fa-css-prefix}-inr:before { content: @fa-var-inr; }
351
+ .@{fa-css-prefix}-cny:before,
352
+ .@{fa-css-prefix}-rmb:before,
353
+ .@{fa-css-prefix}-yen:before,
354
+ .@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; }
355
+ .@{fa-css-prefix}-ruble:before,
356
+ .@{fa-css-prefix}-rouble:before,
357
+ .@{fa-css-prefix}-rub:before { content: @fa-var-rub; }
358
+ .@{fa-css-prefix}-won:before,
359
+ .@{fa-css-prefix}-krw:before { content: @fa-var-krw; }
360
+ .@{fa-css-prefix}-bitcoin:before,
361
+ .@{fa-css-prefix}-btc:before { content: @fa-var-btc; }
362
+ .@{fa-css-prefix}-file:before { content: @fa-var-file; }
363
+ .@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; }
364
+ .@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; }
365
+ .@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; }
366
+ .@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; }
367
+ .@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; }
368
+ .@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; }
369
+ .@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; }
370
+ .@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; }
371
+ .@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; }
372
+ .@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; }
373
+ .@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; }
374
+ .@{fa-css-prefix}-xing:before { content: @fa-var-xing; }
375
+ .@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; }
376
+ .@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; }
377
+ .@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; }
378
+ .@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; }
379
+ .@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; }
380
+ .@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; }
381
+ .@{fa-css-prefix}-adn:before { content: @fa-var-adn; }
382
+ .@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; }
383
+ .@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; }
384
+ .@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; }
385
+ .@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; }
386
+ .@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; }
387
+ .@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; }
388
+ .@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; }
389
+ .@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; }
390
+ .@{fa-css-prefix}-apple:before { content: @fa-var-apple; }
391
+ .@{fa-css-prefix}-windows:before { content: @fa-var-windows; }
392
+ .@{fa-css-prefix}-android:before { content: @fa-var-android; }
393
+ .@{fa-css-prefix}-linux:before { content: @fa-var-linux; }
394
+ .@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; }
395
+ .@{fa-css-prefix}-skype:before { content: @fa-var-skype; }
396
+ .@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; }
397
+ .@{fa-css-prefix}-trello:before { content: @fa-var-trello; }
398
+ .@{fa-css-prefix}-female:before { content: @fa-var-female; }
399
+ .@{fa-css-prefix}-male:before { content: @fa-var-male; }
400
+ .@{fa-css-prefix}-gittip:before { content: @fa-var-gittip; }
401
+ .@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; }
402
+ .@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; }
403
+ .@{fa-css-prefix}-archive:before { content: @fa-var-archive; }
404
+ .@{fa-css-prefix}-bug:before { content: @fa-var-bug; }
405
+ .@{fa-css-prefix}-vk:before { content: @fa-var-vk; }
406
+ .@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; }
407
+ .@{fa-css-prefix}-renren:before { content: @fa-var-renren; }
408
+ .@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; }
409
+ .@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; }
410
+ .@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; }
411
+ .@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; }
412
+ .@{fa-css-prefix}-toggle-left:before,
413
+ .@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; }
414
+ .@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; }
415
+ .@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; }
416
+ .@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; }
417
+ .@{fa-css-prefix}-turkish-lira:before,
418
+ .@{fa-css-prefix}-try:before { content: @fa-var-try; }
419
+ .@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; }
420
+ .@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; }
421
+ .@{fa-css-prefix}-slack:before { content: @fa-var-slack; }
422
+ .@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; }
423
+ .@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; }
424
+ .@{fa-css-prefix}-openid:before { content: @fa-var-openid; }
425
+ .@{fa-css-prefix}-institution:before,
426
+ .@{fa-css-prefix}-bank:before,
427
+ .@{fa-css-prefix}-university:before { content: @fa-var-university; }
428
+ .@{fa-css-prefix}-mortar-board:before,
429
+ .@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; }
430
+ .@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; }
431
+ .@{fa-css-prefix}-google:before { content: @fa-var-google; }
432
+ .@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; }
433
+ .@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; }
434
+ .@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; }
435
+ .@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; }
436
+ .@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; }
437
+ .@{fa-css-prefix}-digg:before { content: @fa-var-digg; }
438
+ .@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; }
439
+ .@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; }
440
+ .@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; }
441
+ .@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; }
442
+ .@{fa-css-prefix}-language:before { content: @fa-var-language; }
443
+ .@{fa-css-prefix}-fax:before { content: @fa-var-fax; }
444
+ .@{fa-css-prefix}-building:before { content: @fa-var-building; }
445
+ .@{fa-css-prefix}-child:before { content: @fa-var-child; }
446
+ .@{fa-css-prefix}-paw:before { content: @fa-var-paw; }
447
+ .@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; }
448
+ .@{fa-css-prefix}-cube:before { content: @fa-var-cube; }
449
+ .@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; }
450
+ .@{fa-css-prefix}-behance:before { content: @fa-var-behance; }
451
+ .@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; }
452
+ .@{fa-css-prefix}-steam:before { content: @fa-var-steam; }
453
+ .@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; }
454
+ .@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; }
455
+ .@{fa-css-prefix}-automobile:before,
456
+ .@{fa-css-prefix}-car:before { content: @fa-var-car; }
457
+ .@{fa-css-prefix}-cab:before,
458
+ .@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; }
459
+ .@{fa-css-prefix}-tree:before { content: @fa-var-tree; }
460
+ .@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; }
461
+ .@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; }
462
+ .@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; }
463
+ .@{fa-css-prefix}-database:before { content: @fa-var-database; }
464
+ .@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; }
465
+ .@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; }
466
+ .@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; }
467
+ .@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; }
468
+ .@{fa-css-prefix}-file-photo-o:before,
469
+ .@{fa-css-prefix}-file-picture-o:before,
470
+ .@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; }
471
+ .@{fa-css-prefix}-file-zip-o:before,
472
+ .@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; }
473
+ .@{fa-css-prefix}-file-sound-o:before,
474
+ .@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; }
475
+ .@{fa-css-prefix}-file-movie-o:before,
476
+ .@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; }
477
+ .@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; }
478
+ .@{fa-css-prefix}-vine:before { content: @fa-var-vine; }
479
+ .@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; }
480
+ .@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; }
481
+ .@{fa-css-prefix}-life-bouy:before,
482
+ .@{fa-css-prefix}-life-buoy:before,
483
+ .@{fa-css-prefix}-life-saver:before,
484
+ .@{fa-css-prefix}-support:before,
485
+ .@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; }
486
+ .@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; }
487
+ .@{fa-css-prefix}-ra:before,
488
+ .@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; }
489
+ .@{fa-css-prefix}-ge:before,
490
+ .@{fa-css-prefix}-empire:before { content: @fa-var-empire; }
491
+ .@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; }
492
+ .@{fa-css-prefix}-git:before { content: @fa-var-git; }
493
+ .@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; }
494
+ .@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; }
495
+ .@{fa-css-prefix}-qq:before { content: @fa-var-qq; }
496
+ .@{fa-css-prefix}-wechat:before,
497
+ .@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; }
498
+ .@{fa-css-prefix}-send:before,
499
+ .@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; }
500
+ .@{fa-css-prefix}-send-o:before,
501
+ .@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; }
502
+ .@{fa-css-prefix}-history:before { content: @fa-var-history; }
503
+ .@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; }
504
+ .@{fa-css-prefix}-header:before { content: @fa-var-header; }
505
+ .@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; }
506
+ .@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; }
507
+ .@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; }
508
+ .@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; }
509
+ .@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; }
510
+ .@{fa-css-prefix}-soccer-ball-o:before,
511
+ .@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; }
512
+ .@{fa-css-prefix}-tty:before { content: @fa-var-tty; }
513
+ .@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; }
514
+ .@{fa-css-prefix}-plug:before { content: @fa-var-plug; }
515
+ .@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; }
516
+ .@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; }
517
+ .@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; }
518
+ .@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; }
519
+ .@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; }
520
+ .@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; }
521
+ .@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; }
522
+ .@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; }
523
+ .@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; }
524
+ .@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; }
525
+ .@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; }
526
+ .@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; }
527
+ .@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; }
528
+ .@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; }
529
+ .@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; }
530
+ .@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; }
531
+ .@{fa-css-prefix}-trash:before { content: @fa-var-trash; }
532
+ .@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; }
533
+ .@{fa-css-prefix}-at:before { content: @fa-var-at; }
534
+ .@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; }
535
+ .@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; }
536
+ .@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; }
537
+ .@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; }
538
+ .@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; }
539
+ .@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; }
540
+ .@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; }
541
+ .@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; }
542
+ .@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; }
543
+ .@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; }
544
+ .@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; }
545
+ .@{fa-css-prefix}-bus:before { content: @fa-var-bus; }
546
+ .@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; }
547
+ .@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; }
548
+ .@{fa-css-prefix}-cc:before { content: @fa-var-cc; }
549
+ .@{fa-css-prefix}-shekel:before,
550
+ .@{fa-css-prefix}-sheqel:before,
551
+ .@{fa-css-prefix}-ils:before { content: @fa-var-ils; }
552
+ .@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; }
css/font-awesome/less/larger.less ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Icon Sizes
2
+ // -------------------------
3
+
4
+ /* makes the font 33% larger relative to the icon container */
5
+ .@{fa-css-prefix}-lg {
6
+ font-size: (4em / 3);
7
+ line-height: (3em / 4);
8
+ vertical-align: -15%;
9
+ }
10
+ .@{fa-css-prefix}-2x { font-size: 2em; }
11
+ .@{fa-css-prefix}-3x { font-size: 3em; }
12
+ .@{fa-css-prefix}-4x { font-size: 4em; }
13
+ .@{fa-css-prefix}-5x { font-size: 5em; }
css/font-awesome/less/list.less ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // List Icons
2
+ // -------------------------
3
+
4
+ .@{fa-css-prefix}-ul {
5
+ padding-left: 0;
6
+ margin-left: @fa-li-width;
7
+ list-style-type: none;
8
+ > li { position: relative; }
9
+ }
10
+ .@{fa-css-prefix}-li {
11
+ position: absolute;
12
+ left: -@fa-li-width;
13
+ width: @fa-li-width;
14
+ top: (2em / 14);
15
+ text-align: center;
16
+ &.@{fa-css-prefix}-lg {
17
+ left: (-@fa-li-width + (4em / 14));
18
+ }
19
+ }
css/font-awesome/less/mixins.less ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Mixins
2
+ // --------------------------
3
+
4
+ .fa-icon() {
5
+ display: inline-block;
6
+ font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7
+ font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+ text-rendering: auto; // optimizelegibility throws things off #1094
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ }
12
+
13
+ .fa-icon-rotate(@degrees, @rotation) {
14
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
15
+ -webkit-transform: rotate(@degrees);
16
+ -ms-transform: rotate(@degrees);
17
+ transform: rotate(@degrees);
18
+ }
19
+
20
+ .fa-icon-flip(@horiz, @vert, @rotation) {
21
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
22
+ -webkit-transform: scale(@horiz, @vert);
23
+ -ms-transform: scale(@horiz, @vert);
24
+ transform: scale(@horiz, @vert);
25
+ }
css/font-awesome/less/path.less ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* FONT PATH
2
+ * -------------------------- */
3
+
4
+ @font-face {
5
+ font-family: 'FontAwesome';
6
+ src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7
+ src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8
+ url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
9
+ url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
10
+ url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
11
+ // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
12
+ font-weight: normal;
13
+ font-style: normal;
14
+ }
css/font-awesome/less/rotated-flipped.less ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Rotated & Flipped Icons
2
+ // -------------------------
3
+
4
+ .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5
+ .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6
+ .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7
+
8
+ .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9
+ .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10
+
11
+ // Hook for IE8-9
12
+ // -------------------------
13
+
14
+ :root .@{fa-css-prefix}-rotate-90,
15
+ :root .@{fa-css-prefix}-rotate-180,
16
+ :root .@{fa-css-prefix}-rotate-270,
17
+ :root .@{fa-css-prefix}-flip-horizontal,
18
+ :root .@{fa-css-prefix}-flip-vertical {
19
+ filter: none;
20
+ }
css/font-awesome/less/spinning.less ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Spinning Icons
2
+ // --------------------------
3
+
4
+ .@{fa-css-prefix}-spin {
5
+ -webkit-animation: fa-spin 2s infinite linear;
6
+ animation: fa-spin 2s infinite linear;
7
+ }
8
+
9
+ @-webkit-keyframes fa-spin {
10
+ 0% {
11
+ -webkit-transform: rotate(0deg);
12
+ transform: rotate(0deg);
13
+ }
14
+ 100% {
15
+ -webkit-transform: rotate(359deg);
16
+ transform: rotate(359deg);
17
+ }
18
+ }
19
+
20
+ @keyframes fa-spin {
21
+ 0% {
22
+ -webkit-transform: rotate(0deg);
23
+ transform: rotate(0deg);
24
+ }
25
+ 100% {
26
+ -webkit-transform: rotate(359deg);
27
+ transform: rotate(359deg);
28
+ }
29
+ }
css/font-awesome/less/stacked.less ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Stacked Icons
2
+ // -------------------------
3
+
4
+ .@{fa-css-prefix}-stack {
5
+ position: relative;
6
+ display: inline-block;
7
+ width: 2em;
8
+ height: 2em;
9
+ line-height: 2em;
10
+ vertical-align: middle;
11
+ }
12
+ .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13
+ position: absolute;
14
+ left: 0;
15
+ width: 100%;
16
+ text-align: center;
17
+ }
18
+ .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19
+ .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20
+ .@{fa-css-prefix}-inverse { color: @fa-inverse; }
css/font-awesome/less/variables.less ADDED
@@ -0,0 +1,561 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Variables
2
+ // --------------------------
3
+
4
+ @fa-font-path: "../fonts";
5
+ //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts"; // for referencing Bootstrap CDN font files directly
6
+ @fa-css-prefix: fa;
7
+ @fa-version: "4.2.0";
8
+ @fa-border-color: #eee;
9
+ @fa-inverse: #fff;
10
+ @fa-li-width: (30em / 14);
11
+
12
+ @fa-var-adjust: "\f042";
13
+ @fa-var-adn: "\f170";
14
+ @fa-var-align-center: "\f037";
15
+ @fa-var-align-justify: "\f039";
16
+ @fa-var-align-left: "\f036";
17
+ @fa-var-align-right: "\f038";
18
+ @fa-var-ambulance: "\f0f9";
19
+ @fa-var-anchor: "\f13d";
20
+ @fa-var-android: "\f17b";
21
+ @fa-var-angellist: "\f209";
22
+ @fa-var-angle-double-down: "\f103";
23
+ @fa-var-angle-double-left: "\f100";
24
+ @fa-var-angle-double-right: "\f101";
25
+ @fa-var-angle-double-up: "\f102";
26
+ @fa-var-angle-down: "\f107";
27
+ @fa-var-angle-left: "\f104";
28
+ @fa-var-angle-right: "\f105";
29
+ @fa-var-angle-up: "\f106";
30
+ @fa-var-apple: "\f179";
31
+ @fa-var-archive: "\f187";
32
+ @fa-var-area-chart: "\f1fe";
33
+ @fa-var-arrow-circle-down: "\f0ab";
34
+ @fa-var-arrow-circle-left: "\f0a8";
35
+ @fa-var-arrow-circle-o-down: "\f01a";
36
+ @fa-var-arrow-circle-o-left: "\f190";
37
+ @fa-var-arrow-circle-o-right: "\f18e";
38
+ @fa-var-arrow-circle-o-up: "\f01b";
39
+ @fa-var-arrow-circle-right: "\f0a9";
40
+ @fa-var-arrow-circle-up: "\f0aa";
41
+ @fa-var-arrow-down: "\f063";
42
+ @fa-var-arrow-left: "\f060";
43
+ @fa-var-arrow-right: "\f061";
44
+ @fa-var-arrow-up: "\f062";
45
+ @fa-var-arrows: "\f047";
46
+ @fa-var-arrows-alt: "\f0b2";
47
+ @fa-var-arrows-h: "\f07e";
48
+ @fa-var-arrows-v: "\f07d";
49
+ @fa-var-asterisk: "\f069";
50
+ @fa-var-at: "\f1fa";
51
+ @fa-var-automobile: "\f1b9";
52
+ @fa-var-backward: "\f04a";
53
+ @fa-var-ban: "\f05e";
54
+ @fa-var-bank: "\f19c";
55
+ @fa-var-bar-chart: "\f080";
56
+ @fa-var-bar-chart-o: "\f080";
57
+ @fa-var-barcode: "\f02a";
58
+ @fa-var-bars: "\f0c9";
59
+ @fa-var-beer: "\f0fc";
60
+ @fa-var-behance: "\f1b4";
61
+ @fa-var-behance-square: "\f1b5";
62
+ @fa-var-bell: "\f0f3";
63
+ @fa-var-bell-o: "\f0a2";
64
+ @fa-var-bell-slash: "\f1f6";
65
+ @fa-var-bell-slash-o: "\f1f7";
66
+ @fa-var-bicycle: "\f206";
67
+ @fa-var-binoculars: "\f1e5";
68
+ @fa-var-birthday-cake: "\f1fd";
69
+ @fa-var-bitbucket: "\f171";
70
+ @fa-var-bitbucket-square: "\f172";
71
+ @fa-var-bitcoin: "\f15a";
72
+ @fa-var-bold: "\f032";
73
+ @fa-var-bolt: "\f0e7";
74
+ @fa-var-bomb: "\f1e2";
75
+ @fa-var-book: "\f02d";
76
+ @fa-var-bookmark: "\f02e";
77
+ @fa-var-bookmark-o: "\f097";
78
+ @fa-var-briefcase: "\f0b1";
79
+ @fa-var-btc: "\f15a";
80
+ @fa-var-bug: "\f188";
81
+ @fa-var-building: "\f1ad";
82
+ @fa-var-building-o: "\f0f7";
83
+ @fa-var-bullhorn: "\f0a1";
84
+ @fa-var-bullseye: "\f140";
85
+ @fa-var-bus: "\f207";
86
+ @fa-var-cab: "\f1ba";
87
+ @fa-var-calculator: "\f1ec";
88
+ @fa-var-calendar: "\f073";
89
+ @fa-var-calendar-o: "\f133";
90
+ @fa-var-camera: "\f030";
91
+ @fa-var-camera-retro: "\f083";
92
+ @fa-var-car: "\f1b9";
93
+ @fa-var-caret-down: "\f0d7";
94
+ @fa-var-caret-left: "\f0d9";
95
+ @fa-var-caret-right: "\f0da";
96
+ @fa-var-caret-square-o-down: "\f150";
97
+ @fa-var-caret-square-o-left: "\f191";
98
+ @fa-var-caret-square-o-right: "\f152";
99
+ @fa-var-caret-square-o-up: "\f151";
100
+ @fa-var-caret-up: "\f0d8";
101
+ @fa-var-cc: "\f20a";
102
+ @fa-var-cc-amex: "\f1f3";
103
+ @fa-var-cc-discover: "\f1f2";
104
+ @fa-var-cc-mastercard: "\f1f1";
105
+ @fa-var-cc-paypal: "\f1f4";
106
+ @fa-var-cc-stripe: "\f1f5";
107
+ @fa-var-cc-visa: "\f1f0";
108
+ @fa-var-certificate: "\f0a3";
109
+ @fa-var-chain: "\f0c1";
110
+ @fa-var-chain-broken: "\f127";
111
+ @fa-var-check: "\f00c";
112
+ @fa-var-check-circle: "\f058";
113
+ @fa-var-check-circle-o: "\f05d";
114
+ @fa-var-check-square: "\f14a";
115
+ @fa-var-check-square-o: "\f046";
116
+ @fa-var-chevron-circle-down: "\f13a";
117
+ @fa-var-chevron-circle-left: "\f137";
118
+ @fa-var-chevron-circle-right: "\f138";
119
+ @fa-var-chevron-circle-up: "\f139";
120
+ @fa-var-chevron-down: "\f078";
121
+ @fa-var-chevron-left: "\f053";
122
+ @fa-var-chevron-right: "\f054";
123
+ @fa-var-chevron-up: "\f077";
124
+ @fa-var-child: "\f1ae";
125
+ @fa-var-circle: "\f111";
126
+ @fa-var-circle-o: "\f10c";
127
+ @fa-var-circle-o-notch: "\f1ce";
128
+ @fa-var-circle-thin: "\f1db";
129
+ @fa-var-clipboard: "\f0ea";
130
+ @fa-var-clock-o: "\f017";
131
+ @fa-var-close: "\f00d";
132
+ @fa-var-cloud: "\f0c2";
133
+ @fa-var-cloud-download: "\f0ed";
134
+ @fa-var-cloud-upload: "\f0ee";
135
+ @fa-var-cny: "\f157";
136
+ @fa-var-code: "\f121";
137
+ @fa-var-code-fork: "\f126";
138
+ @fa-var-codepen: "\f1cb";
139
+ @fa-var-coffee: "\f0f4";
140
+ @fa-var-cog: "\f013";
141
+ @fa-var-cogs: "\f085";
142
+ @fa-var-columns: "\f0db";
143
+ @fa-var-comment: "\f075";
144
+ @fa-var-comment-o: "\f0e5";
145
+ @fa-var-comments: "\f086";
146
+ @fa-var-comments-o: "\f0e6";
147
+ @fa-var-compass: "\f14e";
148
+ @fa-var-compress: "\f066";
149
+ @fa-var-copy: "\f0c5";
150
+ @fa-var-copyright: "\f1f9";
151
+ @fa-var-credit-card: "\f09d";
152
+ @fa-var-crop: "\f125";
153
+ @fa-var-crosshairs: "\f05b";
154
+ @fa-var-css3: "\f13c";
155
+ @fa-var-cube: "\f1b2";
156
+ @fa-var-cubes: "\f1b3";
157
+ @fa-var-cut: "\f0c4";
158
+ @fa-var-cutlery: "\f0f5";
159
+ @fa-var-dashboard: "\f0e4";
160
+ @fa-var-database: "\f1c0";
161
+ @fa-var-dedent: "\f03b";
162
+ @fa-var-delicious: "\f1a5";
163
+ @fa-var-desktop: "\f108";
164
+ @fa-var-deviantart: "\f1bd";
165
+ @fa-var-digg: "\f1a6";
166
+ @fa-var-dollar: "\f155";
167
+ @fa-var-dot-circle-o: "\f192";
168
+ @fa-var-download: "\f019";
169
+ @fa-var-dribbble: "\f17d";
170
+ @fa-var-dropbox: "\f16b";
171
+ @fa-var-drupal: "\f1a9";
172
+ @fa-var-edit: "\f044";
173
+ @fa-var-eject: "\f052";
174
+ @fa-var-ellipsis-h: "\f141";
175
+ @fa-var-ellipsis-v: "\f142";
176
+ @fa-var-empire: "\f1d1";
177
+ @fa-var-envelope: "\f0e0";
178
+ @fa-var-envelope-o: "\f003";
179
+ @fa-var-envelope-square: "\f199";
180
+ @fa-var-eraser: "\f12d";
181
+ @fa-var-eur: "\f153";
182
+ @fa-var-euro: "\f153";
183
+ @fa-var-exchange: "\f0ec";
184
+ @fa-var-exclamation: "\f12a";
185
+ @fa-var-exclamation-circle: "\f06a";
186
+ @fa-var-exclamation-triangle: "\f071";
187
+ @fa-var-expand: "\f065";
188
+ @fa-var-external-link: "\f08e";
189
+ @fa-var-external-link-square: "\f14c";
190
+ @fa-var-eye: "\f06e";
191
+ @fa-var-eye-slash: "\f070";
192
+ @fa-var-eyedropper: "\f1fb";
193
+ @fa-var-facebook: "\f09a";
194
+ @fa-var-facebook-square: "\f082";
195
+ @fa-var-fast-backward: "\f049";
196
+ @fa-var-fast-forward: "\f050";
197
+ @fa-var-fax: "\f1ac";
198
+ @fa-var-female: "\f182";
199
+ @fa-var-fighter-jet: "\f0fb";
200
+ @fa-var-file: "\f15b";
201
+ @fa-var-file-archive-o: "\f1c6";
202
+ @fa-var-file-audio-o: "\f1c7";
203
+ @fa-var-file-code-o: "\f1c9";
204
+ @fa-var-file-excel-o: "\f1c3";
205
+ @fa-var-file-image-o: "\f1c5";
206
+ @fa-var-file-movie-o: "\f1c8";
207
+ @fa-var-file-o: "\f016";
208
+ @fa-var-file-pdf-o: "\f1c1";
209
+ @fa-var-file-photo-o: "\f1c5";
210
+ @fa-var-file-picture-o: "\f1c5";
211
+ @fa-var-file-powerpoint-o: "\f1c4";
212
+ @fa-var-file-sound-o: "\f1c7";
213
+ @fa-var-file-text: "\f15c";
214
+ @fa-var-file-text-o: "\f0f6";
215
+ @fa-var-file-video-o: "\f1c8";
216
+ @fa-var-file-word-o: "\f1c2";
217
+ @fa-var-file-zip-o: "\f1c6";
218
+ @fa-var-files-o: "\f0c5";
219
+ @fa-var-film: "\f008";
220
+ @fa-var-filter: "\f0b0";
221
+ @fa-var-fire: "\f06d";
222
+ @fa-var-fire-extinguisher: "\f134";
223
+ @fa-var-flag: "\f024";
224
+ @fa-var-flag-checkered: "\f11e";
225
+ @fa-var-flag-o: "\f11d";
226
+ @fa-var-flash: "\f0e7";
227
+ @fa-var-flask: "\f0c3";
228
+ @fa-var-flickr: "\f16e";
229
+ @fa-var-floppy-o: "\f0c7";
230
+ @fa-var-folder: "\f07b";
231
+ @fa-var-folder-o: "\f114";
232
+ @fa-var-folder-open: "\f07c";
233
+ @fa-var-folder-open-o: "\f115";
234
+ @fa-var-font: "\f031";
235
+ @fa-var-forward: "\f04e";
236
+ @fa-var-foursquare: "\f180";
237
+ @fa-var-frown-o: "\f119";
238
+ @fa-var-futbol-o: "\f1e3";
239
+ @fa-var-gamepad: "\f11b";
240
+ @fa-var-gavel: "\f0e3";
241
+ @fa-var-gbp: "\f154";
242
+ @fa-var-ge: "\f1d1";
243
+ @fa-var-gear: "\f013";
244
+ @fa-var-gears: "\f085";
245
+ @fa-var-gift: "\f06b";
246
+ @fa-var-git: "\f1d3";
247
+ @fa-var-git-square: "\f1d2";
248
+ @fa-var-github: "\f09b";
249
+ @fa-var-github-alt: "\f113";
250
+ @fa-var-github-square: "\f092";
251
+ @fa-var-gittip: "\f184";
252
+ @fa-var-glass: "\f000";
253
+ @fa-var-globe: "\f0ac";
254
+ @fa-var-google: "\f1a0";
255
+ @fa-var-google-plus: "\f0d5";
256
+ @fa-var-google-plus-square: "\f0d4";
257
+ @fa-var-google-wallet: "\f1ee";
258
+ @fa-var-graduation-cap: "\f19d";
259
+ @fa-var-group: "\f0c0";
260
+ @fa-var-h-square: "\f0fd";
261
+ @fa-var-hacker-news: "\f1d4";
262
+ @fa-var-hand-o-down: "\f0a7";
263
+ @fa-var-hand-o-left: "\f0a5";
264
+ @fa-var-hand-o-right: "\f0a4";
265
+ @fa-var-hand-o-up: "\f0a6";
266
+ @fa-var-hdd-o: "\f0a0";
267
+ @fa-var-header: "\f1dc";
268
+ @fa-var-headphones: "\f025";
269
+ @fa-var-heart: "\f004";
270
+ @fa-var-heart-o: "\f08a";
271
+ @fa-var-history: "\f1da";
272
+ @fa-var-home: "\f015";
273
+ @fa-var-hospital-o: "\f0f8";
274
+ @fa-var-html5: "\f13b";
275
+ @fa-var-ils: "\f20b";
276
+ @fa-var-image: "\f03e";
277
+ @fa-var-inbox: "\f01c";
278
+ @fa-var-indent: "\f03c";
279
+ @fa-var-info: "\f129";
280
+ @fa-var-info-circle: "\f05a";
281
+ @fa-var-inr: "\f156";
282
+ @fa-var-instagram: "\f16d";
283
+ @fa-var-institution: "\f19c";
284
+ @fa-var-ioxhost: "\f208";
285
+ @fa-var-italic: "\f033";
286
+ @fa-var-joomla: "\f1aa";
287
+ @fa-var-jpy: "\f157";
288
+ @fa-var-jsfiddle: "\f1cc";
289
+ @fa-var-key: "\f084";
290
+ @fa-var-keyboard-o: "\f11c";
291
+ @fa-var-krw: "\f159";
292
+ @fa-var-language: "\f1ab";
293
+ @fa-var-laptop: "\f109";
294
+ @fa-var-lastfm: "\f202";
295
+ @fa-var-lastfm-square: "\f203";
296
+ @fa-var-leaf: "\f06c";
297
+ @fa-var-legal: "\f0e3";
298
+ @fa-var-lemon-o: "\f094";
299
+ @fa-var-level-down: "\f149";
300
+ @fa-var-level-up: "\f148";
301
+ @fa-var-life-bouy: "\f1cd";
302
+ @fa-var-life-buoy: "\f1cd";
303
+ @fa-var-life-ring: "\f1cd";
304
+ @fa-var-life-saver: "\f1cd";
305
+ @fa-var-lightbulb-o: "\f0eb";
306
+ @fa-var-line-chart: "\f201";
307
+ @fa-var-link: "\f0c1";
308
+ @fa-var-linkedin: "\f0e1";
309
+ @fa-var-linkedin-square: "\f08c";
310
+ @fa-var-linux: "\f17c";
311
+ @fa-var-list: "\f03a";
312
+ @fa-var-list-alt: "\f022";
313
+ @fa-var-list-ol: "\f0cb";
314
+ @fa-var-list-ul: "\f0ca";
315
+ @fa-var-location-arrow: "\f124";
316
+ @fa-var-lock: "\f023";
317
+ @fa-var-long-arrow-down: "\f175";
318
+ @fa-var-long-arrow-left: "\f177";
319
+ @fa-var-long-arrow-right: "\f178";
320
+ @fa-var-long-arrow-up: "\f176";
321
+ @fa-var-magic: "\f0d0";
322
+ @fa-var-magnet: "\f076";
323
+ @fa-var-mail-forward: "\f064";
324
+ @fa-var-mail-reply: "\f112";
325
+ @fa-var-mail-reply-all: "\f122";
326
+ @fa-var-male: "\f183";
327
+ @fa-var-map-marker: "\f041";
328
+ @fa-var-maxcdn: "\f136";
329
+ @fa-var-meanpath: "\f20c";
330
+ @fa-var-medkit: "\f0fa";
331
+ @fa-var-meh-o: "\f11a";
332
+ @fa-var-microphone: "\f130";
333
+ @fa-var-microphone-slash: "\f131";
334
+ @fa-var-minus: "\f068";
335
+ @fa-var-minus-circle: "\f056";
336
+ @fa-var-minus-square: "\f146";
337
+ @fa-var-minus-square-o: "\f147";
338
+ @fa-var-mobile: "\f10b";
339
+ @fa-var-mobile-phone: "\f10b";
340
+ @fa-var-money: "\f0d6";
341
+ @fa-var-moon-o: "\f186";
342
+ @fa-var-mortar-board: "\f19d";
343
+ @fa-var-music: "\f001";
344
+ @fa-var-navicon: "\f0c9";
345
+ @fa-var-newspaper-o: "\f1ea";
346
+ @fa-var-openid: "\f19b";
347
+ @fa-var-outdent: "\f03b";
348
+ @fa-var-pagelines: "\f18c";
349
+ @fa-var-paint-brush: "\f1fc";
350
+ @fa-var-paper-plane: "\f1d8";
351
+ @fa-var-paper-plane-o: "\f1d9";
352
+ @fa-var-paperclip: "\f0c6";
353
+ @fa-var-paragraph: "\f1dd";
354
+ @fa-var-paste: "\f0ea";
355
+ @fa-var-pause: "\f04c";
356
+ @fa-var-paw: "\f1b0";
357
+ @fa-var-paypal: "\f1ed";
358
+ @fa-var-pencil: "\f040";
359
+ @fa-var-pencil-square: "\f14b";
360
+ @fa-var-pencil-square-o: "\f044";
361
+ @fa-var-phone: "\f095";
362
+ @fa-var-phone-square: "\f098";
363
+ @fa-var-photo: "\f03e";
364
+ @fa-var-picture-o: "\f03e";
365
+ @fa-var-pie-chart: "\f200";
366
+ @fa-var-pied-piper: "\f1a7";
367
+ @fa-var-pied-piper-alt: "\f1a8";
368
+ @fa-var-pinterest: "\f0d2";
369
+ @fa-var-pinterest-square: "\f0d3";
370
+ @fa-var-plane: "\f072";
371
+ @fa-var-play: "\f04b";
372
+ @fa-var-play-circle: "\f144";
373
+ @fa-var-play-circle-o: "\f01d";
374
+ @fa-var-plug: "\f1e6";
375
+ @fa-var-plus: "\f067";
376
+ @fa-var-plus-circle: "\f055";
377
+ @fa-var-plus-square: "\f0fe";
378
+ @fa-var-plus-square-o: "\f196";
379
+ @fa-var-power-off: "\f011";
380
+ @fa-var-print: "\f02f";
381
+ @fa-var-puzzle-piece: "\f12e";
382
+ @fa-var-qq: "\f1d6";
383
+ @fa-var-qrcode: "\f029";
384
+ @fa-var-question: "\f128";
385
+ @fa-var-question-circle: "\f059";
386
+ @fa-var-quote-left: "\f10d";
387
+ @fa-var-quote-right: "\f10e";
388
+ @fa-var-ra: "\f1d0";
389
+ @fa-var-random: "\f074";
390
+ @fa-var-rebel: "\f1d0";
391
+ @fa-var-recycle: "\f1b8";
392
+ @fa-var-reddit: "\f1a1";
393
+ @fa-var-reddit-square: "\f1a2";
394
+ @fa-var-refresh: "\f021";
395
+ @fa-var-remove: "\f00d";
396
+ @fa-var-renren: "\f18b";
397
+ @fa-var-reorder: "\f0c9";
398
+ @fa-var-repeat: "\f01e";
399
+ @fa-var-reply: "\f112";
400
+ @fa-var-reply-all: "\f122";
401
+ @fa-var-retweet: "\f079";
402
+ @fa-var-rmb: "\f157";
403
+ @fa-var-road: "\f018";
404
+ @fa-var-rocket: "\f135";
405
+ @fa-var-rotate-left: "\f0e2";
406
+ @fa-var-rotate-right: "\f01e";
407
+ @fa-var-rouble: "\f158";
408
+ @fa-var-rss: "\f09e";
409
+ @fa-var-rss-square: "\f143";
410
+ @fa-var-rub: "\f158";
411
+ @fa-var-ruble: "\f158";
412
+ @fa-var-rupee: "\f156";
413
+ @fa-var-save: "\f0c7";
414
+ @fa-var-scissors: "\f0c4";
415
+ @fa-var-search: "\f002";
416
+ @fa-var-search-minus: "\f010";
417
+ @fa-var-search-plus: "\f00e";
418
+ @fa-var-send: "\f1d8";
419
+ @fa-var-send-o: "\f1d9";
420
+ @fa-var-share: "\f064";
421
+ @fa-var-share-alt: "\f1e0";
422
+ @fa-var-share-alt-square: "\f1e1";
423
+ @fa-var-share-square: "\f14d";
424
+ @fa-var-share-square-o: "\f045";
425
+ @fa-var-shekel: "\f20b";
426
+ @fa-var-sheqel: "\f20b";
427
+ @fa-var-shield: "\f132";
428
+ @fa-var-shopping-cart: "\f07a";
429
+ @fa-var-sign-in: "\f090";
430
+ @fa-var-sign-out: "\f08b";
431
+ @fa-var-signal: "\f012";
432
+ @fa-var-sitemap: "\f0e8";
433
+ @fa-var-skype: "\f17e";
434
+ @fa-var-slack: "\f198";
435
+ @fa-var-sliders: "\f1de";
436
+ @fa-var-slideshare: "\f1e7";
437
+ @fa-var-smile-o: "\f118";
438
+ @fa-var-soccer-ball-o: "\f1e3";
439
+ @fa-var-sort: "\f0dc";
440
+ @fa-var-sort-alpha-asc: "\f15d";
441
+ @fa-var-sort-alpha-desc: "\f15e";
442
+ @fa-var-sort-amount-asc: "\f160";
443
+ @fa-var-sort-amount-desc: "\f161";
444
+ @fa-var-sort-asc: "\f0de";
445
+ @fa-var-sort-desc: "\f0dd";
446
+ @fa-var-sort-down: "\f0dd";
447
+ @fa-var-sort-numeric-asc: "\f162";
448
+ @fa-var-sort-numeric-desc: "\f163";
449
+ @fa-var-sort-up: "\f0de";
450
+ @fa-var-soundcloud: "\f1be";
451
+ @fa-var-space-shuttle: "\f197";
452
+ @fa-var-spinner: "\f110";
453
+ @fa-var-spoon: "\f1b1";
454
+ @fa-var-spotify: "\f1bc";
455
+ @fa-var-square: "\f0c8";
456
+ @fa-var-square-o: "\f096";
457
+ @fa-var-stack-exchange: "\f18d";
458
+ @fa-var-stack-overflow: "\f16c";
459
+ @fa-var-star: "\f005";
460
+ @fa-var-star-half: "\f089";
461
+ @fa-var-star-half-empty: "\f123";
462
+ @fa-var-star-half-full: "\f123";
463
+ @fa-var-star-half-o: "\f123";
464
+ @fa-var-star-o: "\f006";
465
+ @fa-var-steam: "\f1b6";
466
+ @fa-var-steam-square: "\f1b7";
467
+ @fa-var-step-backward: "\f048";
468
+ @fa-var-step-forward: "\f051";
469
+ @fa-var-stethoscope: "\f0f1";
470
+ @fa-var-stop: "\f04d";
471
+ @fa-var-strikethrough: "\f0cc";
472
+ @fa-var-stumbleupon: "\f1a4";
473
+ @fa-var-stumbleupon-circle: "\f1a3";
474
+ @fa-var-subscript: "\f12c";
475
+ @fa-var-suitcase: "\f0f2";
476
+ @fa-var-sun-o: "\f185";
477
+ @fa-var-superscript: "\f12b";
478
+ @fa-var-support: "\f1cd";
479
+ @fa-var-table: "\f0ce";
480
+ @fa-var-tablet: "\f10a";
481
+ @fa-var-tachometer: "\f0e4";
482
+ @fa-var-tag: "\f02b";
483
+ @fa-var-tags: "\f02c";
484
+ @fa-var-tasks: "\f0ae";
485
+ @fa-var-taxi: "\f1ba";
486
+ @fa-var-tencent-weibo: "\f1d5";
487
+ @fa-var-terminal: "\f120";
488
+ @fa-var-text-height: "\f034";
489
+ @fa-var-text-width: "\f035";
490
+ @fa-var-th: "\f00a";
491
+ @fa-var-th-large: "\f009";
492
+ @fa-var-th-list: "\f00b";
493
+ @fa-var-thumb-tack: "\f08d";
494
+ @fa-var-thumbs-down: "\f165";
495
+ @fa-var-thumbs-o-down: "\f088";
496
+ @fa-var-thumbs-o-up: "\f087";
497
+ @fa-var-thumbs-up: "\f164";
498
+ @fa-var-ticket: "\f145";
499
+ @fa-var-times: "\f00d";
500
+ @fa-var-times-circle: "\f057";
501
+ @fa-var-times-circle-o: "\f05c";
502
+ @fa-var-tint: "\f043";
503
+ @fa-var-toggle-down: "\f150";
504
+ @fa-var-toggle-left: "\f191";
505
+ @fa-var-toggle-off: "\f204";
506
+ @fa-var-toggle-on: "\f205";
507
+ @fa-var-toggle-right: "\f152";
508
+ @fa-var-toggle-up: "\f151";
509
+ @fa-var-trash: "\f1f8";
510
+ @fa-var-trash-o: "\f014";
511
+ @fa-var-tree: "\f1bb";
512
+ @fa-var-trello: "\f181";
513
+ @fa-var-trophy: "\f091";
514
+ @fa-var-truck: "\f0d1";
515
+ @fa-var-try: "\f195";
516
+ @fa-var-tty: "\f1e4";
517
+ @fa-var-tumblr: "\f173";
518
+ @fa-var-tumblr-square: "\f174";
519
+ @fa-var-turkish-lira: "\f195";
520
+ @fa-var-twitch: "\f1e8";
521
+ @fa-var-twitter: "\f099";
522
+ @fa-var-twitter-square: "\f081";
523
+ @fa-var-umbrella: "\f0e9";
524
+ @fa-var-underline: "\f0cd";
525
+ @fa-var-undo: "\f0e2";
526
+ @fa-var-university: "\f19c";
527
+ @fa-var-unlink: "\f127";
528
+ @fa-var-unlock: "\f09c";
529
+ @fa-var-unlock-alt: "\f13e";
530
+ @fa-var-unsorted: "\f0dc";
531
+ @fa-var-upload: "\f093";
532
+ @fa-var-usd: "\f155";
533
+ @fa-var-user: "\f007";
534
+ @fa-var-user-md: "\f0f0";
535
+ @fa-var-users: "\f0c0";
536
+ @fa-var-video-camera: "\f03d";
537
+ @fa-var-vimeo-square: "\f194";
538
+ @fa-var-vine: "\f1ca";
539
+ @fa-var-vk: "\f189";
540
+ @fa-var-volume-down: "\f027";
541
+ @fa-var-volume-off: "\f026";
542
+ @fa-var-volume-up: "\f028";
543
+ @fa-var-warning: "\f071";
544
+ @fa-var-wechat: "\f1d7";
545
+ @fa-var-weibo: "\f18a";
546
+ @fa-var-weixin: "\f1d7";
547
+ @fa-var-wheelchair: "\f193";
548
+ @fa-var-wifi: "\f1eb";
549
+ @fa-var-windows: "\f17a";
550
+ @fa-var-won: "\f159";
551
+ @fa-var-wordpress: "\f19a";
552
+ @fa-var-wrench: "\f0ad";
553
+ @fa-var-xing: "\f168";
554
+ @fa-var-xing-square: "\f169";
555
+ @fa-var-yahoo: "\f19e";
556
+ @fa-var-yelp: "\f1e9";
557
+ @fa-var-yen: "\f157";
558
+ @fa-var-youtube: "\f167";
559
+ @fa-var-youtube-play: "\f16a";
560
+ @fa-var-youtube-square: "\f166";
561
+
css/font-awesome/scss/_bordered-pulled.scss ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Bordered & Pulled
2
+ // -------------------------
3
+
4
+ .#{$fa-css-prefix}-border {
5
+ padding: .2em .25em .15em;
6
+ border: solid .08em $fa-border-color;
7
+ border-radius: .1em;
8
+ }
9
+
10
+ .pull-right { float: right; }
11
+ .pull-left { float: left; }
12
+
13
+ .#{$fa-css-prefix} {
14
+ &.pull-left { margin-right: .3em; }
15
+ &.pull-right { margin-left: .3em; }
16
+ }
css/font-awesome/scss/_core.scss ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ // Base Class Definition
2
+ // -------------------------
3
+
4
+ .#{$fa-css-prefix} {
5
+ display: inline-block;
6
+ font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7
+ font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+ text-rendering: auto; // optimizelegibility throws things off #1094
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ }
css/font-awesome/scss/_fixed-width.scss ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ // Fixed Width Icons
2
+ // -------------------------
3
+ .#{$fa-css-prefix}-fw {
4
+ width: (18em / 14);
5
+ text-align: center;
6
+ }
css/font-awesome/scss/_icons.scss ADDED
@@ -0,0 +1,552 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
2
+ readers do not read off random characters that represent icons */
3
+
4
+ .#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }
5
+ .#{$fa-css-prefix}-music:before { content: $fa-var-music; }
6
+ .#{$fa-css-prefix}-search:before { content: $fa-var-search; }
7
+ .#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }
8
+ .#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }
9
+ .#{$fa-css-prefix}-star:before { content: $fa-var-star; }
10
+ .#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }
11
+ .#{$fa-css-prefix}-user:before { content: $fa-var-user; }
12
+ .#{$fa-css-prefix}-film:before { content: $fa-var-film; }
13
+ .#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }
14
+ .#{$fa-css-prefix}-th:before { content: $fa-var-th; }
15
+ .#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }
16
+ .#{$fa-css-prefix}-check:before { content: $fa-var-check; }
17
+ .#{$fa-css-prefix}-remove:before,
18
+ .#{$fa-css-prefix}-close:before,
19
+ .#{$fa-css-prefix}-times:before { content: $fa-var-times; }
20
+ .#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }
21
+ .#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }
22
+ .#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }
23
+ .#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }
24
+ .#{$fa-css-prefix}-gear:before,
25
+ .#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }
26
+ .#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }
27
+ .#{$fa-css-prefix}-home:before { content: $fa-var-home; }
28
+ .#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }
29
+ .#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }
30
+ .#{$fa-css-prefix}-road:before { content: $fa-var-road; }
31
+ .#{$fa-css-prefix}-download:before { content: $fa-var-download; }
32
+ .#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }
33
+ .#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }
34
+ .#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }
35
+ .#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }
36
+ .#{$fa-css-prefix}-rotate-right:before,
37
+ .#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }
38
+ .#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }
39
+ .#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }
40
+ .#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }
41
+ .#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }
42
+ .#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }
43
+ .#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }
44
+ .#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }
45
+ .#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }
46
+ .#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }
47
+ .#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }
48
+ .#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }
49
+ .#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }
50
+ .#{$fa-css-prefix}-book:before { content: $fa-var-book; }
51
+ .#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }
52
+ .#{$fa-css-prefix}-print:before { content: $fa-var-print; }
53
+ .#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }
54
+ .#{$fa-css-prefix}-font:before { content: $fa-var-font; }
55
+ .#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }
56
+ .#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }
57
+ .#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }
58
+ .#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }
59
+ .#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }
60
+ .#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }
61
+ .#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }
62
+ .#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }
63
+ .#{$fa-css-prefix}-list:before { content: $fa-var-list; }
64
+ .#{$fa-css-prefix}-dedent:before,
65
+ .#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }
66
+ .#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }
67
+ .#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }
68
+ .#{$fa-css-prefix}-photo:before,
69
+ .#{$fa-css-prefix}-image:before,
70
+ .#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }
71
+ .#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }
72
+ .#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }
73
+ .#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }
74
+ .#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }
75
+ .#{$fa-css-prefix}-edit:before,
76
+ .#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }
77
+ .#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }
78
+ .#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }
79
+ .#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }
80
+ .#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }
81
+ .#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }
82
+ .#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }
83
+ .#{$fa-css-prefix}-play:before { content: $fa-var-play; }
84
+ .#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }
85
+ .#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }
86
+ .#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }
87
+ .#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }
88
+ .#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }
89
+ .#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }
90
+ .#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }
91
+ .#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }
92
+ .#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }
93
+ .#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }
94
+ .#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }
95
+ .#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }
96
+ .#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }
97
+ .#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }
98
+ .#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }
99
+ .#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }
100
+ .#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }
101
+ .#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }
102
+ .#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }
103
+ .#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }
104
+ .#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }
105
+ .#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }
106
+ .#{$fa-css-prefix}-mail-forward:before,
107
+ .#{$fa-css-prefix}-share:before { content: $fa-var-share; }
108
+ .#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }
109
+ .#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }
110
+ .#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }
111
+ .#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }
112
+ .#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }
113
+ .#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }
114
+ .#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }
115
+ .#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }
116
+ .#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }
117
+ .#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }
118
+ .#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }
119
+ .#{$fa-css-prefix}-warning:before,
120
+ .#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }
121
+ .#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }
122
+ .#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }
123
+ .#{$fa-css-prefix}-random:before { content: $fa-var-random; }
124
+ .#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }
125
+ .#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }
126
+ .#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }
127
+ .#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }
128
+ .#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }
129
+ .#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }
130
+ .#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }
131
+ .#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }
132
+ .#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }
133
+ .#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }
134
+ .#{$fa-css-prefix}-bar-chart-o:before,
135
+ .#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }
136
+ .#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }
137
+ .#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }
138
+ .#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }
139
+ .#{$fa-css-prefix}-key:before { content: $fa-var-key; }
140
+ .#{$fa-css-prefix}-gears:before,
141
+ .#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }
142
+ .#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }
143
+ .#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }
144
+ .#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }
145
+ .#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }
146
+ .#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }
147
+ .#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }
148
+ .#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }
149
+ .#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }
150
+ .#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }
151
+ .#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }
152
+ .#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }
153
+ .#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }
154
+ .#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }
155
+ .#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }
156
+ .#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }
157
+ .#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }
158
+ .#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }
159
+ .#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }
160
+ .#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }
161
+ .#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }
162
+ .#{$fa-css-prefix}-github:before { content: $fa-var-github; }
163
+ .#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }
164
+ .#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }
165
+ .#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }
166
+ .#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }
167
+ .#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }
168
+ .#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }
169
+ .#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }
170
+ .#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }
171
+ .#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }
172
+ .#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }
173
+ .#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }
174
+ .#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }
175
+ .#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }
176
+ .#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }
177
+ .#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }
178
+ .#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }
179
+ .#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }
180
+ .#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }
181
+ .#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }
182
+ .#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }
183
+ .#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }
184
+ .#{$fa-css-prefix}-group:before,
185
+ .#{$fa-css-prefix}-users:before { content: $fa-var-users; }
186
+ .#{$fa-css-prefix}-chain:before,
187
+ .#{$fa-css-prefix}-link:before { content: $fa-var-link; }
188
+ .#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }
189
+ .#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }
190
+ .#{$fa-css-prefix}-cut:before,
191
+ .#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }
192
+ .#{$fa-css-prefix}-copy:before,
193
+ .#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }
194
+ .#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }
195
+ .#{$fa-css-prefix}-save:before,
196
+ .#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }
197
+ .#{$fa-css-prefix}-square:before { content: $fa-var-square; }
198
+ .#{$fa-css-prefix}-navicon:before,
199
+ .#{$fa-css-prefix}-reorder:before,
200
+ .#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }
201
+ .#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }
202
+ .#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }
203
+ .#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }
204
+ .#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }
205
+ .#{$fa-css-prefix}-table:before { content: $fa-var-table; }
206
+ .#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }
207
+ .#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }
208
+ .#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }
209
+ .#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }
210
+ .#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }
211
+ .#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }
212
+ .#{$fa-css-prefix}-money:before { content: $fa-var-money; }
213
+ .#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }
214
+ .#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }
215
+ .#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }
216
+ .#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }
217
+ .#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }
218
+ .#{$fa-css-prefix}-unsorted:before,
219
+ .#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }
220
+ .#{$fa-css-prefix}-sort-down:before,
221
+ .#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }
222
+ .#{$fa-css-prefix}-sort-up:before,
223
+ .#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }
224
+ .#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }
225
+ .#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }
226
+ .#{$fa-css-prefix}-rotate-left:before,
227
+ .#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }
228
+ .#{$fa-css-prefix}-legal:before,
229
+ .#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }
230
+ .#{$fa-css-prefix}-dashboard:before,
231
+ .#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }
232
+ .#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }
233
+ .#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }
234
+ .#{$fa-css-prefix}-flash:before,
235
+ .#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }
236
+ .#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }
237
+ .#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }
238
+ .#{$fa-css-prefix}-paste:before,
239
+ .#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }
240
+ .#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }
241
+ .#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }
242
+ .#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }
243
+ .#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }
244
+ .#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }
245
+ .#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }
246
+ .#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }
247
+ .#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }
248
+ .#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }
249
+ .#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }
250
+ .#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }
251
+ .#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }
252
+ .#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }
253
+ .#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }
254
+ .#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }
255
+ .#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }
256
+ .#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }
257
+ .#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }
258
+ .#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }
259
+ .#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }
260
+ .#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }
261
+ .#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }
262
+ .#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }
263
+ .#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }
264
+ .#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }
265
+ .#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }
266
+ .#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }
267
+ .#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }
268
+ .#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }
269
+ .#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }
270
+ .#{$fa-css-prefix}-mobile-phone:before,
271
+ .#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }
272
+ .#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }
273
+ .#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }
274
+ .#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }
275
+ .#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }
276
+ .#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }
277
+ .#{$fa-css-prefix}-mail-reply:before,
278
+ .#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }
279
+ .#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }
280
+ .#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }
281
+ .#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }
282
+ .#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }
283
+ .#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }
284
+ .#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }
285
+ .#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }
286
+ .#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }
287
+ .#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }
288
+ .#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }
289
+ .#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }
290
+ .#{$fa-css-prefix}-code:before { content: $fa-var-code; }
291
+ .#{$fa-css-prefix}-mail-reply-all:before,
292
+ .#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }
293
+ .#{$fa-css-prefix}-star-half-empty:before,
294
+ .#{$fa-css-prefix}-star-half-full:before,
295
+ .#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }
296
+ .#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }
297
+ .#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }
298
+ .#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }
299
+ .#{$fa-css-prefix}-unlink:before,
300
+ .#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }
301
+ .#{$fa-css-prefix}-question:before { content: $fa-var-question; }
302
+ .#{$fa-css-prefix}-info:before { content: $fa-var-info; }
303
+ .#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }
304
+ .#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }
305
+ .#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }
306
+ .#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }
307
+ .#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }
308
+ .#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }
309
+ .#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }
310
+ .#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }
311
+ .#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }
312
+ .#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }
313
+ .#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }
314
+ .#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }
315
+ .#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }
316
+ .#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }
317
+ .#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }
318
+ .#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }
319
+ .#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }
320
+ .#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }
321
+ .#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }
322
+ .#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }
323
+ .#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }
324
+ .#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }
325
+ .#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }
326
+ .#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }
327
+ .#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }
328
+ .#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }
329
+ .#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }
330
+ .#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }
331
+ .#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }
332
+ .#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }
333
+ .#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }
334
+ .#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }
335
+ .#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }
336
+ .#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }
337
+ .#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }
338
+ .#{$fa-css-prefix}-toggle-down:before,
339
+ .#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }
340
+ .#{$fa-css-prefix}-toggle-up:before,
341
+ .#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }
342
+ .#{$fa-css-prefix}-toggle-right:before,
343
+ .#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }
344
+ .#{$fa-css-prefix}-euro:before,
345
+ .#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }
346
+ .#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }
347
+ .#{$fa-css-prefix}-dollar:before,
348
+ .#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }
349
+ .#{$fa-css-prefix}-rupee:before,
350
+ .#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }
351
+ .#{$fa-css-prefix}-cny:before,
352
+ .#{$fa-css-prefix}-rmb:before,
353
+ .#{$fa-css-prefix}-yen:before,
354
+ .#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }
355
+ .#{$fa-css-prefix}-ruble:before,
356
+ .#{$fa-css-prefix}-rouble:before,
357
+ .#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }
358
+ .#{$fa-css-prefix}-won:before,
359
+ .#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }
360
+ .#{$fa-css-prefix}-bitcoin:before,
361
+ .#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }
362
+ .#{$fa-css-prefix}-file:before { content: $fa-var-file; }
363
+ .#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }
364
+ .#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }
365
+ .#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }
366
+ .#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }
367
+ .#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }
368
+ .#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }
369
+ .#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }
370
+ .#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }
371
+ .#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }
372
+ .#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }
373
+ .#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }
374
+ .#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }
375
+ .#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }
376
+ .#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }
377
+ .#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }
378
+ .#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }
379
+ .#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }
380
+ .#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }
381
+ .#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }
382
+ .#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }
383
+ .#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }
384
+ .#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }
385
+ .#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }
386
+ .#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }
387
+ .#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }
388
+ .#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }
389
+ .#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }
390
+ .#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }
391
+ .#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }
392
+ .#{$fa-css-prefix}-android:before { content: $fa-var-android; }
393
+ .#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }
394
+ .#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }
395
+ .#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }
396
+ .#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }
397
+ .#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }
398
+ .#{$fa-css-prefix}-female:before { content: $fa-var-female; }
399
+ .#{$fa-css-prefix}-male:before { content: $fa-var-male; }
400
+ .#{$fa-css-prefix}-gittip:before { content: $fa-var-gittip; }
401
+ .#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }
402
+ .#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }
403
+ .#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }
404
+ .#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }
405
+ .#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }
406
+ .#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }
407
+ .#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }
408
+ .#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }
409
+ .#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }
410
+ .#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }
411
+ .#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }
412
+ .#{$fa-css-prefix}-toggle-left:before,
413
+ .#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }
414
+ .#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }
415
+ .#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }
416
+ .#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }
417
+ .#{$fa-css-prefix}-turkish-lira:before,
418
+ .#{$fa-css-prefix}-try:before { content: $fa-var-try; }
419
+ .#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }
420
+ .#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }
421
+ .#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }
422
+ .#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }
423
+ .#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }
424
+ .#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }
425
+ .#{$fa-css-prefix}-institution:before,
426
+ .#{$fa-css-prefix}-bank:before,
427
+ .#{$fa-css-prefix}-university:before { content: $fa-var-university; }
428
+ .#{$fa-css-prefix}-mortar-board:before,
429
+ .#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }
430
+ .#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }
431
+ .#{$fa-css-prefix}-google:before { content: $fa-var-google; }
432
+ .#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }
433
+ .#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }
434
+ .#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }
435
+ .#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }
436
+ .#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }
437
+ .#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }
438
+ .#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
439
+ .#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }
440
+ .#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }
441
+ .#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }
442
+ .#{$fa-css-prefix}-language:before { content: $fa-var-language; }
443
+ .#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }
444
+ .#{$fa-css-prefix}-building:before { content: $fa-var-building; }
445
+ .#{$fa-css-prefix}-child:before { content: $fa-var-child; }
446
+ .#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }
447
+ .#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }
448
+ .#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }
449
+ .#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }
450
+ .#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }
451
+ .#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }
452
+ .#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }
453
+ .#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }
454
+ .#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }
455
+ .#{$fa-css-prefix}-automobile:before,
456
+ .#{$fa-css-prefix}-car:before { content: $fa-var-car; }
457
+ .#{$fa-css-prefix}-cab:before,
458
+ .#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }
459
+ .#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }
460
+ .#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }
461
+ .#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }
462
+ .#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }
463
+ .#{$fa-css-prefix}-database:before { content: $fa-var-database; }
464
+ .#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }
465
+ .#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }
466
+ .#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }
467
+ .#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }
468
+ .#{$fa-css-prefix}-file-photo-o:before,
469
+ .#{$fa-css-prefix}-file-picture-o:before,
470
+ .#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }
471
+ .#{$fa-css-prefix}-file-zip-o:before,
472
+ .#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }
473
+ .#{$fa-css-prefix}-file-sound-o:before,
474
+ .#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }
475
+ .#{$fa-css-prefix}-file-movie-o:before,
476
+ .#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }
477
+ .#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }
478
+ .#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }
479
+ .#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }
480
+ .#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }
481
+ .#{$fa-css-prefix}-life-bouy:before,
482
+ .#{$fa-css-prefix}-life-buoy:before,
483
+ .#{$fa-css-prefix}-life-saver:before,
484
+ .#{$fa-css-prefix}-support:before,
485
+ .#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }
486
+ .#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }
487
+ .#{$fa-css-prefix}-ra:before,
488
+ .#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }
489
+ .#{$fa-css-prefix}-ge:before,
490
+ .#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }
491
+ .#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }
492
+ .#{$fa-css-prefix}-git:before { content: $fa-var-git; }
493
+ .#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }
494
+ .#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }
495
+ .#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }
496
+ .#{$fa-css-prefix}-wechat:before,
497
+ .#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }
498
+ .#{$fa-css-prefix}-send:before,
499
+ .#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }
500
+ .#{$fa-css-prefix}-send-o:before,
501
+ .#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }
502
+ .#{$fa-css-prefix}-history:before { content: $fa-var-history; }
503
+ .#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }
504
+ .#{$fa-css-prefix}-header:before { content: $fa-var-header; }
505
+ .#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }
506
+ .#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }
507
+ .#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }
508
+ .#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }
509
+ .#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }
510
+ .#{$fa-css-prefix}-soccer-ball-o:before,
511
+ .#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }
512
+ .#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }
513
+ .#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }
514
+ .#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }
515
+ .#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }
516
+ .#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }
517
+ .#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }
518
+ .#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }
519
+ .#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }
520
+ .#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }
521
+ .#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }
522
+ .#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }
523
+ .#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }
524
+ .#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }
525
+ .#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }
526
+ .#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }
527
+ .#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }
528
+ .#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }
529
+ .#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }
530
+ .#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }
531
+ .#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }
532
+ .#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }
533
+ .#{$fa-css-prefix}-at:before { content: $fa-var-at; }
534
+ .#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }
535
+ .#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }
536
+ .#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }
537
+ .#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }
538
+ .#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }
539
+ .#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }
540
+ .#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }
541
+ .#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }
542
+ .#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }
543
+ .#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }
544
+ .#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }
545
+ .#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }
546
+ .#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }
547
+ .#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }
548
+ .#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }
549
+ .#{$fa-css-prefix}-shekel:before,
550
+ .#{$fa-css-prefix}-sheqel:before,
551
+ .#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }
552
+ .#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }
css/font-awesome/scss/_larger.scss ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Icon Sizes
2
+ // -------------------------
3
+
4
+ /* makes the font 33% larger relative to the icon container */
5
+ .#{$fa-css-prefix}-lg {
6
+ font-size: (4em / 3);
7
+ line-height: (3em / 4);
8
+ vertical-align: -15%;
9
+ }
10
+ .#{$fa-css-prefix}-2x { font-size: 2em; }
11
+ .#{$fa-css-prefix}-3x { font-size: 3em; }
12
+ .#{$fa-css-prefix}-4x { font-size: 4em; }
13
+ .#{$fa-css-prefix}-5x { font-size: 5em; }
css/font-awesome/scss/_list.scss ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // List Icons
2
+ // -------------------------
3
+
4
+ .#{$fa-css-prefix}-ul {
5
+ padding-left: 0;
6
+ margin-left: $fa-li-width;
7
+ list-style-type: none;
8
+ > li { position: relative; }
9
+ }
10
+ .#{$fa-css-prefix}-li {
11
+ position: absolute;
12
+ left: -$fa-li-width;
13
+ width: $fa-li-width;
14
+ top: (2em / 14);
15
+ text-align: center;
16
+ &.#{$fa-css-prefix}-lg {
17
+ left: -$fa-li-width + (4em / 14);
18
+ }
19
+ }
css/font-awesome/scss/_mixins.scss ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Mixins
2
+ // --------------------------
3
+
4
+ @mixin fa-icon() {
5
+ display: inline-block;
6
+ font: normal normal normal 14px/1 FontAwesome; // shortening font declaration
7
+ font-size: inherit; // can't have font-size inherit on line above, so need to override
8
+ text-rendering: auto; // optimizelegibility throws things off #1094
9
+ -webkit-font-smoothing: antialiased;
10
+ -moz-osx-font-smoothing: grayscale;
11
+ }
12
+
13
+ @mixin fa-icon-rotate($degrees, $rotation) {
14
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
15
+ -webkit-transform: rotate($degrees);
16
+ -ms-transform: rotate($degrees);
17
+ transform: rotate($degrees);
18
+ }
19
+
20
+ @mixin fa-icon-flip($horiz, $vert, $rotation) {
21
+ filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
22
+ -webkit-transform: scale($horiz, $vert);
23
+ -ms-transform: scale($horiz, $vert);
24
+ transform: scale($horiz, $vert);
25
+ }
css/font-awesome/scss/_path.scss ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* FONT PATH
2
+ * -------------------------- */
3
+
4
+ @font-face {
5
+ font-family: 'FontAwesome';
6
+ src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7
+ src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8
+ url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
9
+ url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
10
+ url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
11
+ //src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
12
+ font-weight: normal;
13
+ font-style: normal;
14
+ }
css/font-awesome/scss/_rotated-flipped.scss ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Rotated & Flipped Icons
2
+ // -------------------------
3
+
4
+ .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5
+ .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6
+ .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7
+
8
+ .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9
+ .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10
+
11
+ // Hook for IE8-9
12
+ // -------------------------
13
+
14
+ :root .#{$fa-css-prefix}-rotate-90,
15
+ :root .#{$fa-css-prefix}-rotate-180,
16
+ :root .#{$fa-css-prefix}-rotate-270,
17
+ :root .#{$fa-css-prefix}-flip-horizontal,
18
+ :root .#{$fa-css-prefix}-flip-vertical {
19
+ filter: none;
20
+ }
css/font-awesome/scss/_spinning.scss ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Spinning Icons
2
+ // --------------------------
3
+
4
+ .#{$fa-css-prefix}-spin {
5
+ -webkit-animation: fa-spin 2s infinite linear;
6
+ animation: fa-spin 2s infinite linear;
7
+ }
8
+
9
+ @-webkit-keyframes fa-spin {
10
+ 0% {
11
+ -webkit-transform: rotate(0deg);
12
+ transform: rotate(0deg);
13
+ }
14
+ 100% {
15
+ -webkit-transform: rotate(359deg);
16
+ transform: rotate(359deg);
17
+ }
18
+ }
19
+
20
+ @keyframes fa-spin {
21
+ 0% {
22
+ -webkit-transform: rotate(0deg);
23
+ transform: rotate(0deg);
24
+ }
25
+ 100% {
26
+ -webkit-transform: rotate(359deg);
27
+ transform: rotate(359deg);
28
+ }
29
+ }
css/font-awesome/scss/_stacked.scss ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Stacked Icons
2
+ // -------------------------
3
+
4
+ .#{$fa-css-prefix}-stack {
5
+ position: relative;
6
+ display: inline-block;
7
+ width: 2em;
8
+ height: 2em;
9
+ line-height: 2em;
10
+ vertical-align: middle;
11
+ }
12
+ .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13
+ position: absolute;
14
+ left: 0;
15
+ width: 100%;
16
+ text-align: center;
17
+ }
18
+ .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19
+ .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20
+ .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
css/font-awesome/scss/_variables.scss ADDED
@@ -0,0 +1,561 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Variables
2
+ // --------------------------
3
+
4
+ $fa-font-path: "../fonts" !default;
5
+ //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.2.0/fonts" !default; // for referencing Bootstrap CDN font files directly
6
+ $fa-css-prefix: fa !default;
7
+ $fa-version: "4.2.0" !default;
8
+ $fa-border-color: #eee !default;
9
+ $fa-inverse: #fff !default;
10
+ $fa-li-width: (30em / 14) !default;
11
+
12
+ $fa-var-adjust: "\f042";
13
+ $fa-var-adn: "\f170";
14
+ $fa-var-align-center: "\f037";
15
+ $fa-var-align-justify: "\f039";
16
+ $fa-var-align-left: "\f036";
17
+ $fa-var-align-right: "\f038";
18
+ $fa-var-ambulance: "\f0f9";
19
+ $fa-var-anchor: "\f13d";
20
+ $fa-var-android: "\f17b";
21
+ $fa-var-angellist: "\f209";
22
+ $fa-var-angle-double-down: "\f103";
23
+ $fa-var-angle-double-left: "\f100";
24
+ $fa-var-angle-double-right: "\f101";
25
+ $fa-var-angle-double-up: "\f102";
26
+ $fa-var-angle-down: "\f107";
27
+ $fa-var-angle-left: "\f104";
28
+ $fa-var-angle-right: "\f105";
29
+ $fa-var-angle-up: "\f106";
30
+ $fa-var-apple: "\f179";
31
+ $fa-var-archive: "\f187";
32
+ $fa-var-area-chart: "\f1fe";
33
+ $fa-var-arrow-circle-down: "\f0ab";
34
+ $fa-var-arrow-circle-left: "\f0a8";
35
+ $fa-var-arrow-circle-o-down: "\f01a";
36
+ $fa-var-arrow-circle-o-left: "\f190";
37
+ $fa-var-arrow-circle-o-right: "\f18e";
38
+ $fa-var-arrow-circle-o-up: "\f01b";
39
+ $fa-var-arrow-circle-right: "\f0a9";
40
+ $fa-var-arrow-circle-up: "\f0aa";
41
+ $fa-var-arrow-down: "\f063";
42
+ $fa-var-arrow-left: "\f060";
43
+ $fa-var-arrow-right: "\f061";
44
+ $fa-var-arrow-up: "\f062";
45
+ $fa-var-arrows: "\f047";
46
+ $fa-var-arrows-alt: "\f0b2";
47
+ $fa-var-arrows-h: "\f07e";
48
+ $fa-var-arrows-v: "\f07d";
49
+ $fa-var-asterisk: "\f069";
50
+ $fa-var-at: "\f1fa";
51
+ $fa-var-automobile: "\f1b9";
52
+ $fa-var-backward: "\f04a";
53
+ $fa-var-ban: "\f05e";
54
+ $fa-var-bank: "\f19c";
55
+ $fa-var-bar-chart: "\f080";
56
+ $fa-var-bar-chart-o: "\f080";
57
+ $fa-var-barcode: "\f02a";
58
+ $fa-var-bars: "\f0c9";
59
+ $fa-var-beer: "\f0fc";
60
+ $fa-var-behance: "\f1b4";
61
+ $fa-var-behance-square: "\f1b5";
62
+ $fa-var-bell: "\f0f3";
63
+ $fa-var-bell-o: "\f0a2";
64
+ $fa-var-bell-slash: "\f1f6";
65
+ $fa-var-bell-slash-o: "\f1f7";
66
+ $fa-var-bicycle: "\f206";
67
+ $fa-var-binoculars: "\f1e5";
68
+ $fa-var-birthday-cake: "\f1fd";
69
+ $fa-var-bitbucket: "\f171";
70
+ $fa-var-bitbucket-square: "\f172";
71
+ $fa-var-bitcoin: "\f15a";
72
+ $fa-var-bold: "\f032";
73
+ $fa-var-bolt: "\f0e7";
74
+ $fa-var-bomb: "\f1e2";
75
+ $fa-var-book: "\f02d";
76
+ $fa-var-bookmark: "\f02e";
77
+ $fa-var-bookmark-o: "\f097";
78
+ $fa-var-briefcase: "\f0b1";
79
+ $fa-var-btc: "\f15a";
80
+ $fa-var-bug: "\f188";
81
+ $fa-var-building: "\f1ad";
82
+ $fa-var-building-o: "\f0f7";
83
+ $fa-var-bullhorn: "\f0a1";
84
+ $fa-var-bullseye: "\f140";
85
+ $fa-var-bus: "\f207";
86
+ $fa-var-cab: "\f1ba";
87
+ $fa-var-calculator: "\f1ec";
88
+ $fa-var-calendar: "\f073";
89
+ $fa-var-calendar-o: "\f133";
90
+ $fa-var-camera: "\f030";
91
+ $fa-var-camera-retro: "\f083";
92
+ $fa-var-car: "\f1b9";
93
+ $fa-var-caret-down: "\f0d7";
94
+ $fa-var-caret-left: "\f0d9";
95
+ $fa-var-caret-right: "\f0da";
96
+ $fa-var-caret-square-o-down: "\f150";
97
+ $fa-var-caret-square-o-left: "\f191";
98
+ $fa-var-caret-square-o-right: "\f152";
99
+ $fa-var-caret-square-o-up: "\f151";
100
+ $fa-var-caret-up: "\f0d8";
101
+ $fa-var-cc: "\f20a";
102
+ $fa-var-cc-amex: "\f1f3";
103
+ $fa-var-cc-discover: "\f1f2";
104
+ $fa-var-cc-mastercard: "\f1f1";
105
+ $fa-var-cc-paypal: "\f1f4";
106
+ $fa-var-cc-stripe: "\f1f5";
107
+ $fa-var-cc-visa: "\f1f0";
108
+ $fa-var-certificate: "\f0a3";
109
+ $fa-var-chain: "\f0c1";
110
+ $fa-var-chain-broken: "\f127";
111
+ $fa-var-check: "\f00c";
112
+ $fa-var-check-circle: "\f058";
113
+ $fa-var-check-circle-o: "\f05d";
114
+ $fa-var-check-square: "\f14a";
115
+ $fa-var-check-square-o: "\f046";
116
+ $fa-var-chevron-circle-down: "\f13a";
117
+ $fa-var-chevron-circle-left: "\f137";
118
+ $fa-var-chevron-circle-right: "\f138";
119
+ $fa-var-chevron-circle-up: "\f139";
120
+ $fa-var-chevron-down: "\f078";
121
+ $fa-var-chevron-left: "\f053";
122
+ $fa-var-chevron-right: "\f054";
123
+ $fa-var-chevron-up: "\f077";
124
+ $fa-var-child: "\f1ae";
125
+ $fa-var-circle: "\f111";
126
+ $fa-var-circle-o: "\f10c";
127
+ $fa-var-circle-o-notch: "\f1ce";
128
+ $fa-var-circle-thin: "\f1db";
129
+ $fa-var-clipboard: "\f0ea";
130
+ $fa-var-clock-o: "\f017";
131
+ $fa-var-close: "\f00d";
132
+ $fa-var-cloud: "\f0c2";
133
+ $fa-var-cloud-download: "\f0ed";
134
+ $fa-var-cloud-upload: "\f0ee";
135
+ $fa-var-cny: "\f157";
136
+ $fa-var-code: "\f121";
137
+ $fa-var-code-fork: "\f126";
138
+ $fa-var-codepen: "\f1cb";
139
+ $fa-var-coffee: "\f0f4";
140
+ $fa-var-cog: "\f013";
141
+ $fa-var-cogs: "\f085";
142
+ $fa-var-columns: "\f0db";
143
+ $fa-var-comment: "\f075";
144
+ $fa-var-comment-o: "\f0e5";
145
+ $fa-var-comments: "\f086";
146
+ $fa-var-comments-o: "\f0e6";
147
+ $fa-var-compass: "\f14e";
148
+ $fa-var-compress: "\f066";
149
+ $fa-var-copy: "\f0c5";
150
+ $fa-var-copyright: "\f1f9";
151
+ $fa-var-credit-card: "\f09d";
152
+ $fa-var-crop: "\f125";
153
+ $fa-var-crosshairs: "\f05b";
154
+ $fa-var-css3: "\f13c";
155
+ $fa-var-cube: "\f1b2";
156
+ $fa-var-cubes: "\f1b3";
157
+ $fa-var-cut: "\f0c4";
158
+ $fa-var-cutlery: "\f0f5";
159
+ $fa-var-dashboard: "\f0e4";
160
+ $fa-var-database: "\f1c0";
161
+ $fa-var-dedent: "\f03b";
162
+ $fa-var-delicious: "\f1a5";
163
+ $fa-var-desktop: "\f108";
164
+ $fa-var-deviantart: "\f1bd";
165
+ $fa-var-digg: "\f1a6";
166
+ $fa-var-dollar: "\f155";
167
+ $fa-var-dot-circle-o: "\f192";
168
+ $fa-var-download: "\f019";
169
+ $fa-var-dribbble: "\f17d";
170
+ $fa-var-dropbox: "\f16b";
171
+ $fa-var-drupal: "\f1a9";
172
+ $fa-var-edit: "\f044";
173
+ $fa-var-eject: "\f052";
174
+ $fa-var-ellipsis-h: "\f141";
175
+ $fa-var-ellipsis-v: "\f142";
176
+ $fa-var-empire: "\f1d1";
177
+ $fa-var-envelope: "\f0e0";
178
+ $fa-var-envelope-o: "\f003";
179
+ $fa-var-envelope-square: "\f199";
180
+ $fa-var-eraser: "\f12d";
181
+ $fa-var-eur: "\f153";
182
+ $fa-var-euro: "\f153";
183
+ $fa-var-exchange: "\f0ec";
184
+ $fa-var-exclamation: "\f12a";
185
+ $fa-var-exclamation-circle: "\f06a";
186
+ $fa-var-exclamation-triangle: "\f071";
187
+ $fa-var-expand: "\f065";
188
+ $fa-var-external-link: "\f08e";
189
+ $fa-var-external-link-square: "\f14c";
190
+ $fa-var-eye: "\f06e";
191
+ $fa-var-eye-slash: "\f070";
192
+ $fa-var-eyedropper: "\f1fb";
193
+ $fa-var-facebook: "\f09a";
194
+ $fa-var-facebook-square: "\f082";
195
+ $fa-var-fast-backward: "\f049";
196
+ $fa-var-fast-forward: "\f050";
197
+ $fa-var-fax: "\f1ac";
198
+ $fa-var-female: "\f182";
199
+ $fa-var-fighter-jet: "\f0fb";
200
+ $fa-var-file: "\f15b";
201
+ $fa-var-file-archive-o: "\f1c6";
202
+ $fa-var-file-audio-o: "\f1c7";
203
+ $fa-var-file-code-o: "\f1c9";
204
+ $fa-var-file-excel-o: "\f1c3";
205
+ $fa-var-file-image-o: "\f1c5";
206
+ $fa-var-file-movie-o: "\f1c8";
207
+ $fa-var-file-o: "\f016";
208
+ $fa-var-file-pdf-o: "\f1c1";
209
+ $fa-var-file-photo-o: "\f1c5";
210
+ $fa-var-file-picture-o: "\f1c5";
211
+ $fa-var-file-powerpoint-o: "\f1c4";
212
+ $fa-var-file-sound-o: "\f1c7";
213
+ $fa-var-file-text: "\f15c";
214
+ $fa-var-file-text-o: "\f0f6";
215
+ $fa-var-file-video-o: "\f1c8";
216
+ $fa-var-file-word-o: "\f1c2";
217
+ $fa-var-file-zip-o: "\f1c6";
218
+ $fa-var-files-o: "\f0c5";
219
+ $fa-var-film: "\f008";
220
+ $fa-var-filter: "\f0b0";
221
+ $fa-var-fire: "\f06d";
222
+ $fa-var-fire-extinguisher: "\f134";
223
+ $fa-var-flag: "\f024";
224
+ $fa-var-flag-checkered: "\f11e";
225
+ $fa-var-flag-o: "\f11d";
226
+ $fa-var-flash: "\f0e7";
227
+ $fa-var-flask: "\f0c3";
228
+ $fa-var-flickr: "\f16e";
229
+ $fa-var-floppy-o: "\f0c7";
230
+ $fa-var-folder: "\f07b";
231
+ $fa-var-folder-o: "\f114";
232
+ $fa-var-folder-open: "\f07c";
233
+ $fa-var-folder-open-o: "\f115";
234
+ $fa-var-font: "\f031";
235
+ $fa-var-forward: "\f04e";
236
+ $fa-var-foursquare: "\f180";
237
+ $fa-var-frown-o: "\f119";
238
+ $fa-var-futbol-o: "\f1e3";
239
+ $fa-var-gamepad: "\f11b";
240
+ $fa-var-gavel: "\f0e3";
241
+ $fa-var-gbp: "\f154";
242
+ $fa-var-ge: "\f1d1";
243
+ $fa-var-gear: "\f013";
244
+ $fa-var-gears: "\f085";
245
+ $fa-var-gift: "\f06b";
246
+ $fa-var-git: "\f1d3";
247
+ $fa-var-git-square: "\f1d2";
248
+ $fa-var-github: "\f09b";
249
+ $fa-var-github-alt: "\f113";
250
+ $fa-var-github-square: "\f092";
251
+ $fa-var-gittip: "\f184";
252
+ $fa-var-glass: "\f000";
253
+ $fa-var-globe: "\f0ac";
254
+ $fa-var-google: "\f1a0";
255
+ $fa-var-google-plus: "\f0d5";
256
+ $fa-var-google-plus-square: "\f0d4";
257
+ $fa-var-google-wallet: "\f1ee";
258
+ $fa-var-graduation-cap: "\f19d";
259
+ $fa-var-group: "\f0c0";
260
+ $fa-var-h-square: "\f0fd";
261
+ $fa-var-hacker-news: "\f1d4";
262
+ $fa-var-hand-o-down: "\f0a7";
263
+ $fa-var-hand-o-left: "\f0a5";
264
+ $fa-var-hand-o-right: "\f0a4";
265
+ $fa-var-hand-o-up: "\f0a6";
266
+ $fa-var-hdd-o: "\f0a0";
267
+ $fa-var-header: "\f1dc";
268
+ $fa-var-headphones: "\f025";
269
+ $fa-var-heart: "\f004";
270
+ $fa-var-heart-o: "\f08a";
271
+ $fa-var-history: "\f1da";
272
+ $fa-var-home: "\f015";
273
+ $fa-var-hospital-o: "\f0f8";
274
+ $fa-var-html5: "\f13b";
275
+ $fa-var-ils: "\f20b";
276
+ $fa-var-image: "\f03e";
277
+ $fa-var-inbox: "\f01c";
278
+ $fa-var-indent: "\f03c";
279
+ $fa-var-info: "\f129";
280
+ $fa-var-info-circle: "\f05a";
281
+ $fa-var-inr: "\f156";
282
+ $fa-var-instagram: "\f16d";
283
+ $fa-var-institution: "\f19c";
284
+ $fa-var-ioxhost: "\f208";
285
+ $fa-var-italic: "\f033";
286
+ $fa-var-joomla: "\f1aa";
287
+ $fa-var-jpy: "\f157";
288
+ $fa-var-jsfiddle: "\f1cc";
289
+ $fa-var-key: "\f084";
290
+ $fa-var-keyboard-o: "\f11c";
291
+ $fa-var-krw: "\f159";
292
+ $fa-var-language: "\f1ab";
293
+ $fa-var-laptop: "\f109";
294
+ $fa-var-lastfm: "\f202";
295
+ $fa-var-lastfm-square: "\f203";
296
+ $fa-var-leaf: "\f06c";
297
+ $fa-var-legal: "\f0e3";
298
+ $fa-var-lemon-o: "\f094";
299
+ $fa-var-level-down: "\f149";
300
+ $fa-var-level-up: "\f148";
301
+ $fa-var-life-bouy: "\f1cd";
302
+ $fa-var-life-buoy: "\f1cd";
303
+ $fa-var-life-ring: "\f1cd";
304
+ $fa-var-life-saver: "\f1cd";
305
+ $fa-var-lightbulb-o: "\f0eb";
306
+ $fa-var-line-chart: "\f201";
307
+ $fa-var-link: "\f0c1";
308
+ $fa-var-linkedin: "\f0e1";
309
+ $fa-var-linkedin-square: "\f08c";
310
+ $fa-var-linux: "\f17c";
311
+ $fa-var-list: "\f03a";
312
+ $fa-var-list-alt: "\f022";
313
+ $fa-var-list-ol: "\f0cb";
314
+ $fa-var-list-ul: "\f0ca";
315
+ $fa-var-location-arrow: "\f124";
316
+ $fa-var-lock: "\f023";
317
+ $fa-var-long-arrow-down: "\f175";
318
+ $fa-var-long-arrow-left: "\f177";
319
+ $fa-var-long-arrow-right: "\f178";
320
+ $fa-var-long-arrow-up: "\f176";
321
+ $fa-var-magic: "\f0d0";
322
+ $fa-var-magnet: "\f076";
323
+ $fa-var-mail-forward: "\f064";
324
+ $fa-var-mail-reply: "\f112";
325
+ $fa-var-mail-reply-all: "\f122";
326
+ $fa-var-male: "\f183";
327
+ $fa-var-map-marker: "\f041";
328
+ $fa-var-maxcdn: "\f136";
329
+ $fa-var-meanpath: "\f20c";
330
+ $fa-var-medkit: "\f0fa";
331
+ $fa-var-meh-o: "\f11a";
332
+ $fa-var-microphone: "\f130";
333
+ $fa-var-microphone-slash: "\f131";
334
+ $fa-var-minus: "\f068";
335
+ $fa-var-minus-circle: "\f056";
336
+ $fa-var-minus-square: "\f146";
337
+ $fa-var-minus-square-o: "\f147";
338
+ $fa-var-mobile: "\f10b";
339
+ $fa-var-mobile-phone: "\f10b";
340
+ $fa-var-money: "\f0d6";
341
+ $fa-var-moon-o: "\f186";
342
+ $fa-var-mortar-board: "\f19d";
343
+ $fa-var-music: "\f001";
344
+ $fa-var-navicon: "\f0c9";
345
+ $fa-var-newspaper-o: "\f1ea";
346
+ $fa-var-openid: "\f19b";
347
+ $fa-var-outdent: "\f03b";
348
+ $fa-var-pagelines: "\f18c";
349
+ $fa-var-paint-brush: "\f1fc";
350
+ $fa-var-paper-plane: "\f1d8";
351
+ $fa-var-paper-plane-o: "\f1d9";
352
+ $fa-var-paperclip: "\f0c6";
353
+ $fa-var-paragraph: "\f1dd";
354
+ $fa-var-paste: "\f0ea";
355
+ $fa-var-pause: "\f04c";
356
+ $fa-var-paw: "\f1b0";
357
+ $fa-var-paypal: "\f1ed";
358
+ $fa-var-pencil: "\f040";
359
+ $fa-var-pencil-square: "\f14b";
360
+ $fa-var-pencil-square-o: "\f044";
361
+ $fa-var-phone: "\f095";
362
+ $fa-var-phone-square: "\f098";
363
+ $fa-var-photo: "\f03e";
364
+ $fa-var-picture-o: "\f03e";
365
+ $fa-var-pie-chart: "\f200";
366
+ $fa-var-pied-piper: "\f1a7";
367
+ $fa-var-pied-piper-alt: "\f1a8";
368
+ $fa-var-pinterest: "\f0d2";
369
+ $fa-var-pinterest-square: "\f0d3";
370
+ $fa-var-plane: "\f072";
371
+ $fa-var-play: "\f04b";
372
+ $fa-var-play-circle: "\f144";
373
+ $fa-var-play-circle-o: "\f01d";
374
+ $fa-var-plug: "\f1e6";
375
+ $fa-var-plus: "\f067";
376
+ $fa-var-plus-circle: "\f055";
377
+ $fa-var-plus-square: "\f0fe";
378
+ $fa-var-plus-square-o: "\f196";
379
+ $fa-var-power-off: "\f011";
380
+ $fa-var-print: "\f02f";
381
+ $fa-var-puzzle-piece: "\f12e";
382
+ $fa-var-qq: "\f1d6";
383
+ $fa-var-qrcode: "\f029";
384
+ $fa-var-question: "\f128";
385
+ $fa-var-question-circle: "\f059";
386
+ $fa-var-quote-left: "\f10d";
387
+ $fa-var-quote-right: "\f10e";
388
+ $fa-var-ra: "\f1d0";
389
+ $fa-var-random: "\f074";
390
+ $fa-var-rebel: "\f1d0";
391
+ $fa-var-recycle: "\f1b8";
392
+ $fa-var-reddit: "\f1a1";
393
+ $fa-var-reddit-square: "\f1a2";
394
+ $fa-var-refresh: "\f021";
395
+ $fa-var-remove: "\f00d";
396
+ $fa-var-renren: "\f18b";
397
+ $fa-var-reorder: "\f0c9";
398
+ $fa-var-repeat: "\f01e";
399
+ $fa-var-reply: "\f112";
400
+ $fa-var-reply-all: "\f122";
401
+ $fa-var-retweet: "\f079";
402
+ $fa-var-rmb: "\f157";
403
+ $fa-var-road: "\f018";
404
+ $fa-var-rocket: "\f135";
405
+ $fa-var-rotate-left: "\f0e2";
406
+ $fa-var-rotate-right: "\f01e";
407
+ $fa-var-rouble: "\f158";
408
+ $fa-var-rss: "\f09e";
409
+ $fa-var-rss-square: "\f143";
410
+ $fa-var-rub: "\f158";
411
+ $fa-var-ruble: "\f158";
412
+ $fa-var-rupee: "\f156";
413
+ $fa-var-save: "\f0c7";
414
+ $fa-var-scissors: "\f0c4";
415
+ $fa-var-search: "\f002";
416
+ $fa-var-search-minus: "\f010";
417
+ $fa-var-search-plus: "\f00e";
418
+ $fa-var-send: "\f1d8";
419
+ $fa-var-send-o: "\f1d9";
420
+ $fa-var-share: "\f064";
421
+ $fa-var-share-alt: "\f1e0";
422
+ $fa-var-share-alt-square: "\f1e1";
423
+ $fa-var-share-square: "\f14d";
424
+ $fa-var-share-square-o: "\f045";
425
+ $fa-var-shekel: "\f20b";
426
+ $fa-var-sheqel: "\f20b";
427
+ $fa-var-shield: "\f132";
428
+ $fa-var-shopping-cart: "\f07a";
429
+ $fa-var-sign-in: "\f090";
430
+ $fa-var-sign-out: "\f08b";
431
+ $fa-var-signal: "\f012";
432
+ $fa-var-sitemap: "\f0e8";
433
+ $fa-var-skype: "\f17e";
434
+ $fa-var-slack: "\f198";
435
+ $fa-var-sliders: "\f1de";
436
+ $fa-var-slideshare: "\f1e7";
437
+ $fa-var-smile-o: "\f118";
438
+ $fa-var-soccer-ball-o: "\f1e3";
439
+ $fa-var-sort: "\f0dc";
440
+ $fa-var-sort-alpha-asc: "\f15d";
441
+ $fa-var-sort-alpha-desc: "\f15e";
442
+ $fa-var-sort-amount-asc: "\f160";
443
+ $fa-var-sort-amount-desc: "\f161";
444
+ $fa-var-sort-asc: "\f0de";
445
+ $fa-var-sort-desc: "\f0dd";
446
+ $fa-var-sort-down: "\f0dd";
447
+ $fa-var-sort-numeric-asc: "\f162";
448
+ $fa-var-sort-numeric-desc: "\f163";
449
+ $fa-var-sort-up: "\f0de";
450
+ $fa-var-soundcloud: "\f1be";
451
+ $fa-var-space-shuttle: "\f197";
452
+ $fa-var-spinner: "\f110";
453
+ $fa-var-spoon: "\f1b1";
454
+ $fa-var-spotify: "\f1bc";
455
+ $fa-var-square: "\f0c8";
456
+ $fa-var-square-o: "\f096";
457
+ $fa-var-stack-exchange: "\f18d";
458
+ $fa-var-stack-overflow: "\f16c";
459
+ $fa-var-star: "\f005";
460
+ $fa-var-star-half: "\f089";
461
+ $fa-var-star-half-empty: "\f123";
462
+ $fa-var-star-half-full: "\f123";
463
+ $fa-var-star-half-o: "\f123";
464
+ $fa-var-star-o: "\f006";
465
+ $fa-var-steam: "\f1b6";
466
+ $fa-var-steam-square: "\f1b7";
467
+ $fa-var-step-backward: "\f048";
468
+ $fa-var-step-forward: "\f051";
469
+ $fa-var-stethoscope: "\f0f1";
470
+ $fa-var-stop: "\f04d";
471
+ $fa-var-strikethrough: "\f0cc";
472
+ $fa-var-stumbleupon: "\f1a4";
473
+ $fa-var-stumbleupon-circle: "\f1a3";
474
+ $fa-var-subscript: "\f12c";
475
+ $fa-var-suitcase: "\f0f2";
476
+ $fa-var-sun-o: "\f185";
477
+ $fa-var-superscript: "\f12b";
478
+ $fa-var-support: "\f1cd";
479
+ $fa-var-table: "\f0ce";
480
+ $fa-var-tablet: "\f10a";
481
+ $fa-var-tachometer: "\f0e4";
482
+ $fa-var-tag: "\f02b";
483
+ $fa-var-tags: "\f02c";
484
+ $fa-var-tasks: "\f0ae";
485
+ $fa-var-taxi: "\f1ba";
486
+ $fa-var-tencent-weibo: "\f1d5";
487
+ $fa-var-terminal: "\f120";
488
+ $fa-var-text-height: "\f034";
489
+ $fa-var-text-width: "\f035";
490
+ $fa-var-th: "\f00a";
491
+ $fa-var-th-large: "\f009";
492
+ $fa-var-th-list: "\f00b";
493
+ $fa-var-thumb-tack: "\f08d";
494
+ $fa-var-thumbs-down: "\f165";
495
+ $fa-var-thumbs-o-down: "\f088";
496
+ $fa-var-thumbs-o-up: "\f087";
497
+ $fa-var-thumbs-up: "\f164";
498
+ $fa-var-ticket: "\f145";
499
+ $fa-var-times: "\f00d";
500
+ $fa-var-times-circle: "\f057";
501
+ $fa-var-times-circle-o: "\f05c";
502
+ $fa-var-tint: "\f043";
503
+ $fa-var-toggle-down: "\f150";
504
+ $fa-var-toggle-left: "\f191";
505
+ $fa-var-toggle-off: "\f204";
506
+ $fa-var-toggle-on: "\f205";
507
+ $fa-var-toggle-right: "\f152";
508
+ $fa-var-toggle-up: "\f151";
509
+ $fa-var-trash: "\f1f8";
510
+ $fa-var-trash-o: "\f014";
511
+ $fa-var-tree: "\f1bb";
512
+ $fa-var-trello: "\f181";
513
+ $fa-var-trophy: "\f091";
514
+ $fa-var-truck: "\f0d1";
515
+ $fa-var-try: "\f195";
516
+ $fa-var-tty: "\f1e4";
517
+ $fa-var-tumblr: "\f173";
518
+ $fa-var-tumblr-square: "\f174";
519
+ $fa-var-turkish-lira: "\f195";
520
+ $fa-var-twitch: "\f1e8";
521
+ $fa-var-twitter: "\f099";
522
+ $fa-var-twitter-square: "\f081";
523
+ $fa-var-umbrella: "\f0e9";
524
+ $fa-var-underline: "\f0cd";
525
+ $fa-var-undo: "\f0e2";
526
+ $fa-var-university: "\f19c";
527
+ $fa-var-unlink: "\f127";
528
+ $fa-var-unlock: "\f09c";
529
+ $fa-var-unlock-alt: "\f13e";
530
+ $fa-var-unsorted: "\f0dc";
531
+ $fa-var-upload: "\f093";
532
+ $fa-var-usd: "\f155";
533
+ $fa-var-user: "\f007";
534
+ $fa-var-user-md: "\f0f0";
535
+ $fa-var-users: "\f0c0";
536
+ $fa-var-video-camera: "\f03d";
537
+ $fa-var-vimeo-square: "\f194";
538
+ $fa-var-vine: "\f1ca";
539
+ $fa-var-vk: "\f189";
540
+ $fa-var-volume-down: "\f027";
541
+ $fa-var-volume-off: "\f026";
542
+ $fa-var-volume-up: "\f028";
543
+ $fa-var-warning: "\f071";
544
+ $fa-var-wechat: "\f1d7";
545
+ $fa-var-weibo: "\f18a";
546
+ $fa-var-weixin: "\f1d7";
547
+ $fa-var-wheelchair: "\f193";
548
+ $fa-var-wifi: "\f1eb";
549
+ $fa-var-windows: "\f17a";
550
+ $fa-var-won: "\f159";
551
+ $fa-var-wordpress: "\f19a";
552
+ $fa-var-wrench: "\f0ad";
553
+ $fa-var-xing: "\f168";
554
+ $fa-var-xing-square: "\f169";
555
+ $fa-var-yahoo: "\f19e";
556
+ $fa-var-yelp: "\f1e9";
557
+ $fa-var-yen: "\f157";
558
+ $fa-var-youtube: "\f167";
559
+ $fa-var-youtube-play: "\f16a";
560
+ $fa-var-youtube-square: "\f166";
561
+
css/font-awesome/scss/font-awesome.scss ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4
+ */
5
+
6
+ @import "variables";
7
+ @import "mixins";
8
+ @import "path";
9
+ @import "core";
10
+ @import "larger";
11
+ @import "fixed-width";
12
+ @import "list";
13
+ @import "bordered-pulled";
14
+ @import "spinning";
15
+ @import "rotated-flipped";
16
+ @import "stacked";
17
+ @import "icons";
css/gallerybox/jquery.mCustomScrollbar.css ADDED
@@ -0,0 +1,474 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* basic scrollbar styling */
2
+ /* vertical scrollbar */
3
+ .mCSB_container{
4
+ width: auto;
5
+ margin-right: 15px;
6
+ overflow: hidden;
7
+ }
8
+ .mCSB_container.mCS_no_scrollbar{
9
+ margin-right: 0;
10
+ }
11
+ .mCS_disabled>.mCustomScrollBox>.mCSB_container.mCS_no_scrollbar,
12
+ .mCS_destroyed>.mCustomScrollBox>.mCSB_container.mCS_no_scrollbar{
13
+ margin-right:15px;
14
+ }
15
+ .mCustomScrollBox>.mCSB_scrollTools{
16
+ width:16px;
17
+ height:100%;
18
+ top:0;
19
+ right:0;
20
+ }
21
+ .mCSB_scrollTools .mCSB_draggerContainer{
22
+ position:absolute;
23
+ top:0;
24
+ left:0;
25
+ bottom:0;
26
+ right:0;
27
+ height:auto;
28
+ }
29
+ .mCSB_scrollTools a+.mCSB_draggerContainer{
30
+ margin:20px 0;
31
+ }
32
+ .mCSB_scrollTools .mCSB_draggerRail{
33
+ width:2px;
34
+ height:100%;
35
+ margin:0 auto;
36
+ -webkit-border-radius:10px;
37
+ -moz-border-radius:10px;
38
+ border-radius:10px;
39
+ }
40
+ .mCSB_scrollTools .mCSB_dragger{
41
+ cursor:pointer;
42
+ width:100%;
43
+ height:30px;
44
+ }
45
+ .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
46
+ width:4px;
47
+ height:100%;
48
+ margin:0 auto;
49
+ -webkit-border-radius:10px;
50
+ -moz-border-radius:10px;
51
+ border-radius:10px;
52
+ text-align:center;
53
+ }
54
+ .mCSB_scrollTools .mCSB_buttonUp,
55
+ .mCSB_scrollTools .mCSB_buttonDown{
56
+ display:block;
57
+ position:relative;
58
+ height:20px;
59
+ overflow:hidden;
60
+ margin:0 auto;
61
+ cursor:pointer;
62
+ }
63
+ .mCSB_scrollTools .mCSB_buttonDown{
64
+ top:100%;
65
+ margin-top:-40px;
66
+ }
67
+ /* horizontal scrollbar */
68
+ .mCSB_horizontal>.mCSB_container{
69
+ height:auto;
70
+ margin-right:0;
71
+ margin-bottom:30px;
72
+ overflow:hidden;
73
+ }
74
+ .mCSB_horizontal>.mCSB_container.mCS_no_scrollbar{
75
+ margin-bottom:0;
76
+ }
77
+ .mCS_disabled>.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar,
78
+ .mCS_destroyed>.mCSB_horizontal>.mCSB_container.mCS_no_scrollbar{
79
+ margin-right:0;
80
+ margin-bottom:30px;
81
+ }
82
+ .mCSB_horizontal.mCustomScrollBox>.mCSB_scrollTools{
83
+ width:100%;
84
+ height:16px;
85
+ top:auto;
86
+ right:auto;
87
+ bottom:0;
88
+ left:0;
89
+ overflow:hidden;
90
+ }
91
+ .mCSB_horizontal>.mCSB_scrollTools a+.mCSB_draggerContainer{
92
+ margin:0 20px;
93
+ }
94
+ .mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
95
+ width:100%;
96
+ height:2px;
97
+ margin:7px 0;
98
+ -webkit-border-radius:10px;
99
+ -moz-border-radius:10px;
100
+ border-radius:10px;
101
+ }
102
+ .mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger{
103
+ width:30px;
104
+ height:100%;
105
+ }
106
+ .mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
107
+ width:100%;
108
+ height:4px;
109
+ margin:6px auto;
110
+ -webkit-border-radius:10px;
111
+ -moz-border-radius:10px;
112
+ border-radius:10px;
113
+ }
114
+ .mCSB_horizontal>.mCSB_scrollTools .mCSB_buttonLeft,
115
+ .mCSB_horizontal>.mCSB_scrollTools .mCSB_buttonRight{
116
+ display:block;
117
+ position:relative;
118
+ width:20px;
119
+ height:100%;
120
+ overflow:hidden;
121
+ margin:0 auto;
122
+ cursor:pointer;
123
+ float:left;
124
+ }
125
+ .mCSB_horizontal>.mCSB_scrollTools .mCSB_buttonRight{
126
+ margin-left:-40px;
127
+ float:right;
128
+ }
129
+ .mCustomScrollBox{
130
+ -ms-touch-action:none; /*MSPointer events - direct all pointer events to js*/
131
+ }
132
+
133
+ /* default scrollbar colors and backgrounds (default theme) */
134
+ .mCustomScrollBox>.mCSB_scrollTools{
135
+ opacity:0.75;
136
+ filter:"alpha(opacity=75)"; -ms-filter:"alpha(opacity=75)"; /* old ie */
137
+ }
138
+ .mCustomScrollBox:hover>.mCSB_scrollTools{
139
+ opacity:1;
140
+ filter:"alpha(opacity=100)"; -ms-filter:"alpha(opacity=100)"; /* old ie */
141
+ }
142
+ .mCSB_scrollTools .mCSB_draggerRail{
143
+ background:#000; /* rgba fallback */
144
+ background:rgba(0,0,0,0.4);
145
+ filter:"alpha(opacity=40)"; -ms-filter:"alpha(opacity=40)"; /* old ie */
146
+ }
147
+ .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
148
+ background:#fff; /* rgba fallback */
149
+ background:rgba(255,255,255,0.75);
150
+ filter:"alpha(opacity=75)"; -ms-filter:"alpha(opacity=75)"; /* old ie */
151
+ }
152
+ .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
153
+ background:rgba(255,255,255,0.85);
154
+ filter:"alpha(opacity=85)"; -ms-filter:"alpha(opacity=85)"; /* old ie */
155
+ }
156
+ .mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
157
+ .mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
158
+ background:rgba(255,255,255,0.9);
159
+ filter:"alpha(opacity=90)"; -ms-filter:"alpha(opacity=90)"; /* old ie */
160
+ }
161
+ .mCSB_scrollTools .mCSB_buttonUp,
162
+ .mCSB_scrollTools .mCSB_buttonDown,
163
+ .mCSB_scrollTools .mCSB_buttonLeft,
164
+ .mCSB_scrollTools .mCSB_buttonRight{
165
+ background-image:url(mCSB_buttons.png);
166
+ background-repeat:no-repeat;
167
+ opacity:0.4;
168
+ filter:"alpha(opacity=40)"; -ms-filter:"alpha(opacity=40)"; /* old ie */
169
+ }
170
+ .mCSB_scrollTools .mCSB_buttonUp{
171
+ background-position:0 0;
172
+ /*
173
+ sprites locations are 0 0/-16px 0/-32px 0/-48px 0 (light) and -80px 0/-96px 0/-112px 0/-128px 0 (dark)
174
+ */
175
+ }
176
+ .mCSB_scrollTools .mCSB_buttonDown{
177
+ background-position:0 -20px;
178
+ /*
179
+ sprites locations are 0 -20px/-16px -20px/-32px -20px/-48px -20px (light) and -80px -20px/-96px -20px/-112px -20px/-128px -20px (dark)
180
+ */
181
+ }
182
+ .mCSB_scrollTools .mCSB_buttonLeft{
183
+ background-position:0 -40px;
184
+ /*
185
+ sprites locations are 0 -40px/-20px -40px/-40px -40px/-60px -40px (light) and -80px -40px/-100px -40px/-120px -40px/-140px -40px (dark)
186
+ */
187
+ }
188
+ .mCSB_scrollTools .mCSB_buttonRight{
189
+ background-position:0 -56px;
190
+ /*
191
+ sprites locations are 0 -56px/-20px -56px/-40px -56px/-60px -56px (light) and -80px -56px/-100px -56px/-120px -56px/-140px -56px (dark)
192
+ */
193
+ }
194
+ .mCSB_scrollTools .mCSB_buttonUp:hover,
195
+ .mCSB_scrollTools .mCSB_buttonDown:hover,
196
+ .mCSB_scrollTools .mCSB_buttonLeft:hover,
197
+ .mCSB_scrollTools .mCSB_buttonRight:hover{
198
+ opacity:0.75;
199
+ filter:"alpha(opacity=75)"; -ms-filter:"alpha(opacity=75)"; /* old ie */
200
+ }
201
+ .mCSB_scrollTools .mCSB_buttonUp:active,
202
+ .mCSB_scrollTools .mCSB_buttonDown:active,
203
+ .mCSB_scrollTools .mCSB_buttonLeft:active,
204
+ .mCSB_scrollTools .mCSB_buttonRight:active{
205
+ opacity:0.9;
206
+ filter:"alpha(opacity=90)"; -ms-filter:"alpha(opacity=90)"; /* old ie */
207
+ }
208
+
209
+ /*scrollbar themes*/
210
+ /*dark (dark colored scrollbar)*/
211
+ .mCS-dark>.mCSB_scrollTools .mCSB_draggerRail{
212
+ background:#000; /* rgba fallback */
213
+ background:rgba(0,0,0,0.15);
214
+ }
215
+ .mCS-dark>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
216
+ background:#000; /* rgba fallback */
217
+ background:rgba(0,0,0,0.75);
218
+ }
219
+ .mCS-dark>.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
220
+ background:rgba(0,0,0,0.85);
221
+ }
222
+ .mCS-dark>.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
223
+ .mCS-dark>.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
224
+ background:rgba(0,0,0,0.9);
225
+ }
226
+ .mCS-dark>.mCSB_scrollTools .mCSB_buttonUp{
227
+ background-position:-80px 0;
228
+ }
229
+ .mCS-dark>.mCSB_scrollTools .mCSB_buttonDown{
230
+ background-position:-80px -20px;
231
+ }
232
+ .mCS-dark>.mCSB_scrollTools .mCSB_buttonLeft{
233
+ background-position:-80px -40px;
234
+ }
235
+ .mCS-dark>.mCSB_scrollTools .mCSB_buttonRight{
236
+ background-position:-80px -56px;
237
+ }
238
+ /*light-2*/
239
+ .mCS-light-2>.mCSB_scrollTools .mCSB_draggerRail{
240
+ width:4px;
241
+ background:#fff; /* rgba fallback */
242
+ background:rgba(255,255,255,0.1);
243
+ -webkit-border-radius:1px;
244
+ -moz-border-radius:1px;
245
+ border-radius:1px;
246
+ }
247
+ .mCS-light-2>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
248
+ width:4px;
249
+ background:#fff; /* rgba fallback */
250
+ background:rgba(255,255,255,0.75);
251
+ -webkit-border-radius:1px;
252
+ -moz-border-radius:1px;
253
+ border-radius:1px;
254
+ }
255
+ .mCS-light-2.mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
256
+ width:100%;
257
+ height:4px;
258
+ margin:6px 0;
259
+ }
260
+ .mCS-light-2.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
261
+ width:100%;
262
+ height:4px;
263
+ margin:6px auto;
264
+ }
265
+ .mCS-light-2>.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
266
+ background:rgba(255,255,255,0.85);
267
+ }
268
+ .mCS-light-2>.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
269
+ .mCS-light-2>.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
270
+ background:rgba(255,255,255,0.9);
271
+ }
272
+ .mCS-light-2>.mCSB_scrollTools .mCSB_buttonUp{
273
+ background-position:-32px 0;
274
+ }
275
+ .mCS-light-2>.mCSB_scrollTools .mCSB_buttonDown{
276
+ background-position:-32px -20px;
277
+ }
278
+ .mCS-light-2>.mCSB_scrollTools .mCSB_buttonLeft{
279
+ background-position:-40px -40px;
280
+ }
281
+ .mCS-light-2>.mCSB_scrollTools .mCSB_buttonRight{
282
+ background-position:-40px -56px;
283
+ }
284
+ /*dark-2*/
285
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_draggerRail{
286
+ width:4px;
287
+ background:#000; /* rgba fallback */
288
+ background:rgba(0,0,0,0.1);
289
+ -webkit-border-radius:1px;
290
+ -moz-border-radius:1px;
291
+ border-radius:1px;
292
+ }
293
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
294
+ width:4px;
295
+ background:#000; /* rgba fallback */
296
+ background:rgba(0,0,0,0.75);
297
+ -webkit-border-radius:1px;
298
+ -moz-border-radius:1px;
299
+ border-radius:1px;
300
+ }
301
+ .mCS-dark-2.mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
302
+ width:100%;
303
+ height:4px;
304
+ margin:6px 0;
305
+ }
306
+ .mCS-dark-2.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
307
+ width:100%;
308
+ height:4px;
309
+ margin:6px auto;
310
+ }
311
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
312
+ background:rgba(0,0,0,0.85);
313
+ }
314
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
315
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
316
+ background:rgba(0,0,0,0.9);
317
+ }
318
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_buttonUp{
319
+ background-position:-112px 0;
320
+ }
321
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_buttonDown{
322
+ background-position:-112px -20px;
323
+ }
324
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_buttonLeft{
325
+ background-position:-120px -40px;
326
+ }
327
+ .mCS-dark-2>.mCSB_scrollTools .mCSB_buttonRight{
328
+ background-position:-120px -56px;
329
+ }
330
+ /*light-thick*/
331
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_draggerRail{
332
+ width:4px;
333
+ background:#fff; /* rgba fallback */
334
+ background:rgba(255,255,255,0.1);
335
+ -webkit-border-radius:2px;
336
+ -moz-border-radius:2px;
337
+ border-radius:2px;
338
+ }
339
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
340
+ width:6px;
341
+ background:#fff; /* rgba fallback */
342
+ background:rgba(255,255,255,0.75);
343
+ -webkit-border-radius:2px;
344
+ -moz-border-radius:2px;
345
+ border-radius:2px;
346
+ }
347
+ .mCS-light-thick.mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
348
+ width:100%;
349
+ height:4px;
350
+ margin:6px 0;
351
+ }
352
+ .mCS-light-thick.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
353
+ width:100%;
354
+ height:6px;
355
+ margin:5px auto;
356
+ }
357
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
358
+ background:rgba(255,255,255,0.85);
359
+ }
360
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
361
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
362
+ background:rgba(255,255,255,0.9);
363
+ }
364
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_buttonUp{
365
+ background-position:-16px 0;
366
+ }
367
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_buttonDown{
368
+ background-position:-16px -20px;
369
+ }
370
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_buttonLeft{
371
+ background-position:-20px -40px;
372
+ }
373
+ .mCS-light-thick>.mCSB_scrollTools .mCSB_buttonRight{
374
+ background-position:-20px -56px;
375
+ }
376
+ /*dark-thick*/
377
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_draggerRail{
378
+ width:4px;
379
+ background:#000; /* rgba fallback */
380
+ background:rgba(0,0,0,0.1);
381
+ -webkit-border-radius:2px;
382
+ -moz-border-radius:2px;
383
+ border-radius:2px;
384
+ }
385
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
386
+ width:6px;
387
+ background:#000; /* rgba fallback */
388
+ background:rgba(0,0,0,0.75);
389
+ -webkit-border-radius:2px;
390
+ -moz-border-radius:2px;
391
+ border-radius:2px;
392
+ }
393
+ .mCS-dark-thick.mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
394
+ width:100%;
395
+ height:4px;
396
+ margin:6px 0;
397
+ }
398
+ .mCS-dark-thick.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
399
+ width:100%;
400
+ height:6px;
401
+ margin:5px auto;
402
+ }
403
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
404
+ background:rgba(0,0,0,0.85);
405
+ }
406
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
407
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
408
+ background:rgba(0,0,0,0.9);
409
+ }
410
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_buttonUp{
411
+ background-position:-96px 0;
412
+ }
413
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_buttonDown{
414
+ background-position:-96px -20px;
415
+ }
416
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_buttonLeft{
417
+ background-position:-100px -40px;
418
+ }
419
+ .mCS-dark-thick>.mCSB_scrollTools .mCSB_buttonRight{
420
+ background-position:-100px -56px;
421
+ }
422
+ /*light-thin*/
423
+ .mCS-light-thin>.mCSB_scrollTools .mCSB_draggerRail{
424
+ background:#fff; /* rgba fallback */
425
+ background:rgba(255,255,255,0.1);
426
+ }
427
+ .mCS-light-thin>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
428
+ width:2px;
429
+ }
430
+ .mCS-light-thin.mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
431
+ width:100%;
432
+ }
433
+ .mCS-light-thin.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
434
+ width:100%;
435
+ height:2px;
436
+ margin:7px auto;
437
+ }
438
+ /*dark-thin*/
439
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_draggerRail{
440
+ background:#000; /* rgba fallback */
441
+ background:rgba(0,0,0,0.15);
442
+ }
443
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
444
+ width:2px;
445
+ background:#000; /* rgba fallback */
446
+ background:rgba(0,0,0,0.75);
447
+ }
448
+ .mCS-dark-thin.mCSB_horizontal>.mCSB_scrollTools .mCSB_draggerRail{
449
+ width:100%;
450
+ }
451
+ .mCS-dark-thin.mCSB_horizontal>.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
452
+ width:100%;
453
+ height:2px;
454
+ margin:7px auto;
455
+ }
456
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{
457
+ background:rgba(0,0,0,0.85);
458
+ }
459
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
460
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
461
+ background:rgba(0,0,0,0.9);
462
+ }
463
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_buttonUp{
464
+ background-position:-80px 0;
465
+ }
466
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_buttonDown{
467
+ background-position:-80px -20px;
468
+ }
469
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_buttonLeft{
470
+ background-position:-80px -40px;
471
+ }
472
+ .mCS-dark-thin>.mCSB_scrollTools .mCSB_buttonRight{
473
+ background-position:-80px -56px;
474
+ }
css/notices.css ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wd-admin-notice {
2
+ background: #fff;
3
+ border: 4px;
4
+ display: block;
5
+ min-height: 68px;
6
+ padding: 10px 40px 10px 125px;
7
+ position: relative;
8
+ }
9
+ .wd-admin-notice a {
10
+ color: #10738B;
11
+ }
12
+ .wdi-notice-logo {
13
+ clear: both;
14
+ content: "";
15
+ display: block;
16
+ background-image: url("../images/notice.png");
17
+ background-size: 108px auto;
18
+ background-repeat: no-repeat;
19
+ background-position: 0 45%;
20
+ width: 125px;
21
+ position: absolute;
22
+ top: 0;
23
+ bottom: 0;
24
+ left: 5px;
25
+ }
26
+ .wd-admin-notice > .dashicons {
27
+ color: #424242;
28
+ position: absolute;
29
+ right: 20px;
30
+ top: 40%;
31
+ }
32
+ .wd-notice-title {
33
+ font-size: 24px;
34
+ margin: 0;
35
+ }
36
+ .wd-notice-body {
37
+ font-weight: normal;
38
+ margin: 5px 0;
39
+ }
40
+ .wd-notice-body:after {
41
+ clear: both;
42
+ content: "";
43
+ display: block;
44
+ }
45
+ .wd-notice-body li {
46
+ float: left;
47
+ margin-right: 20px;
48
+ }
49
+ .wd-notice-body .dashicons {
50
+ font-size: 17px;
51
+ }
52
+ .wd-blue {
53
+ color: #10738B;
54
+ }
css/wdi_backend.css ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .clear{
2
+ clear: both;
3
+ }
4
+ #wdi_unistall{
5
+ background-color: #D82121;
6
+ border-color: #D31818;
7
+ box-shadow: inset 0 1px 0 rgba(230, 120, 120, 0.5),0 1px 0 rgba(0,0,0,.15);
8
+ }
9
+ #wdi_unistall:hover{
10
+ background-color: #DA1313;
11
+ }
12
+ #wdi_unistall_table th{
13
+ width: 45%;
14
+ }
15
+
16
+
17
+
18
+ /*tooltip css*/
19
+ .wdi_tooltip,.wdi_settings_link{
20
+ text-decoration: none;
21
+ line-height: 16.9px;
22
+ font-size: 13px;
23
+ color: rgb(35, 40, 45);
24
+ padding-bottom: 2px;
25
+ padding-left: 2px;
26
+ padding-right: 2px;
27
+ padding-top: 2px;
28
+ }
29
+ .wdi_tooltip:hover,.wdi_settings_link:hover {
30
+ color: rgb(35, 40, 45);
31
+ position: relative;
32
+ }
33
+ .wdi_tooltip:hover:after {
34
+ content: attr(wdi-tooltip);
35
+ padding: 4px 8px;
36
+ color: #271F21;
37
+ position: absolute;
38
+ left: 0;
39
+ top: 100%;
40
+ white-space: nowrap;
41
+ z-index: 20;
42
+ -moz-border-radius: 5px;
43
+ -webkit-border-radius: 5px;
44
+ border-radius: 5px;
45
+ -moz-box-shadow: 0px 0px 4px #222;
46
+ -webkit-box-shadow: 0px 0px 4px #222;
47
+ box-shadow: 0px 0px 4px #222;
48
+ background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
49
+ background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #eeeeee),color-stop(1, #cccccc));
50
+ background-image: -webkit-linear-gradient(top, #eeeeee, #cccccc);
51
+ background-image: -moz-linear-gradient(top, #eeeeee, #cccccc);
52
+ background-image: -ms-linear-gradient(top, #eeeeee, #cccccc);
53
+ background-image: -o-linear-gradient(top, #eeeeee, #cccccc);
54
+ }
55
+ .wdi_pro_only{
56
+ font-style: italic;
57
+ color: #4E4E4E !important;
58
+ background-color: #cccccc;
59
+ text-decoration: none;
60
+ }
61
+ .wdi_pro_only_op{
62
+ opacity: 0.6;
63
+ }
64
+ .wdi_pro_notice{
65
+ text-align: right;
66
+ color: #15699F;
67
+ font-size: 20px;
68
+ padding: 10px;
69
+ }
70
+ .wdi_pro_only_btn{
71
+ background-color: #c5c0c0 !important;
72
+ border-top-color: #c5c0c0 !important;
73
+ }
74
+
75
+
76
+
77
+ /*feeds page*/
78
+ #wdi_feed_users{
79
+ width: 100%;
80
+ }
81
+ #wdi_feed_tabs .wdi_feed_tabs:hover {
82
+ cursor: pointer;
83
+ background-color: rgb(240, 240, 240);
84
+ border-bottom: none;
85
+ margin-bottom: 1px;
86
+ }
87
+ #wdi_feed_tabs .wdi_feed_tabs {
88
+ font-size: 20px;
89
+ float: left;
90
+ padding: 10px;
91
+ background-color: #e4e4e4;
92
+ border: 1px solid #ccc;
93
+ border-bottom: none;
94
+ margin-right: 2px;
95
+ position: relative;
96
+ z-index: 2;
97
+ top: 2px;
98
+ /* color: black; */
99
+ }
100
+ .wdi_feed_tab_active{
101
+ background-color: rgb(240, 240, 240) !important;
102
+ margin-bottom: 1px !important;
103
+ border-bottom: 1px solid rgb(240,240,240) !important;
104
+ top: 0px;
105
+ }
106
+ .wdi_border_wrapper{
107
+ border: 1px solid #ccc;
108
+ padding: 5px;
109
+ }
110
+
111
+
112
+ .wdi_border_wrapper [scope='row'] + td, .wdi_border_wrapper [scope='row'] {
113
+ padding: 8px;
114
+ }
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+ .wdi_user {
123
+ border: 1px solid rgb(185, 185, 185);
124
+ background-color: rgb(215, 215, 215);
125
+ margin: 3px;
126
+ border-radius: 5px;
127
+ height: 28px;
128
+ position: relative;
129
+ width: 60%;
130
+ min-width: 200px;
131
+ }
132
+ .wdi_user:hover{
133
+ border: 1px solid rgb(190, 190, 190);
134
+ background-color: rgb(247, 239, 239);
135
+ }
136
+ .wdi_user a{
137
+ text-decoration: none;
138
+ color: black;
139
+ line-height: 28px;
140
+ width:70%;
141
+ margin-left: 12%;
142
+ margin-right: 18%;
143
+ height: 100%;
144
+ display: table-row;
145
+ padding-right: 3px;
146
+ }
147
+ .wdi_user .wdi_profile_pic{
148
+ width: 20px;
149
+ height: 20px;
150
+ top: 4px;
151
+ left: 30px;
152
+ padding: 5px;
153
+ vertical-align: middle;
154
+ display: table-cell;
155
+ }
156
+ .wdi_user span{
157
+ display: table-cell;
158
+ vertical-align: middle;
159
+ left: 55px;
160
+ font-weight: bold;
161
+ font-size: 14px;
162
+ }
163
+ .wdi_user .wdi_remove_user,.wdi_user .wdi_check_thumb_user{
164
+ position: absolute;
165
+ right: 4px;
166
+ width: 15px;
167
+ height: 15px;
168
+ top: 6.5px;
169
+ transition: all 0.1s ease;
170
+ }
171
+ .wdi_user .wdi_remove_user:hover {
172
+ cursor: pointer;
173
+ transform: rotate(180deg);
174
+ /*top: 6px;*/
175
+ }
176
+ .wdi_user .wdi_check_thumb_user:hover{
177
+ cursor: pointer;
178
+ }
179
+ .wdi_user .wdi_check_thumb_user{
180
+ left: 4px;
181
+ }
182
+
183
+ .wdi_border_wrapper [scope='row'] {
184
+ padding: 2px;
185
+ font-size: 13px;
186
+ min-width: 250px;
187
+ }
188
+ .wdi_border_wrapper [scope='row'] + td, .wdi_border_wrapper [scope='row'] {
189
+ padding: 2px;
190
+ }
191
+
192
+ .notice {
193
+ display: inline-block;
194
+ line-height: 19px;
195
+ font-size: 14px;
196
+ text-align: left;
197
+ background-color: #fff;
198
+ border-left: 4px solid #ffba00;
199
+ -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
200
+ box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
201
+ }
202
+
203
+
204
+ .small_input{
205
+ width: 60px;
206
+ text-align: center;
207
+ }
208
+ .display_type{
209
+ text-align: center;
210
+ }
211
+
212
+ .wdi_access_token_missing{
213
+ font-size: 16px;
214
+ color: #ff4444;
215
+ }
216
+
217
+ .wdi_hide{
218
+ display: none;
219
+ }
css/wdi_frontend.css ADDED
@@ -0,0 +1,304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .clear{
2
+ clear: both;
3
+ }
4
+ .table{
5
+ display: table;
6
+ }
7
+ .table-cell{
8
+ display: table-cell;
9
+ }
10
+ .table-row{
11
+ display: table-row;
12
+ }
13
+ .wdi_feed_main_container{
14
+ -webkit-user-select: none; /* Chrome/Safari */
15
+ -moz-user-select: none; /* Firefox */
16
+ -ms-user-select: none; /* IE10+ */
17
+
18
+ /* Rules below not implemented in browsers yet */
19
+ -o-user-select: none;
20
+ user-select: none;
21
+ }
22
+ .wdi_follow_button:hover{
23
+ cursor: pointer;
24
+ }
25
+ .wdi_hidden{
26
+ display: none !important;
27
+ }
28
+ .wdi_hover_off:hover{
29
+ background-color: transparent !important;
30
+ }
31
+ .wdi_cursor_off:hover{
32
+ cursor: auto !important;
33
+ }
34
+
35
+ .wdi_filter_active span{
36
+ color: white;
37
+ }
38
+
39
+ .wdi_disabled{
40
+ visibility: hidden;
41
+ }
42
+
43
+
44
+
45
+ /*=========================================================*/
46
+
47
+ .wdi_ajax_loading{
48
+ position: absolute;
49
+ width: 50px;
50
+ height: 50px;
51
+ left: 0;
52
+ right: 0;
53
+ bottom: -50px;
54
+ margin: auto;
55
+ z-index: 100;
56
+
57
+ }
58
+ .wdi_feed_main_container{
59
+ width: 100%;
60
+ position: relative;
61
+ }
62
+
63
+
64
+ .wdi_photo_img{
65
+ position: relative;
66
+ overflow: hidden;
67
+
68
+ }
69
+ .wdi_photo_overlay{
70
+ width: 100%;
71
+ height: 100%;
72
+ position: absolute;
73
+ top: 0;
74
+ left: 0;
75
+ background-color: transparent;
76
+ transition: all 0.1s ease;
77
+ }
78
+
79
+ .wdi_thumb_icon i{
80
+ display: none;
81
+ transition: all 0.1s ease;
82
+ }
83
+ .wdi_photo_overlay:hover .wdi_thumb_icon i{
84
+ display: block;
85
+ }
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+ .wdi_feed_main_container .fa{
105
+ font-family: FontAwesome !important;
106
+ font-style: normal;
107
+ }
108
+
109
+
110
+
111
+ /**************************************************************/
112
+
113
+
114
+
115
+ /**
116
+ * lightbox styles
117
+ */
118
+
119
+
120
+ .wdi_spider_popup_loading
121
+ {
122
+ /*background: url("../images/ajax_loader.gif") no-repeat scroll 0 0 / 50px 50px rgba(0, 0, 0, 0);*/
123
+ background-image: url("../images/ajax_loader.png");
124
+ background-color: rgba(0, 0, 0, 0);
125
+ background-repeat: no-repeat;
126
+ background-position: 0 0;
127
+ background-size: 50px 50px;
128
+ border: none !important;
129
+ display: none;
130
+ height: 50px;
131
+ left: 50%;
132
+ margin-left: -20px;
133
+ margin-top: -20px;
134
+ overflow: hidden;
135
+ position: fixed;
136
+ top: 50%;
137
+ width: 50px;
138
+ z-index: 10102;
139
+ animation: spin 2.5s infinite linear;
140
+ -moz-animation: spin 2.5s infinite linear;
141
+ -o-animation: spin 2.5s infinite linear;
142
+ -webkit-animation: spin 2.5s infinite linear;
143
+ }
144
+
145
+ .wdi_spider_popup_overlay{
146
+ cursor: pointer;
147
+ background-color: rgba(0, 0, 0, 0.5);
148
+ display: none;
149
+ height: 100%;
150
+ left: 0;
151
+ position: fixed;
152
+ top: 0;
153
+ width: 100%;
154
+ z-index: 10100;
155
+ }
156
+
157
+
158
+
159
+ div[id^="wdi_container"] p {
160
+ padding: 0 !important;
161
+ margin: 0 !important;
162
+ }
163
+
164
+ .wdi_spider_popup_loading,
165
+ .footer-list-block .bwp_gallery .wdi_spider_popup_loading,
166
+ .footer-list-block .bwp_gallery_tags .wdi_spider_popup_loading {
167
+ /*background: url("../images/ajax_loader.gif") no-repeat scroll 0 0 / 50px 50px rgba(0, 0, 0, 0);*/
168
+ background-image: url("../images/ajax_loader.png");
169
+ background-color: rgba(0, 0, 0, 0);
170
+ background-repeat: no-repeat;
171
+ background-position: 0 0;
172
+ background-size: 50px 50px;
173
+ border: none !important;
174
+ display: none;
175
+ height: 50px;
176
+ left: 50%;
177
+ margin-left: -20px;
178
+ margin-top: -20px;
179
+ overflow: hidden;
180
+ position: fixed;
181
+ top: 50%;
182
+ width: 50px;
183
+ z-index: 10102;
184
+ animation: spin 2.5s infinite linear;
185
+ -moz-animation: spin 2.5s infinite linear;
186
+ -o-animation: spin 2.5s infinite linear;
187
+ -webkit-animation: spin 2.5s infinite linear;
188
+ }
189
+
190
+ .wdi_spider_ajax_loading {
191
+ border: none !important;
192
+ animation: spin 2.5s infinite linear;
193
+ -moz-animation: spin 2.5s infinite linear;
194
+ -o-animation: spin 2.5s infinite linear;
195
+ -webkit-animation: spin 2.5s infinite linear;
196
+ }
197
+
198
+ .wdi_spider_popup_overlay,
199
+ .footer-list-block .bwp_gallery .wdi_spider_popup_overlay,
200
+ .footer-list-block .bwp_gallery_tags .wdi_spider_popup_overlay {
201
+ cursor: pointer;
202
+ display: none;
203
+ height: 100%;
204
+ left: 0;
205
+ position: fixed;
206
+ top: 0;
207
+ width: 100%;
208
+ z-index: 10100;
209
+ }
210
+
211
+ .wdi_spider_popup_close,
212
+ .wdi_spider_popup_close_fullscreen {
213
+ -moz-box-sizing: content-box !important;
214
+ box-sizing: content-box !important;
215
+ cursor: pointer;
216
+ display: table;
217
+ line-height: 0;
218
+ position: absolute;
219
+ z-index: 11100;
220
+ }
221
+
222
+ #wdi_spider_popup_left {
223
+ left: 0;
224
+ }
225
+
226
+ #wdi_spider_popup_right {
227
+ right: 0;
228
+ }
229
+
230
+ #wdi_spider_popup_left:hover,
231
+ #wdi_spider_popup_right:hover {
232
+ visibility: visible;
233
+ }
234
+
235
+ #wdi_spider_popup_left:hover span {
236
+ left: 20px;
237
+ }
238
+
239
+ #wdi_spider_popup_right:hover span {
240
+ left: auto;
241
+ right: 20px;
242
+ }
243
+
244
+
245
+ #wdi_spider_popup_left,
246
+ #wdi_spider_popup_right {
247
+ background: transparent url("../images/blank.gif") repeat scroll 0 0;
248
+ bottom: 35%;
249
+ cursor: pointer;
250
+ display: inline;
251
+ height: 30%;
252
+ outline: medium none;
253
+ position: absolute;
254
+ width: 35%;
255
+ z-index: 10130;
256
+ }
257
+
258
+ #wdi_spider_popup_left-ico,
259
+ #wdi_spider_popup_right-ico {
260
+ -moz-box-sizing: border-box;
261
+ box-sizing: border-box;
262
+ cursor: pointer;
263
+ display: table;
264
+ left: -9999px;
265
+ line-height: 0;
266
+ margin-top: -15px;
267
+ position: absolute;
268
+ top: 50%;
269
+ z-index: 10135;
270
+ }
271
+
272
+ .wdi_image_info_container1{
273
+ height: 100%;
274
+ margin: 0 auto;
275
+ position: absolute;
276
+ width: 100%;
277
+ }
278
+
279
+
280
+ .wdi_image_info_container2 {
281
+ display: table;
282
+ height: 100%;
283
+ margin: 0 auto;
284
+ position: absolute;
285
+ width: 100%;
286
+ }
287
+
288
+ .wdi_image_info_spun {
289
+ display: table-cell;
290
+ height: 100%;
291
+ left: 0;
292
+ top: 0;
293
+ width: 100%;
294
+ overflow: hidden;
295
+ position: relative;
296
+ }
297
+
298
+ .wdi_image_info{
299
+ display: inline-block;
300
+ position: relative;
301
+ text-decoration: none;
302
+ word-wrap: break-word;
303
+ z-index: 11;
304
+ }
css/wdi_licensing.css ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ div#featurs_tables {
2
+ display: inline-block;
3
+ font-size: 13px;
4
+ padding-top: 95px;
5
+ text-align: left;
6
+ float: left;
7
+ }
8
+
9
+ div#featurs_tables div {
10
+ vertical-align: top;
11
+ }
12
+
13
+ div#featurs_table1 {
14
+ background-color: rgb(254, 254, 254);
15
+ display: inline-block;
16
+ position: relative;
17
+ vertical-align: top;
18
+ width: 380px;
19
+ height: 684px;
20
+ z-index: 10;
21
+ }
22
+
23
+ div#featurs_table1 span::after {
24
+ background-image: url("../images/arrow3.png");
25
+ background-position: center center;
26
+ background-repeat: no-repeat;
27
+ content: "";
28
+ display: inline-block;
29
+ float: right;
30
+ height: 37px;
31
+ position: relative;
32
+ right: -21px;
33
+ top: -8px;
34
+ width: 26px;
35
+ }
36
+
37
+ div#featurs_table1 span {
38
+ border-left: 1px solid #e5e5e5;
39
+ border-right: 1px solid #e5e5e5;
40
+ border-top: 1px solid #e5e5e5;
41
+ color: #545454;
42
+ background-color: white;
43
+ display: block;
44
+ height: 21px;
45
+ padding: 8px;
46
+ text-align: left;
47
+ }
48
+
49
+ div#featurs_table1 span:last-child,
50
+ div#featurs_table2 span:last-child,
51
+ div#featurs_table3 span:last-child {
52
+ border-bottom: 1px solid #e5e5e5;
53
+ }
54
+
55
+ div#featurs_table2 {
56
+ background-color: rgba(255, 255, 255, 0.9);
57
+ display: inline-block;
58
+ position: relative;
59
+ top: -72px;
60
+ width: 180px;
61
+ }
62
+
63
+ div#featurs_table2 span:first-child,
64
+ div#featurs_table3 span:first-child {
65
+ color: #000;
66
+ font-size: 22px;
67
+ font-weight: bold;
68
+ padding-bottom: 14px;
69
+ padding-top: 2px;
70
+ border-top: 1px solid #e5e5e5;
71
+ border-left: 1px solid #e5e5e5;
72
+ border-right: 1px solid #e5e5e5;
73
+ height: 39px;
74
+ padding-top: 18px;
75
+ }
76
+
77
+ div#featurs_table2 span:first-child {
78
+ border-left: 1px solid #e5e5e5 !important;
79
+ }
80
+
81
+ div#featurs_table2 span {
82
+ border-left: none !important;
83
+ }
84
+
85
+ div#featurs_table2 span,
86
+ div#featurs_table3 span {
87
+ border-top: 1px solid #e5e5e5;
88
+ border-right: 1px solid #e5e5e5;
89
+ border-left: 1px solid #e5e5e5;
90
+ color: #545454;
91
+ display: block;
92
+ height: 21px;
93
+ padding: 8px;
94
+ text-align: center;
95
+ }
96
+
97
+ .download a {
98
+ background-color: #fff;
99
+ border: 6px solid #dddddd;
100
+ border-radius: 50%;
101
+ box-shadow: 0 0 0 7px #eeeeee;
102
+ color: #21439c;
103
+ cursor: pointer;
104
+ display: inline-block;
105
+ font-size: 14px;
106
+ font-style: italic;
107
+ font-weight: bold;
108
+ margin-top: -4px;
109
+ outline: 0 none;
110
+ padding: 32px 9px 32px 2px;
111
+ text-align: center;
112
+ text-decoration: none;
113
+ transition-duration: 0.6s;
114
+ transition-property: border-color;
115
+ transition-timing-function: linear;
116
+ width: 72px;
117
+ }
118
+
119
+ div#featurs_table3 {
120
+ background-color: rgba(255, 255, 255, 0.6);
121
+ display: inline-block;
122
+ position: relative;
123
+ top: -72px;
124
+ width: 180px;
125
+ }
126
+
127
+ div#featurs_table2 span.yes,
128
+ div#featurs_table3 span.yes {
129
+ background-image: url("../images/plus.png");
130
+ background-position: center center;
131
+ background-repeat: no-repeat;
132
+ }
133
+
134
+ span.no {
135
+ background-image: url("../images/minus.png");
136
+ background-position: center center;
137
+ background-repeat: no-repeat;
138
+ }
139
+
140
+ .download input[type="submit"]:hover,
141
+ .download a:hover {
142
+ border-color: #F4762A;
143
+ }
144
+
145
+ #featurs_tables span.download {
146
+ height: 40px !important;
147
+ border-bottom: 1px solid #e5e5e5 !important;
148
+ border-left: 1px solid #e5e5e5 !important;
149
+ }
150
+
151
+ .price_big {
152
+ color: #F47629;
153
+ font-size: 22px;
154
+ }
155
+
156
+ .price {
157
+ display: block;
158
+ color: #F47629;
159
+ }
css/wdi_tables.css ADDED
@@ -0,0 +1,947 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #bullets_images_type,
2
+ #bullets_images_color,
3
+ #bull_style,
4
+ #rl_butt_type,
5
+ #rl_butt_color,
6
+ #rl_butt_style {
7
+ margin: 0 10px 0 0;
8
+ width: 100px;
9
+ }
10
+
11
+ .wds_ctrl_btn_upload {
12
+ display: block !important;
13
+ margin: 5px 0 !important;
14
+ text-align: center;
15
+ vertical-align: middle;
16
+ width: 95%;
17
+ }
18
+
19
+ .wds_reverse {
20
+ margin: 0 5px !important;
21
+ }
22
+
23
+ .wds_free_button,
24
+ .wds_free_button:hover {
25
+ background: linear-gradient(to bottom, #E5E5E5, #E5E5E5) repeat scroll 0 0 #f3f3f3 !important;
26
+ border-color: #bbb !important;
27
+ color: #888888 !important;
28
+ }
29
+
30
+ .wdi_spider_free_version_label,
31
+ .wdi_spider_free_version_label * {
32
+ color: #808080 !important;
33
+ }
34
+
35
+ .wdi_spider_free_version {
36
+ background-color: #DFDFDF;
37
+ border: 1px solid #797979;
38
+ border-radius: 2px;
39
+ padding: 2px;
40
+ width: 210px;
41
+ }
42
+
43
+ .wds_more {
44
+ font-size: 12px;
45
+ }
46
+
47
+ .wrap .button {
48
+ border-radius: 3px !important;
49
+ text-shadow: none !important;
50
+ }
51
+
52
+ .wdi_spider_message_cont {
53
+ display: none;
54
+ width: 99%;
55
+ }
56
+
57
+ .wdi_spider_load {
58
+ display: none;
59
+ }
60
+
61
+ .wdi_spider_load_cont {
62
+ background-color: rgba(0, 0, 0, 0.2);
63
+ left: 0;
64
+ height: 100%;
65
+ position: fixed;
66
+ top: 0;
67
+ width: 100%;
68
+ z-index: 99998;
69
+ }
70
+
71
+ .wdi_spider_load_icon {
72
+ left: 0;
73
+ height: 100%;
74
+ position: fixed;
75
+ text-align: center;
76
+ top: 0;
77
+ width: 100%;
78
+ z-index: 99999;
79
+ }
80
+
81
+ .wdi_spider_ajax_loading {
82
+ border: none !important;
83
+ margin-top: 200px;
84
+ width: 50px;
85
+ -webkit-animation: spin 2.5s infinite linear;
86
+ -moz-animation: spin 2.5s infinite linear;
87
+ -o-animation: spin 2.5s infinite linear;
88
+ animation: spin 2.5s infinite linear;
89
+ }
90
+
91
+ @-moz-keyframes spin {
92
+ 0% {
93
+ -moz-transform: rotate(0deg);
94
+ }
95
+ 100% {
96
+ -moz-transform: rotate(359deg);
97
+ }
98
+ }
99
+ @-webkit-keyframes spin {
100
+ 0% {
101
+ -webkit-transform: rotate(0deg);
102
+ }
103
+ 100% {
104
+ -webkit-transform: rotate(359deg);
105
+ }
106
+ }
107
+ @-o-keyframes spin {
108
+ 0% {
109
+ -o-transform: rotate(0deg);
110
+ }
111
+ 100% {
112
+ -o-transform: rotate(359deg);
113
+ }
114
+ }
115
+ @-ms-keyframes spin {
116
+ 0% {
117
+ -ms-transform: rotate(0deg);
118
+ }
119
+ 100% {
120
+ -ms-transform: rotate(359deg);
121
+ }
122
+ }
123
+ @keyframes spin {
124
+ 0% {
125
+ transform: rotate(0deg);
126
+ }
127
+ 100% {
128
+ transform: rotate(359deg);
129
+ }
130
+ }
131
+
132
+ #TB_window,
133
+ #TB_iframeContent {
134
+ width: 800px !important;
135
+ height: 500px !important;
136
+ }
137
+
138
+ #TB_window {
139
+ margin-left: -400px !important;
140
+ }
141
+
142
+ .wrap * {
143
+ font-size: 12px;
144
+ font-family: sans-serif;
145
+ }
146
+
147
+ .input_th {
148
+ margin-left: 0px !important;
149
+ width: 160px !important;
150
+ font-family: sans-serif;
151
+ }
152
+ .input_th2 {
153
+ margin-left: 0px !important;
154
+ width: 160px !important;
155
+ margin-top:5px;
156
+ height: 19px;
157
+ }
158
+
159
+ .edit_input {
160
+ height: 28px !important;
161
+ padding-bottom: 7px !important;
162
+ }
163
+
164
+ .add_tag_th {
165
+ padding-left: 21px;
166
+ font-size: 12px;
167
+ font-family: sans-serif;
168
+ }
169
+
170
+ .pointer{
171
+ cursor: pointer;
172
+ }
173
+
174
+ .non_selectable {
175
+ -webkit-touch-callout: none;
176
+ -webkit-user-select: none;
177
+ -khtml-user-select: none;
178
+ -moz-user-select: none;
179
+ -ms-user-select: none;
180
+ user-select: none;
181
+ }
182
+
183
+ .wds_position_table td,
184
+ .wds_position_table input{
185
+ border: 1px solid #CCCCCC;
186
+ margin: 2px;
187
+ }
188
+
189
+ .wds_position_table .wds_position_td {
190
+ background-color: #f4f4f4;
191
+ display: inline-block;
192
+ line-height: 1;
193
+ padding: 0 !important;
194
+ }
195
+
196
+ .wdi_spider_div_options {
197
+ background: none repeat scroll 0 0 #F4F4F4;
198
+ border: 1px solid #8F8D8D;
199
+ border-radius: 8px 8px 8px 8px;
200
+ display: none;
201
+ margin: 2px 0 0 190px;
202
+ padding: 13px;
203
+ min-height: 300px;
204
+ min-width: 600px;
205
+ vertical-align: top;
206
+ }
207
+
208
+ .table_small_col {
209
+ text-align: center !important;
210
+ width: 45px;
211
+ }
212
+
213
+ .table_medium_col {
214
+ text-align: center !important;
215
+ width: 70px;
216
+ }
217
+
218
+ .table_big_col {
219
+ text-align: center !important;
220
+ width: 80px;
221
+ }
222
+
223
+ .table_large_col {
224
+ text-align: center !important;
225
+ width: 140px;
226
+ }
227
+
228
+ .table_medium_col_uncenter {
229
+ width: 80px;
230
+ }
231
+
232
+ .table_extra_large_col {
233
+ padding: 4px !important;
234
+ width: 150px !important;
235
+ }
236
+
237
+ .first-page,
238
+ .prev-page,
239
+ .next-page,
240
+ .last-page,
241
+ .table_extra_large_col a,
242
+ .table_medium_col a,
243
+ .table_big_col a,
244
+ .table_small_col a {
245
+ cursor: pointer;
246
+ }
247
+
248
+ .wdi_spider_word_wrap {
249
+ word-wrap: normal;
250
+ }
251
+
252
+ .wdi_spider_description {
253
+ color: #666666;
254
+ font-size: 0.923em;
255
+ line-height: 1.231em;
256
+ }
257
+
258
+ .handle {
259
+ background: url("../images/draggable.png") no-repeat transparent;
260
+ border: none;
261
+ cursor: move;
262
+ display: inline-block;
263
+ height: 15px;
264
+ margin: 0 auto;
265
+ vertical-align: middle;
266
+ width: 15px;
267
+ }
268
+
269
+ .slider-icon {
270
+ background-image: url("../images/slider-icon.png");
271
+ background-repeat: no-repeat;
272
+ border: none;
273
+ float: left;
274
+ height: 32px;
275
+ margin: 7px 8px 0 0;
276
+ width: 32px;
277
+ }
278
+ .uninstall-icon {
279
+ background-image: url("../images/uninstall-icon.png");
280
+ background-repeat: no-repeat;
281
+ border: none;
282
+ float: left;
283
+ height: 32px;
284
+ margin: 7px 8px 0 0;
285
+ width: 32px;
286
+ }
287
+
288
+ .wdi_spider_label {
289
+ font-weight: bold;
290
+ width: 100px;
291
+ }
292
+
293
+ .wdi_spider_label_top {
294
+ font-weight: bold;
295
+ padding-top: 3px;
296
+ vertical-align: top;
297
+ width: 100px;
298
+ }
299
+
300
+ .wdi_spider_fieldset .wdi_spider_label {
301
+ font-weight: bold;
302
+ vertical-align: top;
303
+ width: 150px;
304
+ }
305
+
306
+ .wdi_spider_label_options {
307
+ font-weight: bold;
308
+ vertical-align: top;
309
+ width: 150px;
310
+ }
311
+
312
+ .wdi_spider_choose_option {
313
+ display: table;
314
+ box-shadow: 0px 0px 1px 1px #D2D2D2;
315
+ margin-bottom: 5px;
316
+ border-radius: 2px;
317
+ padding: 2px;
318
+ box-sizing: border-box;
319
+ cursor: pointer;
320
+ width: 100%;
321
+ }
322
+
323
+ .wdi_spider_options_cont,
324
+ .wdi_spider_bull_options_cont,
325
+ .wdi_spider_pp_options_cont,
326
+ .wdi_spider_options_color_cont,
327
+ .wdi_spider_bull_options_color_cont,
328
+ .wdi_spider_pp_options_color_cont {
329
+ display: none;
330
+ width: 180px;
331
+ height: 150px;
332
+ overflow: scroll;
333
+ overflow-x: hidden;
334
+ overflow-y: scroll;
335
+ }
336
+
337
+ .wdi_spider_option_cont {
338
+ display: block;
339
+ border-bottom: 1px solid #D3D3D3;
340
+ padding: 3px 0px 3px 0px;
341
+ box-sizing: content-box;
342
+ width: 98%;
343
+ border-radius: 0px;
344
+ cursor: pointer;
345
+ }
346
+
347
+ .wdi_spider_option_cont_title {
348
+ display: table-cell;
349
+ vertical-align: middle;
350
+ padding: 0px 0px 0px 4px;
351
+ }
352
+
353
+ .wdi_spider_option_cont_img {
354
+ display: table-cell;
355
+ width: 23%;
356
+ height: 15px;
357
+ text-align: right;
358
+ padding: 5px 4px 0px 0px;
359
+ box-sizing: border-box;
360
+ background-color: #EEEEEE;
361
+ }
362
+
363
+ .wdi_spider_option_main_title {
364
+ display: table-cell;
365
+ width: 65%;
366
+ vertical-align: middle;
367
+ padding: 0px 0px 0px 4px;
368
+ color: #555;
369
+ }
370
+
371
+ .wdi_spider_sel_option_ic {
372
+ display: table-cell;
373
+ width: 20%;
374
+ height: 15px;
375
+ text-align: right;
376
+ padding: 0px 6px 0px 0px;
377
+ box-sizing: border-box;
378
+ }
379
+
380
+ .wdi_spider_int_input {
381
+ width: 45px;
382
+ }
383
+
384
+ .wdi_spider_char_input {
385
+ width: 115px;
386
+ }
387
+
388
+ .wdi_spider_text_input {
389
+ width: 190px;
390
+ }
391
+
392
+ .wdi_spider_slider_div {
393
+ display: inline-block;
394
+ vertical-align: middle;
395
+ width: 140px;
396
+ }
397
+
398
+ .wdi_spider_slider_percentage,
399
+ .wdi_spider_slider_percentage input,
400
+ .wdi_spider_slider_percentage input :focus {
401
+ background: transparent;
402
+ border: none;
403
+ color: #00AEEF;
404
+ display: inline;
405
+ font-weight: bold;
406
+ text-align: right;
407
+ vertical-align: middle;
408
+ width: 30px;
409
+ }
410
+
411
+ .updated,
412
+ .error {
413
+ margin: 5px 0 2px !important;
414
+ }
415
+
416
+ .buttons_div {
417
+ clear: both;
418
+ float: right;
419
+ margin: 5px 0;
420
+ }
421
+
422
+ .buttons_div_left {
423
+ float: left;
424
+ margin: 5px 0;
425
+ }
426
+
427
+ .buttons_div_right {
428
+ float: right;
429
+ margin: 5px 0;
430
+ }
431
+
432
+ .wdi_spider_delete_img {
433
+ background-image: url("../images/delete.png");
434
+ border: none;
435
+ cursor: pointer;
436
+ display: inline-block;
437
+ vertical-align: middle;
438
+ height: 14px;
439
+ width: 14px;
440
+ }
441
+
442
+ .wdi_spider_delete_img_small {
443
+ background-image: url("../images/delete.png");
444
+ background-size: 10px auto;
445
+ border: medium none;
446
+ cursor: pointer;
447
+ display: inline-block;
448
+ height: 10px;
449
+ margin-top: 2px;
450
+ vertical-align: middle;
451
+ width: 10px;
452
+ }
453
+
454
+ .wdi_spider_fieldset {
455
+ background: none repeat scroll 0 0 #F4F4F4;
456
+ border: 1px solid #8F8D8D;
457
+ border-radius: 8px 8px 8px 8px;
458
+ display: none;
459
+ float: left;
460
+ margin: 4px;
461
+ padding: 13px;
462
+ width: 97%;
463
+ }
464
+
465
+ .wdi_spider_type_fieldset {
466
+ background: none repeat scroll 0 0 #F4F4F4;
467
+ border-radius: 8px 8px 8px 8px;
468
+ display: none;
469
+ float: left;
470
+ width: 100%;
471
+ }
472
+
473
+ .wdi_spider_child_fieldset {
474
+ background: none repeat scroll 0 0 #F4F4F4;
475
+ border: 1px solid #8F8D8D;
476
+ border-radius: 8px 8px 8px 8px;
477
+ float: left;
478
+ margin: 4px;
479
+ width: 30%;
480
+ padding: 13px;
481
+ display: block;
482
+ }
483
+
484
+ .wdi_spider_table td {
485
+ padding: 0;
486
+ vertical-align: middle;
487
+ }
488
+
489
+ .wdi_spider_ctrls {
490
+ padding: 4px;
491
+ text-align: center;
492
+ width: 40px;
493
+ }
494
+
495
+ .theme_type {
496
+ background-color: #F4F4F4;
497
+ border: 1px solid #8F8D8D;
498
+ border-radius: 8px 8px 8px 8px;
499
+ cursor: pointer;
500
+ display: inline-block;
501
+ font-size: 16px;
502
+ height: 24px;
503
+ padding-top: 5px;
504
+ text-align: center;
505
+ vertical-align: middle;
506
+ width: 123px;
507
+ margin: 2px 0px 2px 0px;
508
+ }
509
+
510
+ .ui-slider-handle {
511
+ cursor: pointer !important;
512
+ }
513
+
514
+ .thumb {
515
+ border: 1px solid #CCCCCC;
516
+ max-height: 120px;
517
+ max-width: 120px;
518
+ }
519
+
520
+ .fileDescription {
521
+ color: #666666;
522
+ cursor: pointer;
523
+ font-family: sans-serif;
524
+ font-size: 12px;
525
+ }
526
+
527
+ .filename {
528
+ font-size: 13px;
529
+ }
530
+
531
+ .tag_div {
532
+ background-clip: padding-box;
533
+ background-color: #F3F3F3;
534
+ border: 1px solid #AAAAAA;
535
+ border-radius: 3px 3px 3px 3px;
536
+ box-shadow: 0 0 2px #FFFFFF inset, 0 1px 0 rgba(0, 0, 0, 0.05);
537
+ color: #666666;
538
+ line-height: 13px;
539
+ margin: 2px 0;
540
+ padding: 2px 5px 2px 5px;
541
+ width: 132px;
542
+ }
543
+
544
+ .tags_div {
545
+ overflow-y: auto;
546
+ height: 65px;
547
+ }
548
+
549
+ .tag_name {
550
+ width: 118px;
551
+ }
552
+
553
+ .edit_thumb {
554
+ cursor: pointer;
555
+ }
556
+
557
+ .wdi_spider_rotate {
558
+ border-radius: 2px;
559
+ border: 1px solid #FFFFFF;
560
+ height: 30px;
561
+ }
562
+
563
+ .wdi_spider_search_value {
564
+ height: 2em;
565
+ margin: 0 0 4px;
566
+ }
567
+
568
+ #th_order,
569
+ .wdi_spider_order {
570
+ display: none;
571
+ }
572
+
573
+ .wds_add_video,
574
+ .wds_resize_image,
575
+ .wds_import,
576
+ .wds_exports {
577
+ display: none;
578
+ padding: 10px;
579
+ height: 60px;
580
+ background-color: #FFFFFF;
581
+ border: 1px solid #999999;
582
+ top: 50%;
583
+ position: fixed;
584
+ left: 50%;
585
+ text-align: left;
586
+ z-index: 100000;
587
+ border-radius: 3px;
588
+ margin-top: -45px;
589
+ }
590
+
591
+ .wds_add_video,
592
+ .wds_resize_image {
593
+ margin-left: -340px;
594
+ }
595
+
596
+ .wds_exports {
597
+ margin-left: -240px;
598
+ }
599
+
600
+ .wds_import {
601
+ margin-left: -185px;
602
+ }
603
+
604
+ .wds_add_video input[type="text"],
605
+ .wds_resize_image input[type="text"] {
606
+ width: 500px;
607
+ }
608
+
609
+
610
+ .wds_opacity_video,
611
+ .wds_opacity_import,
612
+ .wds_opacity_export {
613
+ background-color: #000000;
614
+ display: none;
615
+ opacity: 0.75;
616
+ filter: Alpha(opacity=75);
617
+ position: fixed;
618
+ top: 0;
619
+ left: 0;
620
+ width: 100%;
621
+ height: 100%;
622
+ z-index: 99998;
623
+ }
624
+
625
+ .widefat .check-column {
626
+ text-align: center;
627
+ }
628
+
629
+ .wds_tabs {
630
+ clear: both;
631
+ display: none;
632
+ position: relative;
633
+ z-index: 1;
634
+ }
635
+
636
+ .wds_tabs a.wds_sub_active,
637
+ .wds_tabs a.wds_active {
638
+ background-color: #F5F5F5;
639
+ border-bottom: 1px solid #F5F5F5;
640
+ color: #333;
641
+ }
642
+
643
+ .wds_tabs a {
644
+ background-color: #f9f9f9;
645
+ border: 1px solid #dfdfdf;
646
+ border-top-left-radius: 3px;
647
+ border-top-right-radius: 3px;
648
+ color: #c7c7c7;
649
+ display: block !important;
650
+ float: left;
651
+ font: bold 17px/32px Arial,serif;
652
+ height: 30px;
653
+ margin: 3px 3px 0 0;
654
+ padding: 0 10px;
655
+ position: relative;
656
+ text-decoration: none;
657
+ width: 130px;
658
+ }
659
+
660
+ .wbs_subtab a {
661
+ font: bold 14px/26px Arial,serif;
662
+ height: 26px;
663
+ padding: 0 5px;
664
+ width: 105px;
665
+ }
666
+
667
+ .wds_add_layer {
668
+ font: normal 20px/28px Arial,serif !important;
669
+ width: initial !important;
670
+ padding: 0 9px !important;
671
+ }
672
+
673
+ .wds_tab_title {
674
+ background: none repeat scroll 0 0 transparent !important;
675
+ border: none !important;
676
+ cursor: pointer;
677
+ opacity: 0.5;
678
+ filter: Alpha(opacity=50);
679
+ padding: 1px;
680
+ vertical-align: middle;
681
+ width: 50px;
682
+ }
683
+
684
+ .wds_sub_active .wds_tab_title,
685
+ .wds_layer_title {
686
+ background-color: #FFFFFF !important;
687
+ border-color: #DFDFDF !important;
688
+ border-radius: 3px !important;
689
+ border-style: solid !important;
690
+ border-width: 1px !important;
691
+ cursor: pointer;
692
+ opacity: 1;
693
+ filter: Alpha(opacity=100);
694
+ }
695
+
696
+ .wds_tab_remove {
697
+ background-image: url("../images/close.png");
698
+ background-repeat: no-repeat;
699
+ background-size: 100% 100%;
700
+ display: inline-block;
701
+ width: 9px;
702
+ height: 9px;
703
+ opacity: 0.5;
704
+ filter: Alpha(opacity=50);
705
+ vertical-align: middle;
706
+ }
707
+
708
+ .wds_layer_remove {
709
+ background-image: url("../images/close.png");
710
+ background-repeat: no-repeat;
711
+ background-size: 100% 100%;
712
+ display: inline-block;
713
+ width: 15px;
714
+ height: 15px;
715
+ margin: 5px;
716
+ float: right;
717
+ }
718
+
719
+ .wds_layer_dublicate {
720
+ background-image: url("../images/duplicate.png");
721
+ background-repeat: no-repeat;
722
+ background-size: 100% 100%;
723
+ display: inline-block;
724
+ width: 15px;
725
+ height: 15px;
726
+ margin: 5px;
727
+ float: right;
728
+ }
729
+
730
+ .wds_slide_dublicate {
731
+ background-image: url("../images/duplicate.png");
732
+ background-repeat: no-repeat;
733
+ background-size: 100% 100%;
734
+ display: inline-block;
735
+ width: 12px;
736
+ height: 12px;
737
+ vertical-align: middle;
738
+ }
739
+
740
+ .wds_layer_depth {
741
+ float: right;
742
+ font-size: 13px;
743
+ line-height: 15px;
744
+ margin: 1px 5px;
745
+ text-align: left;
746
+ width: 40px;
747
+ }
748
+
749
+ .wds_layer_label {
750
+ display: inline-block;
751
+ font-size: 13px;
752
+ width: 80%;
753
+ }
754
+
755
+ .wds_sub_active .wds_tab_remove {
756
+ cursor: pointer !important;
757
+ opacity: 1;
758
+ filter: Alpha(opacity=100);
759
+ }
760
+
761
+ .wds_box.wds_sub_active,
762
+ .wds_box.wds_active {
763
+ display: block;
764
+ }
765
+
766
+ .wds_tab_label {
767
+ display: block;
768
+ width: inherit;
769
+ }
770
+
771
+ .wds_box {
772
+ display: none;
773
+ margin-top: 0 !important;
774
+ position: relative;
775
+ top: -1px;
776
+ }
777
+
778
+ .wds_box {
779
+ border: 1px solid #dfdfdf;
780
+ border-radius: 3px;
781
+ box-shadow: 0 0 10px #f2f2f2;
782
+ margin-top: 15px;
783
+ position: relative;
784
+ }
785
+
786
+ .wds_clear {
787
+ clear: both;
788
+ float: none !important;
789
+ }
790
+
791
+ .wds_box thead td {
792
+ border-bottom: 0 none !important;
793
+ }
794
+
795
+ .wds_box tbody {
796
+ background-color: #FFFFFF;
797
+ border-top: 0 none;
798
+ padding-left: 10px;
799
+ }
800
+
801
+ .wds_box thead {
802
+ background: -webkit-linear-gradient(#F5F5F5, #FFFFFF);
803
+ background: -o-linear-gradient(#F5F5F5, #FFFFFF);
804
+ background: -moz-linear-gradient(#F5F5F5, #FFFFFF);
805
+ background: linear-gradient(#F5F5F5, #FFFFFF);
806
+ border-top: 0 none;
807
+ border-bottom: 0 none;
808
+ color: #333;
809
+ font: bold 12px/29px Arial,serif;
810
+ height: 29px;
811
+ margin: 0;
812
+ padding: 0 10px;
813
+ text-align: left;
814
+ text-shadow: 0 1px 0 #fff;
815
+ }
816
+
817
+ .wds_box table {
818
+ border-collapse: collapse;
819
+ border-spacing: 0;
820
+ width: 100%;
821
+ }
822
+
823
+ .wds_nav_tabs {
824
+ background-color: #F5F5F5;
825
+ border-right: 1px solid #DFDFDF;
826
+ float: left;
827
+ height: 640px;
828
+ margin: 0;
829
+ width: 150px;
830
+ }
831
+
832
+ .wds_nav_tabs ul {
833
+ list-style: none outside none;
834
+ margin: 10px 0;
835
+ padding: 0;
836
+ }
837
+
838
+ .wds_nav_tabs .wds_sub_active,
839
+ .wds_nav_tabs .wds_sub_active a,
840
+ .wds_nav_tabs .wds_sub_active a:hover,
841
+ .wds_nav_tabs .wds_active,
842
+ .wds_nav_tabs .wds_active a,
843
+ .wds_nav_tabs .wds_active a:hover {
844
+ background: none repeat scroll 0 0 #fff;
845
+ color: #333;
846
+ }
847
+
848
+ .wds_nav_tabs .wds_active {
849
+ border-color: #DFDFDF;
850
+ border-width: 1px 0 1px 1px;
851
+ border-style: solid;
852
+ margin: 0 -1px 0 -4px;
853
+ padding: 0;
854
+ }
855
+
856
+ .wds_nav_tabs li {
857
+ border-color: transparent;
858
+ border-style: solid;
859
+ border-width: 1px 0;
860
+ list-style-type: none;
861
+ margin-bottom: 0;
862
+ }
863
+
864
+ .wds_nav_tabs a {
865
+ display: block;
866
+ line-height: 18px;
867
+ padding: 5px 5px 5px 12px;
868
+ text-decoration: none;
869
+ }
870
+
871
+ .wds_nav_box {
872
+ background: none repeat scroll 0 0 #fff;
873
+ display: none;
874
+ height: 610px;
875
+ overflow: auto;
876
+ padding: 15px;
877
+ }
878
+
879
+ .wds_nav_box.wds_active {
880
+ display: block;
881
+ }
882
+
883
+ .wds_layer_head {
884
+ background-color: #F5F5F5;
885
+ border-bottom: 1px solid #DFDFDF;
886
+ border-top: 1px solid #DFDFDF;
887
+ cursor: pointer;
888
+ padding: 5px;
889
+ }
890
+
891
+ .wds_layer_head .handle {
892
+ cursor: move;
893
+ display: inline-block;
894
+ margin: 5px;
895
+ }
896
+
897
+ .wds_box td {
898
+ padding: 10px !important;
899
+ }
900
+
901
+ .wds_draggable {
902
+ box-sizing: border-box;
903
+ cursor: move;
904
+ }
905
+
906
+ .wds_box .color {
907
+ width: 60px;
908
+ }
909
+
910
+ .wds_active_layer {
911
+ box-shadow: rgb(44, 36, 36) 0px 0px 5px;
912
+ border-radius: 3px;
913
+ }
914
+
915
+ .wds_draggable a,
916
+ .wds_draggable a:hover {
917
+ color: inherit !important;
918
+ font-size: inherit !important;
919
+ font-style: inherit !important;
920
+ font-weight: inherit !important;
921
+ text-decoration: none;
922
+ }
923
+
924
+ #add_embed_help {
925
+ height: 200px;
926
+ width: 672px;
927
+ top: 40%;
928
+ }
929
+
930
+ #add_embed input[type="text"] {
931
+ width: 500px;
932
+ }
933
+
934
+ .wds_buttons {
935
+ float: right;
936
+ font-weight: normal;
937
+ position: relative;
938
+ }
939
+
940
+ .wds_reset_button {
941
+ display: none;
942
+ font-weight: normal;
943
+ margin: 10px 0;
944
+ position: absolute;
945
+ right: 40px;
946
+ z-index: 1;
947
+ }
demo_images/1.png ADDED
Binary file
demo_images/2.png ADDED
Binary file
demo_images/3.png ADDED
Binary file
demo_images/4.png ADDED
Binary file
demo_images/5.png ADDED
Binary file
demo_images/6.png ADDED
Binary file
demo_images/7.png ADDED
Binary file
demo_images/8.png ADDED
Binary file
demo_images/l1.png ADDED
Binary file
demo_images/l2.png ADDED
Binary file
demo_images/l3.png ADDED
Binary file
demo_images/l4.png ADDED
Binary file
demo_images/l5.png ADDED
Binary file
demo_images/l6.png ADDED
Binary file
demo_images/l7.png ADDED
Binary file
framework/WDILibrary.php ADDED
@@ -0,0 +1,961 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDILibrary {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+
19
+
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ // Public Methods //
22
+ ////////////////////////////////////////////////////////////////////////////////////////
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ // Getters & Setters //
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ public static function get($key, $default_value = '') {
27
+ if (isset($_GET[$key])) {
28
+ $value = $_GET[$key];
29
+ }
30
+ elseif (isset($_POST[$key])) {
31
+ $value = $_POST[$key];
32
+ }
33
+ else {
34
+ $value = '';
35
+ }
36
+ if (!$value) {
37
+ $value = $default_value;
38
+ }
39
+ return esc_html($value);
40
+ }
41
+
42
+ public static function message_id($message_id) {
43
+ if ($message_id) {
44
+ switch($message_id) {
45
+ case 1: {
46
+ $message = 'Item Succesfully Saved.';
47
+ $type = 'updated';
48
+ break;
49
+
50
+ }
51
+ case 2: {
52
+ $message = 'Error. Please install plugin again.';
53
+ $type = 'error';
54
+ break;
55
+
56
+ }
57
+ case 3: {
58
+ $message = 'Item Succesfully Deleted.';
59
+ $type = 'updated';
60
+ break;
61
+
62
+ }
63
+ case 4: {
64
+ $message = "You can't delete default theme";
65
+ $type = 'error';
66
+ break;
67
+
68
+ }
69
+ case 5: {
70
+ $message = 'Items Succesfully Deleted.';
71
+ $type = 'updated';
72
+ break;
73
+
74
+ }
75
+ case 6: {
76
+ $message = 'You must select at least one item.';
77
+ $type = 'error';
78
+ break;
79
+
80
+ }
81
+ case 7: {
82
+ $message = 'The item is successfully set as default.';
83
+ $type = 'updated';
84
+ break;
85
+
86
+ }
87
+ case 8: {
88
+ $message = 'Options Succesfully Saved.';
89
+ $type = 'updated';
90
+ break;
91
+
92
+ }
93
+ case 9: {
94
+ $message = 'Item Succesfully Published.';
95
+ $type = 'updated';
96
+ break;
97
+
98
+ }
99
+ case 10: {
100
+ $message = 'Items Succesfully Published.';
101
+ $type = 'updated';
102
+ break;
103
+
104
+ }
105
+ case 11: {
106
+ $message = 'Item Succesfully Unpublished.';
107
+ $type = 'updated';
108
+ break;
109
+
110
+ }
111
+ case 12: {
112
+ $message = 'Items Succesfully Unpublished.';
113
+ $type = 'updated';
114
+ break;
115
+
116
+ }
117
+ case 13: {
118
+ $message = 'Ordering Succesfully Saved.';
119
+ $type = 'updated';
120
+ break;
121
+
122
+ }
123
+ case 14: {
124
+ $message = 'A term with the name provided already exists.';
125
+ $type = 'error';
126
+ break;
127
+
128
+ }
129
+ case 15: {
130
+ $message = 'Name field is required.';
131
+ $type = 'error';
132
+ break;
133
+
134
+ }
135
+ case 16: {
136
+ $message = 'The slug must be unique.';
137
+ $type = 'error';
138
+ break;
139
+
140
+ }
141
+ case 17: {
142
+ $message = 'Changes must be saved.';
143
+ $type = 'error';
144
+ break;
145
+
146
+ }
147
+ }
148
+ return '<div style="width:99%"><div class="' . $type . '"><p><strong>' . $message . '</strong></p></div></div>';
149
+ }
150
+ }
151
+
152
+ public static function message($message, $type) {
153
+ return '<div style="width:99%"><div class="' . $type . '"><p><strong>' . $message . '</strong></p></div></div>';
154
+ }
155
+
156
+ public static function search($search_by, $search_value, $form_id) {
157
+ ?>
158
+ <div class="alignleft actions" style="clear:both;">
159
+ <script>
160
+ function wdi_spider_search() {
161
+ document.getElementById("page_number").value = "1";
162
+ document.getElementById("search_or_not").value = "search";
163
+ document.getElementById("<?php echo $form_id; ?>").submit();
164
+ }
165
+ function wdi_spider_reset() {
166
+ if (document.getElementById("search_value")) {
167
+ document.getElementById("search_value").value = "";
168
+ }
169
+ if (document.getElementById("search_select_value")) {
170
+ document.getElementById("search_select_value").value = 0;
171
+ }
172
+ document.getElementById("<?php echo $form_id; ?>").submit();
173
+ }
174
+ function check_search_key(e, that) {
175
+ var key_code = (e.keyCode ? e.keyCode : e.which);
176
+ if (key_code == 13) { /*Enter keycode*/
177
+ wdi_spider_search();
178
+ return false;
179
+ }
180
+ return true;
181
+ }
182
+ </script>
183
+ <div class="alignleft actions" style="">
184
+ <label for="search_value" style="font-size:14px; width:50px; display:inline-block;"><?php echo $search_by; ?>:</label>
185
+ <input type="text" id="search_value" name="search_value" class="wdi_spider_search_value" onkeypress="return check_search_key(event, this);" value="<?php echo esc_html($search_value); ?>" style="width: 150px;<?php echo (get_bloginfo('version') > '3.7') ? ' height: 28px;' : ''; ?>" />
186
+ </div>
187
+ <div class="alignleft actions">
188
+ <input type="button" value="<?php _e('Search',"wdi");?>" onclick="wdi_spider_search()" class="button-secondary action">
189
+ <input type="button" value="<?php _e('Reset',"wdi");?>" onclick="wdi_spider_reset()" class="button-secondary action">
190
+ </div>
191
+ </div>
192
+ <?php
193
+ }
194
+
195
+ public static function search_select($search_by, $search_select_id = 'search_select_value', $search_select_value, $playlists, $form_id) {
196
+ ?>
197
+ <div class="alignleft actions" style="clear:both;">
198
+ <script>
199
+ function wdi_spider_search_select() {
200
+ document.getElementById("page_number").value = "1";
201
+ document.getElementById("search_or_not").value = "search";
202
+ document.getElementById("<?php echo $form_id; ?>").submit();
203
+ }
204
+ </script>
205
+ <div class="alignleft actions" >
206
+ <label for="<?php echo $search_select_id; ?>" style="font-size:14px; width:50px; display:inline-block;"><?php echo $search_by; ?>:</label>
207
+ <select id="<?php echo $search_select_id; ?>" name="<?php echo $search_select_id; ?>" onchange="wdi_spider_search_select();" style="float: none; width: 150px;">
208
+ <?php
209
+ foreach ($playlists as $id => $playlist) {
210
+ ?>
211
+ <option value="<?php echo $id; ?>" <?php echo (($search_select_value == $id) ? 'selected="selected"' : ''); ?>><?php echo $playlist; ?></option>
212
+ <?php
213
+ }
214
+ ?>
215
+ </select>
216
+ </div>
217
+ </div>
218
+ <?php
219
+ }
220
+
221
+ public static function html_page_nav($count_items, $page_number, $form_id, $items_per_page = 20) {
222
+ $limit = 20;
223
+ if ($count_items) {
224
+ if ($count_items % $limit) {
225
+ $items_county = ($count_items - $count_items % $limit) / $limit + 1;
226
+ }
227
+ else {
228
+ $items_county = ($count_items - $count_items % $limit) / $limit;
229
+ }
230
+ }
231
+ else {
232
+ $items_county = 1;
233
+ }
234
+ ?>
235
+ <script type="text/javascript">
236
+ var items_county = <?php echo $items_county; ?>;
237
+ function wdi_spider_page(x, y) {
238
+ switch (y) {
239
+ case 1:
240
+ if (x >= items_county) {
241
+ document.getElementById('page_number').value = items_county;
242
+ }
243
+ else {
244
+ document.getElementById('page_number').value = x + 1;
245
+ }
246
+ break;
247
+ case 2:
248
+ document.getElementById('page_number').value = items_county;
249
+ break;
250
+ case -1:
251
+ if (x == 1) {
252
+ document.getElementById('page_number').value = 1;
253
+ }
254
+ else {
255
+ document.getElementById('page_number').value = x - 1;
256
+ }
257
+ break;
258
+ case -2:
259
+ document.getElementById('page_number').value = 1;
260
+ break;
261
+ default:
262
+ document.getElementById('page_number').value = 1;
263
+ }
264
+ document.getElementById('<?php echo $form_id; ?>').submit();
265
+ }
266
+ function check_enter_key(e) {
267
+ var key_code = (e.keyCode ? e.keyCode : e.which);
268
+ if (key_code == 13) { /*Enter keycode*/
269
+ if (jQuery('#current_page').val() >= items_county) {
270
+ document.getElementById('page_number').value = items_county;
271
+ }
272
+ else {
273
+ document.getElementById('page_number').value = jQuery('#current_page').val();
274
+ }
275
+ document.getElementById('<?php echo $form_id; ?>').submit();
276
+ }
277
+ return true;
278
+ }
279
+ </script>
280
+ <div class="tablenav-pages">
281
+ <span class="displaying-num">
282
+ <?php
283
+ if ($count_items != 0) {
284
+ echo $count_items; ?> item<?php echo (($count_items == 1) ? '' : 's');
285
+ }
286
+ ?>
287
+ </span>
288
+ <?php
289
+ if ($count_items > $items_per_page) {
290
+ $first_page = "first-page";
291
+ $prev_page = "prev-page";
292
+ $next_page = "next-page";
293
+ $last_page = "last-page";
294
+ if ($page_number == 1) {
295
+ $first_page = "first-page disabled";
296
+ $prev_page = "prev-page disabled";
297
+ $next_page = "next-page";
298
+ $last_page = "last-page";
299
+ }
300
+ if ($page_number >= $items_county) {
301
+ $first_page = "first-page ";
302
+ $prev_page = "prev-page";
303
+ $next_page = "next-page disabled";
304
+ $last_page = "last-page disabled";
305
+ }
306
+ ?>
307
+ <span class="pagination-links">
308
+ <a class="<?php echo $first_page; ?>" title="Go to the first page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,-2);">«</a>
309
+ <a class="<?php echo $prev_page; ?>" title="Go to the previous page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,-1);">‹</a>
310
+ <span class="paging-input">
311
+ <span class="total-pages">
312
+ <input class="current_page" id="current_page" name="current_page" value="<?php echo $page_number; ?>" onkeypress="return check_enter_key(event)" title="Go to the page" type="text" size="1" />
313
+ </span> of
314
+ <span class="total-pages">
315
+ <?php echo $items_county; ?>
316
+ </span>
317
+ </span>
318
+ <a class="<?php echo $next_page ?>" title="Go to the next page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,1);">›</a>
319
+ <a class="<?php echo $last_page ?>" title="Go to the last page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,2);">»</a>
320
+ <?php
321
+ }
322
+ ?>
323
+ </span>
324
+ </div>
325
+ <input type="hidden" id="page_number" name="page_number" value="<?php echo ((isset($_POST['page_number'])) ? (int) $_POST['page_number'] : 1); ?>" />
326
+ <input type="hidden" id="search_or_not" name="search_or_not" value="<?php echo ((isset($_POST['search_or_not'])) ? esc_html($_POST['search_or_not']) : ''); ?>"/>
327
+ <?php
328
+ }
329
+
330
+ public static function ajax_search($search_by, $search_value, $form_id) {
331
+ ?>
332
+ <div class="alignleft actions" style="clear:both;">
333
+ <script>
334
+ function wdi_spider_search() {
335
+ document.getElementById("page_number").value = "1";
336
+ document.getElementById("search_or_not").value = "search";
337
+ wdi_spider_ajax_save('<?php echo $form_id; ?>');
338
+ }
339
+ function wdi_spider_reset() {
340
+ if (document.getElementById("search_value")) {
341
+ document.getElementById("search_value").value = "";
342
+ }
343
+ wdi_spider_ajax_save('<?php echo $form_id; ?>');
344
+ }
345
+ function check_search_key(e, that) {
346
+ var key_code = (e.keyCode ? e.keyCode : e.which);
347
+ if (key_code == 13) { /*Enter keycode*/
348
+ wdi_spider_search();
349
+ return false;
350
+ }
351
+ return true;
352
+ }
353
+ </script>
354
+ <div class="alignleft actions" style="">
355
+ <label for="search_value" style="font-size:14px; width:60px; display:inline-block;"><?php echo $search_by; ?>:</label>
356
+ <input type="text" id="search_value" name="search_value" class="wdi_spider_search_value" onkeypress="return check_search_key(event, this);" value="<?php echo esc_html($search_value); ?>" style="width: 150px;<?php echo (get_bloginfo('version') > '3.7') ? ' height: 28px;' : ''; ?>" />
357
+ </div>
358
+ <div class="alignleft actions">
359
+ <input type="button" value="Search" onclick="wdi_spider_search()" class="button-secondary action">
360
+ <input type="button" value="Reset" onclick="wdi_spider_reset()" class="button-secondary action">
361
+ </div>
362
+ </div>
363
+ <?php
364
+ }
365
+
366
+ public static function ajax_html_page_nav($count_items, $page_number, $form_id, $items_per_page = 20, $pager = 0) {
367
+ $limit = $items_per_page;
368
+
369
+ if ($count_items) {
370
+ if ($count_items % $limit) {
371
+ $items_county = ($count_items - $count_items % $limit) / $limit + 1;
372
+ }
373
+ else {
374
+ $items_county = ($count_items - $count_items % $limit) / $limit;
375
+ }
376
+ }
377
+ else {
378
+ $items_county = 1;
379
+ }
380
+ if (!$pager) {
381
+ ?>
382
+ <script type="text/javascript">
383
+ var items_county = <?php echo $items_county; ?>;
384
+ function wdi_spider_page(x, y) {
385
+ switch (y) {
386
+ case 1:
387
+ if (x >= items_county) {
388
+ document.getElementById('page_number').value = items_county;
389
+ }
390
+ else {
391
+ document.getElementById('page_number').value = x + 1;
392
+ }
393
+ break;
394
+ case 2:
395
+ document.getElementById('page_number').value = items_county;
396
+ break;
397
+ case -1:
398
+ if (x == 1) {
399
+ document.getElementById('page_number').value = 1;
400
+ }
401
+ else {
402
+ document.getElementById('page_number').value = x - 1;
403
+ }
404
+ break;
405
+ case -2:
406
+ document.getElementById('page_number').value = 1;
407
+ break;
408
+ default:
409
+ document.getElementById('page_number').value = 1;
410
+ }
411
+ wdi_spider_ajax_save('<?php echo $form_id; ?>');
412
+ }
413
+ function check_enter_key(e, that) {
414
+ var key_code = (e.keyCode ? e.keyCode : e.which);
415
+ if (key_code == 13) { /*Enter keycode*/
416
+ if (jQuery(that).val() >= items_county) {
417
+ document.getElementById('page_number').value = items_county;
418
+ }
419
+ else {
420
+ document.getElementById('page_number').value = jQuery(that).val();
421
+ }
422
+ wdi_spider_ajax_save('<?php echo $form_id; ?>');
423
+ return false;
424
+ }
425
+ return true;
426
+ }
427
+ </script>
428
+ <?php } ?>
429
+ <div id="tablenav-pages" class="tablenav-pages">
430
+ <span class="displaying-num">
431
+ <?php
432
+ if ($count_items != 0) {
433
+ echo $count_items; ?> item<?php echo (($count_items == 1) ? '' : 's');
434
+ }
435
+ ?>
436
+ </span>
437
+ <?php
438
+ if ($count_items > $limit) {
439
+ $first_page = "first-page";
440
+ $prev_page = "prev-page";
441
+ $next_page = "next-page";
442
+ $last_page = "last-page";
443
+ if ($page_number == 1) {
444
+ $first_page = "first-page disabled";
445
+ $prev_page = "prev-page disabled";
446
+ $next_page = "next-page";
447
+ $last_page = "last-page";
448
+ }
449
+ if ($page_number >= $items_county) {
450
+ $first_page = "first-page ";
451
+ $prev_page = "prev-page";
452
+ $next_page = "next-page disabled";
453
+ $last_page = "last-page disabled";
454
+ }
455
+ ?>
456
+ <span class="pagination-links">
457
+ <a class="<?php echo $first_page; ?>" title="Go to the first page" onclick="wdi_spider_page(<?php echo $page_number; ?>,-2)">«</a>
458
+ <a class="<?php echo $prev_page; ?>" title="Go to the previous page" onclick="wdi_spider_page(<?php echo $page_number; ?>,-1)">‹</a>
459
+ <span class="paging-input">
460
+ <span class="total-pages">
461
+ <input class="current_page" id="current_page" name="current_page" value="<?php echo $page_number; ?>" onkeypress="return check_enter_key(event, this)" title="Go to the page" type="text" size="1" />
462
+ </span> of
463
+ <span class="total-pages">
464
+ <?php echo $items_county; ?>
465
+ </span>
466
+ </span>
467
+ <a class="<?php echo $next_page ?>" title="Go to the next page" onclick="wdi_spider_page(<?php echo $page_number; ?>,1)">›</a>
468
+ <a class="<?php echo $last_page ?>" title="Go to the last page" onclick="wdi_spider_page(<?php echo $page_number; ?>,2)">»</a>
469
+ <?php
470
+ }
471
+ ?>
472
+ </span>
473
+ </div>
474
+ <?php if (!$pager) { ?>
475
+ <input type="hidden" id="page_number" name="page_number" value="<?php echo ((isset($_POST['page_number'])) ? (int) $_POST['page_number'] : 1); ?>" />
476
+ <input type="hidden" id="search_or_not" name="search_or_not" value="<?php echo ((isset($_POST['search_or_not'])) ? esc_html($_POST['search_or_not']) : ''); ?>"/>
477
+ <?php
478
+ }
479
+ }
480
+
481
+ public static function ajax_html_frontend_page_nav($theme_row, $count_items, $page_number, $form_id, $limit = 20, $current_view, $id, $cur_alb_gal_id = 0, $type = 'album', $enable_seo = false, $pagination = 1) {
482
+ $type = (isset($_POST['type_' . $current_view]) ? esc_html($_POST['type_' . $current_view]) : $type);
483
+ $album_gallery_id = (isset($_POST['album_gallery_id_' . $current_view]) ? esc_html($_POST['album_gallery_id_' . $current_view]) : $cur_alb_gal_id);
484
+ if ($count_items) {
485
+ if ($count_items % $limit) {
486
+ $items_county = ($count_items - $count_items % $limit) / $limit + 1;
487
+ }
488
+ else {
489
+ $items_county = ($count_items - $count_items % $limit) / $limit;
490
+ }
491
+ }
492
+ else {
493
+ $items_county = 1;
494
+ }
495
+ if ($page_number > $items_county) {
496
+ return;
497
+ }
498
+ $first_page = "first-page-" . $current_view;
499
+ $prev_page = "prev-page-" . $current_view;
500
+ $next_page = "next-page-" . $current_view;
501
+ $last_page = "last-page-" . $current_view;
502
+ ?>
503
+ <span class="wdi_nav_cont_<?php echo $current_view; ?>">
504
+ <?php
505
+ if ($pagination == 1) {
506
+ ?>
507
+ <div class="tablenav-pages_<?php echo $current_view; ?>">
508
+ <?php
509
+ if ($theme_row->page_nav_number) {
510
+ ?>
511
+ <span class="displaying-num_<?php echo $current_view; ?>"><?php echo $count_items . __(' item(s)', 'wdi'); ?></span>
512
+ <?php
513
+ }
514
+ if ($count_items > $limit) {
515
+ if ($theme_row->page_nav_button_text) {
516
+ $first_button = __('First', 'wdi');
517
+ $previous_button = __('Previous', 'wdi');
518
+ $next_button = __('Next', 'wdi');
519
+ $last_button = __('Last', 'wdi');
520
+ }
521
+ else {
522
+ $first_button = '«';
523
+ $previous_button = '‹';
524
+ $next_button = '›';
525
+ $last_button = '»';
526
+ }
527
+ if ($page_number == 1) {
528
+ $first_page = "first-page disabled";
529
+ $prev_page = "prev-page disabled";
530
+ }
531
+ if ($page_number >= $items_county) {
532
+ $next_page = "next-page disabled";
533
+ $last_page = "last-page disabled";
534
+ }
535
+ ?>
536
+ <span class="pagination-links_<?php echo $current_view; ?>">
537
+ <a class="<?php echo $first_page; ?>" title="<?php echo __('Go to the first page', 'wdi'); ?>"><?php echo $first_button; ?></a>
538
+ <a class="<?php echo $prev_page; ?>" title="<?php echo __('Go to the previous page', 'wdi'); ?>" <?php echo $page_number > 1 && $enable_seo ? 'href="' . add_query_arg(array("page_number_" . $current_view => $page_number - 1), $_SERVER['REQUEST_URI']) . '"' : ""; ?>><?php echo $previous_button; ?></a>
539
+ <span class="paging-input_<?php echo $current_view; ?>">
540
+ <span class="total-pages_<?php echo $current_view; ?>"><?php echo $page_number; ?></span> <?php echo __('of', 'wdi'); ?> <span class="total-pages_<?php echo $current_view; ?>">
541
+ <?php echo $items_county; ?>
542
+ </span>
543
+ </span>
544
+ <a class="<?php echo $next_page ?>" title="<?php echo __('Go to the next page', 'wdi'); ?>" <?php echo $page_number + 1 <= $items_county && $enable_seo ? 'href="' . add_query_arg(array("page_number_" . $current_view => $page_number + 1), $_SERVER['REQUEST_URI']) . '"' : ""; ?>><?php echo $next_button; ?></a>
545
+ <a class="<?php echo $last_page ?>" title="<?php echo __('Go to the last page', 'wdi'); ?>"><?php echo $last_button; ?></a>
546
+ </span>
547
+ <?php
548
+ }
549
+ ?>
550
+ </div>
551
+ <?php
552
+ }
553
+ elseif ($pagination == 2) {
554
+ if ($count_items > $limit * $page_number) {
555
+ ?>
556
+ <div id="wdi_load_<?php echo $current_view; ?>" class="tablenav-pages_<?php echo $current_view; ?>">
557
+ <a class="wdi_load_btn_<?php echo $current_view; ?> wdi_load_btn" href="javascript:void(0);"><?php echo __('Load More...', 'wdi'); ?></a>
558
+ <input type="hidden" id="wdi_load_more_<?php echo $current_view; ?>" name="wdi_load_more_<?php echo $current_view; ?>" value="on" />
559
+ </div>
560
+ <?php
561
+ }
562
+ }
563
+ elseif ($pagination == 3) {
564
+ if ($count_items > $limit * $page_number) {
565
+ ?>
566
+ <script type="text/javascript">
567
+ jQuery(window).on("scroll", function() {
568
+ if (jQuery(document).scrollTop() + jQuery(window).height() > (jQuery('#<?php echo $form_id; ?>').offset().top + jQuery('#<?php echo $form_id; ?>').height())) {
569
+ wdi_spider_page_<?php echo $current_view; ?>('', <?php echo $page_number; ?>, 1, true);
570
+ jQuery(window).off("scroll");
571
+ return false;
572
+ }
573
+ });
574
+ </script>
575
+ <?php
576
+ }
577
+ }
578
+ ?>
579
+ <input type="hidden" id="page_number_<?php echo $current_view; ?>" name="page_number_<?php echo $current_view; ?>" value="<?php echo ((isset($_POST['page_number_' . $current_view])) ? (int) $_POST['page_number_' . $current_view] : 1); ?>" />
580
+ <script type="text/javascript">
581
+ function wdi_spider_page_<?php echo $current_view; ?>(cur, x, y, load_more) {
582
+ if (typeof load_more == "undefined") {
583
+ var load_more = false;
584
+ }
585
+ if (jQuery(cur).hasClass('disabled')) {
586
+ return false;
587
+ }
588
+ var items_county_<?php echo $current_view; ?> = <?php echo $items_county; ?>;
589
+ switch (y) {
590
+ case 1:
591
+ if (x >= items_county_<?php echo $current_view; ?>) {
592
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = items_county_<?php echo $current_view; ?>;
593
+ }
594
+ else {
595
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = x + 1;
596
+ }
597
+ break;
598
+ case 2:
599
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = items_county_<?php echo $current_view; ?>;
600
+ break;
601
+ case -1:
602
+ if (x == 1) {
603
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = 1;
604
+ }
605
+ else {
606
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = x - 1;
607
+ }
608
+ break;
609
+ case -2:
610
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = 1;
611
+ break;
612
+ default:
613
+ document.getElementById('page_number_<?php echo $current_view; ?>').value = 1;
614
+ }
615
+ wdi_spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $id; ?>', '<?php echo $album_gallery_id; ?>', '', '<?php echo $type; ?>', 0, '', '', load_more);
616
+ }
617
+ jQuery(document).ready(function() {
618
+ jQuery('.<?php echo $first_page; ?>').on('click', function() {
619
+ wdi_spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, -2);
620
+ });
621
+ jQuery('.<?php echo $prev_page; ?>').on('click', function() {
622
+ wdi_spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, -1);
623
+ return false;
624
+ });
625
+ jQuery('.<?php echo $next_page; ?>').on('click', function() {
626
+ wdi_spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, 1);
627
+ return false;
628
+ });
629
+ jQuery('.<?php echo $last_page; ?>').on('click', function() {
630
+ wdi_spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, 2);
631
+ });
632
+ jQuery('.wdi_load_btn_<?php echo $current_view; ?>').on('click', function() {
633
+ wdi_spider_page_<?php echo $current_view; ?>(this, <?php echo $page_number; ?>, 1, true);
634
+ return false;
635
+ });
636
+ });
637
+ </script>
638
+ </span>
639
+ <?php
640
+ }
641
+
642
+ public static function ajax_html_frontend_search_box($form_id, $current_view, $cur_gal_id, $images_count, $search_box_width = 180) {
643
+ $wdi_search = ((isset($_POST['wdi_search_' . $current_view]) && esc_html($_POST['wdi_search_' . $current_view]) != '') ? esc_html($_POST['wdi_search_' . $current_view]) : '');
644
+ $type = (isset($_POST['type_' . $current_view]) ? esc_html($_POST['type_' . $current_view]) : 'album');
645
+ $album_gallery_id = (isset($_POST['album_gallery_id_' . $current_view]) ? esc_html($_POST['album_gallery_id_' . $current_view]) : 0);
646
+ ?>
647
+ <style>
648
+ .wdi_search_container_1 {
649
+ display: inline-block;
650
+ width: 100%;
651
+ text-align: right;
652
+ margin: 0 5px 20px 5px;
653
+ background-color: rgba(0,0,0,0);
654
+ }
655
+ .wdi_search_container_2 {
656
+ display: inline-block;
657
+ position: relative;
658
+ border-radius: 4px;
659
+ box-shadow: 0 0 3px 1px #CCCCCC;
660
+ background-color: #FFFFFF;
661
+ border: 1px solid #CCCCCC;
662
+ width: <?php echo $search_box_width; ?>px;
663
+ max-width: 100%;
664
+ }
665
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_search_input_container {
666
+ display: block;
667
+ margin-right: 45px;
668
+ }
669
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_search_loupe_container {
670
+ display: inline-block;
671
+ margin-right: 1px;
672
+ vertical-align: middle;
673
+ float: right;
674
+ padding-top: 3px;
675
+ }
676
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_search_reset_container {
677
+ display: inline-block;
678
+ margin-right: 5px;
679
+ vertical-align: middle;
680
+ float: right;
681
+ padding-top: 3px;
682
+ }
683
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_search,
684
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_reset {
685
+ font-size: 18px;
686
+ color: #CCCCCC;
687
+ cursor: pointer;
688
+ }
689
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_search_input_<?php echo $current_view; ?>,
690
+ #wdi_search_container_1_<?php echo $current_view; ?> #wdi_search_container_2_<?php echo $current_view; ?> .wdi_search_input_<?php echo $current_view; ?>:focus {
691
+ color: hsl(0, 1%, 3%);
692
+ outline: none;
693
+ border: none;
694
+ box-shadow: none;
695
+ background: none;
696
+ padding: 0 5px;
697
+ font-family: inherit;
698
+ width: 100%;
699
+ }
700
+ </style>
701
+ <script type="text/javascript">
702
+ function clear_input_<?php echo $current_view; ?> (current_view) {
703
+ jQuery("#wdi_search_input_" + current_view).val('');
704
+ }
705
+ function check_enter_key(e) {
706
+ var key_code = e.which || e.keyCode;
707
+ if (key_code == 13) {
708
+ wdi_spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1);
709
+ return false;
710
+ }
711
+ return true;
712
+ }
713
+ </script>
714
+ <div class="wdi_search_container_1" id="wdi_search_container_1_<?php echo $current_view; ?>">
715
+ <div class="wdi_search_container_2" id="wdi_search_container_2_<?php echo $current_view; ?>">
716
+ <span class="wdi_search_reset_container" >
717
+ <i title="<?php echo __('Reset', 'wdi'); ?>" class="wdi_reset fa fa-times" onclick="clear_input_<?php echo $current_view; ?>('<?php echo $current_view; ?>'),wdi_spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1)"></i>
718
+ </span>
719
+ <span class="wdi_search_loupe_container" >
720
+ <i title="<?php echo __('Search', 'wdi'); ?>" class="wdi_search fa fa-search" onclick="wdi_spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1)"></i>
721
+ </span>
722
+ <span class="wdi_search_input_container">
723
+ <input id="wdi_search_input_<?php echo $current_view; ?>" class="wdi_search_input_<?php echo $current_view; ?>" type="text" onkeypress="return check_enter_key(event)" name="wdi_search_<?php echo $current_view; ?>" value="<?php echo $wdi_search; ?>" >
724
+ <input id="wdi_images_count_<?php echo $current_view; ?>" class="wdi_search_input" type="hidden" name="wdi_images_count_<?php echo $current_view; ?>" value="<?php echo $images_count; ?>" >
725
+ </span>
726
+ </div>
727
+ </div>
728
+ <?php
729
+ }
730
+
731
+ public static function ajax_html_frontend_sort_box($form_id, $current_view, $cur_gal_id, $sort_by = '', $search_box_width = 180) {
732
+ $wdi_search = ((isset($_POST['wdi_search_' . $current_view]) && esc_html($_POST['wdi_search_' . $current_view]) != '') ? esc_html($_POST['wdi_search_' . $current_view]) : '');
733
+ $type = (isset($_POST['type_' . $current_view]) ? esc_html($_POST['type_' . $current_view]) : 'album');
734
+ $album_gallery_id = (isset($_POST['album_gallery_id_' . $current_view]) ? esc_html($_POST['album_gallery_id_' . $current_view]) : 0);
735
+ ?>
736
+ <style>
737
+ .wdi_order_cont_<?php echo $current_view; ?> {
738
+ background-color: rgba(0,0,0,0);
739
+ display: block;
740
+ margin: 0 5px 20px 5px;
741
+ text-align: right;
742
+ width: 100%;
743
+ }
744
+ .wdi_order_label_<?php echo $current_view; ?> {
745
+ border: none;
746
+ box-shadow: none;
747
+ color: #BBBBBB;
748
+ font-family: inherit;
749
+ font-weight: bold;
750
+ outline: none;
751
+ }
752
+ .wdi_order_<?php echo $current_view; ?> {
753
+ background-color: #FFFFFF;
754
+ border: 1px solid #CCCCCC;
755
+ box-shadow: 0 0 3px 1px #CCCCCC;
756
+ border-radius: 4px;
757
+ max-width: 100%;
758
+ width: <?php echo $search_box_width; ?>px;
759
+ }
760
+ </style>
761
+ <div class="wdi_order_cont_<?php echo $current_view; ?>">
762
+ <span class="wdi_order_label_<?php echo $current_view; ?>"><?php echo __('Order by: ', 'wdi'); ?></span>
763
+ <select class="wdi_order_<?php echo $current_view; ?>" onchange="wdi_spider_frontend_ajax('<?php echo $form_id; ?>', '<?php echo $current_view; ?>', '<?php echo $cur_gal_id; ?>', <?php echo $album_gallery_id; ?>, '', '<?php echo $type; ?>', 1, '', this.value)">
764
+ <option <?php if ($sort_by == 'default') echo 'selected'; ?> value="default"><?php echo __('Default', 'wdi'); ?></option>
765
+ <option <?php if ($sort_by == 'filename') echo 'selected'; ?> value="filename"><?php echo __('Filename', 'wdi'); ?></option>
766
+ <option <?php if ($sort_by == 'size') echo 'selected'; ?> value="size"><?php echo __('Size', 'wdi'); ?></option>
767
+ <option <?php if ($sort_by == 'RAND()') echo 'selected'; ?> value="random"><?php echo __('Random', 'wdi'); ?></option>
768
+ </select>
769
+ </div>
770
+ <?php
771
+ }
772
+
773
+ public static function wdi_spider_hex2rgb($colour) {
774
+ if ($colour[0] == '#') {
775
+ $colour = substr( $colour, 1 );
776
+ }
777
+ if (strlen($colour) == 6) {
778
+ list( $r, $g, $b ) = array( $colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5]);
779
+ }
780
+ else if (strlen($colour) == 3) {
781
+ list($r, $g, $b) = array($colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2]);
782
+ }
783
+ else {
784
+ return FALSE;
785
+ }
786
+ $r = hexdec($r);
787
+ $g = hexdec($g);
788
+ $b = hexdec($b);
789
+ return array('red' => $r, 'green' => $g, 'blue' => $b);
790
+ }
791
+
792
+ public static function wdi_spider_redirect($url) {
793
+ ?>
794
+ <script>
795
+ window.location = "<?php echo $url; ?>";
796
+ </script>
797
+ <?php
798
+ exit();
799
+ }
800
+
801
+ /**
802
+ * If string argument passed, put it into delimiters for AJAX response to separate from other data.
803
+ */
804
+
805
+ public static function delimit_wd_output($data) {
806
+
807
+ if(is_string ( $data )){
808
+ return "WD_delimiter_start". $data . "WD_delimiter_end";
809
+ }
810
+ else{
811
+ return $data;
812
+ }
813
+ }
814
+
815
+ public static function verify_nonce($page){
816
+
817
+ $nonce_verified = false;
818
+ if ( isset( $_GET['wdi_nonce'] ) && wp_verify_nonce( $_GET['wdi_nonce'], $page )) {
819
+ $nonce_verified = true;
820
+ }
821
+ elseif ( isset( $_POST['wdi_nonce'] ) && wp_verify_nonce( $_POST['wdi_nonce'], $page )) {
822
+ $nonce_verified = true;
823
+ }
824
+ elseif ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( $_GET['_wpnonce'], $page )) {
825
+ $nonce_verified = true;
826
+ }
827
+ elseif ( isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], $page )) {
828
+ $nonce_verified = true;
829
+ }
830
+ return $nonce_verified;
831
+ }
832
+
833
+
834
+ public static function arrayToObject($d) {
835
+ if (is_array($d)) {
836
+ /*
837
+ * Return array converted to object
838
+ * Using __FUNCTION__ (Magic constant)
839
+ * for recursive call
840
+ */
841
+ return (object) array_map(array('WDILibrary','arrayToObject'), $d);
842
+ }
843
+ else {
844
+ // Return object
845
+ return $d;
846
+ }
847
+ }
848
+
849
+ public static function objectToArray($d) {
850
+ if (is_object($d)) {
851
+ // Gets the properties of the given object
852
+ // with get_object_vars function
853
+ $d = get_object_vars($d);
854
+ }
855
+
856
+ if (is_array($d)) {
857
+ /*
858
+ * Return array converted to object
859
+ * Using __FUNCTION__ (Magic constant)
860
+ * for recursive call
861
+ */
862
+
863
+
864
+
865
+ return array_map(array('WDILibrary','objectToArray'), $d);
866
+ }
867
+ else {
868
+ // Return array
869
+ return $d;
870
+ }
871
+ }
872
+
873
+
874
+ /*
875
+ * @return color if valid color, otherwise return false
876
+ *
877
+ */
878
+
879
+ public static function regexColor($color, $named) {
880
+
881
+ if ($named) {
882
+
883
+ $named = array('transparent','aliceblue', 'antiquewhite', 'aqua', 'aquamarine', 'azure', 'beige', 'bisque', 'black', 'blanchedalmond', 'blue', 'blueviolet', 'brown', 'burlywood', 'cadetblue', 'chartreuse', 'chocolate', 'coral', 'cornflowerblue', 'cornsilk', 'crimson', 'cyan', 'darkblue', 'darkcyan', 'darkgoldenrod', 'darkgray', 'darkgreen', 'darkkhaki', 'darkmagenta', 'darkolivegreen', 'darkorange', 'darkorchid', 'darkred', 'darksalmon', 'darkseagreen', 'darkslateblue', 'darkslategray', 'darkturquoise', 'darkviolet', 'deeppink', 'deepskyblue', 'dimgray', 'dodgerblue', 'firebrick', 'floralwhite', 'forestgreen', 'fuchsia', 'gainsboro', 'ghostwhite', 'gold', 'goldenrod', 'gray', 'green', 'greenyellow', 'honeydew', 'hotpink', 'indianred', 'indigo', 'ivory', 'khaki', 'lavender', 'lavenderblush', 'lawngreen', 'lemonchiffon', 'lightblue', 'lightcoral', 'lightcyan', 'lightgoldenrodyellow', 'lightgreen', 'lightgrey', 'lightpink', 'lightsalmon', 'lightseagreen', 'lightskyblue', 'lightslategray', 'lightsteelblue', 'lightyellow', 'lime', 'limegreen', 'linen', 'magenta', 'maroon', 'mediumaquamarine', 'mediumblue', 'mediumorchid', 'mediumpurple', 'mediumseagreen', 'mediumslateblue', 'mediumspringgreen', 'mediumturquoise', 'mediumvioletred', 'midnightblue', 'mintcream', 'mistyrose', 'moccasin', 'navajowhite', 'navy', 'oldlace', 'olive', 'olivedrab', 'orange', 'orangered', 'orchid', 'palegoldenrod', 'palegreen', 'paleturquoise', 'palevioletred', 'papayawhip', 'peachpuff', 'peru', 'pink', 'plum', 'powderblue', 'purple', 'red', 'rosybrown', 'royalblue', 'saddlebrown', 'salmon', 'sandybrown', 'seagreen', 'seashell', 'sienna', 'silver', 'skyblue', 'slateblue', 'slategray', 'snow', 'springgreen', 'steelblue', 'tan', 'teal', 'thistle', 'tomato', 'turquoise', 'violet', 'wheat', 'white', 'whitesmoke', 'yellow', 'yellowgreen');
884
+ if (in_array(strtolower($color), $named)) {
885
+ /* A color name was entered instead of a Hex Value, so just exit function */
886
+ return $color;
887
+ }
888
+ }
889
+
890
+ //checking rgb format
891
+ if(self::is_rgb($color) == true){
892
+ return $color;
893
+ }
894
+ if(substr($color,0,1) == '#' && strlen($color) === 4){
895
+ $color.=substr($color,1,strlen($color));
896
+ }
897
+
898
+
899
+
900
+ //Check for a hex color string '#c1c2b4'
901
+ if(preg_match('/^#[a-f0-9]{6}$/i', $color)) //hex color is valid
902
+ {
903
+ return $color;
904
+ }
905
+
906
+ //Check for a hex color string without hash 'c1c2b4'
907
+ if(preg_match('/^[a-f0-9]{6}$/i', $color)) //hex color is valid
908
+ {
909
+ $fix_color = '#' . $color;
910
+ return $fix_color;
911
+ }
912
+ return false;
913
+ }
914
+ /**
915
+ * Check is rgb color value
916
+ * @param string
917
+ * @return boolean
918
+ */
919
+ public static function is_rgb($val){
920
+ //checking for rgb
921
+ $rgbFlag = false;
922
+ $rgbaFlag = false;
923
+ if(substr($val,0,4) === 'rgb('){
924
+ $values = explode(',',substr($val,4,strlen($val)-5));
925
+ if(count($values) !== 3){
926
+ return false;
927
+ }
928
+ foreach ($values as $value) {
929
+ if(!is_numeric($value) || $value<0 || $value>255){
930
+ $rgbFlag = true;
931
+ }
932
+ }
933
+ if($rgbFlag === false){
934
+ return true;
935
+ }
936
+ }
937
+ else if(substr($val,0,5) === 'rgba('){
938
+ $values = explode(',',substr($val,5,strlen($val)-6));
939
+ if(count($values) !== 4){
940
+ return false;
941
+ }
942
+ foreach ($values as $value) {
943
+ if(!is_numeric($value) || $value<0 || $value>255){
944
+ $rgbaFlag = true;
945
+ }
946
+ }
947
+ if($rgbaFlag === false){
948
+ return true;
949
+ }
950
+ }else{
951
+ return false;
952
+ }
953
+ }
954
+
955
+ ////////////////////////////////////////////////////////////////////////////////////////
956
+ // Private Methods //
957
+ ////////////////////////////////////////////////////////////////////////////////////////
958
+ ////////////////////////////////////////////////////////////////////////////////////////
959
+ // Listeners //
960
+ ////////////////////////////////////////////////////////////////////////////////////////
961
+ }
framework/WDILibraryEmbed.php ADDED
@@ -0,0 +1,891 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Class for handling embedded media in gallery
5
+ *
6
+ */
7
+
8
+ class WDILibraryEmbed {
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Events //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ // Constants //
14
+ ////////////////////////////////////////////////////////////////////////////////////////
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Variables //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Constructor & Destructor //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ public function __construct() {
22
+ }
23
+
24
+
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ // Public Methods //
27
+ ////////////////////////////////////////////////////////////////////////////////////////
28
+ ////////////////////////////////////////////////////////////////////////////////////////
29
+ // Getters & Setters //
30
+ ////////////////////////////////////////////////////////////////////////////////////////
31
+
32
+ public function get_provider($oembed, $url, $args = '') {
33
+ $provider = false;
34
+ if (!isset($args['discover'])) {
35
+ $args['discover'] = true;
36
+ }
37
+ foreach ($oembed->providers as $matchmask => $data ) {
38
+ list( $providerurl, $regex ) = $data;
39
+ // Turn the asterisk-type provider URLs into regex
40
+ if ( !$regex ) {
41
+ $matchmask = '#' . str_replace( '___wildcard___', '(.+)', preg_quote( str_replace( '*', '___wildcard___', $matchmask ), '#' ) ) . '#i';
42
+ $matchmask = preg_replace( '|^#http\\\://|', '#https?\://', $matchmask );
43
+ }
44
+ if ( preg_match( $matchmask, $url ) ) {
45
+ $provider = str_replace( '{format}', 'json', $providerurl ); // JSON is easier to deal with than XML
46
+ break;
47
+ }
48
+ }
49
+ if ( !$provider && $args['discover'] ) {
50
+ $provider = $oembed->discover($url);
51
+ }
52
+ return $provider;
53
+ }
54
+
55
+ /**
56
+ * check host and get data for a given url
57
+ * @return encode_json(associative array of data) on success
58
+ * @return encode_json(array[false, "error message"]) on failure
59
+ *
60
+ * EMBED TYPES
61
+ *
62
+ * EMBED_OEMBED_YOUTUBE_VIDEO
63
+ * EMBED_OEMBED_VIMEO_VIDEO
64
+ * EMBED_OEMBED_DAILYMOTION_VIDEO
65
+ * EMBED_OEMBED_INSTAGRAM_IMAGE
66
+ * EMBED_OEMBED_INSTAGRAM_VIDEO
67
+ * EMBED_OEMBED_INSTAGRAM_POST
68
+ * EMBED_OEMBED_FLICKR_IMAGE
69
+ *
70
+ * RULES FOR NEW TYPES
71
+ *
72
+ * 1. begin type name with EMBED_
73
+ * 2. if using WP native OEMBED class, add _OEMBED then
74
+ * 3. add provider name
75
+ * 4. add _VIDEO, _IMAGE FOR embedded media containing only video or image
76
+ * 5. add _DIRECT_URL from static URL of image (not implemented yet)
77
+ *
78
+ */
79
+
80
+ public static function add_embed($url) {
81
+
82
+ $url = sanitize_text_field(urldecode($url));
83
+
84
+
85
+ $embed_type = '';
86
+ $host = '';
87
+ /*returns this array*/
88
+ $embedData = array(
89
+ 'name' => '',
90
+ 'description' => '',
91
+ 'filename' => '',
92
+ 'url' => '',
93
+ 'reliative_url' => '',
94
+ 'thumb_url' => '',
95
+ 'thumb' => '',
96
+ 'size' => '',
97
+ 'filetype' => '',
98
+ 'date_modified' => '',
99
+ 'resolution' => '',
100
+ 'redirect_url' => '');
101
+
102
+ $accepted_oembeds = array(
103
+ 'YOUTUBE' => '/youtube/',
104
+ 'VIMEO' => '/vimeo/',
105
+ 'FLICKR' => '/flickr/',
106
+ 'INSTAGRAM' => '/instagram/',
107
+ 'DAILYMOTION' => '/dailymotion/'
108
+ );
109
+
110
+ /*check if we can embed this using wordpress class WP_oEmbed */
111
+ if ( !function_exists( '_wp_oembed_get_object' ) )
112
+ include( ABSPATH . WPINC . '/class-oembed.php' );
113
+ // get an oembed object
114
+ $oembed = _wp_oembed_get_object();
115
+ if (method_exists($oembed, 'get_provider')) {
116
+ // Since 4.0.0
117
+ $provider = $oembed->get_provider($url);
118
+ }
119
+ else {
120
+ $provider = self::get_provider($oembed, $url);
121
+ }
122
+ foreach ($accepted_oembeds as $oembed_provider => $regex) {
123
+ if(preg_match($regex, $provider)==1){
124
+ $host = $oembed_provider;
125
+ }
126
+ }
127
+ /*return json_encode($host); for test*/
128
+
129
+ /*handling oembed cases*/
130
+ if($host){
131
+ /*instagram is exception*/
132
+ /*standard oembed fetching does not return thumbnail_url! so we do it manually*/
133
+ if($host == 'INSTAGRAM' && substr($url,-4)!='post' && substr($url,-4!='POST')){
134
+ $embed_type = 'EMBED_OEMBED_INSTAGRAM';
135
+
136
+ $insta_host_and_id= strtok($url, '/')."/".strtok('/')."/".strtok('/')."/".strtok('/');
137
+ $insta_host= strtok($url, '/')."/".strtok('/')."/".strtok('/')."/";
138
+ $filename = str_replace($insta_host, "", $insta_host_and_id);
139
+
140
+ $get_embed_data = wp_remote_get("http://api.instagram.com/oembed?url=http://instagram.com/p/".$filename);
141
+ if ( is_wp_error( $get_embed_data ) ) {
142
+ return json_encode(array("error", "cannot get Instagram data"));
143
+ }
144
+ $result = json_decode(wp_remote_retrieve_body($get_embed_data));
145
+ if(empty($result)){
146
+ return json_encode(array("error", wp_remote_retrieve_body($get_embed_data)));
147
+ }
148
+
149
+
150
+ $embedData = array(
151
+ 'name' => htmlspecialchars($result->title),
152
+ 'description' => htmlspecialchars($result->title),
153
+ 'filename' => $filename,
154
+ 'url' => $url,
155
+ 'reliative_url' => $url,
156
+ 'thumb_url' => $result->thumbnail_url,
157
+ 'thumb' => $result->thumbnail_url,
158
+ 'size' => '',
159
+ 'filetype' => $embed_type,
160
+ 'date_modified' => date('d F Y, H:i'),
161
+ 'resolution' => $result->thumbnail_width." x ".$result->thumbnail_height." px",
162
+ 'redirect_url' => ''
163
+ );
164
+
165
+ /*get instagram post html page, parse its DOM to find video URL*/
166
+ $DOM = new DOMDocument;
167
+ libxml_use_internal_errors(true);
168
+ $html_code = wp_remote_get($url);
169
+ if ( is_wp_error( $html_code ) ) {
170
+ return json_encode(array("error", "cannot get Instagram data"));
171
+ }
172
+ $html_body = wp_remote_retrieve_body($html_code);
173
+ if(empty($html_body)){
174
+ return json_encode(array("error", wp_remote_retrieve_body($html_code)));
175
+ }
176
+
177
+ $DOM->loadHTML($html_body);
178
+ $finder = new DomXPath($DOM);
179
+ $query = "//meta[@property='og:video']";
180
+ $nodes = $finder->query($query);
181
+ $node = $nodes->item(0);
182
+ if($node){
183
+ $length = $node->attributes->length;
184
+
185
+ for ($i = 0; $i < $length; ++$i) {
186
+ $name = $node->attributes->item($i)->name;
187
+ $value = $node->attributes->item($i)->value;
188
+
189
+ if($name == 'content'){
190
+ $filename = $value;
191
+ }
192
+ }
193
+ $embedData['filename'] = $filename;
194
+ $embedData['filetype'] .= '_VIDEO';
195
+ }
196
+ else{
197
+ $embedData['filetype'] .= '_IMAGE';
198
+ }
199
+
200
+ return json_encode($embedData);
201
+ }
202
+ if($host == 'INSTAGRAM' && (substr($url,-4)=='post'||substr($url,-4)=='POST')){
203
+ /*check if instagram post*/
204
+ $url = substr($url,0,-4);
205
+ $embed_type = 'EMBED_OEMBED_INSTAGRAM_POST';
206
+ parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
207
+ $matches = array();
208
+ $filename = '';
209
+ $regex = "/^.*?instagram\.com\/p\/(.*?)[\/]?$/";
210
+ if(preg_match($regex, $url, $matches)){
211
+ $filename = $matches[1];
212
+ }
213
+ $get_embed_data = wp_remote_get("http://api.instagram.com/oembed?url=http://instagram.com/p/".$filename);
214
+ if ( is_wp_error( $get_embed_data ) ) {
215
+ return json_encode(array("error", "cannot get Instagram data"));
216
+ }
217
+ $result = json_decode(wp_remote_retrieve_body($get_embed_data));
218
+ if(empty($result)){
219
+ return json_encode(array("error", wp_remote_retrieve_body($get_embed_data)));
220
+ }
221
+
222
+ $embedData = array(
223
+ 'name' => htmlspecialchars($result->title),
224
+ 'description' => htmlspecialchars($result->title),
225
+ 'filename' => $filename,
226
+ 'url' => $url,
227
+ 'reliative_url' => $url,
228
+ 'thumb_url' => $result->thumbnail_url,
229
+ 'thumb' => $result->thumbnail_url,
230
+ 'size' => '',
231
+ 'filetype' => $embed_type,
232
+ 'date_modified' => date('d F Y, H:i'),
233
+ 'resolution' => $result->width." x ".$result->width." px",
234
+ 'redirect_url' => '');
235
+
236
+ return json_encode($embedData);
237
+ }
238
+
239
+ $result = $oembed->fetch( $provider, $url);
240
+ /*no data fetched for a known provider*/
241
+ if(!$result){
242
+ return json_encode(array("error", "please enter ". $host . " correct single media URL"));
243
+ }
244
+ else{/*one of known oembed types*/
245
+ $embed_type = 'EMBED_OEMBED_'.$host;
246
+ switch ($embed_type) {
247
+ case 'EMBED_OEMBED_YOUTUBE':
248
+ $youtube_regex = "#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#";
249
+ $matches = array();
250
+ preg_match($youtube_regex , $url , $matches);
251
+ $filename = $matches[0];
252
+
253
+ $embedData = array(
254
+ 'name' => htmlspecialchars($result->title),
255
+ 'description' => htmlspecialchars($result->title),
256
+ 'filename' => $filename,
257
+ 'url' => $url,
258
+ 'reliative_url' => $url,
259
+ 'thumb_url' => $result->thumbnail_url,
260
+ 'thumb' => $result->thumbnail_url,
261
+ 'size' => '',
262
+ 'filetype' => $embed_type."_VIDEO",
263
+ 'date_modified' => date('d F Y, H:i'),
264
+ 'resolution' => $result->width." x ".$result->height." px",
265
+ 'redirect_url' => '');
266
+
267
+ return json_encode($embedData);
268
+
269
+ break;
270
+ case 'EMBED_OEMBED_VIMEO':
271
+
272
+ $embedData = array(
273
+ 'name' => htmlspecialchars($result->title),
274
+ 'description' => htmlspecialchars($result->title),
275
+ 'filename' => $result->video_id,
276
+ 'url' => $url,
277
+ 'reliative_url' => $url,
278
+ 'thumb_url' => $result->thumbnail_url,
279
+ 'thumb' => $result->thumbnail_url,
280
+ 'size' => '',
281
+ 'filetype' => $embed_type."_VIDEO",
282
+ 'date_modified' => date('d F Y, H:i'),
283
+ 'resolution' => $result->width." x ".$result->height." px",
284
+ 'redirect_url' => '');
285
+
286
+ return json_encode($embedData);
287
+
288
+ break;
289
+ case 'EMBED_OEMBED_FLICKR':
290
+ $matches = preg_match('~^.+/(\d+)~',$url,$matches);
291
+ $filename = $matches[1];
292
+ /*if($result->type =='photo')
293
+ $embed_type .= '_IMAGE';
294
+ if($result->type =='video')
295
+ $embed_type .= '_VIDEO';*/
296
+ /*flickr video type not implemented yet*/
297
+ $embed_type .= '_IMAGE';
298
+
299
+ $embedData = array(
300
+ 'name' => htmlspecialchars($result->title),
301
+ 'description' => htmlspecialchars($result->title),
302
+ 'filename' =>substr($result->thumbnail_url, 0, -5)."b.jpg",
303
+ 'url' => $url,
304
+ 'reliative_url' => $url,
305
+ 'thumb_url' => $result->thumbnail_url,
306
+ 'thumb' => $result->thumbnail_url,
307
+ 'size' => '',
308
+ 'filetype' => $embed_type,
309
+ 'date_modified' => date('d F Y, H:i'),
310
+ 'resolution' => $result->width." x ".$result->height." px",
311
+ 'redirect_url' => '');
312
+
313
+ return json_encode($embedData);
314
+ break;
315
+
316
+ case 'EMBED_OEMBED_DAILYMOTION':
317
+ $filename = strtok(basename($url), '_');
318
+
319
+ $embedData = array(
320
+ 'name' => htmlspecialchars($result->title),
321
+ 'description' => htmlspecialchars($result->title),
322
+ 'filename' => $filename,
323
+ 'url' => $url,
324
+ 'reliative_url' => $url,
325
+ 'thumb_url' => $result->thumbnail_url,
326
+ 'thumb' => $result->thumbnail_url,
327
+ 'size' => '',
328
+ 'filetype' => $embed_type."_VIDEO",
329
+ 'date_modified' => date('d F Y, H:i'),
330
+ 'resolution' => $result->width." x ".$result->height." px",
331
+ 'redirect_url' => '');
332
+
333
+ return json_encode($embedData);
334
+
335
+ break;
336
+ case 'EMBED_OEMBED_GETTYIMAGES':
337
+ /*not working yet*/
338
+ $filename = strtok(basename($url), '_');
339
+
340
+ $embedData = array(
341
+ 'name' => htmlspecialchars($result->title),
342
+ 'description' => htmlspecialchars($result->title),
343
+ 'filename' => $filename,
344
+ 'url' => $url,
345
+ 'reliative_url' => $url,
346
+ 'thumb_url' => $result->thumbnail_url,
347
+ 'thumb' => $result->thumbnail_url,
348
+ 'size' => '',
349
+ 'filetype' => $embed_type,
350
+ 'date_modified' => date('d F Y, H:i'),
351
+ 'resolution' => $result->width." x ".$result->height." px",
352
+ 'redirect_url' => '');
353
+
354
+ return json_encode($embedData);
355
+
356
+ default:
357
+ return json_encode(array("error", "unknown URL host"));
358
+ break;
359
+ }
360
+ }
361
+ }/*end of oembed cases*/
362
+ else {
363
+ /*check for direct image url*/
364
+ /*check if something else*/
365
+ /*not implemented yet*/
366
+ return json_encode(array("error", "unknown URL"));
367
+ }
368
+ return json_encode(array("error", "unknown URL"));
369
+ }
370
+
371
+
372
+ /**
373
+ * client side analogue is function wdi_spider_display_embed in wdi_embed.js
374
+ *
375
+ * @param embed_type: string , one of predefined accepted types
376
+ * @param embed_id: string, id of media in corresponding host, or url if no unique id system is defined for host
377
+ * @param attrs: associative array with html attributes and values format e.g. array('width'=>"100px", 'style'=>"display:inline;")
378
+ *
379
+ */
380
+
381
+ public static function display_embed($embed_type, $embed_id='', $attrs = array()) {
382
+ $html_to_insert = '';
383
+
384
+ switch ($embed_type) {
385
+ case 'EMBED_OEMBED_YOUTUBE_VIDEO':
386
+ $oembed_youtube_html ='<iframe ';
387
+ if($embed_id!=''){
388
+ $oembed_youtube_html .= ' src="' . '//www.youtube.com/embed/'. $embed_id . '?enablejsapi=1&wmode=transparent"';
389
+ }
390
+ foreach ($attrs as $attr => $value) {
391
+ if(preg_match('/src/i', $attr)===0){
392
+ if($attr != '' && $value != ''){
393
+ $oembed_youtube_html .= ' '. $attr . '="'. $value . '"';
394
+ }
395
+ }
396
+ }
397
+ $oembed_youtube_html .= " ></iframe>";
398
+ $html_to_insert .= $oembed_youtube_html;
399
+ break;
400
+ case 'EMBED_OEMBED_VIMEO_VIDEO':
401
+ $oembed_vimeo_html ='<iframe ';
402
+ if($embed_id!=''){
403
+ $oembed_vimeo_html .= ' src="' . '//player.vimeo.com/video/'. $embed_id . '?enablejsapi=1"';
404
+ }
405
+ foreach ($attrs as $attr => $value) {
406
+ if(preg_match('/src/i', $attr)===0){
407
+ if($attr != '' && $value != ''){
408
+ $oembed_vimeo_html .= ' '. $attr . '="'. $value . '"';
409
+ }
410
+ }
411
+ }
412
+ $oembed_vimeo_html .= " ></iframe>";
413
+ $html_to_insert .= $oembed_vimeo_html;
414
+ break;
415
+ case 'EMBED_OEMBED_FLICKR_IMAGE':
416
+ $oembed_flickr_html ='<div ';
417
+ foreach ($attrs as $attr => $value) {
418
+ if(preg_match('/src/i', $attr)===0){
419
+ if($attr != '' && $value != ''){
420
+ $oembed_flickr_html .= ' '. $attr . '="'. $value . '"';
421
+ }
422
+ }
423
+ }
424
+ $oembed_flickr_html .= " >";
425
+ if($embed_id!=''){
426
+ $oembed_flickr_html .= '<img src="'.$embed_id.'"'.
427
+ ' style="'.
428
+ 'max-width:'.'100%'." !important".
429
+ '; max-height:'.'100%'." !important".
430
+ '; width:'.'auto !important'.
431
+ '; height:'. 'auto !important' .
432
+ ';">';
433
+ }
434
+ $oembed_flickr_html .="</div>";
435
+
436
+ $html_to_insert .= $oembed_flickr_html;
437
+ break;
438
+ case 'EMBED_OEMBED_FLICKR_VIDEO':
439
+ # code...not implemented yet
440
+ break;
441
+ case 'EMBED_OEMBED_INSTAGRAM_VIDEO':
442
+ $oembed_instagram_html ='<div ';
443
+ foreach ($attrs as $attr => $value) {
444
+ if(preg_match('/src/i', $attr)===0){
445
+ if($attr != '' && $value != ''){
446
+ $oembed_instagram_html .= ' '. $attr . '="'. $value . '"';
447
+ }
448
+ }
449
+ }
450
+ $oembed_instagram_html .= " >";
451
+ if($embed_id!=''){
452
+ $oembed_instagram_html .= '<video onclick="wdi_play_pause(jQuery(this));" style="width:auto !important; height:auto !important; max-width:100% !important; max-height:100% !important; margin:0 !important;" controls>'.
453
+ '<source src="'. $embed_id .
454
+ '" type="video/mp4"> Your browser does not support the video tag. </video>';
455
+ }
456
+ $oembed_instagram_html .="</div>";
457
+ $html_to_insert .= $oembed_instagram_html;
458
+ break;
459
+ case 'EMBED_OEMBED_INSTAGRAM_IMAGE':
460
+ $oembed_instagram_html ='<div ';
461
+ foreach ($attrs as $attr => $value) {
462
+ if(preg_match('/src/i', $attr)===0){
463
+ if($attr != '' && $value != ''){
464
+ $oembed_instagram_html .= ' '. $attr . '="'. $value . '"';
465
+ }
466
+ }
467
+ }
468
+ $oembed_instagram_html .= " >";
469
+ if($embed_id!=''){
470
+ $oembed_instagram_html .= '<img src="//instagram.com/p/'.$embed_id.'/media/?size=l"'.
471
+ ' style="'.
472
+ 'max-width:'.'100%'." !important".
473
+ '; max-height:'.'100%'." !important".
474
+ '; width:'.'auto !important'.
475
+ '; height:'. 'auto !important' .
476
+ ';">';
477
+ }
478
+ $oembed_instagram_html .="</div>";
479
+ $html_to_insert .= $oembed_instagram_html;
480
+ break;
481
+ case 'EMBED_OEMBED_INSTAGRAM_POST':
482
+ $oembed_instagram_html ='<div ';
483
+ $id = '';
484
+ foreach ($attrs as $attr => $value) {
485
+ if(preg_match('/src/i', $attr)===0){
486
+ if($attr != '' && $value != ''){
487
+ $oembed_instagram_html .= ' '. $attr . '="'. $value . '"';
488
+ if($attr == 'class' || $attr =='CLASS' || $attr =='Class'){
489
+ $class = $value;
490
+ }
491
+ }
492
+ }
493
+ }
494
+ $oembed_instagram_html .= " >";
495
+ if($embed_id!=''){
496
+ $oembed_instagram_html .= '<iframe class="inner_instagram_iframe_'.$class.'" src="//instagr.am/p/'.$embed_id.'/embed/?enablejsapi=1"'.
497
+ ' style="'.
498
+ 'max-width:'.'100%'." !important".
499
+ '; max-height:'.'100%'." !important".
500
+ '; width:'.'100%'.
501
+ '; height:'. '100%' .
502
+ '; margin:0'.
503
+ '; display:table-cell; vertical-align:middle;"'.
504
+ 'frameborder="0" scrolling="no" allowtransparency="false" allowfullscreen'.
505
+ '></iframe>';
506
+ }
507
+ $oembed_instagram_html .="</div>";
508
+ $html_to_insert .= $oembed_instagram_html;
509
+ break;
510
+ case 'EMBED_OEMBED_DAILYMOTION_VIDEO':
511
+ $oembed_dailymotion_html ='<iframe ';
512
+ if($embed_id!=''){
513
+ $oembed_dailymotion_html .= ' src="' . '//www.dailymotion.com/embed/video/'. $embed_id . '?api=postMessage"';
514
+ }
515
+ foreach ($attrs as $attr => $value) {
516
+ if(preg_match('/src/i', $attr)===0){
517
+ if($attr != '' && $value != ''){
518
+ $oembed_dailymotion_html .= ' '. $attr . '="'. $value . '"';
519
+ }
520
+ }
521
+ }
522
+ $oembed_dailymotion_html .= " ></iframe>";
523
+ $html_to_insert .= $oembed_dailymotion_html;
524
+ break;
525
+ default:
526
+ # code...
527
+ break;
528
+ }
529
+
530
+ echo $html_to_insert;
531
+
532
+ }
533
+
534
+
535
+ /**
536
+ *
537
+ * @return json_encode(array("error","error message")) on failure
538
+ * @return json_encode(array of data of instagram user recent posts) on success
539
+ */
540
+ public static function add_instagram_gallery($instagram_user, $client_id, $whole_post, $autogallery_image_number) {
541
+
542
+ $instagram_user = sanitize_text_field(urldecode($instagram_user));
543
+ $instagram_user_response = wp_remote_get("https://api.instagram.com/v1/users/search?q=".$instagram_user."&client_id=".$client_id."&count=1");
544
+ if ( is_wp_error( $instagram_user_response ) ) {
545
+ return json_encode(array("error", "cannot get Instagram user parameters"));
546
+ }
547
+ $user_json = wp_remote_retrieve_body($instagram_user_response);
548
+ $response_code = json_decode($user_json)->meta->code;
549
+
550
+ /*
551
+ instagram API returns
552
+
553
+ *wrong username
554
+ {"meta":{"code":200},"data":[]}
555
+
556
+ *wrong client_id
557
+ {"meta":{"error_type":"OAuthParameterException","code":400,"error_message":"The client_id provided is invalid and does not match a valid application."}}
558
+
559
+ */
560
+
561
+ if($response_code != 200){
562
+ return json_encode(array("error", json_decode($user_json)->meta->error_message));
563
+ }
564
+
565
+
566
+ if(!property_exists(json_decode($user_json), 'data')){
567
+ return json_encode(array("error", "cannot get Instagram user parameters"));
568
+ }
569
+ if(empty(json_decode($user_json)->data)){
570
+ return json_encode(array("error", "wrong Instagram username"));
571
+ }
572
+ $user_data = json_decode($user_json)->data[0];
573
+ $user_id = $user_data->id;
574
+
575
+
576
+ $instagram_posts_response = wp_remote_get("https://api.instagram.com/v1/users/".$user_id."/media/recent/?client_id=".$client_id."&count=".$autogallery_image_number);
577
+ if ( is_wp_error( $instagram_posts_response ) ) {
578
+ return json_encode(array("error", "cannot get Instagram user posts"));
579
+ }
580
+ $posts_json = wp_remote_retrieve_body($instagram_posts_response);
581
+ $response_code = json_decode($posts_json)->meta->code;
582
+
583
+ /*
584
+ instagram API returns
585
+
586
+ *private user
587
+ '{"meta":{"error_type":"APINotAllowedError","code":400,"error_message":"you cannot view this resource"}}'
588
+
589
+ */
590
+
591
+ if($response_code != 200){
592
+ return json_encode(array("error", json_decode($posts_json)->meta->error_message));
593
+ }
594
+ if(!property_exists(json_decode($posts_json), 'data')){
595
+ return json_encode(array("error", "cannot get Instagram user posts data"));
596
+ }
597
+ /*
598
+ if instagram user has no posts
599
+ */
600
+ if(empty(json_decode($posts_json)->data)){
601
+ return json_encode(array("error", "Instagram user has no posts"));
602
+ }
603
+
604
+
605
+ $posts_array = json_decode($posts_json)->data;
606
+ $instagram_album_data = array();
607
+ if($whole_post==1){
608
+ $post_flag ="post";
609
+ }
610
+ else{
611
+ $post_flag ='';
612
+ }
613
+ foreach ($posts_array as $post_data) {
614
+ $url = $post_data ->link . $post_flag;
615
+
616
+ $post_to_embed = json_decode(self::add_embed($url), true);
617
+
618
+ /* if add_embed function did not indexed array because of error */
619
+ if(!isset($post_to_embed[0]) ){
620
+ array_push($instagram_album_data, $post_to_embed);
621
+ }
622
+
623
+ }
624
+
625
+ return json_encode($instagram_album_data);
626
+
627
+ }
628
+
629
+ /**
630
+ *
631
+ * @return array of galleries,
632
+ * @return array(false, "error message");
633
+ *
634
+ */
635
+
636
+ public static function check_instagram_galleries(){
637
+
638
+ global $wpdb;
639
+ $instagram_galleries = $wpdb->get_results( "SELECT id, gallery_type, gallery_source, update_flag, autogallery_image_number FROM " . $wpdb->prefix . "wdi_gallery WHERE gallery_type='instagram' OR gallery_type='instagram_post'", OBJECT );
640
+
641
+ $galleries_to_update = array();
642
+ if($instagram_galleries){
643
+ foreach ($instagram_galleries as $gallery) {
644
+ if($gallery->update_flag == 'add' || $gallery->update_flag == 'replace'){
645
+ array_push($galleries_to_update, $gallery);
646
+ }
647
+ }
648
+ if(!empty($galleries_to_update)){
649
+ return $galleries_to_update;
650
+ }
651
+ else{
652
+ return array(false, "No instagram gallery has to be updated");
653
+ }
654
+ }
655
+ else{
656
+ return array(false,"There is no instagram gallery");
657
+ }
658
+ }
659
+
660
+ /**
661
+ *
662
+ * @return array(true, "refresh time");
663
+ * @return array(false, "error message");
664
+ *
665
+ */
666
+
667
+ public static function refresh_instagram_gallery($gallery){
668
+ global $wpdb;
669
+ $id = $gallery->id;
670
+ $type = $gallery->gallery_type;
671
+ $update_flag = $gallery->update_flag;
672
+ $autogallery_image_number = $gallery->autogallery_image_number;
673
+
674
+ if($type=='instagram'){
675
+ $whole_post = 0;
676
+ }
677
+ if($type=='instagram_post'){
678
+ $whole_post = 1;
679
+ }
680
+ $source =$gallery->gallery_source;
681
+ if(!$id || !$type || !$source){
682
+ return array(false, "Gallery id, type or source are empty");
683
+ }
684
+
685
+ $get_client_id = $wpdb->get_results( "SELECT instagram_client_id FROM " . $wpdb->prefix . "wdi_option", OBJECT );
686
+ if(!$get_client_id){
687
+ return array(false, "Cannot get CLIENT_ID from the database");
688
+ }
689
+ $client_id = $get_client_id[0]->instagram_client_id;
690
+
691
+ $images = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "wdi_image WHERE gallery_id='" . $id . "' ", OBJECT);
692
+ $images_count = sizeof($images);
693
+ $new_images_data = self::add_instagram_gallery($source, $client_id, $whole_post, $autogallery_image_number);
694
+ if(!$new_images_data){
695
+ return array(false, "Cannot get instagram data");
696
+ }
697
+ $images_new = json_decode($new_images_data);
698
+ if(empty($images_new)){
699
+ return array(false, "Cannot get instagram data");
700
+ }
701
+ if($images_new[0] == "error"){
702
+ return array(false, "Cannot get instagram data");
703
+ }
704
+
705
+ $images_count_new = sizeof($images_new);
706
+
707
+ $images_update = array(); /*ids and orders of images existing in both arrays*/
708
+ $images_insert = array(); /*data of new images*/
709
+ $images_dated = array(); /*ids and orders of images not existing in the array of new images*/
710
+ $new_order = 0; /*how many images should be added*/
711
+ if($images_count!=0){
712
+ $author = $images[0]->author; /* author is the same for the images in the gallery */
713
+ }
714
+ else{
715
+ $author = 1;
716
+ }
717
+
718
+ /*loops to compare new and existing images*/
719
+ foreach ($images_new as $image_new) {
720
+ $to_add = true;
721
+ if($images_count != 0){
722
+ foreach($images as $image){
723
+ if($image_new->filename == $image->filename){
724
+ /*if that image exist, do not update*/
725
+ $to_add = false;
726
+ }
727
+ }
728
+ }
729
+ if($to_add){
730
+ /*if image does not exist, insert*/
731
+ $new_order++;
732
+ $new_image_data = array(
733
+ 'gallery_id' => $id,
734
+ 'slug' => sanitize_title($image_new->name),
735
+ 'filename' => $image_new->filename,
736
+ 'image_url' => $image_new->url,
737
+ 'thumb_url' => $image_new->thumb_url,
738
+ 'description' => $image_new->description,
739
+ 'alt' => $image_new->name,
740
+ 'date' => $image_new->date_modified,
741
+ 'size' => $image_new->size,
742
+ 'filetype' => $image_new->filetype,
743
+ 'resolution' => $image_new->resolution,
744
+ 'author' => $author,
745
+ 'order' => $new_order,
746
+ 'published' => 1,
747
+ 'comment_count' => 0,
748
+ 'avg_rating' => 0,
749
+ 'rate_count' => 0,
750
+ 'hit_count' => 0,
751
+ 'redirect_url' => $image_new->redirect_url,
752
+ );
753
+ array_push($images_insert, $new_image_data);
754
+ }
755
+ }
756
+
757
+
758
+ if($images_count != 0){
759
+ foreach ($images as $image) {
760
+ $is_dated = true;
761
+ foreach($images_new as $image_new){
762
+ if($image_new->filename == $image->filename){
763
+ /* if that image exist, do not update */
764
+ /* shift order by a number of new images */
765
+ $image_update = array(
766
+ 'id' => $image->id ,
767
+ 'order'=> intval($image->order) + $new_order,
768
+ "slug" => sanitize_title($image_new->name),
769
+ "description" => $image_new->description,
770
+ "alt" => $image_new->name,
771
+ "date" => $image_new->date_modified);
772
+ array_push($images_update, $image_update);
773
+ $is_dated = false;
774
+ }
775
+ }
776
+ if($is_dated){
777
+ $image_dated = array(
778
+ 'id' => $image->id ,
779
+ 'order'=> intval($image->order) + $new_order,
780
+ );
781
+ array_push($images_dated, $image_dated);
782
+ }
783
+ }
784
+ }
785
+ /*endof comparing loops*/
786
+
787
+ $to_unpublish = true;
788
+ if($update_flag == 'add'){
789
+ $to_unpublish = false;
790
+ }
791
+ if($update_flag == 'replace'){
792
+ $to_unpublish = true;
793
+ }
794
+
795
+
796
+ /*update old images*/
797
+ if($images_count != 0){
798
+ if($to_unpublish){
799
+ foreach ($images_dated as $image) {
800
+ $q = 'UPDATE ' . $wpdb->prefix . 'wdi_image SET published=0, `order` ='.$image['order'].' WHERE `id`='.$image['id'];
801
+ $wpdb->query($q);
802
+ }
803
+ }
804
+ else{
805
+ foreach ($images_dated as $image) {
806
+ $q = 'UPDATE ' . $wpdb->prefix . 'wdi_image SET `order` ='.$image['order'].' WHERE `id`='.$image['id'];
807
+ $wpdb->query($q);
808
+ }
809
+ }
810
+
811
+ foreach ($images_update as $image) {
812
+ $save = $wpdb->update($wpdb->prefix . 'wdi_image', array(
813
+ 'order' => $image['order'],
814
+ 'slug' => $image['slug'],
815
+ 'description' => $image['description'],
816
+ 'alt' => $image['alt'],
817
+ 'date' => $image['date']
818
+ ), array('id' => $image['id']));
819
+ }
820
+ }
821
+ /*add new images*/
822
+ foreach($images_insert as $image){
823
+ $save = $wpdb->insert($wpdb->prefix . 'wdi_image', array(
824
+ 'gallery_id' => $image['gallery_id'],
825
+ 'slug' => $image['slug'],
826
+ 'filename' => $image['filename'],
827
+ 'image_url' => $image['image_url'],
828
+ 'thumb_url' => $image['thumb_url'],
829
+ 'description' => $image['description'],
830
+ 'alt' => $image['alt'],
831
+ 'date' => $image['date'],
832
+ 'size' => $image['size'],
833
+ 'filetype' => $image['filetype'],
834
+ 'resolution' => $image['resolution'],
835
+ 'author' => $image['author'],
836
+ 'order' => $image['order'],
837
+ 'published' => $image['published'],
838
+ 'comment_count' => $image['comment_count'],
839
+ 'avg_rating' => $image['avg_rating'],
840
+ 'rate_count' => $image['rate_count'],
841
+ 'hit_count' => $image['hit_count'],
842
+ 'redirect_url' => $image['redirect_url'],
843
+ ), array(
844
+ '%d',
845
+ '%s',
846
+ '%s',
847
+ '%s',
848
+ '%s',
849
+ '%s',
850
+ '%s',
851
+ '%s',
852
+ '%s',
853
+ '%s',
854
+ '%s',
855
+ '%d',
856
+ '%d',
857
+ '%d',
858
+ '%d',
859
+ '%d',
860
+ '%d',
861
+ '%d',
862
+ '%s',
863
+ ));
864
+ }
865
+ $time = date('d F Y, H:i');
866
+
867
+ /*return time of last update*/
868
+ return array(true, $time);
869
+
870
+ }
871
+
872
+ public static function get_autoupdate_interval(){
873
+ global $wpdb;
874
+
875
+ $row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'wdi_option WHERE id="%d"', 1));
876
+ if(!isset($row)){
877
+ return 30;
878
+ }
879
+ if(!isset($row->autoupdate_interval)){
880
+ return 30;
881
+ }
882
+ $autoupdate_interval = $row->autoupdate_interval;
883
+ return $autoupdate_interval;
884
+ }
885
+ ////////////////////////////////////////////////////////////////////////////////////////
886
+ // Private Methods //
887
+ ////////////////////////////////////////////////////////////////////////////////////////
888
+ ////////////////////////////////////////////////////////////////////////////////////////
889
+ // Listeners //
890
+ ////////////////////////////////////////////////////////////////////////////////////////
891
+ }
framework/WDI_admin_view.php ADDED
@@ -0,0 +1,1360 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDI_admin_view{
4
+
5
+ private $params;
6
+
7
+ function __construct($initial_params=array()){
8
+
9
+ $defaults= array(
10
+ "input_size"=>"36",
11
+ "textarea_height"=>"150",
12
+ "textarea_width"=>"450",
13
+ "select_width"=>"240",
14
+ "upload_size" => "30",
15
+ "upload_filetype" => "image",
16
+ );
17
+
18
+ $this->params=$this->merge_params($defaults,$initial_params);
19
+ }
20
+
21
+
22
+
23
+ /**
24
+ * Displays a single button for toggling some other elements onclick
25
+ *
26
+ * @param $element['show'] = array('name_of _element_to_hide')
27
+ * @param $element['hide'] = array('name_of _element_to_show')
28
+ */
29
+ public function button($element, $context = 'option', $opt_val = '', $meta=array()){
30
+ global $wdi_options;
31
+ ?>
32
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
33
+ <div class="block margin">
34
+ <div class="optioninput checkbox">
35
+ <span id="<?php echo $element['name']; ?>" class="button" style="text-decoration:none;"><?php echo esc_html($element['title']); ?></span>
36
+ </div>
37
+ </div>
38
+ <script>
39
+ jQuery(document).ready(function () {
40
+ /*init*/
41
+ var element_<?php echo $element['name']; ?> = {
42
+ id : "<?php echo $element['name']; ?>",
43
+ show : [
44
+ <?php
45
+ foreach ($element['show'] as $element_to_show) :
46
+ echo "'". $element_to_show ."', ";
47
+ endforeach;
48
+ ?>
49
+ ],
50
+ hide : [
51
+ <?php
52
+ foreach ($element['hide'] as $element_to_hide) :
53
+ echo "'". $element_to_hide ."', ";
54
+ endforeach;
55
+ ?>
56
+ ]
57
+ };
58
+
59
+ wdwt_elements.button_toggle(element_<?php echo $element['name']; ?>);
60
+ /*change on click*/
61
+ jQuery('#<?php echo $element['name']; ?>').on( "click", function() {
62
+ wdwt_elements.button_toggle(element_<?php echo $element['name']; ?>);
63
+ });
64
+
65
+ });
66
+ </script>
67
+ </div>
68
+ <?php
69
+ }
70
+
71
+ /**
72
+ * Displays single checkbox with hidden input field
73
+ *
74
+ *
75
+ */
76
+
77
+ public function checkbox($element, $context = 'option', $opt_val = '', $meta=array()){
78
+
79
+ if($context == 'meta'){
80
+ $optionname = "topt".'[' .$element['name']. ']';
81
+ }
82
+ else{
83
+ global $wdi_options;
84
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
85
+ $opt_val = isset($wdi_options[$element['name']]) ? $wdi_options[$element['name']] : '';
86
+ }
87
+ if(is_bool($opt_val)){
88
+ $opt_val = $opt_val ? 'true' : '';
89
+ }
90
+ $opt_val = trim($opt_val);
91
+
92
+
93
+ ?>
94
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
95
+ <div class="block margin">
96
+ <div class="optioninput checkbox">
97
+ <input type="checkbox" class="checkbox" name="<?php echo $optionname; ?>" id="<?php echo $element['name'] ?>" <?php checked($opt_val || $opt_val =='on'); ?> <?php $this->custom_attrs($element); ?> value="1">
98
+ </div>
99
+ </div>
100
+ </div>
101
+ <?php
102
+ }
103
+
104
+ /**
105
+ * Displays a checkbox which shows or hides some other elements onclick
106
+ *
107
+ * @param $element['show'] = array('name_of _element_to_show') on being checked
108
+ * @param $element['hide'] = array('name_of _element_to_hide') on being checked
109
+ */
110
+
111
+ public function checkbox_open($element, $context = 'option', $opt_val ='', $meta=array()){
112
+
113
+ if($context== 'meta'){
114
+ $optionname = WDI_META.'[' .$element['name']. ']';
115
+ }
116
+ else{
117
+ global $wdi_options;
118
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
119
+ $opt_val = $wdi_options[$element['name']];
120
+ }
121
+ if(is_bool($opt_val)){
122
+ $opt_val = $opt_val ? 'true' : '';
123
+ }
124
+ $opt_val = trim($opt_val);
125
+
126
+ ?>
127
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
128
+ <div class="block margin">
129
+ <div class="optioninput checkbox">
130
+ <input type="checkbox" class="checkbox" name="<?php echo $optionname; ?>" id="<?php echo $element['name'] ?>" <?php checked($opt_val || $opt_val =='on'); ?> <?php $this->custom_attrs($element); ?> value="<?php echo esc_attr($opt_val); ?>">
131
+ </div>
132
+ </div>
133
+ </div>
134
+ <script>
135
+ jQuery(document).ready(function () {
136
+ /*init*/
137
+
138
+ var element_<?php echo $element["name"]; ?> = {
139
+ id : "<?php echo $element["name"]; ?>",
140
+ show : [
141
+ <?php
142
+ foreach ($element['show'] as $element_to_show) :
143
+ echo "'". $element_to_show ."', ";
144
+ endforeach;
145
+ ?>
146
+ ],
147
+ hide : [
148
+ <?php
149
+ foreach ($element['hide'] as $element_to_hide) :
150
+ echo "'". $element_to_hide ."', ";
151
+ endforeach;
152
+ ?>
153
+ ]
154
+ };
155
+
156
+ wdwt_elements.checkbox_open(element_<?php echo $element["name"]; ?>);
157
+ /*change on click*/
158
+ jQuery('#<?php echo $element["name"]; ?>').on( "click", function() {
159
+ wdwt_elements.checkbox_open(element_<?php echo $element["name"]; ?>);
160
+ });
161
+
162
+ });
163
+ </script>
164
+ <?php
165
+ }
166
+
167
+ /**
168
+ * Displays a single color control
169
+ */
170
+
171
+ public function color($element, $context='option', $opt_val='', $meta=array()){
172
+
173
+ if($context== 'meta'){
174
+ $optionname = WDI_META.'[' .$element['name']. ']';
175
+ }
176
+ else{
177
+ $wdi_options = get_option(WDI_OPT );
178
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
179
+ $opt_val = $wdi_options[$element['name']];
180
+ }
181
+ ?>
182
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
183
+ <div class='wdwt_float'>
184
+ <div>
185
+ <input type="text" class='color_input' id="<?php echo $element['name']; ?>" name="<?php echo $optionname; ?>" value="<?php echo esc_attr($opt_val); ?>" data-default-color="<?php echo $element['default']; ?>" <?php $this->custom_attrs($element); ?> style="background-color:<?php echo esc_attr($opt_val); ?>;">
186
+ </div>
187
+ </div>
188
+ </div>
189
+ <script type="text/javascript">
190
+ jQuery(document).ready(function() {
191
+ jQuery('.color_input').wpColorPicker();
192
+ });
193
+ </script>
194
+ <?php
195
+ }
196
+
197
+
198
+
199
+
200
+ /**
201
+ * Displays single input text field
202
+ *
203
+ * @param $element['default']: one of the keys from 'valid options' as default value
204
+ * @param $element['input_size']: input field size
205
+ * @param $element['value'] : give constant value
206
+ */
207
+
208
+ public function input($element, $context = 'option', $opt_val = '', $meta=array()){
209
+
210
+ $readonly = isset($element['readonly'])? 'readonly="'.esc_attr($element['readonly']).'"' : '';
211
+
212
+ if($context== 'meta'){
213
+ $optionname = WDI_META.'[' .$element['name']. ']';
214
+ }
215
+ else{
216
+ global $wdi_options;
217
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
218
+ $opt_val = isset($wdi_options[$element['name']])? $wdi_options[$element['name']] : '';
219
+ if($opt_val == ''){
220
+ $opt_val = isset($element['value']) ? $element['value'] : '';
221
+ }
222
+
223
+ }
224
+
225
+ $input_size = isset($element["input_size"]) ? $element["input_size"] : $this->params["input_size"];
226
+
227
+ ?>
228
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
229
+ <div class="block">
230
+ <div class="optioninput">
231
+ <input <?php echo $readonly;?> type=<?php echo isset($element['input_type']) ? $element['input_type'] : 'text'?> name="<?php echo $optionname; ?>" id="<?php echo $element['name'];?>"
232
+ <?php echo isset($element['required'])? 'required' : ''; $this->custom_attrs($element); ?>
233
+ value="<?php echo esc_attr($opt_val); ?>" size="<?php echo $input_size; ?>"
234
+ <?php if(isset($element['attr'])) {echo $element['attr']['name'] . '="' .$element["attr"]["value"].'"';} ?>>
235
+ <?php
236
+ if(isset($element['unit_symbol'])){
237
+ echo $element['unit_symbol'];
238
+ }
239
+ echo isset($element['label']) ? $element['label'] : "";
240
+ ?>
241
+
242
+ </div>
243
+ </div>
244
+ </div>
245
+ <?php
246
+ }
247
+
248
+
249
+
250
+ /**
251
+ * Displays a group of radio buttons
252
+ *
253
+ * @param $option['valid options']: ($key => array('title'=>'value', 'description'=>'value'))
254
+ * @param $option['default']: one of the keys from 'valid options' as default value
255
+ */
256
+
257
+ public function radio($element, $context = 'option', $opt_val = '', $meta=array()){
258
+ if($context== 'meta'){
259
+ $optionname = WDI_META.'[' .$element['name']. ']';
260
+ }
261
+ else{
262
+ global $wdi_options;
263
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
264
+ $opt_val = $wdi_options[$element['name']];
265
+ }
266
+
267
+ ?>
268
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
269
+ <?php
270
+ foreach ( $element['valid_options'] as $key => $option ) {
271
+ ?>
272
+ <input type="radio" name="<?php echo $optionname; ?>" <?php checked( $key, $opt_val ); ?> <?php $this->custom_attrs($element); ?> value="<?php echo esc_attr($key); ?>" /> <?php echo esc_html($option); ?>
273
+ <?php
274
+ echo isset($element['label']) ? $element['label'] : "";
275
+ }
276
+ ?>
277
+ </div>
278
+ <?php
279
+ }
280
+
281
+ /**
282
+ * Displays a group of radio buttons which show or hide some other elements onchange
283
+ *
284
+ * @param $element['show'] = array("key" => "value") or array("key" => array("value","valeu2"))
285
+ * @param $element['hide'] = array("key" => "value")
286
+ */
287
+
288
+ public function radio_open($element,$context = 'option', $opt_val = '', $meta=array()){
289
+
290
+ if($context== 'meta'){
291
+ $optionname = WDI_META.'[' .$element['name']. ']';
292
+ }
293
+ else{
294
+ global $wdi_options;
295
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
296
+ $opt_val = $wdi_options[$element['name']];
297
+ }
298
+
299
+
300
+
301
+ ?>
302
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
303
+
304
+ <?php
305
+ foreach ( $element['valid_options'] as $key => $option ) {
306
+ ?>
307
+ <input type="radio" name="<?php echo $optionname; ?>" <?php checked( $key, $opt_val ); ?> <?php $this->custom_attrs($element); ?> value="<?php echo esc_attr($key); ?>" /> <?php echo esc_html($option); ?>
308
+ <?php
309
+ }
310
+ ?>
311
+
312
+ </div>
313
+ <script>
314
+ jQuery(document).ready(function () {
315
+ /*init*/
316
+ var element_<?php echo $element["name"]; ?> = {
317
+ name : "<?php echo $optionname; ?>",
318
+ show : [
319
+ <?php
320
+ foreach ($element['show'] as $key => $value) :
321
+ echo "{key: '" . $key ."', val: [" ;
322
+ if(gettype ($value)=='array'){ /*many items. array of strings of names*/
323
+ foreach ($value as $item){
324
+ echo "'".$item."',";
325
+ }
326
+ }
327
+ else{/*single item name string */
328
+ echo "'".$value."',";
329
+ }
330
+ echo "]},";
331
+ endforeach;
332
+ ?>
333
+ ],
334
+ hide : [
335
+ <?php
336
+ foreach ($element['hide'] as $key => $value) :
337
+ echo "{key: '" . $key ."', val: [" ;
338
+ if(gettype ($value)=='array'){ /*many items. array of strings of names*/
339
+ foreach ($value as $item){
340
+ echo "'".$item."',";
341
+ }
342
+ }
343
+ else{/*single item name string */
344
+ echo "'".$value."',";
345
+ }
346
+ echo "]},";
347
+ endforeach;
348
+ ?>
349
+ ]
350
+ };
351
+
352
+ wdwt_elements.radio_open(element_<?php echo $element["name"]; ?>);
353
+ /*shor or hide on change*/
354
+ jQuery('input[type=radio][name="<?php echo $optionname; ?>"]').on( "change", function() {
355
+ wdwt_elements.radio_open(element_<?php echo $element["name"]; ?>);
356
+ });
357
+
358
+ });
359
+ </script>
360
+
361
+ <?php
362
+
363
+ }
364
+
365
+ /**
366
+ * Displays a group of radio buttons with images as descriptions
367
+ *
368
+ * @param $element['valid options']: array( array('index' => 0, title'=>'value', 'description'=>'value'))
369
+ * @param $element['default']: one of the indices from 'valid options' as default value
370
+ * @param $element['img_src']:
371
+ * @param $element['img_height']:
372
+ * @param $element['img_width']:
373
+ */
374
+
375
+ public function radio_images($element, $context='meta', $opt_val='', $meta=array()){
376
+
377
+ if($context== 'meta'){
378
+ $optionname = WDI_META.'[' .$element['name']. ']';
379
+ }
380
+ else{
381
+ global $wdi_options;
382
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
383
+ $opt_val = $wdi_options[$element['name']];
384
+ }
385
+ ?>
386
+
387
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
388
+ <?php
389
+ $img_h = intval($element['img_height']) / sizeof($element['valid_options']);
390
+ foreach($element['valid_options'] as $option) { ?>
391
+ <div class="sprite_layouts">
392
+ <div alt="<?php echo esc_attr($option['title']); ?>" style="width:<?php echo esc_attr($element['img_width']); ?>px; height:<?php echo esc_attr($img_h); ?>px; background:url(<?php echo esc_url(WDWT_IMG_INC.$element['img_src']); ?>) no-repeat 0 -<?php echo (intval($option['index'])-1) * $img_h; ?>px;"></div>
393
+ <input type="radio" name="<?php echo $optionname; ?>" <?php checked( $option['index'], $opt_val ); ?> <?php $this->custom_attrs($element); ?> value="<?php echo intval($option['index']); ?>">
394
+ </div>
395
+ <?php
396
+ }
397
+ ?>
398
+ </div>
399
+ <?php
400
+ }
401
+ /**
402
+ * Displays a group of radio buttons with images as descriptions which show or hide some other elements onchange
403
+ *
404
+ * @param $element['valid options']: array( array('index' => 0, title'=>'value', 'description'=>'value'))
405
+ * @param $element['default']: one of the indices from 'valid options' as default value
406
+ * @param $element['img_src']:
407
+ * @param $element['img_height']:
408
+ * @param $element['img_width']:
409
+ * @param $element['show'] = array("key" => "value") or array("key" => array("value","valeu2"))
410
+ * @param $element['hide'] = array("key" => "value")
411
+ *
412
+ */
413
+
414
+
415
+ public function radio_images_open($element, $context='option', $opt_val ='', $meta=array()){
416
+
417
+ if($context== 'meta'){
418
+ $optionname = WDI_META.'[' .$element['name']. ']';
419
+ }
420
+ else{
421
+ global $wdi_options;
422
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
423
+ $opt_val = $wdi_options[$element['name']];
424
+ }
425
+ ?>
426
+
427
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
428
+ <?php
429
+ $img_h = intval($element['img_height']) / sizeof($element['valid_options']);
430
+ foreach($element['valid_options'] as $option) { ?>
431
+ <div class="sprite_layouts">
432
+ <div alt="<?php echo esc_attr($option['title']); ?>" style="width:<?php echo $element['img_width']; ?>px; height:<?php echo $img_h; ?>px; background:url(<?php echo esc_url(WDWT_IMG_INC.$element['img_src']); ?>) no-repeat 0 -<?php echo (intval($option['index'])-1) * $img_h; ?>px;"></div>
433
+ <input type="radio" name="<?php echo $optionname; ?>" <?php checked( $option['index'], $opt_val ); ?> <?php $this->custom_attrs($element); ?> value="<?php echo intval($option['index']); ?>">
434
+ </div>
435
+ <?php
436
+ }
437
+ ?>
438
+ </div>
439
+ <script>
440
+ jQuery(document).ready(function () {
441
+ /*init*/
442
+ var element_<?php echo $element["name"]; ?> = {
443
+ name : "<?php echo $optionname; ?>",
444
+ show : [
445
+ <?php
446
+ foreach ($element['show'] as $key => $value) :
447
+ echo "{key: '" . $key ."', val: [" ;
448
+ if(gettype ($value)=='array'){ /*many items. array of strings of names*/
449
+ foreach ($value as $item){
450
+ echo "'".$item."',";
451
+ }
452
+ }
453
+ else{/*single item name string */
454
+ echo "'".$value."',";
455
+ }
456
+ echo "]},";
457
+ endforeach;
458
+ ?>
459
+ ],
460
+ hide : [
461
+ <?php
462
+ foreach ($element['hide'] as $key => $value) :
463
+ echo "{key: '" . $key ."', val: [" ;
464
+ if(gettype ($value)=='array'){ /*many items. array of strings of names*/
465
+ foreach ($value as $item){
466
+ echo "'".$item."',";
467
+ }
468
+ }
469
+ else{/*single item name string */
470
+ echo "'".$value."',";
471
+ }
472
+ echo "]},";
473
+ endforeach;
474
+ ?>
475
+ ]
476
+ };
477
+
478
+ wdwt_elements.radio_open(element_<?php echo $element["name"]; ?>);
479
+ /*shor or hide on change*/
480
+ jQuery('input[type=radio][name="<?php echo $optionname; ?>"]').on( "change", function() {
481
+ wdwt_elements.radio_open(element_<?php echo $element["name"]; ?>);
482
+ });
483
+
484
+ });
485
+ </script>
486
+ <?php
487
+ }
488
+
489
+ /**
490
+ * Displays single <select> element
491
+ *
492
+ * @param $select['valid options']: ($key => $value)
493
+ * @param $select['default']: one of the keys from 'valid options' as default value
494
+ */
495
+
496
+ public function select($element, $context='option', $opt_val = array(), $meta=array()){
497
+
498
+ if($context== 'meta'){
499
+ $optionname = WDI_META.'[' .$element['name']. '][]';
500
+ if(!is_array($opt_val)){
501
+ /*old format*/
502
+ $opt_val = $this->get_old_posts_cats($opt_val);
503
+ }
504
+ }
505
+ else{
506
+ global $wdi_options;
507
+ $optionname = isset($element["multiple"]) ? WDI_OPT.'[' .$element['name']. '][]' : WDI_OPT.'[' .$element['name']. ']';
508
+ $opt_val = $wdi_options[$element['name']];
509
+ }
510
+ $opt_val = is_array($opt_val) ? $opt_val : array($opt_val);
511
+ $multiple = isset($element["multiple"]) ? true : false;
512
+ $width = isset($element["width"]) ? intval($element["width"]) : $this->params["select_width"];
513
+ $disabled = isset($element["disabled"]) ? $element["disabled"] : array();
514
+ ?>
515
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
516
+ <div class="block">
517
+ <div class="optioninput">
518
+ <select name="<?php echo $optionname; ?>" id="<?php echo $element['name'] ?>" <?php echo $multiple ? 'multiple="multiple"' : ''; ?> <?php $this->custom_attrs($element); ?> style="width:<?php echo $width; ?>px; resize:vertical;">
519
+ <?php foreach($element['valid_options'] as $key => $value){ ?>
520
+ <option value="<?php echo esc_attr($key) ?>" <?php selected(true, in_array($key, $opt_val)); ?> <?php echo in_array($key, $disabled) ? 'disabled="disabled"' : ''; ?>>
521
+ <?php echo esc_html($value); ?>
522
+ </option>
523
+ <?php } ?>
524
+ </select>
525
+ </div>
526
+ </div>
527
+ </div>
528
+ <?php
529
+ }
530
+
531
+ /**
532
+ * Displays a select with options which shows or hides some other elements onchange
533
+ *
534
+ * @param $element['show'] = array("key" => "value") or array("key" => array("value","valeu2"))
535
+ * @param $element['hide'] = array("key" => "value")
536
+ */
537
+
538
+ public function select_open($element, $context='option', $opt_val ='', $meta=array()){
539
+
540
+ if($context== 'meta'){
541
+ $optionname = WDI_META.'[' .$element['name']. '][]';
542
+ }
543
+ else{
544
+ global $wdi_options;
545
+ $optionname = WDI_OPT.'[' .$element['name']. '][]';
546
+ $opt_val = $wdi_options[$element['name']];
547
+ }
548
+ $opt_val = is_array($opt_val) ? $opt_val : array($opt_val);
549
+ $multiple = isset($element["multiple"]) ? true : false;
550
+ $width = isset($element["width"]) ? intval($element["width"]) : $this->params["select_width"];
551
+
552
+ ?>
553
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
554
+
555
+ <select name="<?php echo $optionname; ?>" id="<?php echo $element['name'] ?>" <?php echo $multiple ? 'multiple="multiple"' : ''; ?> <?php $this->custom_attrs($element); ?> style="width:<?php echo $width; ?>px; resize:vertical;">
556
+ <?php
557
+ foreach($element['valid_options'] as $key => $value){ ?>
558
+ <option value="<?php echo esc_attr($key); ?>" <?php selected(true, in_array($key, $opt_val)); ?>><?php echo esc_html($value); ?></option>
559
+ <?php } ?>
560
+ </select>
561
+ </div>
562
+ <script>
563
+ jQuery(document).ready(function () {
564
+ /*init*/
565
+
566
+ var element_<?php echo $element["name"]; ?> = {
567
+ id : "<?php echo $element['name']; ?>",
568
+ show : [
569
+ <?php
570
+ foreach ($element['show'] as $key => $value) :
571
+ echo "{key: '" . $key ."', val: [" ;
572
+ if(gettype ($value)=='array'){ /*many items. array of strings of names*/
573
+ foreach ($value as $item){
574
+ echo "'".$item."',";
575
+ }
576
+ }
577
+ else{/*single item name string */
578
+ echo "'".$value."',";
579
+ }
580
+ echo "]},";
581
+ endforeach;
582
+ ?>
583
+ ],
584
+ hide : [
585
+ <?php
586
+ foreach ($element['hide'] as $key => $value) :
587
+ echo "{key: '" . $key ."', val: [" ;
588
+ if(gettype ($value)=='array'){ /*many items. array of strings of names*/
589
+ foreach ($value as $item){
590
+ echo "'".$item."',";
591
+ }
592
+ }
593
+ else{/*single item name string */
594
+ echo "'".$value."',";
595
+ }
596
+ echo "]},";
597
+ endforeach;
598
+ ?>
599
+ ]
600
+ };
601
+
602
+
603
+
604
+ wdwt_elements.select_open(element_<?php echo $element["name"]; ?>);
605
+ /*change on click*/
606
+ jQuery('#<?php echo $element["name"]; ?>').on( "change", function() {
607
+ wdwt_elements.select_open(element_<?php echo $element["name"]; ?>);
608
+ });
609
+
610
+ });
611
+ </script>
612
+ <?php
613
+ }
614
+
615
+ /**
616
+ * Displays a select with style options which allow to modify preview text
617
+ *
618
+ * @param $element['text_preview'] = 'name'
619
+ * @param $element['style_param'] = 'font-size' (css param name)
620
+ * @param $element['valid_options'] = array('1em' => "1 em")
621
+ */
622
+
623
+ public function select_style($element, $context='option', $opt_val='', $meta=array()){
624
+
625
+ if($context== 'meta'){
626
+ $optionname = WDI_META.'[' .$element['name']. '][]';
627
+ }
628
+ else{
629
+ global $wdi_options;
630
+ $optionname = WDI_OPT.'[' .$element['name']. '][]';
631
+ $opt_val = $wdi_options[$element['name']];
632
+ }
633
+ $width = isset($element["width"]) ? $element["width"] : $this->params["select_width"];
634
+
635
+ ?>
636
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
637
+ <select name="<?php echo $optionname; ?>" id="<?php echo $element['name'] ?>" <?php $this->custom_attrs($element); ?> style="width:<?php echo $width;?>px;">
638
+ <?php
639
+ foreach($element['valid_options'] as $key => $value){ ?>
640
+ <option value="<?php echo esc_attr($key); ?>" <?php selected(true, in_array($key, $opt_val)); ?>><?php echo esc_html($value); ?></option>
641
+ <?php } ?>
642
+ </select>
643
+ </div>
644
+ <?php
645
+ if($context == 'option') :
646
+ ?>
647
+ <script>
648
+ jQuery(document).ready(function () {
649
+ /*init*/
650
+
651
+ var element_<?php echo $element["name"]; ?> = {
652
+ id : "<?php echo $element["name"]; ?>",
653
+ text_preview : "<?php echo $element['text_preview']; ?>",
654
+ style_param : "<?php echo $element['style_param']; ?>",
655
+ };
656
+
657
+ wdwt_elements.select_style(element_<?php echo $element["name"]; ?>);
658
+ /*change preview text*/
659
+ jQuery('#<?php echo $element["name"]; ?>').on( "change", function() {
660
+ wdwt_elements.select_style(element_<?php echo $element["name"]; ?>);
661
+ });
662
+
663
+ });
664
+ </script>
665
+ <?php
666
+ endif;
667
+ }
668
+
669
+
670
+
671
+ /**
672
+ * Displays single textarea field
673
+ *
674
+ * @param $params["textarea_height"] and $params["textarea_width"]
675
+ *
676
+ */
677
+
678
+ public function textarea($element, $context='option', $opt_val='', $meta=array()){
679
+
680
+ if($context== 'meta'){
681
+ $optionname = WDI_META.'[' .$element['name']. ']';
682
+ }
683
+ else{
684
+ global $wdi_options;
685
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
686
+ $opt_val = isset($wdi_options[$element['name']])? $wdi_options[$element['name']] : '';
687
+ }
688
+
689
+ $textarea_w = isset($element["width"]) ? $element["width"] : $this->params["textarea_width"];
690
+ $textarea_h = isset($element["height"]) ? $element["height"] : $this->params["textarea_height"];
691
+ ?>
692
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
693
+ <div class="block">
694
+ <div class="optioninput">
695
+ <textarea name="<?php echo $optionname; ?>" id="<?php echo $element['name'] ?>" <?php $this->custom_attrs($element); ?> style="width:<?php echo $textarea_w; ?>px; height:<?php echo $textarea_h; ?>px;"><?php echo esc_html($opt_val); ?></textarea>
696
+ </div>
697
+ </div>
698
+ </div>
699
+ <?php
700
+
701
+ }
702
+
703
+
704
+
705
+
706
+ /**
707
+ * displays a preview text in typography page
708
+ * @param $element['modified_by'] = array('home_font_weight' => 'font-weight')
709
+ *
710
+ */
711
+
712
+ public function text_preview($element, $context='option', $opt_val='', $meta=array()){
713
+ global $wdi_options;
714
+ ?>
715
+
716
+ <div class="font_preview_wrap" id="wdwt_wrap_<?php echo $element['name']; ?>">
717
+ <label class="typagrphy_label" for="" style="font-size:18px;font-size: 20px;font-family: Segoe UI;"><?php echo __('Preview', WDWT_LANG ); ?></label>
718
+ <div class="font_preview">
719
+ <div class="optioninput-preview" id="<?php echo $element['name']; ?>" style="margin-top: 14px; margin-bottom: 23px;" ><?php
720
+ $theme = wp_get_theme();
721
+ echo esc_html($theme->description);
722
+ ?></div>
723
+ </div>
724
+ </div>
725
+ <?php
726
+ }
727
+
728
+
729
+
730
+ /**
731
+ * Displays an upload with single input field for filename
732
+ *
733
+ * @param $element[''] =
734
+ *
735
+ * not for the slider!!!
736
+ */
737
+
738
+ public function upload_single($element, $context='', $opt_val=''){
739
+
740
+ if($context== 'meta'){
741
+ $optionname = WDI_META.'[' .$element['name']. ']';
742
+ }
743
+ else{
744
+ global $wdi_options;
745
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
746
+ $opt_val = $wdi_options[$element['name']];
747
+ }
748
+
749
+ $upload_size = isset($element["upload_size"]) ? $element["upload_size"] : $this->params["upload_size"];
750
+ $filetype = (isset($element["filetype"]) && $element_filetype != '') ? $element["filetype"] : $this->params["upload_filetype"];
751
+
752
+ ?>
753
+ <script>
754
+ jQuery(document).ready(function ($) {
755
+
756
+ /* set uploader size in resizing*/
757
+ tb_position = function() {
758
+ var tbWindow = jQuery('#TB_window'),
759
+ width = jQuery(window).width(),
760
+ H = jQuery(window).height(),
761
+ W = ( 850 < width ) ? 850 : width,
762
+ adminbar_height = 0;
763
+
764
+ if ( jQuery('#wpadminbar').length ) {
765
+ adminbar_height = parseInt(jQuery('#wpadminbar').css('height'), 10 );
766
+ }
767
+
768
+ if ( tbWindow.size() ) {
769
+ tbWindow.width( W - 50 ).height( H - 45 - adminbar_height );
770
+ jQuery('#TB_iframeContent').width( W - 50 ).height( H - 75 - adminbar_height );
771
+ tbWindow.css({'margin-left': '-' + parseInt( ( ( W - 50 ) / 2 ), 10 ) + 'px'});
772
+ if ( typeof document.body.style.maxWidth !== 'undefined' )
773
+ tbWindow.css({'top': 20 + adminbar_height + 'px', 'margin-top': '0'});
774
+ }
775
+ };
776
+
777
+ /*setup the var*/
778
+ jQuery('#uploader_<?php echo $element['name']; ?>').on('click', function () {
779
+
780
+ window.parent.uploadID = jQuery(this).prev('#<?php echo $element['name']; ?>');
781
+ /*grab the specific input*/
782
+ /*formfield = jQuery('.upload').attr('name');*/
783
+ tb_show('', 'media-upload.php?type=<?php echo $filetype;?>&amp;TB_iframe=true');
784
+ return false;
785
+ });
786
+ window.send_to_editor = function (html) {
787
+ imgurl = jQuery('img', html).attr('src');
788
+ /*assign the value to the input*/
789
+ window.parent.uploadID.val(imgurl);
790
+ /*trigger change for the customizer control*/
791
+ window.parent.uploadID.change();
792
+ tb_remove();
793
+ };
794
+
795
+ /*jQuery(".slide_tab").prev().parent().prev().css("display","none");*/
796
+ });
797
+ </script>
798
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
799
+ <div class="optioninput" id="upload_images">
800
+ <input type="text" class="upload" id="<?php echo $element["name"] ?>" name="<?php echo $optionname; ?>" size="<?php echo $upload_size; ?>" <?php $this->custom_attrs($element); ?> value="<?php echo esc_url($opt_val); ?>"/>
801
+ <input class="upload-button button" type="button" id="uploader_<?php echo $element['name']; ?>" value="<?php esc_attr_e('Upload Image', WDWT_LANG); ?>"/>
802
+ </div>
803
+ </div>
804
+ <?php
805
+
806
+ }
807
+
808
+
809
+ /**
810
+ * Displays an upload with
811
+ * input fields for filename,
812
+ * remove button,
813
+ * img href text, image title text, imange description textarea,
814
+ * and upload new image button
815
+ *
816
+ *
817
+ * @param $element[''] =
818
+ *
819
+ * for the slider!!!
820
+ */
821
+
822
+
823
+ public function upload_multiple($element, $context='', $opt_val='', $meta=array()){
824
+ if($context== 'meta'){
825
+ $optionname = WDI_META.'[' .$element['name']. ']';
826
+ /*correct here later*/
827
+ }
828
+ else {
829
+ global $wdi_options;
830
+ $imgs_url = $wdi_options[$element['name']];
831
+ $optionname_url = WDI_OPT.'[' .$element['name']. ']';
832
+
833
+ $imgs_href = $wdi_options[$element['option']['imgs_href']] ;
834
+ $optionname_href = WDI_OPT.'[' .$element['option']['imgs_href']. ']';
835
+ $imgs_title = $wdi_options[$element['option']['imgs_title']] ;
836
+ $optionname_title = WDI_OPT.'[' .$element['option']['imgs_title']. ']';
837
+ $imgs_desc = $wdi_options[$element['option']['imgs_description']];
838
+ $optionname_desc = WDI_OPT.'[' .$element['option']['imgs_description']. ']';
839
+ }
840
+
841
+ $upload_size = isset($element["upload_size"]) ? $element["upload_size"] : $this->params["upload_size"];
842
+ $filetype = (isset($element["filetype"]) && $element_filetype != '') ? $element["filetype"] : $this->params["upload_filetype"];
843
+ ?>
844
+
845
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
846
+
847
+ <div class="wdwt_slide wdwt_slide_<?php echo $element['name']; ?> last_slide" id="wdwt_slide_<?php echo $element['name']; ?>_0">
848
+ <!-- Image URL -->
849
+ <div class="slide-from-base_url" style="margin-bottom:3%;">
850
+ <div valign="middle"><h2><?php esc_html_e("Image URL",WDWT_LANG); ?></h2></div>
851
+ <div>
852
+ <input type="text" id="<?php echo $element['name']; ?>_url_0" size="50" value="" class="upload image_links_group" >
853
+
854
+ <input type="button" class="<?php echo $element['name']; ?>_update-image slide_but_up" id="<?php echo $element['name']; ?>_update-button_0" value="<?php esc_attr_e("Update image", WDWT_LANG); ?>">
855
+
856
+ <input type="button" class="<?php echo $element['name']; ?>_remove-image slide_but_rem wdwt_btn_red" id="<?php echo $element['name']; ?>_remove-button_0" value="<?php esc_attr_e("Remove this slide", WDWT_LANG); ?>" />
857
+ </div>
858
+ </div>
859
+ <!-- Image -->
860
+ <div class="slide-from-base_image">
861
+ <div><img style="width:82%;" id="<?php echo $element['name']; ?>_img_0" src="" /></div>
862
+ </div>
863
+ <!-- Image HREF -->
864
+ <div class="slide-from-base_href">
865
+ <div valign="middle"><h2><?php esc_html_e("Image Href", WDWT_LANG); ?></h2></div>
866
+ <div><input type="text" id="<?php echo $element['name']; ?>_href_0" class="image_href_group" value="" /></div>
867
+ </div>
868
+ <!-- Image TITLE -->
869
+ <div class="slide-from-base_title">
870
+ <div valign="middle">
871
+ <h2><?php esc_html_e("Image Title", WDWT_LANG); ?></h2>
872
+ </div>
873
+ <div><input type="text" id="<?php echo $element['name']; ?>_title_0" class="image_title_group" value="" /></div>
874
+ </div>
875
+ <!-- Image DESCRIPTION -->
876
+ <div class="slide-from-base_desc" style="margin-bottom:3%;">
877
+ <div valign="middle">
878
+ <h2><?php esc_html_e("Image Description", WDWT_LANG); ?></h2>
879
+ </div>
880
+ <div>
881
+ <textarea class="image_descr_group" id="<?php echo $element['name']; ?>_descr_0" style="width:236px; height:120px;"></textarea>
882
+ </div>
883
+ </div>
884
+ </div>
885
+
886
+ <div class="slider-controls">
887
+ <div valign="middle">
888
+ <h2>
889
+ <?php esc_html_e("Image", WDWT_LANG); ?>
890
+ <span class="hasTip" style="cursor: pointer;color: #3B5998;" title="<?php esc_attr_e("Using this option you can add images for the slider.",WDWT_LANG); ?>">[?]</span>
891
+ </h2>
892
+ </div>
893
+ <div>
894
+ <input type="hidden" name="<?php echo $optionname_url; ?>" id="<?php echo $element['name']; ?>_urls" data-customize-setting-link="<?php echo $optionname_url; ?>" value="<?php echo esc_attr($imgs_url); ?>" >
895
+ <input type="hidden" name="<?php echo $optionname_href; ?>" id="<?php echo $element['name']; ?>_hrefs" data-customize-setting-link="<?php echo $optionname_href; ?>" value="<?php echo esc_attr($imgs_href); ?>" >
896
+ <input type="hidden" name="<?php echo $optionname_title; ?>" id="<?php echo $element['name']; ?>_titles" data-customize-setting-link="<?php echo $optionname_title; ?>" value="<?php echo esc_attr($imgs_title); ?>" >
897
+ <input type="hidden" name="<?php echo $optionname_desc; ?>" id="<?php echo $element['name']; ?>_descrs" data-customize-setting-link="<?php echo $optionname_desc; ?>" value="<?php echo esc_attr($imgs_desc); ?>" >
898
+ <input class="upload_button_slide" type="button" id="<?php echo $element['name']; ?>_add-button" value="<?php esc_attr_e('Add new slide', WDWT_LANG); ?>" />
899
+ </div>
900
+ </div>
901
+ </div>
902
+ <script type="text/javascript">
903
+ jQuery(document).ready(function(){
904
+
905
+ var element_<?php echo $element["name"]; ?> = {
906
+ id : "<?php echo $element['name']; ?>",
907
+ urls : jQuery('#<?php echo $element['name']; ?>_urls').val(),
908
+ hrefs : jQuery('#<?php echo $element['name']; ?>_hrefs').val(),
909
+ titles : jQuery('#<?php echo $element['name']; ?>_titles').val(),
910
+ descrs : jQuery('#<?php echo $element['name']; ?>_descrs').val(),
911
+ active : 0,
912
+ number_slides : wdwt_elements.slider.len(jQuery('#<?php echo $element['name']; ?>_urls').val()),
913
+ };
914
+ /*init show*/
915
+ wdwt_elements.slider.init(element_<?php echo $element["name"]; ?>);
916
+ wdwt_elements.slider.show(element_<?php echo $element["name"]; ?>);
917
+ /*firefox bug!*/
918
+ jQuery('#customize-control-theme_portfolio_gallery_options-slider_head').find("*").on("focus",function(e){
919
+ console.log(e);
920
+ });
921
+ /*watch for changes in values*/
922
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on("change", ".image_links_group" , function (){
923
+ var index = wdwt_elements.slider.find_index(jQuery(this), "<?php echo $element['name']; ?>_url_");
924
+ wdwt_elements.slider.edit(element_<?php echo $element["name"]; ?>, index, "url");
925
+ });
926
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on("change", ".image_href_group", function (){
927
+ var index = wdwt_elements.slider.find_index(jQuery(this), "<?php echo $element['name']; ?>_href_");
928
+ wdwt_elements.slider.edit(element_<?php echo $element["name"]; ?>, index, "href");
929
+ });
930
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on("change", ".image_title_group", function (){
931
+ var index = wdwt_elements.slider.find_index(jQuery(this), "<?php echo $element['name']; ?>_title_");
932
+ wdwt_elements.slider.edit(element_<?php echo $element["name"]; ?>, index, "title");
933
+ });
934
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on("change", ".image_descr_group", function (){
935
+ var index = wdwt_elements.slider.find_index(jQuery(this), "<?php echo $element['name']; ?>_descr_");
936
+ wdwt_elements.slider.edit(element_<?php echo $element["name"]; ?>, index, "descr");
937
+ });
938
+ /*add new slide*/
939
+ jQuery("#<?php echo $element['name']; ?>_add-button").on('click', function(){
940
+ tb_show("", "media-upload.php?type=image&amp;TB_iframe=true");
941
+ add_image=send_to_editor ;
942
+ window.send_to_editor = function(html) {
943
+ imgurl = jQuery("img",html).attr("src");
944
+ after = element_<?php echo $element["name"]; ?>.number_slides-1;
945
+ wdwt_elements.slider.insert(element_<?php echo $element["name"]; ?>, after, imgurl);
946
+ tb_remove();
947
+ };
948
+ return false;
949
+ });
950
+ /*update image*/
951
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on('click', ".<?php echo $element['name']; ?>_update-image", function(){
952
+ var index = wdwt_elements.slider.find_index(jQuery(this), "<?php echo $element['name']; ?>_update-button_");
953
+ tb_show("", "media-upload.php?type=image&amp;TB_iframe=true");
954
+ window.send_to_editor = function(html) {
955
+ imgurl = jQuery("img",html).attr("src");
956
+ jQuery("#<?php echo $element['name']; ?>_url_"+index).val(imgurl);
957
+ jQuery("#<?php echo $element['name']; ?>_url_"+index).change();
958
+ tb_remove();
959
+ };
960
+ return false;
961
+ });
962
+ /*remove slide*/
963
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on('click', ".<?php echo $element['name']; ?>_remove-image", function(){
964
+ var index = wdwt_elements.slider.find_index(jQuery(this), "<?php echo $element['name']; ?>_remove-button_");
965
+ element_<?php echo $element["name"]; ?>.active = index;
966
+ wdwt_elements.slider.remove(element_<?php echo $element["name"]; ?>);
967
+ });
968
+ });
969
+ </script>
970
+ <?php
971
+ }
972
+
973
+
974
+
975
+
976
+
977
+ /**
978
+ * Displays a select with color theme options which allows to select active theme
979
+ *
980
+ * @param $element['color_panel'] = 'name of color panel'
981
+ * @param $element['default'] = array(
982
+ * 'active'=>0,
983
+ * 'themes' => array(array('name'=>'theme_1', "title" =>'')),
984
+ * 'colors'=> array(
985
+ * array('color_name => 'array('value'=>'#cccccc', 'default'=>'#000000')))
986
+ * )
987
+ *
988
+ */
989
+
990
+ public function select_theme($element, $context='option', $opt_val='', $meta=array()){
991
+
992
+
993
+ if($context== 'meta'){
994
+ $optionname = WDI_META.'[' .$element['name']. ']';
995
+ }
996
+ else{
997
+ global $wdi_options;
998
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
999
+ $opt_val = $wdi_options[$element['name']];
1000
+ }
1001
+
1002
+ $current = $opt_val['active'];
1003
+ $width = isset($element["width"]) ? $element["width"] : $this->params["select_width"];
1004
+ ?>
1005
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
1006
+ <select name="<?php echo $optionname; ?>[active]" id="<?php echo $element['name'] ?>" <?php $this->custom_attrs($element); ?> style="width:<?php echo $width; ?>px;">
1007
+ <?php
1008
+ for($i=0; $i<sizeof($element['default']['themes']); $i++){ ?>
1009
+ <option value="<?php echo $i ?>" <?php selected( $current, $i); ?>> <?php echo esc_html($element['default']['themes'][$i]['title']); ?></option>
1010
+ <?php } ?>
1011
+ </select>
1012
+ </div>
1013
+ <script>/*stop here*/
1014
+ jQuery(document).ready(function () {
1015
+
1016
+ /*create var storing all parameters*/
1017
+ var element_<?php echo $element['name'] ?> = {
1018
+ id : "<?php echo $element["name"]; ?>",
1019
+ cpanel:"<?php echo $element['color_panel']; ?>",
1020
+ themes:[],
1021
+ colors:[]
1022
+ };
1023
+
1024
+ <?php
1025
+ /*add themes to variable*/
1026
+ for($i=0; $i<sizeof($opt_val['themes']); $i++):
1027
+ ?>
1028
+ element_<?php echo $element['name']; ?>.themes.push({name: "<?php echo $opt_val['themes'][$i]['name']; ?>", title: "<?php echo esc_attr($opt_val['themes'][$i]['title']); ?>"});
1029
+ var theme_colors = {};
1030
+ <?php
1031
+ foreach ($opt_val['colors'][$i] as $color_name => $color){
1032
+ ?>
1033
+ theme_colors["<?php echo $color_name; ?>"] = { name: "<?php echo $color_name; ?>", val: "<?php echo $color['value']; ?>", def: "<?php echo $color['default']; ?>"};
1034
+ <?php
1035
+ }
1036
+ /*add colors of every theme to variable */
1037
+ ?>
1038
+ element_<?php echo $element['name']; ?>.colors.push(theme_colors);
1039
+ <?php
1040
+ endfor;
1041
+ ?>
1042
+ /*refresh color panel on theme select change*/
1043
+ jQuery('#<?php echo $element["name"]; ?>').on( "change", function() {
1044
+ wdwt_elements.refresh_colorpanel(element_<?php echo $element['name'] ?>);
1045
+ });
1046
+
1047
+ });
1048
+ </script>
1049
+ <?php
1050
+ }
1051
+
1052
+
1053
+ /**
1054
+ * Displays a color panel with names, pickers and default buttons for every color
1055
+ * Active theme index and its colors are taken from here, not from select_theme
1056
+ *
1057
+ * @param $element['default'] = array( 'select_theme' => 'color_scheme', 'active' => 0,
1058
+ * 'colors' => array('color_name'=>array('value'=>'#cccccc', 'value'=>'#000000')))
1059
+ */
1060
+
1061
+ public function colors($element, $context='option', $opt_val='', $meta=array()){
1062
+
1063
+ if($context== 'meta'){
1064
+ $optionname = WDI_META.'[' .$element['name']. ']';
1065
+ }
1066
+ else{
1067
+ global $wdi_options;
1068
+ $optionname = WDI_OPT.'[' .$element['name']. ']';
1069
+ $opt_val = $wdi_options[$element['name']];
1070
+ }
1071
+
1072
+ $select_theme = $opt_val['select_theme'];
1073
+ ?>
1074
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
1075
+ <input type="text" class="hidden_field" id="theme_<?php echo $element['name']; ?>" hidden='hidden' name="<?php echo $optionname.'[select_theme]'; ?>" value="<?php echo esc_attr($opt_val['select_theme']); ?>">
1076
+ <input type="text" class="hidden_field" id="active_<?php echo $element['name']; ?>" hidden='hidden' name="<?php echo $optionname.'[active]'; ?>" value="<?php echo esc_attr($opt_val['active']); ?>">
1077
+ <?php foreach($opt_val['colors'] as $color_name => $color): ?>
1078
+ <div class='wdwt_float'>
1079
+ <span class="wdwt_color_title"><?php echo esc_html($element['color_names'][$color_name]); ?></span>
1080
+ <div>
1081
+ <input type="text" class="hidden_field" id="default_<?php echo $element['name']; ?>_<?php echo $color_name; ?>" hidden='hidden' name="<?php echo $optionname.'[colors]['.$color_name.']'.'[default]'; ?>" value="<?php echo $color['default']; ?>">
1082
+ <input type="text" class='color_input' id="value_<?php echo $element['name']; ?>_<?php echo $color_name; ?>" name="<?php echo $optionname.'[colors]['.$color_name.']'.'[value]'; ?>" value="<?php echo $color['value']; ?>" data-default-color="<?php echo $color['default']; ?>" style="background-color:<?php echo $color['value']; ?>;">
1083
+ </div>
1084
+ </div>
1085
+ <?php endforeach; ?>
1086
+ </div>
1087
+ <script type="text/javascript">
1088
+ jQuery(document).ready(function() {
1089
+ jQuery('.color_input').wpColorPicker();
1090
+
1091
+
1092
+ });
1093
+ </script>
1094
+ <?php
1095
+ }
1096
+
1097
+
1098
+ /**
1099
+ * Displays a diagram with
1100
+ * input fields for title and percent
1101
+ * colors and other options are given separately, type (horizonral, circular etc. ...)
1102
+ */
1103
+
1104
+
1105
+ public function diagram($element, $context='', $opt_val='', $meta=array()){
1106
+ if($context== 'meta'){
1107
+ $optionname = WDI_META.'[' .$element['name']. ']';
1108
+ $diagram_title = isset($meta[$element['option']['diagram_title']]) ? $meta[$element['option']['diagram_title']] : '' ;
1109
+ $optionname_title = WDI_META.'[' .$element['option']['diagram_title']. ']';
1110
+ $diagram_percent = isset($meta[$element['option']['diagram_percent']]) ? $meta[$element['option']['diagram_percent']] : '';
1111
+ $optionname_percent = WDI_META.'[' .$element['option']['diagram_percent']. ']';
1112
+ }
1113
+ else {
1114
+ global $wdi_options;
1115
+
1116
+ $diagram_title = $wdi_options[$element['option']['diagram_title']] ;
1117
+ $optionname_title = WDI_OPT.'[' .$element['option']['diagram_title']. ']';
1118
+ $diagram_percent = $wdi_options[$element['option']['diagram_percent']];
1119
+ $optionname_percent = WDI_OPT.'[' .$element['option']['diagram_percent']. ']';
1120
+ }
1121
+ ?>
1122
+
1123
+ <div class="wdwt_param" id="wdwt_wrap_<?php echo $element['name']; ?>">
1124
+
1125
+ <div class="wdwt_diagram wdwt_diagram_<?php echo $element['name']; ?> last_percent" id="wdwt_diagram_<?php echo $element['name']; ?>_0">
1126
+ <!-- Percent TITLE -->
1127
+ <div class="diagram-from-base_title">
1128
+ <div valign="middle">
1129
+ <h2><?php esc_html_e("Title", WDWT_LANG); ?></h2>
1130
+ </div>
1131
+ <div><input type="text" id="<?php echo $element['name']; ?>_title_0" class="diagram_title_group" value="" /></div>
1132
+ </div>
1133
+ <!-- percent DESCRIPTION -->
1134
+ <div class="diagram-from-base_desc" style="margin-bottom:3%;">
1135
+ <div valign="middle">
1136
+ <h2><?php esc_html_e("Percent", WDWT_LANG); ?></h2>
1137
+ </div>
1138
+ <div>
1139
+ <input type="text" class="diagram_percent_group" id="<?php echo $element['name']; ?>_percent_0" value="" />%
1140
+ <input type="button" class="<?php echo $element['name']; ?>_remove-percent wdwt_btn_red" id="<?php echo $element['name']; ?>_remove-button_0" value="<?php esc_attr_e("Remove this percent", WDWT_LANG); ?>" />
1141
+ </div>
1142
+ </div>
1143
+ </div>
1144
+
1145
+ <div class="diagram-controls">
1146
+ <div>
1147
+ <input type="hidden" name="<?php echo $optionname_title; ?>" id="<?php echo $element['name']; ?>_titles" data-customize-setting-link="<?php echo $optionname_title; ?>" value="<?php echo esc_attr($diagram_title); ?>" >
1148
+ <input type="hidden" name="<?php echo $optionname_percent; ?>" id="<?php echo $element['name']; ?>_percents" data-customize-setting-link="<?php echo $optionname_percent; ?>" value="<?php echo esc_attr($diagram_percent); ?>" >
1149
+ <input class="add_percent wdwt_btn_blue" type="button" id="<?php echo $element['name']; ?>_add-button" value="<?php esc_attr_e('Add new percent value', WDWT_LANG); ?>" />
1150
+ </div>
1151
+ </div>
1152
+ </div>
1153
+ <script type="text/javascript">
1154
+ jQuery(document).ready(function(){
1155
+
1156
+ var element_<?php echo $element["name"]; ?> = {
1157
+ id : "<?php echo $element['name']; ?>",
1158
+ titles : jQuery('#<?php echo $element['name']; ?>_titles').val(),
1159
+ percents : jQuery('#<?php echo $element['name']; ?>_percents').val(),
1160
+ active : 0,
1161
+ number_percents : wdwt_elements.diagram.len(jQuery('#<?php echo $element['name']; ?>_titles').val()),
1162
+ };
1163
+ /*init show*/
1164
+ wdwt_elements.diagram.init(element_<?php echo $element["name"]; ?>);
1165
+ wdwt_elements.diagram.show(element_<?php echo $element["name"]; ?>);
1166
+ /*watch for changes in values*/
1167
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on("change", ".diagram_title_group", function (){
1168
+ var index = wdwt_elements.diagram.find_index(jQuery(this), "<?php echo $element['name']; ?>_title_");
1169
+ wdwt_elements.diagram.edit(element_<?php echo $element["name"]; ?>, index, "title");
1170
+ });
1171
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on("change", ".diagram_percent_group", function (){
1172
+ var index = wdwt_elements.diagram.find_index(jQuery(this), "<?php echo $element['name']; ?>_percent_");
1173
+ wdwt_elements.diagram.edit(element_<?php echo $element["name"]; ?>, index, "percent");
1174
+ });
1175
+ /*add new percent*/
1176
+ jQuery("#<?php echo $element['name']; ?>_add-button").on('click', function(){
1177
+ console.log('call');
1178
+ after = element_<?php echo $element["name"]; ?>.number_percents-1;
1179
+ wdwt_elements.diagram.insert(element_<?php echo $element["name"]; ?>, after, '');
1180
+ });
1181
+ /*remove percent*/
1182
+ jQuery("#wdwt_wrap_<?php echo $element['name']; ?>").on('click', ".<?php echo $element['name']; ?>_remove-percent", function(){
1183
+ var index = wdwt_elements.diagram.find_index(jQuery(this), "<?php echo $element['name']; ?>_remove-button_");
1184
+ element_<?php echo $element["name"]; ?>.active = index;
1185
+ wdwt_elements.diagram.remove(element_<?php echo $element["name"]; ?>);
1186
+ });
1187
+ });
1188
+ </script>
1189
+ <?php
1190
+ }
1191
+
1192
+
1193
+ public static function html_page_nav($count_items, $page_number, $form_id, $items_per_page = 20) {
1194
+ $limit = 20;
1195
+ if ($count_items) {
1196
+ if ($count_items % $limit) {
1197
+ $items_county = ($count_items - $count_items % $limit) / $limit + 1;
1198
+ }
1199
+ else {
1200
+ $items_county = ($count_items - $count_items % $limit) / $limit;
1201
+ }
1202
+ }
1203
+ else {
1204
+ $items_county = 1;
1205
+ }
1206
+ ?>
1207
+ <script type="text/javascript">
1208
+ var items_county = <?php echo $items_county; ?>;
1209
+ function wdi_spider_page(x, y) {
1210
+ switch (y) {
1211
+ case 1:
1212
+ if (x >= items_county) {
1213
+ document.getElementById('page_number').value = items_county;
1214
+ }
1215
+ else {
1216
+ document.getElementById('page_number').value = x + 1;
1217
+ }
1218
+ break;
1219
+ case 2:
1220
+ document.getElementById('page_number').value = items_county;
1221
+ break;
1222
+ case -1:
1223
+ if (x == 1) {
1224
+ document.getElementById('page_number').value = 1;
1225
+ }
1226
+ else {
1227
+ document.getElementById('page_number').value = x - 1;
1228
+ }
1229
+ break;
1230
+ case -2:
1231
+ document.getElementById('page_number').value = 1;
1232
+ break;
1233
+ default:
1234
+ document.getElementById('page_number').value = 1;
1235
+ }
1236
+ document.getElementById('<?php echo $form_id; ?>').submit();
1237
+ }
1238
+ function check_enter_key(e) {
1239
+ var key_code = (e.keyCode ? e.keyCode : e.which);
1240
+ if (key_code == 13) { /*Enter keycode*/
1241
+ if (jQuery('#current_page').val() >= items_county) {
1242
+ document.getElementById('page_number').value = items_county;
1243
+ }
1244
+ else {
1245
+ document.getElementById('page_number').value = jQuery('#current_page').val();
1246
+ }
1247
+ document.getElementById('<?php echo $form_id; ?>').submit();
1248
+ }
1249
+ return true;
1250
+ }
1251
+ </script>
1252
+ <div class="tablenav-pages">
1253
+ <span class="displaying-num">
1254
+ <?php
1255
+ if ($count_items != 0) {
1256
+ echo $count_items; ?> item<?php echo (($count_items == 1) ? '' : 's');
1257
+ }
1258
+ ?>
1259
+ </span>
1260
+ <?php
1261
+ if ($count_items > $items_per_page) {
1262
+ $first_page = "first-page";
1263
+ $prev_page = "prev-page";
1264
+ $next_page = "next-page";
1265
+ $last_page = "last-page";
1266
+ if ($page_number == 1) {
1267
+ $first_page = "first-page disabled";
1268
+ $prev_page = "prev-page disabled";
1269
+ $next_page = "next-page";
1270
+ $last_page = "last-page";
1271
+ }
1272
+ if ($page_number >= $items_county) {
1273
+ $first_page = "first-page ";
1274
+ $prev_page = "prev-page";
1275
+ $next_page = "next-page disabled";
1276
+ $last_page = "last-page disabled";
1277
+ }
1278
+ ?>
1279
+ <span class="pagination-links">
1280
+ <a class="<?php echo $first_page; ?>" title="Go to the first page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,-2);">«</a>
1281
+ <a class="<?php echo $prev_page; ?>" title="Go to the previous page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,-1);">‹</a>
1282
+ <span class="paging-input">
1283
+ <span class="total-pages">
1284
+ <input class="current_page" id="current_page" name="current_page" value="<?php echo $page_number; ?>" onkeypress="return check_enter_key(event)" title="Go to the page" type="text" size="1" />
1285
+ </span> of
1286
+ <span class="total-pages">
1287
+ <?php echo $items_county; ?>
1288
+ </span>
1289
+ </span>
1290
+ <a class="<?php echo $next_page ?>" title="Go to the next page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,1);">›</a>
1291
+ <a class="<?php echo $last_page ?>" title="Go to the last page" href="javascript:wdi_spider_page(<?php echo $page_number; ?>,2);">»</a>
1292
+ <?php
1293
+ }
1294
+ ?>
1295
+ </span>
1296
+ </div>
1297
+ <input type="hidden" id="page_number" name="page_number" value="<?php echo ((isset($_POST['page_number'])) ? (int) $_POST['page_number'] : 1); ?>" />
1298
+ <input type="hidden" id="search_or_not" name="search_or_not" value="<?php echo ((isset($_POST['search_or_not'])) ? esc_html($_POST['search_or_not']) : ''); ?>"/>
1299
+ <?php
1300
+ }
1301
+
1302
+
1303
+
1304
+ /**
1305
+ *
1306
+ *
1307
+ *
1308
+ */
1309
+
1310
+
1311
+
1312
+ private function merge_params($param_begin_low_prioritet,$param_last_high_priorete){
1313
+ $new_param=array();
1314
+ foreach($param_begin_low_prioritet as $key=>$value){
1315
+ if(isset($param_last_high_priorete[$key])){
1316
+ $new_param[$key]=$param_last_high_priorete[$key];
1317
+ }
1318
+ else{
1319
+ $new_param[$key]=$value;
1320
+ }
1321
+ }
1322
+ return $new_param;
1323
+ }
1324
+
1325
+ private function custom_attrs($element = array()){
1326
+ $attrs_array = isset($element['custom_attrs']) ? $element['custom_attrs'] : array();
1327
+
1328
+ foreach ($attrs_array as $attr => $value) {
1329
+ echo esc_html($attr).'="'.esc_attr($value).'" ';
1330
+ }
1331
+
1332
+
1333
+ }
1334
+
1335
+ /**
1336
+ * get posts and categories createdwith checkboxes
1337
+ */
1338
+ protected function get_old_posts_cats($val){
1339
+
1340
+ $value = $val;
1341
+ $val = json_decode( $val , true );
1342
+ $result = array();
1343
+
1344
+ if( $val == NULL ){
1345
+ if(is_string($value)){
1346
+ $result = explode(",", $value);
1347
+ }
1348
+ } else {
1349
+ $result = $val;
1350
+ }
1351
+ return $result;
1352
+
1353
+ }
1354
+
1355
+
1356
+ }
1357
+
1358
+
1359
+
1360
+ ?>
framework/WDI_form_builder.php ADDED
@@ -0,0 +1,450 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDI_form_builder {
4
+
5
+
6
+
7
+
8
+
9
+ public function __construct() {
10
+
11
+ }
12
+ /*
13
+
14
+
15
+
16
+
17
+ * $element['name']
18
+ * $element['id'] //default is WDI_.$element_name
19
+ * $element['type'] //text,number ...
20
+ * $element['attr'] //custom attribute array(array('name'=>'attr_name','value'=>'attr_value'),...)
21
+ * $element['input_size']
22
+ * $element['label'] // array('text','place')
23
+ * $element['defaults'] //array of default vlaues
24
+ * $element['CONST'] //variable to store data in array
25
+ * $element['disabled'] //text to be displayed if option is disabled
26
+ */
27
+ public function input($element,$feed_row=''){
28
+ $name = $element['CONST'].'['.(isset($element['name']) ? $element['name'] : 'NOT_SET') . ']';
29
+ $id = isset($element['id']) ? $element['id'] : 'WDI_'.$element['name'];
30
+ $type = isset($element['input_type']) ? $element['input_type'] : 'text';
31
+ //$attrText = $element['attr']['name'] . '=' . $element['attr']['value'];
32
+ $disabled_text = (isset($element['disabled']) && isset($element['disabled']['text'])) ? $element['disabled']['text'] : '';
33
+ $switched = (isset($element['switched']) && $element['switched'] === 'off') ? 'disabled' : '';
34
+ $attrs = ' ';
35
+ foreach ($element['attr'] as $attr) {
36
+ $attrs .= $attr['name'] . '="' . $attr['value'] . '" ';
37
+ }
38
+ $attr = $attrs;
39
+
40
+ $input_size= isset($element['input_size']) ? $element['input_size'] : '20';
41
+ $label = isset($element['label']) ? $element['label'] : '';
42
+ $defaults = $element['defaults'];
43
+ $current_settings = isset($feed_row) ? $feed_row : '';
44
+ $value = isset($defaults[$element['name']]) ? $defaults[$element['name']] : '';
45
+ if($current_settings !=''){
46
+ $value = isset($current_settings[$element['name']]) ? $current_settings[$element['name']] : '';
47
+ }
48
+
49
+
50
+ ?>
51
+ <div class="wdwt_param" id="WDI_wrap_<?php echo $element['name']; ?>">
52
+ <div class="block">
53
+ <div class="optioninput" style="text-align:center;">
54
+
55
+ <?php
56
+ if($label!='' && $label['place']=='before'){
57
+ ?>
58
+ <label for="<?php echo $id; ?>"><?php echo $label['text']; ?></label>
59
+ <?php echo isset($label['br'])? '<br/>' : ''?>
60
+ <?php
61
+ }
62
+ ?>
63
+
64
+ <input type="<?php echo $type; ?>" id="<?php echo $id; ?>" <?php echo $switched; ?> name="<?php echo $name; ?>" value="<?php echo esc_attr($value); ?>"
65
+ <?php echo $attr; ?> size="<?php echo $input_size; ?>">
66
+ <?php
67
+ if($label!='' && $label['place']=='after'){
68
+ ?>
69
+ <?php echo isset($label['br'])? '<br/>' : ''?>
70
+ <label for="<?php echo $id; ?>"><?php echo $label['text']; ?></label>
71
+ <?php
72
+ }
73
+ if($disabled_text != ''){
74
+ ?><span class="wdi_pro_only"><?php echo $disabled_text?></span> <?php
75
+ }
76
+ ?>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ <?php
81
+ }
82
+
83
+ /*
84
+ * $element['name']
85
+ * $element['id'] //default is WDI_.$element_name
86
+ * $element['type'] //multiple
87
+ * $element['attr'] //custom attribute array(array('name'=>'attr_name','value'=>'attr_value'),...)
88
+ * $element['label'] // array('text','place')
89
+ * $element['valid_options'] //array('option_value1'=>'option_name1','option_value2'=>'option_name2');
90
+ * $element['width']
91
+ * $element['selected'] //one of valid options
92
+ * $element['defaults'] //array of default vlaues
93
+ * $element['CONST'] //variable to store data in array
94
+ * $element['switched'] //if set to 'off' will make field disabled
95
+ * $element['disabled'] //disabled text label
96
+ */
97
+ public function select($element,$feed_row=''){
98
+ $name = $element['CONST'].'['.(isset($element['name']) ? $element['name'] : 'NOT_SET') . ']';
99
+ $id = isset($element['id']) ? $element['id'] : 'WDI_'.$element['name'];
100
+ $type = isset($element['type']) ? $element['type'] : '';
101
+ //$attr = isset($element['attr']) ? $element['attr']['name'] . '="' . $element['attr']['value'].'"' : '';
102
+ $label = isset($element['label']) ? $element['label'] : '';
103
+ $width = isset($element['width']) ? ($element['width']) : '';
104
+ $options = isset($element['valid_options']) ? $element['valid_options'] : '';
105
+ $switched = (isset($element['switched']) && $element['switched'] === 'off') ? 'disabled' : '';
106
+ //$disabled_text = (isset($element['disabled']) && isset($element['disabled']['text'])) ? $element['disabled']['text'] : '';
107
+ $disabled_options = isset($element['disabled_options']) ? $element['disabled_options'] : array();
108
+ $defaults = $element['defaults'];
109
+ $current_settings = isset($feed_row) ? $feed_row : '';
110
+ $opt_value = isset($defaults[$element['name']]) ? $defaults[$element['name']] : '';
111
+ if($current_settings !=''){
112
+ $opt_value = isset($current_settings[$element['name']]) ? $current_settings[$element['name']] : '';
113
+ }
114
+
115
+
116
+ $attrs = ' ';
117
+ foreach ($element['attr'] as $attr) {
118
+ $attrs .= $attr['name'] . '="' . $attr['value'] . '" ';
119
+ }
120
+ $attr = $attrs;
121
+
122
+
123
+
124
+
125
+ ?>
126
+
127
+ <div class="wdwt_param" id="WDI_wrap_<?php echo $element['name']; ?>">
128
+ <div class="block">
129
+ <div class="optioninput">
130
+
131
+ <?php
132
+ if($label!='' && $label['place']=='before'){
133
+ ?>
134
+ <label class="<?php echo isset($label['class']) ? $label['class'] : '';?>" for="<?php echo $id; ?>"><?php echo $label['text']; ?></label>
135
+ <?php echo isset($label['br'])? '<br/>' : ''?>
136
+ <?php
137
+ }
138
+ ?>
139
+
140
+ <select name="<?php echo $name; ?>" id="<?php echo $id; ?>" <?php echo $type; ?> <?php echo $switched; ?> style="<?php if($width!='') echo 'width:' .$width . ';';?> resize:vertical;" <?php echo $attr; ?>>
141
+ <?php foreach($options as $key => $value){ ?>
142
+ <option <?php echo (in_array($key, $disabled_options)) ? 'disabled' : '' ?> value="<?php echo esc_attr($key) ?>" <?php if($key==$opt_value){echo 'selected';}?>>
143
+ <?php echo esc_html($value); ?>
144
+ </option>
145
+ <?php } ?>
146
+ </select>
147
+
148
+ <?php
149
+ if($label!='' && $label['place']=='after'){
150
+ ?>
151
+ <?php echo isset($label['br'])? '<br/>' : ''?>
152
+ <label class="<?php echo isset($label['class']) ? $label['class'] : '';?>" for="<?php echo $id; ?>"><?php echo $label['text']; ?></label>
153
+ <?php
154
+ }
155
+
156
+ //echo disable text if need label & disable text
157
+
158
+ ?>
159
+
160
+ </div>
161
+ </div>
162
+ </div>
163
+ <?php
164
+ }
165
+
166
+
167
+ /*
168
+ * $element['name']
169
+ * $element['id'] //default is WDI_.$element_name
170
+ * $element['attr'] //custom attribute array(array('name'=>'attr_name','value'=>'attr_value'),...)
171
+ * $element['label'] // array('text','place')
172
+ * $element['valid_options'] //array('option_value1'=>'option_name1','option_value2'=>'option_name2');
173
+ * $element['width']
174
+ * $element['selected'] //one of valid options
175
+ * $element['defaults'] //array of default vlaues
176
+ * $element['CONST'] //variable to store data in array
177
+ */
178
+ public function radio($element,$feed_row=''){
179
+ $name = $element['CONST'] . '[' . (isset($element['name']) ? $element['name'] : 'NOT_SET') . ']';
180
+ $id = isset($element['id']) ? $element['id'] : 'WDI_'.$element['name'];
181
+ //$attr = isset($element['attr']) ? $element['attr']['name'] . '="' . $element['attr']['value'].'"' : '';
182
+ $label = isset($element['label']) ? $element['label'] : '';
183
+ $width = isset($element['width']) ? ($element['width']) : '';
184
+ $options = isset($element['valid_options']) ? $element['valid_options'] : '';
185
+ $break = isset($element['break']) ? '<br/>' : '';
186
+ $hide_ids = isset($element['hide_ids']) ? $element['hide_ids'] : '';
187
+ $show_ids = isset($element['show_ids']) ? $element['show_ids'] : '';
188
+ $disabled_options = isset($element['disabled_options']) ? $element['disabled_options'] : array();
189
+ $attrs = ' ';
190
+
191
+ foreach ($element['attr'] as $attr) {
192
+ $attrs .= $attr['name'] . '="' . $attr['value'] . '" ';
193
+ }
194
+ $attr = $attrs;
195
+
196
+
197
+ $defaults = $element['defaults'];
198
+ $current_settings = isset($feed_row) ? $feed_row : '';
199
+ $opt_value = isset($defaults[$element['name']]) ? $defaults[$element['name']] : '';
200
+ if($current_settings !=''){
201
+ $opt_value = isset($current_settings[$element['name']]) ? $current_settings[$element['name']] : '';
202
+ }
203
+
204
+ ?>
205
+ <div class="wdwt_param" id="WDI_wrap_<?php echo $element['name'];?>">
206
+ <div class="block">
207
+ <div class="optioninput">
208
+ <?php
209
+
210
+ if($label!='' && $label['place']=='before'){
211
+ ?>
212
+ <label class="<?php echo isset($label['class']) ? $label['class'] : '';?>" for="<?php $id; ?>"><?php echo $label['text']; ?></label>
213
+ <?php echo isset($label['br']) ? '<br/>' : ''?>
214
+ <?php
215
+ }
216
+ foreach ( $options as $key => $option ) {
217
+ $disable = '';
218
+ $disable_text = '';
219
+ foreach ($disabled_options as $disabled_option => $disable_lable) {
220
+ if($disabled_option == $key){
221
+ $disable = 'disabled';
222
+ $disable_text = $disable_lable;
223
+ }
224
+ }
225
+ ?>
226
+ <input <?php echo $disable;?> style="margin:2px;" type="radio" name="<?php echo $name ?>" value="<?php echo esc_attr($key); ?>" <?php checked($key,$opt_value); ?> <?php echo $attr; ?> /> <?php echo esc_html($option); ?>
227
+
228
+ <?php if($disable_text != '') : ?>
229
+ <?php if(isset($disabled_options['br'])) : ?>
230
+ <br>
231
+ <?php endif; ?>
232
+ <span class="wdi_pro_only"><?php echo $disable_text?></span>
233
+ <?php endif;?>
234
+
235
+ <?php echo $break;?>
236
+ <?php
237
+ }
238
+ if($label!='' && $label['place']=='after'){
239
+ ?>
240
+ <?php echo isset($label['br'])? '<br/>' : ''?>
241
+ <label for="<?php $id; ?>" class="<?php echo isset($label['class']) ? $label['class'] : '';?>"><?php echo $label['text']; ?></label>
242
+ <?php
243
+ }
244
+ echo '</div></div></div>';
245
+
246
+ if($hide_ids != ''){
247
+ ?>
248
+ <style>
249
+ .<?php echo $id.'_hide_ids_hidden';?>{
250
+ display:none !important;
251
+ }
252
+ </style>
253
+ <script>
254
+ jQuery(document).ready(function(){
255
+ var <?php echo $id.'_hide_ids';?> = <?php echo json_encode($hide_ids);?>;
256
+ jQuery("#WDI_wrap_<?php echo $element['name'];?> input").on('click',function(){
257
+ jQuery('.<?php echo $id.'_hide_ids_hidden';?>').each(function(){
258
+ jQuery(this).removeClass('<?php echo $id.'_hide_ids_hidden';?>');
259
+ });
260
+ var selected = jQuery(this).val();
261
+ for (var opt in <?php echo $id.'_hide_ids'?>){
262
+ if(opt == selected){
263
+ var ids = <?php echo $id.'_hide_ids'?>[opt].split(',');
264
+ for (var i in ids){
265
+
266
+ jQuery('#WDI_wrap_'+ids[i]).parent().parent().addClass("<?php echo $id.'_hide_ids_hidden';?>");
267
+ }
268
+ }
269
+
270
+ }
271
+ });
272
+ jQuery("#WDI_wrap_<?php echo $element['name'];?> input").each(function(){
273
+ var currentOption = "<?php echo $opt_value?>";
274
+ if(jQuery(this).val() == currentOption){
275
+ jQuery(this).trigger('click');
276
+ }
277
+ });
278
+ });
279
+ </script>
280
+ <?php }
281
+ if($show_ids != ''){
282
+ ?>
283
+ <style>
284
+ .<?php echo $id.'_show_ids_show';?>{
285
+ display:block !important;
286
+ }
287
+ </style>
288
+ <script>
289
+ jQuery(document).ready(function(){
290
+ var <?php echo $id.'_show_ids';?> = <?php echo json_encode($show_ids);?>;
291
+ jQuery("#WDI_wrap_<?php echo $element['name'];?> input").on('click',function(){
292
+ jQuery('.<?php echo $id.'_show_ids_show';?>').each(function(){
293
+ jQuery(this).removeClass('<?php echo $id.'_show_ids_show';?>');
294
+ });
295
+ var selected = jQuery(this).val();
296
+ for (var opt in <?php echo $id.'_show_ids'?>){
297
+ if(opt == selected){
298
+ var ids = <?php echo $id.'_show_ids'?>[opt].split(',');
299
+ for (var i in ids){
300
+ jQuery('#WDI_wrap_'+ids[i]).parent().parent().addClass("<?php echo $id.'_show_ids_show';?>");
301
+ }
302
+ }
303
+
304
+ }
305
+ });
306
+ jQuery("#WDI_wrap_<?php echo $element['name'];?> input").each(function(){
307
+ var currentOption = "<?php echo $opt_value?>";
308
+ if(jQuery(this).val() == currentOption){
309
+ jQuery(this).trigger('click');
310
+ }
311
+ });
312
+ });
313
+ </script>
314
+ <?php }
315
+
316
+ }
317
+
318
+
319
+ /*
320
+ * $element['name']
321
+ * $element['id'] //default is WDI_.$element_name
322
+ * $element['attr'] //custom attribute array(array('name'=>'attr_name','value'=>'attr_value'),...)
323
+ * $element['label'] // array('text','place')
324
+ * $element['width']
325
+ * $element['selected'] //one of valid options
326
+ * $element['defaults'] //array of default vlaues
327
+ * $element['CONST'] //variable to store data in array
328
+ */
329
+ public function checkbox($element,$feed_row=''){
330
+ $name = $element['CONST'].'['.(isset($element['name']) ? $element['name'] : 'NOT_SET').']';
331
+ $id = isset($element['id']) ? $element['id'] : 'WDI_'.$element['name'];
332
+ //$attr = isset($element['attr']) ? $element['attr']['name'] . '="' . $element['attr']['value'].'"' : '';
333
+ $label = isset($element['label']) ? $element['label'] : '';
334
+ $width = isset($element['width']) ? ($element['width']) : '';
335
+ $break = isset($element['break']) ? '<br/>' : '';
336
+ $disable = (isset($element['switched']) && $element['switched']=='off') ? 'disabled' : '' ;
337
+ $attrs = ' ';
338
+ foreach ($element['attr'] as $attr) {
339
+ $attrs .= $attr['name'] . '="' . $attr['value'] . '" ';
340
+ }
341
+ $attr = $attrs;
342
+
343
+ $defaults = $element['defaults'];
344
+ $current_settings = isset($feed_row) ? $feed_row : '';
345
+ $opt_value = isset($defaults[$element['name']]) ? $defaults[$element['name']] : '';
346
+ if($current_settings !=''){
347
+ $opt_value = isset($current_settings[$element['name']]) ? $current_settings[$element['name']] : '';
348
+ }
349
+ ?>
350
+ <div class="wdwt_param" id="WDI_wrap_<?php echo $element['name'];?>">
351
+
352
+
353
+
354
+ <div class="block margin">
355
+ <div class="optioninput checkbox">
356
+ <?php
357
+ if($label!='' && $label['place']=='before'){
358
+ ?>
359
+ <label class="<?php echo isset($label['class']) ? $label['class'] : '' ?>" for="<?php $id; ?>"><?php echo $label['text']; ?></label>
360
+ <?php echo isset($label['br'])? '<br/>' : ''?>
361
+ <?php
362
+ }
363
+ ?>
364
+ <input <?php echo $disable; ?> type="checkbox" class="checkbox" name="<?php echo $name; ?>" id="<?php echo $id ?>" <?php echo $attr;?> <?php checked(1,$opt_value)?> value="1">
365
+ <?php
366
+ if($label!='' && $label['place']=='after'){
367
+ ?>
368
+ <?php echo isset($label['br'])? '<br/>' : ''?>
369
+ <label class="<?php echo isset($label['class']) ? $label['class'] : '' ?>" for="<?php $id; ?>"><?php echo $label['text']; ?></label>
370
+ <?php
371
+ }
372
+ ?>
373
+ </div>
374
+ </div>
375
+ </div>
376
+
377
+ <script>
378
+
379
+ jQuery(document).ready(function(){
380
+ if(jQuery('#<?php echo ''.$id?>').attr('checked') != 'checked'){
381
+ jQuery('#<?php echo ''.$id?>').after('<input type=\"hidden\" name=\"' + jQuery("#<?php echo ''.$id?>").attr("name") + '\" value="0">');
382
+ }
383
+ jQuery('#<?php echo ''.$id?>').on('click',function(){
384
+ if (jQuery(this).attr("checked") != 'checked') {
385
+ jQuery(this).after("<input type=\"hidden\" name=\"" + jQuery(this).attr("name") + "\" value=0>");
386
+ } else {
387
+ jQuery(this).next().remove();
388
+ }
389
+ });
390
+ });
391
+ </script>
392
+
393
+ <?php
394
+ }
395
+
396
+
397
+ /**
398
+ * Displays a single color control
399
+ * $element['name']
400
+ * $element['CONST'] //variable to store data in array
401
+ */
402
+
403
+ public function color($element,$feed_row=''){
404
+ $name = $element['CONST'].'['.(isset($element['name']) ? $element['name'] : 'NOT_SET').']';
405
+ $id = isset($element['id']) ? $element['id'] : 'WDI_'.$element['name'];
406
+ $defaults = $element['defaults'];
407
+
408
+ $attrs = ' ';
409
+ foreach ($element['attr'] as $attr) {
410
+ $attrs .= $attr['name'] . '="' . $attr['value'] . '" ';
411
+ if($attr['name'] === 'tab'){
412
+ $tab = $attr['value'];
413
+ }
414
+ if($attr['name'] === 'section'){
415
+ $section = $attr['value'];
416
+ }
417
+ }
418
+ $attr = $attrs;
419
+
420
+ $current_settings = isset($feed_row) ? $feed_row : '';
421
+
422
+ $opt_value = isset($defaults[$element['name']]) ? $defaults[$element['name']] : '';
423
+ if($current_settings !=''){
424
+ if($current_settings[$element['name']] != '')
425
+ {
426
+ $opt_value = $current_settings[$element['name']];
427
+ }
428
+ }
429
+ ?>
430
+ <div class="wdwt_param" id="WDI_wrap_<?php echo $element['name'];?>">
431
+ <div class='wdwt_float' >
432
+ <div>
433
+ <input type="text" class='color_input' id="<?php echo $id ?>" <?php echo $attr;?> name="<?php echo $name; ?>" value="<?php echo esc_attr($opt_value); ?>" data-default-color="<?php echo $defaults[$element['name']]; ?>" style="background-color:<?php echo esc_attr($opt_value); ?>;">
434
+ </div>
435
+ </div>
436
+ </div>
437
+ <script type="text/javascript">
438
+ jQuery(document).ready(function() {
439
+ jQuery('.color_input').wpColorPicker();
440
+ jQuery('#WDI_wrap_<?php echo $element['name'];?> .wp-picker-container').attr('tab','<?php echo $tab;?>');
441
+ jQuery('#WDI_wrap_<?php echo $element['name'];?> .wp-picker-container').attr('section','<?php echo $section;?>');
442
+ });
443
+ </script>
444
+ <?php
445
+ }
446
+
447
+ }
448
+
449
+
450
+
frontend/controllers/WDIControllerGalleryBox.php ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIControllerGalleryBox {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ public function execute() {
22
+ $ajax_task = (isset($_POST['ajax_task']) ? esc_html($_POST['ajax_task']) : '');
23
+ if (method_exists($this, $ajax_task)) {
24
+ $this->$ajax_task();
25
+ }
26
+ else {
27
+ $this->display();
28
+ }
29
+ }
30
+
31
+ public function display() {
32
+ require_once WDI_DIR . "/frontend/models/WDIModelGalleryBox.php";
33
+ $model = new WDIModelGalleryBox();
34
+
35
+ require_once WDI_DIR . "/frontend/views/WDIViewGalleryBox.php";
36
+ $view = new WDIViewGalleryBox($model);
37
+
38
+ $view->display();
39
+ }
40
+
41
+ public function save() {
42
+ require_once WDI_DIR . "/frontend/models/WDIModelGalleryBox.php";
43
+ $model = new WDIModelGalleryBox();
44
+ $option_row = $model->get_option_row_data();
45
+ if ($option_row->popup_enable_email) {
46
+ // Email validation.
47
+ $email = (isset($_POST['wdi_email']) ? is_email(stripslashes($_POST['wdi_email'])) : FALSE);
48
+ }
49
+ else {
50
+ $email = TRUE;
51
+ }
52
+ if ($option_row->popup_enable_captcha) {
53
+ $wdi_captcha_input = (isset($_POST['wdi_captcha_input']) ? esc_html(stripslashes($_POST['wdi_captcha_input'])) : '');
54
+ @session_start();
55
+ $wdi_captcha_code = (isset($_SESSION['wdi_captcha_code']) ? esc_html(stripslashes($_SESSION['wdi_captcha_code'])) : '');
56
+ if ($wdi_captcha_input === $wdi_captcha_code) {
57
+ $captcha = TRUE;
58
+ }
59
+ else {
60
+ $captcha = FALSE;
61
+ }
62
+ }
63
+ else {
64
+ $captcha = TRUE;
65
+ }
66
+
67
+ if ($email && $captcha) {
68
+ global $wpdb;
69
+ $image_id = (isset($_POST['image_id']) ? (int) $_POST['image_id'] : 0);
70
+ $name = (isset($_POST['wdi_name']) ? esc_html(stripslashes($_POST['wdi_name'])) : '');
71
+ $wdi_comment = (isset($_POST['wdi_comment']) ? esc_html(stripslashes($_POST['wdi_comment'])) : '');
72
+ $wdi_email = (isset($_POST['wdi_email']) ? esc_html(stripslashes($_POST['wdi_email'])) : '');
73
+ $published = (current_user_can('manage_options') || !$option_row->comment_moderation) ? 1 : 0;
74
+ $save = $wpdb->insert($wpdb->prefix . 'wdi_image_comment', array(
75
+ 'image_id' => $image_id,
76
+ 'name' => $name,
77
+ 'date' => date('Y-m-d H:i'),
78
+ 'comment' => $wdi_comment,
79
+ 'url' => '',
80
+ 'mail' => $wdi_email,
81
+ 'published' => $published,
82
+ ), array(
83
+ '%d',
84
+ '%s',
85
+ '%s',
86
+ '%s',
87
+ '%s',
88
+ '%s',
89
+ '%d',
90
+ ));
91
+ $wpdb->query($wpdb->prepare('UPDATE ' . $wpdb->prefix . 'wdi_image SET comment_count=comment_count+1 WHERE id="%d"', $image_id));
92
+ }
93
+ $this->display();
94
+ }
95
+
96
+ public function save_rate() {
97
+ global $wpdb;
98
+ $image_id = (isset($_POST['image_id']) ? esc_html(stripslashes($_POST['image_id'])) : 0);
99
+ $rate = (isset($_POST['rate']) ? esc_html(stripslashes($_POST['rate'])) : '');
100
+ if (!$wpdb->get_var($wpdb->prepare('SELECT image_id FROM ' . $wpdb->prefix . 'wdi_image_rate WHERE ip="%s" AND image_id="%d"', $_SERVER['REMOTE_ADDR'], $image_id))) {
101
+ $wpdb->insert($wpdb->prefix . 'wdi_image_rate', array(
102
+ 'image_id' => $image_id,
103
+ 'rate' => $rate,
104
+ 'ip' => $_SERVER['REMOTE_ADDR'],
105
+ 'date' => date('Y-m-d H:i:s'),
106
+ ), array(
107
+ '%d',
108
+ '%f',
109
+ '%s',
110
+ '%s',
111
+ ));
112
+ $rates = $wpdb->get_row($wpdb->prepare('SELECT AVG(`rate`) as `average`, COUNT(`rate`) as `rate_count` FROM ' . $wpdb->prefix . 'wdi_image_rate WHERE image_id="%d"', $image_id));
113
+ $wpdb->update($wpdb->prefix . 'wdi_image', array('avg_rating' => $rates->average, 'rate_count' => $rates->rate_count), array('id' => $image_id));
114
+ }
115
+ $this->display();
116
+ }
117
+
118
+ public function save_hit_count() {
119
+ global $wpdb;
120
+ $image_id = (isset($_POST['image_id']) ? esc_html(stripslashes($_POST['image_id'])) : 0);
121
+ $wpdb->query($wpdb->prepare('UPDATE ' . $wpdb->prefix . 'wdi_image SET hit_count = hit_count + 1 WHERE id="%d"', $image_id));
122
+ }
123
+
124
+ public function delete() {
125
+ global $wpdb;
126
+ $comment_id = (isset($_POST['comment_id']) ? (int) $_POST['comment_id'] : 0);
127
+ $image_id = (isset($_POST['image_id']) ? (int) $_POST['image_id'] : 0);
128
+ $wpdb->query($wpdb->prepare('DELETE FROM ' . $wpdb->prefix . 'wdi_image_comment WHERE id="%d"', $comment_id));
129
+ $wpdb->query($wpdb->prepare('UPDATE ' . $wpdb->prefix . 'wdi_image SET comment_count=comment_count-1 WHERE id="%d"', $image_id));
130
+ $this->display();
131
+ }
132
+ ////////////////////////////////////////////////////////////////////////////////////////
133
+ // Getters & Setters //
134
+ ////////////////////////////////////////////////////////////////////////////////////////
135
+ ////////////////////////////////////////////////////////////////////////////////////////
136
+ // Private Methods //
137
+ ////////////////////////////////////////////////////////////////////////////////////////
138
+ ////////////////////////////////////////////////////////////////////////////////////////
139
+ // Listeners //
140
+ ////////////////////////////////////////////////////////////////////////////////////////
141
+ }
frontend/controllers/WDIControllerImageBrowser_view.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIControllerImageBrowser_view{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ // Constructor & Destructor //
14
+ ////////////////////////////////////////////////////////////////////////////////////////
15
+ public function __construct() {
16
+ }
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ // Public Methods //
19
+ ////////////////////////////////////////////////////////////////////////////////////////
20
+ public function execute($feed_row,$wdi_feed_counter){
21
+ //including model
22
+ require_once(WDI_DIR .'/frontend/models/WDIModelImageBrowser_view.php');
23
+ $model = new WDIModelImageBrowser_view($feed_row,$wdi_feed_counter);
24
+ //including view
25
+ require_once(WDI_DIR .'/frontend/views/WDIViewImageBrowser_view.php');
26
+ $view = new WDIViewImageBrowser_view($model);
27
+ $view->display();
28
+ }
29
+
30
+
31
+
32
+
33
+
34
+
35
+ }
36
+ ?>
frontend/controllers/WDIControllerThumbnails_view.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIControllerThumbnails_view{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ // Constructor & Destructor //
14
+ ////////////////////////////////////////////////////////////////////////////////////////
15
+ public function __construct() {
16
+ }
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ // Public Methods //
19
+ ////////////////////////////////////////////////////////////////////////////////////////
20
+ public function execute($feed_row,$wdi_feed_counter){
21
+ //including model
22
+ require_once(WDI_DIR .'/frontend/models/WDIModelThumbnails_view.php');
23
+ $model = new WDIModelThumbnails_view($feed_row,$wdi_feed_counter);
24
+ //including view
25
+ require_once(WDI_DIR .'/frontend/views/WDIViewThumbnails_view.php');
26
+ $view = new WDIViewThumbnails_view($model);
27
+ $view->display();
28
+ }
29
+
30
+
31
+
32
+
33
+
34
+
35
+ }
36
+ ?>
frontend/models/WDIModelGalleryBox.php ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIModelGalleryBox {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct() {
17
+ }
18
+ ////////////////////////////////////////////////////////////////////////////////////////
19
+ // Public Methods //
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ public function get_theme_row_data($id) {
22
+ global $wpdb;
23
+ if ($id) {
24
+ $row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . WDI_THEME_TABLE . ' WHERE id="%d"', $id));
25
+ }
26
+ else {
27
+ $row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . WDI_THEME_TABLE .' WHERE default_theme="%d"', 1));
28
+ }
29
+
30
+ return WDILibrary::objectToArray($row);
31
+ }
32
+ public function get_feed_row_data($id) {
33
+ global $wpdb;
34
+ $row = $this->check_settings($wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . WDI_FEED_TABLE . ' WHERE id="%d"', $id)));
35
+ return WDILibrary::objectToArray($row);
36
+ }
37
+ public function get_option_row_data() {
38
+ global $wpdb;
39
+ $row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'wdi_option WHERE id="%d"', 1));
40
+ return $row;
41
+ }
42
+
43
+ public function get_comment_rows_data($image_id) {
44
+ global $wpdb;
45
+ $row = $wpdb->get_results($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'wdi_image_comment WHERE image_id="%d" AND published=1 ORDER BY `id` DESC', $image_id));
46
+ return $row;
47
+ }
48
+
49
+ public function get_image_rows_data($gallery_id, $sort_by, $order_by = 'asc') {
50
+ global $wpdb;
51
+ if ($sort_by == 'size' || $sort_by == 'resolution') {
52
+ $sort_by = ' CAST(t1.' . $sort_by . ' AS SIGNED) ';
53
+ }
54
+ elseif (($sort_by != 'alt') && ($sort_by != 'date') && ($sort_by != 'filetype') && ($sort_by != 'filename')) {
55
+ $sort_by = 't1.`order`';
56
+ }
57
+ if (preg_replace('/\s+/', '', $order_by) != 'asc') {
58
+ $order_by = 'desc';
59
+ }
60
+ $row = $wpdb->get_results($wpdb->prepare('SELECT t1.*,t2.rate FROM ' . $wpdb->prefix . 'wdi_image as t1 LEFT JOIN (SELECT rate, image_id FROM ' . $wpdb->prefix . 'wdi_image_rate WHERE ip="%s") as t2 ON t1.id=t2.image_id WHERE t1.published=1 AND t1.gallery_id="%d" ORDER BY ' . $sort_by . ' ' . $order_by, $_SERVER['REMOTE_ADDR'], $gallery_id));
61
+
62
+ return $row;
63
+ }
64
+
65
+ public function get_image_rows_data_tag($tag_id, $sort_by, $order_by = 'asc') {
66
+ global $wpdb;
67
+ if ($sort_by == 'size' || $sort_by == 'resolution') {
68
+ $sort_by = ' CAST(' . $sort_by . ' AS SIGNED) ';
69
+ }
70
+ elseif (($sort_by != 'alt') && ($sort_by != 'date') && ($sort_by != 'filetype')) {
71
+ $sort_by = '`order`';
72
+ }
73
+ if (preg_replace('/\s+/', '', $order_by) != 'asc') {
74
+ $order_by = 'desc';
75
+ }
76
+ $row = $wpdb->get_results($wpdb->prepare('SELECT t1.*,t2.rate FROM (SELECT image.* FROM ' . $wpdb->prefix . 'wdi_image as image INNER JOIN ' . $wpdb->prefix . 'wdi_image_tag as tag ON image.id=tag.image_id WHERE image.published=1 AND tag.tag_id="%d" ORDER BY ' . $sort_by . ' ' . $order_by. ') as t1 LEFT JOIN (SELECT rate, image_id FROM ' . $wpdb->prefix . 'wdi_image_rate WHERE ip="%s") as t2 ON t1.id=t2.image_id ', $tag_id, $_SERVER['REMOTE_ADDR']));
77
+ return $row;
78
+ }
79
+
80
+ ////////////////////////////////////////////////////////////////////////////////////////
81
+ // Getters & Setters //
82
+ ////////////////////////////////////////////////////////////////////////////////////////
83
+ ////////////////////////////////////////////////////////////////////////////////////////
84
+ // Private Methods //
85
+ ////////////////////////////////////////////////////////////////////////////////////////
86
+ private function check_settings($settings){
87
+ $settings = WDILibrary::objectToArray($settings);
88
+ if(isset($settings['feed_users']) && count(explode(',', $settings['feed_users']))>1){
89
+ $settings['feed_users'] = explode(',', $settings['feed_users'])[0];
90
+ };
91
+ if(isset($settings['theme_id']) && intval($settings['theme_id']) > 1){
92
+ $settings['theme_id'] = '1';
93
+ };
94
+ if(isset($settings['feed_display_view']) && $settings['feed_display_view'] === 'infinite_scroll'){
95
+ $settings['feed_display_view'] = 'load_more_btn';
96
+ }
97
+ if(isset($settings['feed_type']) && $settings['feed_type'] === 'masonry' || $settings['feed_type'] === 'blog_style'){
98
+ $settings['feed_type'] = 'thumbnails';
99
+ }
100
+ if(isset($settings['popup_enable_filmstrip']) && $settings['popup_enable_filmstrip'] == '1'){
101
+ $settings['popup_enable_filmstrip'] = '0';
102
+ }
103
+ if(isset($settings['popup_filmstrip_height']) && $settings['popup_filmstrip_height'] != '70'){
104
+ $settings['popup_filmstrip_height'] = '70';
105
+ }
106
+ if(isset($settings['popup_enable_comment']) && $settings['popup_enable_comment'] == '1'){
107
+ $settings['popup_enable_comment'] = '0';
108
+ }
109
+ if(isset($settings['popup_enable_share_buttons']) && $settings['popup_enable_share_buttons'] == '1'){
110
+ $settings['popup_enable_share_buttons'] = '0';
111
+ }
112
+ if(isset($settings['popup_info_always_show']) && $settings['popup_info_always_show'] == '1'){
113
+ $settings['popup_info_always_show'] = '0';
114
+ }
115
+
116
+ if(isset($settings['popup_info_full_width']) && $settings['popup_info_full_width'] == '1'){
117
+ $settings['popup_info_full_width'] = '0';
118
+ }
119
+
120
+ if(isset($settings['popup_enable_info']) && $settings['popup_enable_info'] == '1'){
121
+ $settings['popup_enable_info'] = '0';
122
+ }
123
+
124
+
125
+ if(isset($settings['show_likes']) && $settings['show_likes'] == '1'){
126
+ $settings['show_likes'] = '0';
127
+ }
128
+
129
+ if(isset($settings['show_description']) && $settings['show_description'] == '1'){
130
+ $settings['show_description'] = '0';
131
+ }
132
+
133
+ if(isset($settings['show_comments']) && $settings['show_comments'] == '1'){
134
+ $settings['show_comments'] = '0';
135
+ }
136
+ $settings = WDILibrary::arrayToObject($settings);
137
+ return $settings;
138
+ }
139
+ ////////////////////////////////////////////////////////////////////////////////////////
140
+ // Listeners //
141
+ ////////////////////////////////////////////////////////////////////////////////////////
142
+ }
frontend/models/WDIModelImageBrowser_view.php ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIModelImageBrowser_view{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ private $feed_row;
13
+ public $theme_row;
14
+ public $wdi_feed_counter;
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Constructor & Destructor //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ public function __construct($feed_row,$wdi_feed_counter) {
19
+ $this->feed_row = $this->parseDefaults($feed_row);
20
+ $this->wdi_feed_counter = $wdi_feed_counter;
21
+ $this->theme_row=$this->setThemeDefaults();
22
+ }
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ // Public Methods //
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ public function get_feed_row(){
27
+ $this->feed_row['number_of_columns'] = 1;
28
+ $this->feed_row['feed_display_view'] = 'pagination';
29
+ $this->feed_row['resort_after_load_more'] = 0;
30
+ $this->feed_row['disable_mobile_layout'] = 0;
31
+ return $this->feed_row;
32
+ }
33
+ public function getThemeDefaults(){
34
+ return $this->theme_row;
35
+ }
36
+ public function parseDefaults($args){
37
+ require_once(WDI_DIR .'/admin/models/WDIModelFeeds_wdi.php');
38
+ $defaults = WDIModelFeeds_wdi::wdi_get_feed_defaults();
39
+ return wp_parse_args($args,$defaults);
40
+ }
41
+ private function setThemeDefaults(){
42
+ require_once(WDI_DIR .'/admin/models/WDIModelThemes_wdi.php');
43
+ $defaults = WDIModelThemes_wdi::get_theme_defaults();
44
+ $theme_row = $this->get_theme_row($this->feed_row['theme_id']);
45
+ return wp_parse_args($theme_row,$defaults);
46
+ }
47
+ public function get_theme_row($theme_id){
48
+ require_once(WDI_DIR .'/admin/models/WDIModelThemes_wdi.php');
49
+ $theme_row = WDIModelThemes_wdi::get_theme_row($theme_id);
50
+ return WDILibrary::objectToArray($theme_row);
51
+ }
52
+
53
+
54
+
55
+ }
56
+ ?>
frontend/models/WDIModelThumbnails_view.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIModelThumbnails_view{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ private $feed_row;
13
+ public $theme_row;
14
+ public $wdi_feed_counter;
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ // Constructor & Destructor //
17
+ ////////////////////////////////////////////////////////////////////////////////////////
18
+ public function __construct($feed_row,$wdi_feed_counter) {
19
+ $this->feed_row = $this->parseDefaults($feed_row);
20
+ $this->wdi_feed_counter = $wdi_feed_counter;
21
+ $this->theme_row=$this->setThemeDefaults();
22
+ }
23
+ ////////////////////////////////////////////////////////////////////////////////////////
24
+ // Public Methods //
25
+ ////////////////////////////////////////////////////////////////////////////////////////
26
+ public function get_feed_row(){
27
+ return $this->feed_row;
28
+ }
29
+ public function getThemeDefaults(){
30
+ return $this->theme_row;
31
+ }
32
+ public function parseDefaults($args){
33
+ require_once(WDI_DIR .'/admin/models/WDIModelFeeds_wdi.php');
34
+ $defaults = WDIModelFeeds_wdi::wdi_get_feed_defaults();
35
+ return wp_parse_args($args,$defaults);
36
+ }
37
+ private function setThemeDefaults(){
38
+ require_once(WDI_DIR .'/admin/models/WDIModelThemes_wdi.php');
39
+ $defaults = WDIModelThemes_wdi::get_theme_defaults();
40
+ $theme_row = $this->get_theme_row($this->feed_row['theme_id']);
41
+ return wp_parse_args($theme_row,$defaults);
42
+ }
43
+ public function get_theme_row($theme_id){
44
+ require_once(WDI_DIR .'/admin/models/WDIModelThemes_wdi.php');
45
+ $theme_row = WDIModelThemes_wdi::get_theme_row($theme_id);
46
+ return WDILibrary::objectToArray($theme_row);
47
+ }
48
+
49
+
50
+
51
+ }
52
+ ?>
frontend/shortcode.php ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ //global counter for webpage feeds
3
+ /*ttt!!! this will not work in case of AJAX request, note that for future versions*/
4
+ $wdi_feed_counter = 0;
5
+
6
+ add_action('init','wdi_frontend_init');
7
+
8
+ function wdi_frontend_init(){
9
+ global $wdi_options;
10
+ $wdi_options = get_option(WDI_OPT);
11
+ }
12
+
13
+ add_shortcode( 'wdi_feed', 'wdi_feed' );
14
+ // [wdi_feed id="feed_id"]
15
+ function wdi_feed($atts,$widget_params='') {
16
+ ob_start();
17
+
18
+ wdi_load_frontend_scripts();
19
+ wdi_load_frontend_styles();
20
+
21
+ require_once(WDI_DIR . '/framework/WDILibrary.php');
22
+
23
+ global $wdi_feed_counter;
24
+ $attributes = shortcode_atts( array(
25
+ 'id' => 'no_id',
26
+ ), $atts );
27
+ if ($attributes['id']=='no_id'){
28
+ return __('Invalid shortcode', "wdi");
29
+ }
30
+
31
+
32
+
33
+ //including feed model
34
+ require_once(WDI_DIR .'/admin/models/WDIModelFeeds_wdi.php');
35
+ $feed_model = new WDIModelFeeds_wdi();
36
+ //getting all feed information from db
37
+ $feed_row = WDILibrary::objectToArray($feed_model->get_feed_row($attributes['id']));
38
+
39
+
40
+ //checking if access token is not set or removed display proper error message
41
+ global $wdi_options;
42
+ if(!isset($wdi_options['wdi_access_token']) || $wdi_options['wdi_access_token']==''){
43
+ return __('Access Token is invalid, please get it again ', "wdi");
44
+ die();
45
+ }
46
+
47
+ if(!isset($feed_row) || $feed_row==NULL){
48
+ return __('Feed Doesn\'t exists ',"wdi");
49
+ die();
50
+ }
51
+
52
+
53
+
54
+
55
+ $feed_row['widget'] = false;
56
+ if($widget_params!='' && $widget_params['widget']==true){
57
+ $feed_row['widget'] = true;
58
+ $feed_row['number_of_photos'] = (string)$widget_params['widget_image_num'];
59
+ $feed_row['show_likes'] = (string)$widget_params['widget_show_likes_and_comments'];
60
+ $feed_row['show_comments'] = (string)$widget_params['widget_show_likes_and_comments'];
61
+ $feed_row['show_usernames'] = '0';
62
+ $feed_row['display_header'] = '0';
63
+ $feed_row['show_description'] = '0';
64
+ $feed_row['feed_display_view'] = 'widget';
65
+ $feed_row['number_of_columns'] = (string)$widget_params['number_of_columns'];
66
+ }
67
+
68
+ if(isset($feed_row['published']) && $feed_row['published']=== '0'){
69
+ return __('Unable to display unpublished feed ',"wdi");
70
+ die();
71
+ }
72
+ //checking feed type and using proper MVC
73
+ $feed_type = isset($feed_row['feed_type']) ? $feed_row['feed_type'] : '';
74
+ switch($feed_type){
75
+ case 'thumbnails':{
76
+ //including thumbnails controller
77
+ require_once(WDI_DIR .'/frontend/controllers/WDIControllerThumbnails_view.php');
78
+ $controller = new WDIControllerThumbnails_view();
79
+ $controller->execute($feed_row,$wdi_feed_counter);
80
+ $wdi_feed_counter++;
81
+ break;
82
+ }
83
+ case 'image_browser':{
84
+ //including thumbnails controller
85
+ require_once(WDI_DIR .'/frontend/controllers/WDIControllerImageBrowser_view.php');
86
+ $controller = new WDIControllerImageBrowser_view();
87
+ $controller->execute($feed_row,$wdi_feed_counter);
88
+ $wdi_feed_counter++;
89
+ break;
90
+ }
91
+ default:
92
+ return __('Invalid feed type', "wdi");
93
+ }
94
+
95
+
96
+ global $wdi_options;
97
+ if(isset($wdi_options['wdi_custom_css'])){
98
+ ?>
99
+ <style>
100
+ <?php echo $wdi_options['wdi_custom_css'];?>
101
+ </style>
102
+ <?php
103
+ }
104
+ if(isset($wdi_options['wdi_custom_js'])){
105
+ ?>
106
+ <script>
107
+ <?php echo stripcslashes($wdi_options['wdi_custom_js']);?>
108
+ </script>
109
+ <?php
110
+ }
111
+
112
+
113
+ return ob_get_clean();
114
+ }
115
+
116
+
117
+ function wdi_load_frontend_scripts(){
118
+
119
+ wp_enqueue_script('wdi_frontend',plugins_url('../js/wdi_frontend.js', __FILE__),array("jquery"), WDI_VERSION);
120
+ wp_enqueue_script('wdi_responsive',plugins_url('../js/wdi_responsive.js', __FILE__),array("jquery"), WDI_VERSION);
121
+ wp_localize_script("wdi_frontend", 'wdi_ajax',array( 'ajax_url' => admin_url( 'admin-ajax.php' )), WDI_VERSION);
122
+ wp_localize_script("wdi_frontend", 'wdi_url',array('plugin_url'=>plugin_dir_url(__FILE__),
123
+ 'ajax_url' => admin_url( 'admin-ajax.php' )), WDI_VERSION);
124
+ wp_localize_script("wdi_frontend", 'wdi_front_messages',
125
+ array( 'connection_error' => __('Connection Error, try again later :(','wdi'),
126
+ 'user_not_found' => __('Username not found', 'wdi'),
127
+ 'network_error' =>__('Network error, please try again later :(', 'wdi'),
128
+ 'hashtag_nodata' => __('There is no data for that hashtag', 'wdi'),
129
+ 'filter_title' => __('Click to filter images by this user','wdi')
130
+ ), WDI_VERSION);
131
+
132
+ wp_enqueue_script('underscore');
133
+ wdi_front_end_scripts();
134
+ }
135
+
136
+ function wdi_load_frontend_styles() {
137
+ wp_register_style('wdi_frontend_thumbnails', plugins_url('../css/wdi_frontend.css', __FILE__));
138
+ wp_enqueue_style('wdi_frontend_thumbnails');
139
+ wp_register_style('font_awesome', plugins_url('../css/font-awesome/font-awesome.css', __FILE__));
140
+ wp_enqueue_style('font_awesome');
141
+ }
142
+
143
+
144
+ ////////////////////////////GALLERY BOX//////////////////////////////
145
+ function wdi_front_end_scripts() {
146
+ /* ttt!!! petq chi*/
147
+ /*
148
+ global $wp_scripts;
149
+ if (isset($wp_scripts->registered['jquery'])) {
150
+ $jquery = $wp_scripts->registered['jquery'];
151
+ if (!isset($jquery->ver) OR version_compare($jquery->ver, '1.8.2', '<')) {
152
+ wp_deregister_script('jquery');
153
+ wp_register_script('jquery', FALSE, array('jquery-core', 'jquery-migrate'), '1.10.2' );
154
+ }
155
+ }
156
+ */
157
+ // Styles/Scripts for popup.
158
+ wp_enqueue_script('wdi_jquery_mobile', WDI_FRONT_URL . '/js/gallerybox/jquery.mobile.js', array('jquery'), WDI_VERSION);
159
+ wp_enqueue_script('wdi_mCustomScrollbar', WDI_FRONT_URL . '/js/gallerybox/jquery.mCustomScrollbar.concat.min.js', array('jquery'), WDI_VERSION);
160
+ wp_enqueue_style('wdi_mCustomScrollbar', WDI_FRONT_URL . '/css/gallerybox/jquery.mCustomScrollbar.css', array(), WDI_VERSION);
161
+ wp_enqueue_script('jquery-fullscreen', WDI_FRONT_URL . '/js/gallerybox/jquery.fullscreen-0.4.1.js', array('jquery'), WDI_VERSION);
162
+ /*ttt!!! gallery fullscreeni het conflict chka ?? arje stugel ete fullscreen script ka, apa el chavelacnel*/
163
+ wp_enqueue_script('wdi_gallery_box', WDI_FRONT_URL . '/js/gallerybox/wdi_gallery_box.js', array('jquery'), WDI_VERSION);
164
+ wp_localize_script('wdi_gallery_box', 'wdi_objectL10n', array(
165
+ 'wdi_field_required' => __('Field is required.', "wdi"),
166
+ 'wdi_mail_validation' => __('This is not a valid email address.', "wdi"),
167
+ 'wdi_search_result' => __('There are no images matching your search.', "wdi"),
168
+ ));
169
+
170
+ }
171
+
172
+ ?>
frontend/views/WDIViewGalleryBox.php ADDED
@@ -0,0 +1,3061 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class WDIViewGalleryBox {
4
+ ////////////////////////////////////////////////////////////////////////////////////////
5
+ // Events //
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ ////////////////////////////////////////////////////////////////////////////////////////
8
+ // Constants //
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ ////////////////////////////////////////////////////////////////////////////////////////
11
+ // Variables //
12
+ ////////////////////////////////////////////////////////////////////////////////////////
13
+ private $model;
14
+ ////////////////////////////////////////////////////////////////////////////////////////
15
+ // Constructor & Destructor //
16
+ ////////////////////////////////////////////////////////////////////////////////////////
17
+ public function __construct($model) {
18
+ $this->model = $model;
19
+ }
20
+ ////////////////////////////////////////////////////////////////////////////////////////
21
+ // Public Methods //
22
+ ////////////////////////////////////////////////////////////////////////////////////////
23
+ public function display() {
24
+ global $WD_WDI_UPLOAD_DIR;
25
+ global $wp;
26
+ require_once(WDI_DIR . '/framework/WDILibraryEmbed.php');
27
+
28
+ //////////////////////////////////////////////////////////////////
29
+ $current_feed = $this->model->get_feed_row_data($_POST['feed_id']);
30
+
31
+ $theme_row = WDILibrary::arrayToObject($this->model->get_theme_row_data($current_feed['theme_id']));
32
+ $option_row = WDILibrary::arrayToObject($current_feed);
33
+ $option_row->preload_images_count = 0;
34
+ $option_row->enable_addthis = 0;
35
+ $option_row->popup_enable_captcha = 0;
36
+ $option_row->popup_enable_email = 0;
37
+
38
+ //////////////////////////////////////////////////////////////////
39
+
40
+ $current_url = (isset($_GET['current_url']) ? add_query_arg(esc_html($_GET['current_url']), '', home_url($wp->request)) : '');
41
+ $tag_id = (isset($_GET['tag_id']) ? esc_html($_GET['tag_id']) : 0);
42
+ $gallery_id = (isset($current_feed['id']) ? esc_html($current_feed['id']) : 0);
43
+ $wdi = (isset($_POST['feed_counter']) ? esc_html($_POST['feed_counter']) : 0);
44
+ $current_image_id = (isset($_GET['image_id']) ? esc_html($_GET['image_id']) : 0);
45
+ $theme_id = (isset($current_feed['theme_id']) ? esc_html($current_feed['theme_id']) : 1);
46
+
47
+ $thumb_width = (isset($_GET['thumb_width']) ? esc_html($_GET['thumb_width']) : 90);/*watch later*/
48
+ $thumb_height = (isset($_GET['thumb_height']) ? esc_html($_GET['thumb_height']) : 90);/*watch later*/
49
+
50
+ $open_with_fullscreen = (isset($current_feed['popup_fullscreen']) ? esc_html($current_feed['popup_fullscreen']) : 0);
51
+ $open_with_autoplay = (isset($current_feed['popup_autoplay']) ? esc_html($current_feed['popup_autoplay']) : 0);
52
+ $image_width = (isset($current_feed['popup_width']) ? esc_html($current_feed['popup_width']) : 800);
53
+ $image_height = (isset($current_feed['popup_height']) ? esc_html($current_feed['popup_height']) : 500);
54
+
55
+ $image_effect = (isset($current_feed['popup_type']) && esc_html(isset($current_feed['popup_type'])) ? esc_html($current_feed['popup_type']) : 'fade');
56
+
57
+ $sort_by = (isset($_GET['wd_sor']) ? esc_html($_GET['wd_sor']) : 'order');/*watch later*/
58
+ $order_by = (isset($_GET['wd_ord']) ? esc_html($_GET['wd_ord']) : 'asc');/*watch later*/
59
+
60
+ $enable_image_filmstrip = (isset($current_feed['popup_enable_filmstrip']) ? esc_html($current_feed['popup_enable_filmstrip']) : 0);
61
+ $enable_image_fullscreen = (isset($current_feed['popup_enable_fullscreen']) ? esc_html($current_feed['popup_enable_fullscreen']) : 0);/*watch later*/
62
+ $popup_enable_info = (isset($current_feed['popup_enable_info']) ? esc_html($current_feed['popup_enable_info']) : 1);
63
+ $popup_info_always_show = (isset($current_feed['popup_info_always_show']) ? esc_html($current_feed['popup_info_always_show']) : 0);
64
+ $popup_info_full_width = (isset($current_feed['popup_info_full_width']) ? esc_html($current_feed['popup_info_full_width']) : 0);
65
+ $popup_enable_rate = (isset($current_feed['lightbox_rating']) ? esc_html($current_feed['lightbox_rating']) : 0);/*deprecated*/
66
+ $popup_hit_counter = (isset($current_feed['lightbox_hit_counter']) ? esc_html($current_feed['lightbox_hit_counter']) : 0);/*deprecated*/
67
+ if ($enable_image_filmstrip) {
68
+ $image_filmstrip_height = (isset($current_feed['popup_filmstrip_height']) ? esc_html($current_feed['popup_filmstrip_height']) : '20');
69
+ $thumb_ratio = $thumb_width / $thumb_height;
70
+ $image_filmstrip_width = round($thumb_ratio * $image_filmstrip_height);
71
+ }
72
+ else {
73
+ $image_filmstrip_height = 0;
74
+ $image_filmstrip_width = 0;
75
+ }
76
+
77
+ $slideshow_interval = (isset($current_feed['popup_interval']) ? (int) $current_feed['popup_interval'] : 5);
78
+ $enable_image_ctrl_btn = (isset($current_feed['popup_enable_ctrl_btn']) ? esc_html($current_feed['popup_enable_ctrl_btn']) : 0);
79
+ $enable_comment_social = (isset($current_feed['popup_enable_comment']) ? esc_html($current_feed['popup_enable_comment']) : 0);
80
+ $enable_image_facebook = (isset($current_feed['popup_enable_facebook']) ? esc_html($current_feed['popup_enable_facebook']) : 0);
81
+ $enable_image_twitter = (isset($current_feed['popup_enable_twitter']) ? esc_html($current_feed['popup_enable_twitter']) : 0);
82
+ $enable_image_google = (isset($current_feed['popup_enable_google']) ? esc_html($current_feed['popup_enable_google']) : 0);
83
+ $enable_image_pinterest = (isset($current_feed['popup_enable_pinterest']) ? esc_html($current_feed['popup_enable_pinterest']) : 0);
84
+ $enable_image_tumblr = (isset($current_feed['popup_enable_tumblr']) ? esc_html($current_feed['popup_enable_tumblr']) : 0);
85
+ $enable_share_buttons = (isset($current_feed['popup_enable_share_buttons']) ? esc_html($current_feed['popup_enable_share_buttons']) : 1);
86
+ $image_right_click = (isset($current_feed['popup_image_right_click']) ? esc_html($current_feed['popup_image_right_click']) : 1);
87
+
88
+
89
+ $watermark_type = (isset($_GET['watermark_type']) ? esc_html($_GET['watermark_type']) : 'none');/*watch later*//*deprecated*/
90
+ $watermark_text = (isset($_GET['watermark_text']) ? esc_html($_GET['watermark_text']) : '');/*watch later*//*deprecated*/
91
+ $watermark_font_size = (isset($_GET['watermark_font_size']) ? esc_html($_GET['watermark_font_size']) : 12);/*watch later*//*deprecated*/
92
+ $watermark_font = (isset($_GET['watermark_font']) ? esc_html($_GET['watermark_font']) : 'Arial');/*watch later*//*deprecated*/
93
+ $watermark_color = (isset($_GET['watermark_color']) ? esc_html($_GET['watermark_color']) : 'FFFFFF');/*watch later*//*deprecated*/
94
+ $watermark_opacity = (isset($_GET['watermark_opacity']) ? esc_html($_GET['watermark_opacity']) : 30);/*watch later*//*deprecated*/
95
+ $watermark_position = explode('-', (isset($_GET['watermark_position']) ? esc_html($_GET['watermark_position']) : 'bottom-right'));/*watch later*//*deprecated*/
96
+ $watermark_link = (isset($_GET['watermark_link']) ? esc_html($_GET['watermark_link']) : '');/*watch later*//*deprecated*/
97
+ $watermark_url = (isset($_GET['watermark_url']) ? esc_html($_GET['watermark_url']) : '');/*watch later*//*deprecated*/
98
+ $watermark_width = (isset($_GET['watermark_width']) ? esc_html($_GET['watermark_width']) : 90);/*watch later*//*deprecated*/
99
+ $watermark_height = (isset($_GET['watermark_height']) ? esc_html($_GET['watermark_height']) : 90);/*watch later*//*deprecated*/
100
+
101
+
102
+
103
+
104
+ //$option_row = $this->model->get_option_row_data();
105
+
106
+
107
+ // $image_right_click = 0; //$option_row->image_right_click;/*watch later havent this options*/
108
+ $comment_moderation = 0;//$option_row->comment_moderation;/*watch later havent this options*/
109
+
110
+ $filmstrip_direction = 'horizontal';
111
+ if ($theme_row->lightbox_filmstrip_pos == 'right' || $theme_row->lightbox_filmstrip_pos == 'left') {
112
+ $filmstrip_direction = 'vertical';
113
+ }
114
+ if ($enable_image_filmstrip) {
115
+ if ($filmstrip_direction == 'horizontal') {
116
+ $image_filmstrip_height = (isset($current_feed['popup_filmstrip_height']) ? esc_html($current_feed['popup_filmstrip_height']) : '20');
117
+ $thumb_ratio = $thumb_width / $thumb_height;
118
+ $image_filmstrip_width = round($thumb_ratio * $image_filmstrip_height);
119
+ }
120
+ else {
121
+ $image_filmstrip_width = (isset($current_feed['popup_filmstrip_height']) ? esc_html($current_feed['popup_filmstrip_height']) : '50');
122
+ $thumb_ratio = $thumb_height / $thumb_width;
123
+ $image_filmstrip_height = round($thumb_ratio * $image_filmstrip_width);
124
+ }
125
+ }
126
+ else {
127
+ $image_filmstrip_height = 0;
128
+ $image_filmstrip_width = 0;
129
+ }
130
+
131
+ if ($tag_id != 0) {
132
+ //$image_rows = $this->model->get_image_rows_data_tag($tag_id, $sort_by, $order_by);
133
+ }
134
+ else {
135
+ // $image_rows = $this->model->get_image_rows_data($gallery_id, $sort_by, $order_by);
136
+ }
137
+
138
+
139
+ $json = (($_POST['image_rows']));
140
+ str_replace('"',"&quot;", $json);
141
+ $image_rows = json_decode(stripslashes($json));
142
+ $image_rows_count = count($image_rows);
143
+ $image_rows = WDILibrary::arrayToObject($image_rows);
144
+
145
+ /////////////////////////////////Parametes for deprecated content////////////////////
146
+ $theme_row->lightbox_rate_stars_count = 0;
147
+ $theme_row->lightbox_rate_size = 0;
148
+ /////////////////////////////////////////////////////////////////////////////////////
149
+
150
+ $image_id = (isset($_POST['image_id']) ? (int) $_POST['image_id'] : $current_image_id);
151
+ //$comment_rows = $this->model->get_comment_rows_data($image_id);
152
+
153
+ $params_array = array(
154
+ 'action' => 'GalleryBox',
155
+ 'image_id' => $current_image_id,
156
+ 'gallery_id' => $gallery_id,
157
+ 'theme_id' => $theme_id,
158
+ 'thumb_width' => $thumb_width,
159
+ 'thumb_height' => $thumb_height,
160
+ 'open_with_fullscreen' => $open_with_fullscreen,
161
+ 'image_width' => $image_width,
162
+ 'image_height' => $image_height,
163
+ 'image_effect' => $image_effect,
164
+ 'wd_sor' => $sort_by,
165
+ 'wd_ord' => $order_by,
166
+ 'enable_image_filmstrip' => $enable_image_filmstrip,
167
+ 'image_filmstrip_height' => $image_filmstrip_height,
168
+ 'enable_image_ctrl_btn' => $enable_image_ctrl_btn,
169
+ 'enable_image_fullscreen' => $enable_image_fullscreen,
170
+ 'popup_enable_info' => $popup_enable_info,
171
+ 'popup_info_always_show' => $popup_info_always_show,
172
+ 'popup_info_full_width' => $popup_info_full_width,
173
+ 'popup_hit_counter' => $popup_hit_counter,
174
+ 'popup_enable_rate' => $popup_enable_rate,
175
+ 'slideshow_interval' => $slideshow_interval,
176
+ 'enable_comment_social' => $enable_comment_social,
177
+ 'enable_image_facebook' => $enable_image_facebook,
178
+ 'enable_image_twitter' => $enable_image_twitter,
179
+ 'enable_image_google' => $enable_image_google,
180
+ 'enable_image_pinterest' => $enable_image_pinterest,
181
+ 'enable_image_tumblr' => $enable_image_tumblr,
182
+ 'watermark_type' => $watermark_type,
183
+ 'current_url' => $current_url
184
+ );
185
+ if ($watermark_type != 'none') {
186
+ $params_array['watermark_link'] = $watermark_link;
187
+ $params_array['watermark_opacity'] = $watermark_opacity;
188
+ $params_array['watermark_position'] = $watermark_position;
189
+ }
190
+ if ($watermark_type == 'text') {
191
+ $params_array['watermark_text'] = $watermark_text;
192
+ $params_array['watermark_font_size'] = $watermark_font_size;
193
+ $params_array['watermark_font'] = $watermark_font;
194
+ $params_array['watermark_color'] = $watermark_color;
195
+ }
196
+ elseif ($watermark_type == 'image') {
197
+ $params_array['watermark_url'] = $watermark_url;
198
+ $params_array['watermark_width'] = $watermark_width;
199
+ $params_array['watermark_height'] = $watermark_height;
200
+ }
201
+ $popup_url = add_query_arg(array($params_array), admin_url('admin-ajax.php'));
202
+ $filmstrip_thumb_margin = $theme_row->lightbox_filmstrip_thumb_margin;
203
+ $margins_split = explode(" ", $filmstrip_thumb_margin);
204
+ $filmstrip_thumb_margin_right = 0;
205
+ $filmstrip_thumb_margin_left = 0;
206
+ $temp_iterator = ($filmstrip_direction == 'horizontal' ? 1 : 0);
207
+ if (isset($margins_split[$temp_iterator])) {
208
+ $filmstrip_thumb_margin_right = (int) $margins_split[$temp_iterator];
209
+ if (isset($margins_split[$temp_iterator + 2])) {
210
+ $filmstrip_thumb_margin_left = (int) $margins_split[$temp_iterator + 2];
211
+ }
212
+ else {
213
+ $filmstrip_thumb_margin_left = $filmstrip_thumb_margin_right;
214
+ }
215
+ }
216
+ elseif (isset($margins_split[0])) {
217
+ $filmstrip_thumb_margin_right = (int) $margins_split[0];
218
+ $filmstrip_thumb_margin_left = $filmstrip_thumb_margin_right;
219
+ }
220
+
221
+ $filmstrip_thumb_margin_hor = $filmstrip_thumb_margin_right + $filmstrip_thumb_margin_left;
222
+ $rgb_wdi_image_info_bg_color = WDILibrary::wdi_spider_hex2rgb($theme_row->lightbox_info_bg_color);
223
+ $rgb_lightbox_ctrl_cont_bg_color = WDILibrary::wdi_spider_hex2rgb($theme_row->lightbox_ctrl_cont_bg_color);
224
+ if (!$enable_image_filmstrip) {
225
+ if ($theme_row->lightbox_filmstrip_pos == 'left') {
226
+ $theme_row->lightbox_filmstrip_pos = 'top';
227
+ }
228
+ if ($theme_row->lightbox_filmstrip_pos == 'right') {
229
+ $theme_row->lightbox_filmstrip_pos = 'bottom';
230
+ }
231
+ }
232
+ $left_or_top = 'left';
233
+ $width_or_height= 'width';
234
+ $outerWidth_or_outerHeight = 'outerWidth';
235
+ if (!($filmstrip_direction == 'horizontal')) {
236
+ $left_or_top = 'top';
237
+ $width_or_height = 'height';
238
+ $outerWidth_or_outerHeight = 'outerHeight';
239
+ }
240
+
241
+ $current_filename = '';
242
+
243
+ if ($option_row->enable_addthis && $option_row->addthis_profile_id) {
244
+ ?>
245
+ <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=<?php echo $option_row->addthis_profile_id; ?>" async="async"></script>
246
+ <?php
247
+ }
248
+
249
+ ?>
250
+ <style>
251
+ /*@import url(https://fonts.googleapis.com/css?family=Maven+Pro:400,500);*/
252
+ .wdi_spider_popup_wrap * {
253
+ -moz-box-sizing: border-box;
254
+ -webkit-box-sizing: border-box;
255
+ box-sizing: border-box;
256
+ }
257
+ .wdi_spider_popup_overlay{
258
+ background-color: <?php echo $theme_row->lightbox_overlay_bg_color; ?>;
259
+ opacity: <?php echo (intval($theme_row->lightbox_overlay_bg_transparent)/100); ?>;
260
+ }
261
+ .wdi_spider_popup_wrap {
262
+ background-color: <?php echo $theme_row->lightbox_bg_color; ?>;
263
+ display: inline-block;
264
+ left: 50%;
265
+ outline: medium none;
266
+ position: fixed;
267
+ text-align: center;
268
+ top: 50%;
269
+ z-index: 100000;
270
+ }
271
+ .wdi_popup_image {
272
+ max-width: <?php echo $image_width - ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>px;
273
+ max-height: <?php echo $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>px;
274
+ vertical-align: middle;
275
+ display: inline-block;
276
+ }
277
+ .wdi_popup_embed {
278
+ width: <?php echo $image_width - ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>px;
279
+ height: <?php echo $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>px;
280
+ vertical-align: middle;
281
+ text-align: center;
282
+ display: inline-block;
283
+ }
284
+ .wdi_ctrl_btn {
285
+ color: <?php echo $theme_row->lightbox_ctrl_btn_color; ?>;
286
+ font-size: <?php echo $theme_row->lightbox_ctrl_btn_height; ?>px;
287
+ margin: <?php echo $theme_row->lightbox_ctrl_btn_margin_top; ?>px <?php echo $theme_row->lightbox_ctrl_btn_margin_left; ?>px;
288
+ opacity: <?php echo number_format($theme_row->lightbox_ctrl_btn_transparent / 100, 2, ".", ""); ?>;
289
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_ctrl_btn_transparent; ?>);
290
+ }
291
+ .wdi_toggle_btn {
292
+ color: <?php echo $theme_row->lightbox_ctrl_btn_color; ?>;
293
+ font-size: <?php echo $theme_row->lightbox_toggle_btn_height; ?>px;
294
+ margin: 0;
295
+ opacity: <?php echo number_format($theme_row->lightbox_ctrl_btn_transparent / 100, 2, ".", ""); ?>;
296
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_ctrl_btn_transparent; ?>);
297
+ padding: 0;
298
+ }
299
+ .wdi_btn_container {
300
+ bottom: 0;
301
+ left: 0;
302
+ overflow: hidden;
303
+ position: absolute;
304
+ right: 0;
305
+ top: 0;
306
+ }
307
+
308
+ .wdi_ctrl_btn_container {
309
+ background-color: rgba(<?php echo $rgb_lightbox_ctrl_cont_bg_color['red']; ?>, <?php echo $rgb_lightbox_ctrl_cont_bg_color['green']; ?>, <?php echo $rgb_lightbox_ctrl_cont_bg_color['blue']; ?>, <?php echo number_format($theme_row->lightbox_ctrl_cont_transparent / 100, 2, ".", ""); ?>);
310
+ /*background: none repeat scroll 0 0 #<?php echo $theme_row->lightbox_ctrl_cont_bg_color; ?>;*/
311
+ <?php
312
+ if ($theme_row->lightbox_ctrl_btn_pos == 'top') {
313
+ ?>
314
+ border-bottom-left-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
315
+ border-bottom-right-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
316
+ <?php
317
+ }
318
+ else {
319
+ ?>
320
+ bottom: 0;
321
+ border-top-left-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
322
+ border-top-right-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
323
+ <?php
324
+ }?>
325
+ height: <?php echo $theme_row->lightbox_ctrl_btn_height + 2 * $theme_row->lightbox_ctrl_btn_margin_top; ?>px;
326
+ /*opacity: <?php echo number_format($theme_row->lightbox_ctrl_cont_transparent / 100, 2, ".", ""); ?>;
327
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_ctrl_cont_transparent; ?>);*/
328
+ position: absolute;
329
+ text-align: <?php echo $theme_row->lightbox_ctrl_btn_align; ?>;
330
+ width: 100%;
331
+ z-index: 10150;
332
+ }
333
+ .wdi_toggle_container {
334
+ background: none repeat scroll 0 0 <?php echo $theme_row->lightbox_ctrl_cont_bg_color; ?>;
335
+ <?php
336
+ if ($theme_row->lightbox_ctrl_btn_pos == 'top') {
337
+ ?>
338
+ border-bottom-left-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
339
+ border-bottom-right-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
340
+ /****/
341
+ border-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
342
+ /****/
343
+ top: <?php echo $theme_row->lightbox_ctrl_btn_height + 2 * $theme_row->lightbox_ctrl_btn_margin_top; ?>px;
344
+ <?php
345
+ }
346
+ else {
347
+ ?>
348
+ border-top-left-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
349
+ border-top-right-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
350
+ /****/
351
+ border-radius: <?php echo $theme_row->lightbox_ctrl_cont_border_radius; ?>px;
352
+ /****/
353
+ bottom: <?php echo $theme_row->lightbox_ctrl_btn_height + 2 * $theme_row->lightbox_ctrl_btn_margin_top; ?>px;
354
+ <?php
355
+ }?>
356
+ cursor: pointer;
357
+ left: 50%;
358
+ line-height: 0;
359
+ margin-left: -<?php echo $theme_row->lightbox_toggle_btn_width / 2; ?>px;
360
+ opacity: <?php echo number_format($theme_row->lightbox_ctrl_cont_transparent / 100, 2, ".", ""); ?>;
361
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_ctrl_cont_transparent; ?>);
362
+ position: absolute;
363
+ text-align: center;
364
+ width: <?php echo $theme_row->lightbox_toggle_btn_width; ?>px;
365
+ z-index: 10150;
366
+ }
367
+ .wdi_close_btn {
368
+ opacity: <?php echo number_format($theme_row->lightbox_close_btn_transparent / 100, 2, ".", ""); ?>;
369
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_close_btn_transparent; ?>);
370
+ }
371
+ .wdi_spider_popup_close {
372
+ background-color: <?php echo $theme_row->lightbox_close_btn_bg_color; ?>;
373
+ border-radius: <?php echo $theme_row->lightbox_close_btn_border_radius; ?>px;
374
+ border: <?php echo $theme_row->lightbox_close_btn_border_width; ?>px <?php echo $theme_row->lightbox_close_btn_border_style; ?> <?php echo $theme_row->lightbox_close_btn_border_color; ?>;
375
+ box-shadow: <?php echo $theme_row->lightbox_close_btn_box_shadow; ?>;
376
+ color: <?php echo $theme_row->lightbox_close_btn_color; ?>;
377
+ height: <?php echo $theme_row->lightbox_close_btn_height; ?>px;
378
+ font-size: <?php echo $theme_row->lightbox_close_btn_size; ?>px;
379
+ right: <?php echo $theme_row->lightbox_close_btn_right; ?>px;
380
+ top: <?php echo $theme_row->lightbox_close_btn_top; ?>px;
381
+ width: <?php echo $theme_row->lightbox_close_btn_width; ?>px;
382
+ }
383
+ .wdi_spider_popup_close_fullscreen {
384
+ color: <?php echo $theme_row->lightbox_close_btn_full_color; ?>;
385
+ font-size: <?php echo $theme_row->lightbox_close_btn_size; ?>px;
386
+ right: 15px;
387
+ }
388
+ .wdi_spider_popup_close span,
389
+ #wdi_spider_popup_left-ico span,
390
+ #wdi_spider_popup_right-ico span {
391
+ display: table-cell;
392
+ text-align: center;
393
+ vertical-align: middle;
394
+ }
395
+ #wdi_spider_popup_left-ico,
396
+ #wdi_spider_popup_right-ico {
397
+ background-color: <?php echo $theme_row->lightbox_rl_btn_bg_color; ?>;
398
+ border-radius: <?php echo $theme_row->lightbox_rl_btn_border_radius; ?>;
399
+ /***/
400
+ border-radius: <?php echo $theme_row->lightbox_rl_btn_border_radius; ?>px;
401
+ /***/
402
+ border: <?php echo $theme_row->lightbox_rl_btn_border_width; ?>px <?php echo $theme_row->lightbox_rl_btn_border_style; ?> <?php echo $theme_row->lightbox_rl_btn_border_color; ?>;
403
+ box-shadow: <?php echo $theme_row->lightbox_rl_btn_box_shadow; ?>;
404
+ color: <?php echo $theme_row->lightbox_rl_btn_color; ?>;
405
+ height: <?php echo $theme_row->lightbox_rl_btn_height; ?>px;
406
+ font-size: <?php echo $theme_row->lightbox_rl_btn_size; ?>px;
407
+ width: <?php echo $theme_row->lightbox_rl_btn_width; ?>px;
408
+ opacity: <?php echo number_format($theme_row->lightbox_rl_btn_transparent / 100, 2, ".", ""); ?>;
409
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_rl_btn_transparent; ?>);
410
+ }
411
+ <?php
412
+ if($option_row->autohide_lightbox_navigation){?>
413
+ #wdi_spider_popup_left-ico{
414
+ left: -9999px;
415
+ }
416
+ #wdi_spider_popup_right-ico{
417
+ left: -9999px;
418
+ }
419
+ <?php }
420
+ else { ?>
421
+ #wdi_spider_popup_left-ico {
422
+ left: 20px;
423
+ }
424
+ #wdi_spider_popup_right-ico {
425
+ left: auto;
426
+ right: 20px;
427
+ }
428
+ <?php } ?>
429
+ .wdi_ctrl_btn:hover,
430
+ .wdi_toggle_btn:hover,
431
+
432
+ #wdi_spider_popup_left-ico:hover,
433
+ #wdi_spider_popup_right-ico:hover {
434
+ color: <?php echo $theme_row->lightbox_close_rl_btn_hover_color; ?>;
435
+ cursor: pointer;
436
+ }
437
+ .wdi_spider_popup_close:hover,
438
+ .wdi_spider_popup_close_fullscreen:hover{
439
+ color: <?php echo $theme_row->lightbox_close_btn_hover_color;?>;
440
+ cursor: pointer;
441
+ }
442
+ .wdi_image_wrap {
443
+ height: inherit;
444
+ display: table;
445
+ position: absolute;
446
+ text-align: center;
447
+ width: inherit;
448
+ }
449
+ .wdi_image_wrap * {
450
+ -moz-user-select: none;
451
+ -khtml-user-select: none;
452
+ -webkit-user-select: none;
453
+ -ms-user-select: none;
454
+ user-select: none;
455
+ }
456
+ .wdi_comment_wrap {
457
+ bottom: 0;
458
+ left: 0;
459
+ overflow: hidden;
460
+ position: absolute;
461
+ right: 0;
462
+ top: 0;
463
+ z-index: -1;
464
+ }
465
+ .wdi_comment_container {
466
+ -moz-box-sizing: border-box;
467
+ background-color: <?php echo $theme_row->lightbox_comment_bg_color; ?>;
468
+ color: <?php echo $theme_row->lightbox_comment_font_color; ?>;
469
+ font-size: <?php echo $theme_row->lightbox_comment_font_size; ?>px;
470
+ font-family: <?php echo $theme_row->lightbox_comment_font_style; ?>;
471
+ height: 100%;
472
+ overflow: hidden;
473
+ position: absolute;
474
+ <?php echo $theme_row->lightbox_comment_pos; ?>: -<?php echo $theme_row->lightbox_comment_width; ?>px;
475
+ top: 0;
476
+ width: <?php echo $theme_row->lightbox_comment_width; ?>px;
477
+ z-index: 10103;
478
+ }
479
+
480
+ .wdi_comments {
481
+ bottom: 0;
482
+ font-size: <?php echo $theme_row->lightbox_comment_font_size; ?>px;
483
+ font-family: <?php echo $theme_row->lightbox_comment_font_style; ?>;
484
+ height: 100%;
485
+ left: 0;
486
+ overflow-x: hidden;
487
+ overflow-y: auto;
488
+ position: absolute;
489
+ top: 0;
490
+ width: 100%;
491
+ z-index: 10101;
492
+ }
493
+ .wdi_comments p,
494
+ .wdi_comment_body_p {
495
+ margin: 5px !important;
496
+ text-align: left;
497
+ word-wrap: break-word;
498
+ word-break: break-word;
499
+ }
500
+ .wdi_no_comment{
501
+ text-align: center !important;
502
+ }
503
+ .wdi_comments input[type="submit"] {
504
+ background: none repeat scroll 0 0 <?php echo $theme_row->lightbox_comment_button_bg_color; ?>;
505
+ border: <?php echo $theme_row->lightbox_comment_button_border_width; ?>px <?php echo $theme_row->lightbox_comment_button_border_style; ?> <?php echo $theme_row->lightbox_comment_button_border_color; ?>;
506
+ border-radius: <?php echo $theme_row->lightbox_comment_button_border_radius; ?>px;
507
+ color: <?php echo $theme_row->lightbox_comment_font_color; ?>;
508
+ cursor: pointer;
509
+ padding: <?php echo $theme_row->lightbox_comment_button_padding; ?>;
510
+ }
511
+ .wdi_comments input[type="text"],
512
+ .wdi_comments textarea {
513
+ background: none repeat scroll 0 0 <?php echo $theme_row->lightbox_comment_input_bg_color; ?>;
514
+ border: <?php echo $theme_row->lightbox_comment_input_border_width; ?>px <?php echo $theme_row->lightbox_comment_input_border_style; ?> <?php echo $theme_row->lightbox_comment_input_border_color; ?>;
515
+ border-radius: <?php echo $theme_row->lightbox_comment_input_border_radius; ?>;
516
+ /***/
517
+ border-radius: <?php echo $theme_row->lightbox_comment_input_border_radius; ?>px;
518
+ /***/
519
+ color: <?php echo $theme_row->lightbox_comment_font_color; ?>;
520
+ padding: <?php echo $theme_row->lightbox_comment_input_padding; ?>;
521
+ width: 100%;
522
+ }
523
+ .wdi_comments textarea {
524
+ resize: vertical;
525
+ }
526
+ .wdi_comment_header_p {
527
+ border-top: <?php echo $theme_row->lightbox_comment_separator_width; ?>px <?php echo $theme_row->lightbox_comment_separator_style; ?> <?php echo $theme_row->lightbox_comment_separator_color; ?>;
528
+ }
529
+ .wdi_comment_header {
530
+ margin-top: 2px;
531
+ display: inline-block;
532
+ color: <?php echo $theme_row->lightbox_comment_font_color; ?>;
533
+ font-size: <?php echo $theme_row->lightbox_comment_author_font_size; ?>px;
534
+ }
535
+ .wdi_comment_date {
536
+ color: <?php echo $theme_row->lightbox_comment_font_color; ?>;
537
+ float: right;
538
+ font-size: <?php echo $theme_row->lightbox_comment_date_font_size; ?>px;
539
+ }
540
+ .wdi_comment_body {
541
+ color: <?php echo $theme_row->lightbox_comment_font_color; ?>;
542
+ font-size: <?php echo $theme_row->lightbox_comment_body_font_size; ?>px;
543
+ }
544
+ .wdi_comment_delete_btn {
545
+ color: #FFFFFF;
546
+ cursor: pointer;
547
+ float: right;
548
+ font-size: 14px;
549
+ margin: 2px;
550
+ }
551
+
552
+
553
+ .wdi_comments_close {
554
+ cursor: pointer;
555
+ line-height: 0;
556
+ position: absolute;
557
+ font-size: 13px;
558
+ text-align: <?php echo (($theme_row->lightbox_comment_pos == 'left') ? 'right' : 'left'); ?>;
559
+ margin: 5px;
560
+ <?php echo (($theme_row->lightbox_comment_pos == 'left') ? 'right' : 'left'); ?> : 0;
561
+ top: 0;
562
+ background-color: <?php echo $theme_row->lightbox_comment_bg_color; ?>;
563
+ z-index: 10202;
564
+ }
565
+ .wdi_comments_close i{
566
+ z-index: 10201;
567
+ }
568
+ .wdi_comment_textarea::-webkit-scrollbar {
569
+ width: 4px;
570
+ }
571
+ .wdi_comment_textarea::-webkit-scrollbar-track {
572
+ }
573
+ .wdi_comment_textarea::-webkit-scrollbar-thumb {
574
+ background-color: rgba(255, 255, 255, 0.55);
575
+ border-radius: 2px;
576
+ }
577
+ .wdi_comment_textarea::-webkit-scrollbar-thumb:hover {
578
+ background-color: #D9D9D9;
579
+ }
580
+ .wdi_ctrl_btn_container a,
581
+ .wdi_ctrl_btn_container a:hover {
582
+ text-decoration: none;
583
+ }
584
+
585
+ .wdi_facebook:hover {
586
+ color: #3B5998 !important;
587
+ cursor: pointer;
588
+ }
589
+ .wdi_twitter:hover {
590
+ color: #4099FB !important;
591
+ cursor: pointer;
592
+ }
593
+ .wdi_google:hover {
594
+ color: #DD4B39 !important;
595
+ cursor: pointer;
596
+ }
597
+ .wdi_pinterest:hover {
598
+ color: #cb2027 !important;
599
+ cursor: pointer;
600
+ }
601
+ .wdi_tumblr:hover {
602
+ color: #2F5070 !important;
603
+ cursor: pointer;
604
+ }
605
+ .wdi_linkedin:hover {
606
+ color: #0077B5 !important;
607
+ cursor: pointer;
608
+ }
609
+ .wdi_facebook,
610
+ .wdi_twitter,
611
+ .wdi_google,
612
+ .wdi_pinterest,
613
+ .wdi_tumblr,
614
+ .wdi_linkedin {
615
+ color: <?php echo $theme_row->lightbox_comment_share_button_color; ?> !important;
616
+ }
617
+ .wdi_image_container {
618
+ display: table;
619
+ position: absolute;
620
+ text-align: center;
621
+ <?php echo $theme_row->lightbox_filmstrip_pos; ?>: <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : $image_filmstrip_width); ?>px;
622
+ vertical-align: middle;
623
+ width: 100%;
624
+ }
625
+ .wdi_filmstrip_container {
626
+ display: <?php echo ($filmstrip_direction == 'horizontal'? 'table' : 'block'); ?>;
627
+ height: <?php echo ($filmstrip_direction == 'horizontal'? $image_filmstrip_height : $image_height); ?>px;
628
+ position: absolute;
629
+ width: <?php echo ($filmstrip_direction == 'horizontal' ? $image_width : $image_filmstrip_width); ?>px;
630
+ z-index: 10105;
631
+ <?php echo $theme_row->lightbox_filmstrip_pos; ?>: 0;
632
+ }
633
+ .wdi_filmstrip {
634
+ <?php echo $left_or_top; ?>: 20px;
635
+ overflow: hidden;
636
+ position: absolute;
637
+ <?php echo $width_or_height; ?>: <?php echo ($filmstrip_direction == 'horizontal' ? $image_width - 40 : $image_height - 40); ?>px;
638
+ z-index: 10106;
639
+ }
640
+ .wdi_filmstrip_thumbnails {
641
+ height: <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : ($image_filmstrip_height + $filmstrip_thumb_margin_hor) * $image_rows_count); ?>px;
642
+ <?php echo $left_or_top; ?>: 0px;
643
+ margin: 0 auto;
644
+ overflow: hidden;
645
+ position: relative;
646
+ width: <?php echo ($filmstrip_direction == 'horizontal' ? ($image_filmstrip_width + $filmstrip_thumb_margin_hor) * $image_rows_count : $image_filmstrip_width); ?>px;
647
+ }
648
+ .wdi_filmstrip_thumbnail {
649
+ position: relative;
650
+ background: none;
651
+ border: <?php echo $theme_row->lightbox_filmstrip_thumb_border_width; ?>px <?php echo $theme_row->lightbox_filmstrip_thumb_border_style; ?> <?php echo $theme_row->lightbox_filmstrip_thumb_border_color; ?>;
652
+ border-radius: <?php echo $theme_row->lightbox_filmstrip_thumb_border_radius; ?>;
653
+ /***/
654
+ border-radius: <?php echo $theme_row->lightbox_filmstrip_thumb_border_radius; ?>px;
655
+ /***/
656
+ cursor: pointer;
657
+ float: left;
658
+ height: <?php echo $image_filmstrip_height; ?>px;
659
+ margin: <?php echo $theme_row->lightbox_filmstrip_thumb_margin; ?>;
660
+ width: <?php echo $image_filmstrip_width; ?>px;
661
+ overflow: hidden;
662
+ }
663
+ .wdi_thumb_active {
664
+ opacity: 1;
665
+ filter: Alpha(opacity=100);
666
+ border: <?php echo $theme_row->lightbox_filmstrip_thumb_active_border_width; ?>px solid <?php echo $theme_row->lightbox_filmstrip_thumb_active_border_color; ?>;
667
+ }
668
+ .wdi_thumb_deactive {
669
+ opacity: <?php echo number_format($theme_row->lightbox_filmstrip_thumb_deactive_transparent / 100, 2, ".", ""); ?>;
670
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_filmstrip_thumb_deactive_transparent; ?>);
671
+ }
672
+ .wdi_filmstrip_thumbnail_img {
673
+ display: block;
674
+ opacity: 1;
675
+ filter: Alpha(opacity=100);
676
+ }
677
+ .wdi_filmstrip_left {
678
+ background-color: <?php echo $theme_row->lightbox_filmstrip_rl_bg_color; ?>;
679
+ cursor: pointer;
680
+ display: <?php echo ($filmstrip_direction == 'horizontal' ? 'table-cell' : 'block') ?>;
681
+ vertical-align: middle;
682
+ <?php echo $width_or_height; ?>: 20px;
683
+ z-index: 10106;
684
+ <?php echo $left_or_top; ?>: 0;
685
+ <?php echo ($filmstrip_direction == 'horizontal' ? '' : 'position: absolute;') ?>
686
+ <?php echo ($filmstrip_direction == 'horizontal' ? '' : 'width: 100%;') ?>
687
+ }
688
+ .wdi_filmstrip_right {
689
+ background-color: <?php echo $theme_row->lightbox_filmstrip_rl_bg_color; ?>;
690
+ cursor: pointer;
691
+ <?php echo($filmstrip_direction == 'horizontal' ? 'right' : 'bottom') ?>: 0;
692
+ <?php echo $width_or_height; ?>: 20px;
693
+ display: <?php echo ($filmstrip_direction == 'horizontal' ? 'table-cell' : 'block') ?>;
694
+ vertical-align: middle;
695
+ z-index: 10106;
696
+ <?php echo ($filmstrip_direction == 'horizontal' ? '' : 'position: absolute;') ?>
697
+ <?php echo ($filmstrip_direction == 'horizontal' ? '' : 'width: 100%;') ?>
698
+ }
699
+ .wdi_filmstrip_left i,
700
+ .wdi_filmstrip_right i {
701
+ color: <?php echo $theme_row->lightbox_filmstrip_rl_btn_color; ?>;
702
+ font-size: <?php echo $theme_row->lightbox_filmstrip_rl_btn_size; ?>px;
703
+ }
704
+ .wdi_none_selectable {
705
+ -webkit-touch-callout: none;
706
+ -webkit-user-select: none;
707
+ -khtml-user-select: none;
708
+ -moz-user-select: none;
709
+ -ms-user-select: none;
710
+ user-select: none;
711
+ }
712
+ .wdi_watermark_container {
713
+ display: table-cell;
714
+ margin: 0 auto;
715
+ position: relative;
716
+ vertical-align: middle;
717
+ }
718
+ .wdi_watermark_spun {
719
+ display: table-cell;
720
+ overflow: hidden;
721
+ position: relative;
722
+ text-align: <?php echo $watermark_position[1]; ?>;
723
+ vertical-align: <?php echo $watermark_position[0]; ?>;
724
+ /*z-index: 10140;*/
725
+ }
726
+ .wdi_watermark_image {
727
+ margin: 4px;
728
+ max-height: <?php echo $watermark_height; ?>px;
729
+ max-width: <?php echo $watermark_width; ?>px;
730
+ opacity: <?php echo number_format($watermark_opacity / 100, 2, ".", ""); ?>;
731
+ filter: Alpha(opacity=<?php echo $watermark_opacity; ?>);
732
+ position: relative;
733
+ z-index: 10141;
734
+ }
735
+ .wdi_watermark_text,
736
+ .wdi_watermark_text:hover {
737
+ text-decoration: none;
738
+ margin: 4px;
739
+ font-size: <?php echo $watermark_font_size; ?>px;
740
+ font-family: <?php echo $watermark_font; ?>;
741
+ color: <?php echo $watermark_color; ?> !important;
742
+ opacity: <?php echo number_format($watermark_opacity / 100, 2, ".", ""); ?>;
743
+ filter: Alpha(opacity=<?php echo $watermark_opacity; ?>);
744
+ position: relative;
745
+ z-index: 10141;
746
+ }
747
+ .wdi_slide_container {
748
+ display: table-cell;
749
+ position: absolute;
750
+ vertical-align: middle;
751
+ width: 100%;
752
+ height: 100%;
753
+ }
754
+ .wdi_slide_bg {
755
+ margin: 0 auto;
756
+ width: inherit;
757
+ height: inherit;
758
+ }
759
+ .wdi_slider {
760
+ height: inherit;
761
+ width: inherit;
762
+ }
763
+ .wdi_popup_image_spun {
764
+ height: inherit;
765
+ display: table-cell;
766
+ filter: Alpha(opacity=100);
767
+ opacity: 1;
768
+ position: absolute;
769
+ vertical-align: middle;
770
+ width: inherit;
771
+ z-index: 2;
772
+ }
773
+ .wdi_popup_image_second_spun {
774
+ width: inherit;
775
+ height: inherit;
776
+ display: table-cell;
777
+ filter: Alpha(opacity=0);
778
+ opacity: 0;
779
+ position: absolute;
780
+ vertical-align: middle;
781
+ z-index: 1;
782
+ }
783
+ .wdi_grid {
784
+ display: none;
785
+ height: 100%;
786
+ overflow: hidden;
787
+ position: absolute;
788
+ width: 100%;
789
+ }
790
+ .wdi_gridlet {
791
+ opacity: 1;
792
+ filter: Alpha(opacity=100);
793
+ position: absolute;
794
+ }
795
+ .wdi_image_info_container1 {
796
+ display: <?php echo $popup_info_always_show ? 'table-cell' : 'none'; ?>;
797
+ }
798
+
799
+ .wdi_image_info_spun {
800
+ text-align: <?php echo $theme_row->lightbox_info_align; ?>;
801
+ vertical-align: <?php echo $theme_row->lightbox_info_pos; ?>;
802
+ }
803
+
804
+
805
+ .wdi_image_info {
806
+ background: rgba(<?php echo $rgb_wdi_image_info_bg_color['red']; ?>, <?php echo $rgb_wdi_image_info_bg_color['green']; ?>, <?php echo $rgb_wdi_image_info_bg_color['blue']; ?>, <?php echo number_format($theme_row->lightbox_info_bg_transparent / 100, 2, ".", ""); ?>);
807
+ border: <?php echo $theme_row->lightbox_info_border_width; ?>px <?php echo $theme_row->lightbox_info_border_style; ?> <?php echo $theme_row->lightbox_info_border_color; ?>;
808
+ border-radius: <?php echo $theme_row->lightbox_info_border_radius; ?>px;
809
+ <?php echo ((!$enable_image_filmstrip || $theme_row->lightbox_filmstrip_pos != 'bottom') && $theme_row->lightbox_ctrl_btn_pos == 'bottom' && $theme_row->lightbox_info_pos == 'bottom') ? 'bottom: ' . ($theme_row->lightbox_ctrl_btn_height + 2 * $theme_row->lightbox_ctrl_btn_margin_top) . 'px;' : '' ?>
810
+ <?php if($params_array['popup_info_full_width']) { ?>
811
+ width: 100%;
812
+ <?php } else { ?>
813
+ width: 33%;
814
+ margin: <?php echo $theme_row->lightbox_info_margin; ?>;
815
+ <?php } ?>
816
+ padding: <?php echo $theme_row->lightbox_info_padding; ?>;
817
+ <?php echo ((!$enable_image_filmstrip || $theme_row->lightbox_filmstrip_pos != 'top') && $theme_row->lightbox_ctrl_btn_pos == 'top' && $theme_row->lightbox_info_pos == 'top') ? 'top: ' . ($theme_row->lightbox_ctrl_btn_height + 2 * $theme_row->lightbox_ctrl_btn_margin_top) . 'px;' : '' ?>
818
+ overflow: auto;
819
+ }
820
+ .wdi_image_title,
821
+ .wdi_image_title * {
822
+ color: <?php echo $theme_row->lightbox_title_color; ?> !important;
823
+ font-family: <?php echo $theme_row->lightbox_title_font_style; ?>;
824
+ font-size: <?php echo $theme_row->lightbox_title_font_size; ?>px;
825
+ font-weight: <?php echo $theme_row->lightbox_title_font_weight; ?>;
826
+ }
827
+ .wdi_image_description,
828
+ .wdi_image_description * {
829
+ color: <?php echo $theme_row->lightbox_description_color; ?> !important;
830
+ font-family: <?php echo $theme_row->lightbox_description_font_style; ?>;
831
+ font-size: <?php echo $theme_row->lightbox_description_font_size; ?>px;
832
+ font-weight: <?php echo $theme_row->lightbox_description_font_weight; ?>;
833
+ }
834
+ .wdi_title{
835
+ display: inline-table;
836
+ }
837
+ .wdi_title:hover{
838
+ cursor: pointer;
839
+ }
840
+ .wdi_title .wdi_users_img_wrap{
841
+ width: 50px;
842
+ display: table-cell;
843
+ vertical-align: middle;
844
+ float: right;
845
+ padding-left: 10px;
846
+ overflow: hidden;
847
+ }
848
+ .wdi_title .wdi_users_img_wrap img{
849
+ width: 100%;
850
+ }
851
+ .wdi_title .wdi_header_text{
852
+ display: table-cell;
853
+ vertical-align: middle;
854
+ word-break: break-all;
855
+ }
856
+
857
+ .wdi_share_btns{
858
+ position: absolute;
859
+ <?php echo ($theme_row->lightbox_ctrl_btn_pos == 'top')? 'bottom' : 'top';?>: -115%;
860
+ width: <?php echo $theme_row->lightbox_ctrl_btn_height*7.5;?>px;
861
+ border-radius: 3px;
862
+ left: -150%;
863
+ margin: 0;
864
+ z-index: 200000;
865
+ background: none repeat scroll 0 0 <?php echo $theme_row->lightbox_ctrl_cont_bg_color; ?>;
866
+ opacity: <?php echo number_format($theme_row->lightbox_ctrl_cont_transparent / 100, 2, ".", ""); ?>;
867
+ }
868
+ .wdi_share_btns_container{
869
+ position: relative;
870
+ display: inline-block;
871
+ }
872
+ .wdi_share_popup_btn{
873
+ color: <?php echo $theme_row->lightbox_ctrl_btn_color; ?>;
874
+ filter: Alpha(opacity=<?php echo $theme_row->lightbox_ctrl_btn_transparent; ?>);
875
+ padding: 3px;
876
+ opacity: 1;
877
+ font-size: <?php echo $theme_row->lightbox_ctrl_btn_height;?>px;
878
+ }
879
+ .wdi_share_caret{
880
+ font-size: 15px;
881
+ color: <?php echo $theme_row->lightbox_ctrl_cont_bg_color; ?>;
882
+ opacity: <?php echo number_format($theme_row->lightbox_ctrl_cont_transparent / 100, 2, ".", ""); ?>;
883
+ position: absolute;
884
+ top: -25px;
885
+ left: 13px;
886
+ }
887
+ .wdi_share_toggler{
888
+ display: block !important;
889
+ }
890
+ .wdi_facebook_btn:hover{
891
+ color: #45619D;
892
+ }
893
+ .wdi_facebook_btn:hover{
894
+ color: #4099FB;
895
+ }
896
+
897
+
898
+ .wdi_comment_header a,.wdi_comment_header a:visited{
899
+ color: <?php echo $theme_row->lightbox_comment_author_font_color; ?> !important;
900
+ }
901
+ .wdi_comm_text_link,a.wdi_comm_text_link:visited{
902
+ color: <?php echo $theme_row->lightbox_comment_author_font_color; ?>!important;
903
+ }
904
+ .wdi_comment_header a:hover,a.wdi_comm_text_link:hover{
905
+ text-decoration: none;
906
+ color: <?php echo $theme_row->lightbox_comment_author_font_color_hover; ?>!important;
907
+ }
908
+ .wdi_load_more_comments{
909
+ display: inline-block;
910
+ color: <?php echo $theme_row->lightbox_comment_load_more_color; ?>;
911
+ background-color: <?php echo $theme_row->lightbox_comment_bg_color; ?>;
912
+ -webkit-user-select: none; /* Chrome/Safari */
913
+ -moz-user-select: none; /* Firefox */
914
+ -ms-user-select: none; /* IE10+ */
915
+ /* Rules below not implemented in browsers yet */
916
+ -o-user-select: none;
917
+ user-select: none;
918
+ font-family: 'Verdana', sans-serif;
919
+ text-transform: capitalize;
920
+ font-size: 17px;
921
+ }
922
+ .wdi_load_more_comments:hover{
923
+ color: <?php echo $theme_row->lightbox_comment_load_more_color_hover;?>;
924
+ cursor: pointer;
925
+ }
926
+
927
+ @media (max-width: 480px) {
928
+ .wdi_image_count_container {
929
+ display: none;
930
+ }
931
+ .wdi_image_title,
932
+ .wdi_image_title * {
933
+ font-size: 12px;
934
+ }
935
+ .wdi_image_description,
936
+ .wdi_image_description * {
937
+ font-size: 10px;
938
+ }
939
+ }
940
+ .wdi_image_count_container {
941
+ left: 0;
942
+ line-height: 1;
943
+ position: absolute;
944
+ vertical-align: middle;
945
+ }
946
+ </style>
947
+ <script>
948
+ var wdi_data = [];
949
+ var event_stack = [];
950
+ <?php
951
+ $image_id_exist = FALSE;
952
+ foreach ($image_rows as $key => $image_row) {
953
+ if ($image_row->id == $image_id) {
954
+ $current_avg_rating = $image_row->avg_rating;
955
+ $current_rate = $image_row->rate;
956
+ $current_rate_count = $image_row->rate_count;
957
+ $current_image_key = $key;
958
+ }
959
+ if ($image_row->id == $current_image_id) {
960
+ $current_image_alt = $image_row->alt;
961
+ $current_image_user_name = $image_row->username;
962
+ $current_image_user_pic = $image_row->profile_picture;
963
+ $current_image_hit_count = $image_row->hit_count;
964
+ $current_image_description = str_replace('#',' #',str_replace(array("\r\n", "\n", "\r"), esc_html('<br />'), $image_row->description));
965
+ $current_image_url = $image_row->image_url;
966
+ $current_thumb_url = $image_row->thumb_url;
967
+ $current_filetype = $image_row->filetype;
968
+ $current_filename = $image_row->filename;
969
+ $image_id_exist = TRUE;
970
+ }
971
+
972
+
973
+ //sanitizing image description
974
+ $instaDesc = $image_row->description;
975
+ $instaDesc = preg_replace('/\\\\/', esc_html('&#92;'), $instaDesc);
976
+ $instaDesc = str_replace(array("\r\n", "\n", "\r",'
'), esc_html(''), str_replace('"','\"',$instaDesc));
977
+ $instaDesc = str_replace('#', ' #', $instaDesc);
978
+ ?>
979
+
980
+ wdi_data["<?php echo $key; ?>"] = [];
981
+ wdi_data["<?php echo $key; ?>"]["number"] = <?php echo $key + 1; ?>;
982
+ wdi_data["<?php echo $key; ?>"]["id"] = "<?php echo $image_row->id; ?>";
983
+ wdi_data["<?php echo $key; ?>"]["alt"] = "<?php echo $image_row->alt; str_replace(array("\r\n", "\n", "\r"), esc_html('<br />'), $image_row->alt); ?>";
984
+ wdi_data["<?php echo $key; ?>"]["description"] = "<?php echo $instaDesc; ?>";
985
+ wdi_data["<?php echo $key; ?>"]['username'] = "<?php echo $image_row->username;?>";
986
+ wdi_data["<?php echo $key; ?>"]['profile_picture'] = "<?php echo $image_row->profile_picture;?>";
987
+ wdi_data["<?php echo $key; ?>"]["image_url"] = "<?php echo $image_row->image_url; ?>";
988
+ wdi_data["<?php echo $key; ?>"]["thumb_url"] = "<?php echo $image_row->thumb_url; ?>";
989
+ wdi_data["<?php echo $key; ?>"]["date"] = "<?php echo $image_row->date; ?>";
990
+ wdi_data["<?php echo $key; ?>"]["comment_count"] = "<?php echo $image_row->comment_count; ?>";
991
+ wdi_data["<?php echo $key; ?>"]["filetype"] = "<?php echo $image_row->filetype; ?>";
992
+ wdi_data["<?php echo $key; ?>"]["filename"] = "<?php echo $image_row->filename; ?>";
993
+ wdi_data["<?php echo $key; ?>"]["avg_rating"] = "<?php echo $image_row->avg_rating; ?>";
994
+ wdi_data["<?php echo $key; ?>"]["rate"] = "<?php echo $image_row->rate; ?>";
995
+ wdi_data["<?php echo $key; ?>"]["rate_count"] = "<?php echo $image_row->rate_count; ?>";
996
+ wdi_data["<?php echo $key; ?>"]["hit_count"] = "<?php echo $image_row->hit_count; ?>";
997
+ wdi_data["<?php echo $key; ?>"]["comments_data"] = <?php echo json_encode($image_row->comments_data); ?>;
998
+ <?php
999
+ }
1000
+ ?>
1001
+
1002
+ </script>
1003
+
1004
+ <?php
1005
+ if (!$image_id_exist) {
1006
+ echo WDILibrary::message(__('The image has been deleted.', "wdi"), 'error');
1007
+ die();
1008
+ }
1009
+ ?>
1010
+ <div class="wdi_image_wrap">
1011
+ <?php
1012
+ if ($enable_image_ctrl_btn) {
1013
+ $share_url = add_query_arg(array('action' => 'Share', 'curr_url' => $current_url, 'image_id' => $current_image_id), admin_url('admin-ajax.php')) . '#wdi' . $gallery_id . '/' . $current_image_id;
1014
+ ?>
1015
+ <div class="wdi_btn_container">
1016
+ <div class="wdi_ctrl_btn_container">
1017
+ <?php
1018
+ if ($option_row->show_image_counts) {
1019
+ ?>
1020
+ <span class="wdi_image_count_container wdi_ctrl_btn">
1021
+ <span class="wdi_image_count"><?php echo $current_image_key + 1; ?></span> /
1022
+ <span><?php echo $image_rows_count; ?></span>
1023
+ </span>
1024
+ <?php
1025
+ }
1026
+ ?>
1027
+ <i title="<?php echo __('Play', "wdi"); ?>" class="wdi_ctrl_btn wdi_play_pause fa fa-play"></i>
1028
+ <?php if ($enable_image_fullscreen) {
1029
+ if (!$open_with_fullscreen) {
1030
+ ?>
1031
+ <i title="<?php echo __('Maximize', "wdi"); ?>" class="wdi_ctrl_btn wdi_resize-full fa fa-resize-full "></i>
1032
+ <?php
1033
+ }
1034
+ ?>
1035
+ <i title="<?php echo __('Fullscreen', "wdi"); ?>" class="wdi_ctrl_btn wdi_fullscreen fa fa-fullscreen"></i>
1036
+ <?php } if ($popup_enable_info) { ?>
1037
+ <i title="<?php echo __('Show info', "wdi"); ?>" class="wdi_ctrl_btn wdi_info fa fa-info"></i>
1038
+ <?php } if ($enable_comment_social) { ?>
1039
+ <i title="<?php echo __('Show comments', "wdi"); ?>" class="wdi_ctrl_btn wdi_comment fa fa-comment"></i>
1040
+ <?php } if ($popup_enable_rate) { ?>
1041
+ <i title="<?php echo __('Show rating', "wdi"); ?>" class="wdi_ctrl_btn wdi_rate fa fa-star"></i>
1042
+ <?php }
1043
+ $is_embed = preg_match('/EMBED/', $current_filetype) == 1 ? TRUE : FALSE;
1044
+ $share_image_url = urlencode( $is_embed ? $current_thumb_url : site_url() . '/' . $WD_WDI_UPLOAD_DIR . $current_image_url);
1045
+ if ($enable_image_facebook) {
1046
+ ?>
1047
+ <a id="wdi_facebook_a" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo urlencode($share_url); ?>" target="_blank" title="<?php echo __('Share on Facebook', "wdi"); ?>">
1048
+ <i title="<?php echo __('Share on Facebook', "wdi"); ?>" class="wdi_ctrl_btn wdi_facebook fa fa-facebook"></i>
1049
+ </a>
1050
+ <?php
1051
+ }
1052
+ if ($enable_image_twitter) {
1053
+ ?>
1054
+ <a id="wdi_twitter_a" href="https://twitter.com/share?url=<?php echo urlencode($share_url); ?>" target="_blank" title="<?php echo __('Share on Twitter', "wdi"); ?>">
1055
+ <i title="<?php echo __('Share on Twitter', "wdi"); ?>" class="wdi_ctrl_btn wdi_twitter fa fa-twitter"></i>
1056
+ </a>
1057
+ <?php
1058
+ }
1059
+ if ($enable_image_google) {
1060
+ ?>
1061
+ <a id="wdi_google_a" href="https://plus.google.com/share?url=<?php echo urlencode($share_url); ?>" target="_blank" title="<?php echo __('Share on Google+', "wdi"); ?>">
1062
+ <i title="<?php echo __('Share on Google+', "wdi"); ?>" class="wdi_ctrl_btn wdi_google fa fa-google-plus"></i>
1063
+ </a>
1064
+ <?php
1065
+ }
1066
+ if ($enable_image_pinterest) {
1067
+ ?>
1068
+ <a id="wdi_pinterest_a" href="http://pinterest.com/pin/create/button/?s=100&url=<?php echo urlencode($share_url); ?>&media=<?php echo $share_image_url; ?>&description=<?php echo $current_image_description; ?>" target="_blank" title="<?php echo __('Share on Pinterest', "wdi"); ?>">
1069
+ <i title="<?php echo __('Share on Pinterest', "wdi"); ?>" class="wdi_ctrl_btn wdi_pinterest fa fa-pinterest"></i>
1070
+ </a>
1071
+ <?php
1072
+ }
1073
+ if ($enable_image_tumblr) {
1074
+ ?>
1075
+ <a id="wdi_tumblr_a" href="https://www.tumblr.com/share/photo?source=<?php echo $share_image_url; ?>&caption=<?php echo urlencode($current_image_alt); ?>&clickthru=<?php echo urlencode($share_url); ?>" target="_blank" title="<?php echo __('Share on Tumblr', "wdi"); ?>">
1076
+ <i title="<?php echo __('Share on Tumblr', "wdi"); ?>" class="wdi_ctrl_btn wdi_tumblr fa fa-tumblr"></i>
1077
+ </a>
1078
+ <?php
1079
+ }
1080
+
1081
+ if ($enable_share_buttons) {
1082
+ ?>
1083
+ <span class="wdi_share_btns_container">
1084
+ <i onclick="jQuery(this).parent().find('.wdi_share_btns').toggleClass('wdi_share_toggler');jQuery(this).parent().find('.wdi_share_caret').toggleClass('wdi_share_toggler')" title="<?php echo __('Share', "wdi"); ?>" class="wdi_ctrl_btn fa fa-share"></i>
1085
+ <p class="wdi_share_btns" style="display:none">
1086
+ <a id="wdi_popup_fb" href="https://www.facebook.com/sharer/sharer.php?u=<?php echo $current_image_url;?>" target="_blank" class='wdi_share_popup_btn wdi_facebook fa fa-facebook'></a>
1087
+ <a id="wdi_popup_tw" href="https://twitter.com/home?status=<?php echo $current_image_url;?>" target="_blank" class='wdi_share_popup_btn wdi_twitter fa fa-twitter'></a>
1088
+ <a id="wdi_popup_gp" href="https://plus.google.com/share?url=<?php echo $current_image_url;?>" target="_blank" class='wdi_share_popup_btn wdi_google fa fa-google-plus'></a>
1089
+ <a id="wdi_popup_li" href="https://www.linkedin.com/shareArticle?mini=true&url=<?php echo $current_image_url;?>&title=<?php echo $current_image_description?>" target="_blank" class='wdi_share_popup_btn wdi_linkedin fa fa-linkedin'></a>
1090
+ <a id="wdi_popup_pt" href="https://pinterest.com/pin/create/button/?url=<?php echo $current_image_url;?>&media=<?php echo $current_image_url;?>media/?size=l&description=<?php echo $current_image_description?>" target="_blank" class='wdi_share_popup_btn wdi_pinterest fa fa-pinterest'></a>
1091
+ </p>
1092
+ <i class="wdi_share_caret " style="display:none;"></i>
1093
+ </span>
1094
+
1095
+
1096
+ <?php
1097
+ }
1098
+
1099
+
1100
+ if ($option_row->popup_enable_fullsize_image) {
1101
+ ?>
1102
+ <a id="wdi_fullsize_image" href="<?php echo !$is_embed ? site_url() . '/' . $WD_WDI_UPLOAD_DIR . $current_image_url : $current_image_url; ?>" target="_blank">
1103
+ <i title="<?php echo __('Open image in Instagram.', "wdi"); ?>" class="wdi_ctrl_btn fa fa-instagram"></i>
1104
+ </a>
1105
+ <?php
1106
+ }
1107
+ if ($option_row->popup_enable_download) {
1108
+ $style = 'none';
1109
+ $current_image_arr = explode('/', $current_image_url);
1110
+ if (!$is_embed) {
1111
+ $download_href = site_url() . '/' . $WD_WDI_UPLOAD_DIR . $current_image_url;
1112
+ $style = 'inline-block';
1113
+ }
1114
+ elseif (preg_match('/FLICKR/', $current_filetype) == 1) {
1115
+ $download_href = $current_filename;
1116
+ $style = 'inline-block';
1117
+ }
1118
+ elseif (preg_match('/INSTAGRAM/', $current_filetype) == 1) {
1119
+ if(preg_match('/IMAGE/',$current_filetype) == 1){
1120
+ $download_href = substr_replace($current_thumb_url, 'l', -1);
1121
+ }
1122
+ if(preg_match('/VIDEO/',$current_filetype) == 1){
1123
+ $download_href = $current_filename;
1124
+ }
1125
+
1126
+
1127
+ $style = 'inline-block';
1128
+ }
1129
+ ?>
1130
+ <a id="wdi_download" href="<?php echo $download_href; ?>" target="_blank" download="<?php echo end($current_image_arr); ?>" style="display: <?php echo $style; ?>;">
1131
+ <i title="<?php echo __('Download original image', "wdi"); ?>" class="wdi_ctrl_btn fa fa-download"></i>
1132
+ </a>
1133
+ <?php
1134
+ }
1135
+ ?>
1136
+ </div>
1137
+ <div class="wdi_toggle_container">
1138
+ <i class="wdi_toggle_btn fa <?php echo (($theme_row->lightbox_ctrl_btn_pos == 'top') ? 'fa-angle-up' : 'fa-angle-down'); ?>"></i>
1139
+ </div>
1140
+ </div>
1141
+ <?php
1142
+ }
1143
+ $current_pos = 0;
1144
+
1145
+ if ($enable_image_filmstrip) {
1146
+ ?>
1147
+ <div class="wdi_filmstrip_container">
1148
+ <div class="wdi_filmstrip_left"><i class="fa <?php echo ($filmstrip_direction == 'horizontal'? 'fa-angle-left' : 'fa-angle-up'); ?> "></i></div>
1149
+ <div class="wdi_filmstrip">
1150
+ <div class="wdi_filmstrip_thumbnails">
1151
+ <?php
1152
+ foreach ($image_rows as $key => $image_row) {
1153
+ if ($image_row->id == $current_image_id) {
1154
+ $current_pos = $key * (($filmstrip_direction == 'horizontal' ? $image_filmstrip_width : $image_filmstrip_height) + $filmstrip_thumb_margin_hor);
1155
+ $current_key = $key;
1156
+ }
1157
+
1158
+ $is_embed = preg_match('/EMBED/',$image_row->filetype)==1 ? true :false;
1159
+ if (!$is_embed) {
1160
+ list($image_thumb_width, $image_thumb_height) = getimagesize(htmlspecialchars_decode(ABSPATH . $WD_WDI_UPLOAD_DIR . $image_row->thumb_url, ENT_COMPAT | ENT_QUOTES));
1161
+ }
1162
+ else {
1163
+ if (isset($image_row->resolution) && $image_row->resolution!= '') {
1164
+ $resolution_arr = explode(" ",$image_row->resolution);
1165
+ $resolution_w = intval($resolution_arr[0]);
1166
+ $resolution_h = intval($resolution_arr[2]);
1167
+ if($resolution_w != 0 && $resolution_h != 0){
1168
+ $scale = $scale = max($image_filmstrip_width / $resolution_w, $image_filmstrip_height / $resolution_h);
1169
+ $image_thumb_width = $resolution_w * $scale;
1170
+ $image_thumb_height = $resolution_h * $scale;
1171
+ }
1172
+ else{
1173
+ $image_thumb_width = $image_filmstrip_width;
1174
+ $image_thumb_height = $image_filmstrip_height;
1175
+ }
1176
+ }
1177
+ else {
1178
+ $image_thumb_width = $image_filmstrip_width;
1179
+ $image_thumb_height = $image_filmstrip_height;
1180
+ }
1181
+ }
1182
+ $scale = max($image_filmstrip_width / $image_thumb_width, $image_filmstrip_height / $image_thumb_height);
1183
+ $image_thumb_width *= $scale;
1184
+ $image_thumb_height *= $scale;
1185
+ $thumb_left = ($image_filmstrip_width - $image_thumb_width) / 2;
1186
+ $thumb_top = ($image_filmstrip_height - $image_thumb_height) / 2;
1187
+ ?>
1188
+ <div id="wdi_filmstrip_thumbnail_<?php echo $key; ?>" class="wdi_filmstrip_thumbnail <?php echo (($image_row->id == $current_image_id) ? 'wdi_thumb_active' : 'wdi_thumb_deactive'); ?>">
1189
+ <img style="width:<?php echo $image_thumb_width; ?>px; height:<?php echo $image_thumb_height; ?>px; margin-left: <?php echo $thumb_left; ?>px; margin-top: <?php echo $thumb_top; ?>px;" class="wdi_filmstrip_thumbnail_img" src="<?php echo ($is_embed ? "" : site_url() . '/' . $WD_WDI_UPLOAD_DIR) . $image_row->thumb_url; ?>" onclick="wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), '<?php echo $key; ?>', wdi_data)" ontouchend="wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), '<?php echo $key; ?>', wdi_data)" image_id="<?php echo $image_row->id; ?>" image_key="<?php echo $key; ?>" alt="<?php echo $image_row->alt; ?>" />
1190
+ </div>
1191
+ <?php
1192
+ }
1193
+ ?>
1194
+ </div>
1195
+ </div>
1196
+ <div class="wdi_filmstrip_right"><i class="fa <?php echo ($filmstrip_direction == 'horizontal'? 'fa-angle-right' : 'fa-angle-down'); ?>"></i></div>
1197
+ </div>
1198
+ <?php
1199
+ }
1200
+ if ($watermark_type != 'none') {
1201
+ ?>
1202
+ <div class="wdi_image_container">
1203
+ <div class="wdi_watermark_container">
1204
+ <div style="display:table; margin:0 auto;">
1205
+ <span class="wdi_watermark_spun" id="wdi_watermark_container">
1206
+ <?php
1207
+ if ($watermark_type == 'image') {
1208
+ ?>
1209
+ <a href="<?php echo urldecode($watermark_link); ?>" target="_blank">
1210
+ <img class="wdi_watermark_image wdi_watermark" src="<?php echo $watermark_url; ?>" />
1211
+ </a>
1212
+ <?php
1213
+ }
1214
+ elseif ($watermark_type == 'text') {
1215
+ ?>
1216
+ <a class="wdi_none_selectable wdi_watermark_text wdi_watermark" target="_blank" href="<?php echo $watermark_link; ?>"><?php echo $watermark_text; ?></a>
1217
+ <?php
1218
+ }
1219
+ ?>
1220
+ </span>
1221
+ </div>
1222
+ </div>
1223
+ </div>
1224
+ <?php
1225
+ }
1226
+ ?>
1227
+ <div id="wdi_image_container" class="wdi_image_container">
1228
+ <div class="wdi_image_info_container1">
1229
+ <div class="wdi_image_info_container2">
1230
+ <span class="wdi_image_info_spun">
1231
+ <div class="wdi_image_info" <?php if(trim($current_image_alt) == '' && trim($current_image_description) == '') { echo 'style="background:none;"'; } ?>>
1232
+ <div class="wdi_image_title">
1233
+ <div class="wdi_title" onclick="window.open('//instagram.com/<?php echo $current_image_user_name; ?>','_blank')">
1234
+ <div class="wdi_header_text"><?php echo $current_image_user_name;?></div>
1235
+ <div class="wdi_users_img_wrap"><img src="<?php echo $current_image_user_pic;?>" alt=""></div>
1236
+ </div>
1237
+ </div>
1238
+ <div class="wdi_image_description"><?php echo html_entity_decode($current_image_description); ?></div>
1239
+ </div>
1240
+ </span>
1241
+ </div>
1242
+ </div>
1243
+
1244
+ <div class="wdi_slide_container">
1245
+ <div class="wdi_slide_bg">
1246
+ <div class="wdi_slider">
1247
+ <?php
1248
+ $current_key = -6;
1249
+ foreach ($image_rows as $key => $image_row) {
1250
+
1251
+ $is_embed = preg_match('/EMBED/',$image_row->filetype)==1 ? true :false;
1252
+ $is_embed_instagram_post = preg_match('/INSTAGRAM_POST/',$image_row->filetype)==1 ? true :false;
1253
+ if ($image_row->id == $current_image_id) {
1254
+ $current_key = $key;
1255
+ ?>
1256
+ <span class="wdi_popup_image_spun" id="wdi_popup_image" image_id="<?php echo $image_row->id; ?>">
1257
+ <span class="wdi_popup_image_spun1" style="display: table; width: inherit; height: inherit;">
1258
+ <span class="wdi_popup_image_spun2" style="display: table-cell; vertical-align: middle; text-align: center;">
1259
+ <?php
1260
+ if (!$is_embed) {
1261
+ ?>
1262
+ <img class="wdi_popup_image wdi_popup_watermark" src="<?php echo site_url() . '/' . $WD_WDI_UPLOAD_DIR . $image_row->image_url; ?>" alt="<?php echo $image_row->alt; ?>" />
1263
+
1264
+ <?php
1265
+ }
1266
+ else { /*$is_embed*/ ?>
1267
+ <span class="wdi_popup_embed wdi_popup_watermark" style="display:table; table-layout:fixed;">
1268
+ <?php
1269
+ if($is_embed_instagram_post){
1270
+ $post_width = $image_width - ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0);
1271
+ $post_height = $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0);
1272
+ if($post_height <$post_width +88 ){
1273
+ $post_width =$post_height -88;
1274
+ }
1275
+ else{
1276
+ $post_height =$post_width +88;
1277
+ }
1278
+ WDILibraryEmbed::display_embed($image_row->filetype, $image_row->filename, array('class'=>"wdi_embed_frame", 'frameborder'=>"0", 'style'=>"width:".$post_width."px; height:".$post_height."px; vertical-align:middle; display:inline-block; position:relative;"));
1279
+ }
1280
+ else{
1281
+ WDILibraryEmbed::display_embed($image_row->filetype, $image_row->filename, array('class'=>"wdi_embed_frame", 'frameborder'=>"0", 'allowfullscreen'=>"allowfullscreen", 'style'=>"width:inherit; height:inherit; vertical-align:middle; display:table-cell;"));
1282
+ }
1283
+ ?>
1284
+ </span>
1285
+ <?php
1286
+ }
1287
+ ?>
1288
+ </span>
1289
+ </span>
1290
+ </span>
1291
+ <span class="wdi_popup_image_second_spun">
1292
+ </span>
1293
+ <input type="hidden" id="wdi_current_image_key" value="<?php echo $key; ?>" />
1294
+ <?php
1295
+ break;
1296
+ }
1297
+ }
1298
+ ?>
1299
+ </div>
1300
+ </div>
1301
+ </div>
1302
+ <a id="wdi_spider_popup_left" <?php echo ($option_row->enable_loop == 0 && $current_key == 0) ? 'style="display: none;"' : ''; ?>><span id="wdi_spider_popup_left-ico"><span><i class="wdi_prev_btn fa <?php echo $theme_row->lightbox_rl_btn_style; ?>-left"></i></span></span></a>
1303
+ <a id="wdi_spider_popup_right" <?php echo ($option_row->enable_loop == 0 && $current_key == count($image_rows) - 1) ? 'style="display: none;"' : ''; ?>><span id="wdi_spider_popup_right-ico"><span><i class="wdi_next_btn fa <?php echo $theme_row->lightbox_rl_btn_style; ?>-right"></i></span></span></a>
1304
+ </div>
1305
+ </div>
1306
+ <?php if ($enable_comment_social) { ?>
1307
+ <div class="wdi_comment_wrap">
1308
+ <div class="wdi_comment_container wdi_close">
1309
+ <div id="ajax_loading" style="position:absolute;">
1310
+ <div id="opacity_div" style="display:none; background-color:rgba(255, 255, 255, 0.2); position:absolute; z-index:10150;"></div>
1311
+ <span id="loading_div" style="display:none; text-align:center; position:relative; vertical-align:middle; z-index:10170">
1312
+ <img src="<?php echo WDI_URL . '/images/ajax_loader.png'; ?>" class="wdi_spider_ajax_loading" style="width:50px;">
1313
+ </span>
1314
+ </div>
1315
+ <div class="wdi_comments">
1316
+ <?php
1317
+ $captcha_error_message = '';
1318
+ $email_error_message = '';
1319
+ $wdi_name = '';
1320
+ $wdi_comment = '';
1321
+ $wdi_email = '';
1322
+ if (isset($_POST['ajax_task']) && (esc_html(stripslashes($_POST['ajax_task'])) === 'save')) {
1323
+ if ($option_row->popup_enable_captcha) {
1324
+ $wdi_captcha_input = (isset($_POST['wdi_captcha_input']) ? esc_html(stripslashes($_POST['wdi_captcha_input'])) : '');
1325
+ @session_start();
1326
+ $wdi_captcha_code = (isset($_SESSION['wdi_captcha_code']) ? esc_html(stripslashes($_SESSION['wdi_captcha_code'])) : '');
1327
+ if ($wdi_captcha_input !== $wdi_captcha_code) {
1328
+ $captcha_error_message = __('Error. Incorrect Verification Code.', "wdi");
1329
+ $wdi_name = (isset($_POST['wdi_name']) ? esc_html(stripslashes($_POST['wdi_name'])) : '');
1330
+ $wdi_comment = (isset($_POST['wdi_comment']) ? esc_html(stripslashes($_POST['wdi_comment'])) : '');
1331
+ $wdi_email = (isset($_POST['wdi_email']) ? esc_html(stripslashes($_POST['wdi_email'])) : '');
1332
+ }
1333
+ }
1334
+ if ($option_row->popup_enable_email && isset($_POST['wdi_email']) && !is_email(stripslashes($_POST['wdi_email']))) {
1335
+ $email_error_message = __( 'This is not a valid email address.', "wdi" );
1336
+ $wdi_name = (isset($_POST['wdi_name']) ? esc_html(stripslashes($_POST['wdi_name'])) : '');
1337
+ $wdi_comment = (isset($_POST['wdi_comment']) ? esc_html(stripslashes($_POST['wdi_comment'])) : '');
1338
+ $wdi_email = (isset($_POST['wdi_email']) ? esc_html(stripslashes($_POST['wdi_email'])) : '');
1339
+ }
1340
+ }
1341
+ ?>
1342
+ <div id="wdi_comments">
1343
+ <div title="<?php echo __('Hide Comments', "wdi"); ?>" class="wdi_comments_close">
1344
+ <i class="wdi_comments_close_btn fa fa-arrow-<?php echo $theme_row->lightbox_comment_pos; ?>"></i>
1345
+ </div>
1346
+
1347
+ <form id="wdi_comment_form" style="display:none !important;"> method="post" action="<?php echo $popup_url; ?>"><!--Deprecated-->
1348
+ <p><label for="wdi_name"><?php echo __('Name', "wdi"); ?> * </label></p>
1349
+ <p><input type="text" name="wdi_name" id="wdi_name" <?php echo ((get_current_user_id() != 0) ? 'readonly="readonly"' : ''); ?>
1350
+ value="<?php echo ((get_current_user_id() != 0) ? get_userdata(get_current_user_id())->display_name : $wdi_name); ?>" /></p>
1351
+ <?php
1352
+ if ($option_row->popup_enable_email) {
1353
+ ?>
1354
+ <p><label for="wdi_email"><?php echo __('Email', "wdi"); ?> * </label></p>
1355
+ <p><input type="text" name="wdi_email" id="wdi_email"
1356
+ value="<?php echo ((get_current_user_id() != 0) ? get_userdata(get_current_user_id())->user_email : $wdi_email); ?>" /></p>
1357
+ <p><span class="wdi_comment_error"><?php echo $email_error_message; ?></span></p>
1358
+ <?php
1359
+ }
1360
+ ?>
1361
+ <p><label for="wdi_comment"><?php echo __('Comment', "wdi"); ?> * </label></p>
1362
+ <p><textarea class="wdi_comment_textarea" name="wdi_comment" id="wdi_comment"><?php echo $wdi_comment; ?></textarea></p>
1363
+ <?php
1364
+ if ($option_row->popup_enable_captcha) {
1365
+ ?>
1366
+ <p><label for="wdi_captcha_input"><?php echo __('Verification Code', "wdi"); ?></label></p>
1367
+ <p>
1368
+ <input id="wdi_captcha_input" name="wdi_captcha_input" class="wdi_captcha_input" type="text">
1369
+ <img id="wdi_captcha_img" class="wdi_captcha_img" type="captcha" digit="6" src="<?php echo add_query_arg(array('action' => 'wdi_captcha', 'digit' => 6, 'i' => ''), admin_url('admin-ajax.php')); ?>" onclick="wdi_captcha_refresh('wdi_captcha')" ontouchend="wdi_captcha_refresh('wdi_captcha')" />
1370
+ <span id="wdi_captcha_refresh" class="wdi_captcha_refresh" onclick="wdi_captcha_refresh('wdi_captcha')" ontouchend="wdi_captcha_refresh('wdi_captcha')"></span>
1371
+ </p>
1372
+ <p><span class="wdi_comment_error"><?php echo $captcha_error_message; ?></span></p>
1373
+ <?php
1374
+ }
1375
+ ?>
1376
+ <p><input onclick="if (wdi_spider_check_required('wdi_name', '<?php echo __('Name', "wdi"); ?>') <?php if ($option_row->popup_enable_email) { ?> || wdi_spider_check_required('wdi_email', '<?php echo __('Email', "wdi"); ?>') || wdi_spider_check_email('wdi_email') <?php } ?> || wdi_spider_check_required('wdi_comment', '<?php echo __('Comment', "wdi"); ?>')) { return false;}
1377
+ var cur_image_key = parseInt(jQuery('#wdi_current_image_key').val());
1378
+ ++wdi_data[cur_image_key]['comment_count'];
1379
+ wdi_spider_set_input_value('ajax_task', 'save');
1380
+ wdi_spider_set_input_value('image_id', jQuery('#wdi_popup_image').attr('image_id'));
1381
+ wdi_spider_ajax_save('wdi_comment_form');
1382
+ return false;"
1383
+ ontouchend="if (wdi_spider_check_required('wdi_name', '<?php echo __('Name', "wdi"); ?>') <?php if ($option_row->popup_enable_email) { ?> || wdi_spider_check_required('wdi_email', '<?php echo __('Email', "wdi"); ?>') || wdi_spider_check_email('wdi_email') <?php } ?> || wdi_spider_check_required('wdi_comment', '<?php echo __('Comment', "wdi"); ?>')) {return false;}
1384
+ var cur_image_key = parseInt(jQuery('#wdi_current_image_key').val());
1385
+ ++wdi_data[cur_image_key]['comment_count'];
1386
+ wdi_spider_set_input_value('ajax_task', 'save');
1387
+ wdi_spider_set_input_value('image_id', jQuery('#wdi_popup_image').attr('image_id'));
1388
+ wdi_spider_ajax_save('wdi_comment_form');
1389
+ return false;" class="wdi_submit" type="submit" name="wdi_submit" id="wdi_submit" value="<?php echo __('Submit', "wdi"); ?>" /></p>
1390
+ <?php echo (!current_user_can('manage_options') && ($comment_moderation && (isset($_POST['wdi_comment']) && esc_html($_POST['wdi_comment'])))) ? __('Your comment is awaiting moderation', "wdi") : ''; ?>
1391
+ <input id="ajax_task" name="ajax_task" type="hidden" value="" />
1392
+ <input id="image_id" name="image_id" type="hidden" value="<?php echo $image_id; ?>" />
1393
+ <input id="comment_id" name="comment_id" type="hidden" value="" />
1394
+ </form>
1395
+ </div>
1396
+ <div id="wdi_added_comments">
1397
+ <p class="wdi_no_comment"><?php _e('There are no comments to show','wdi');?></p>
1398
+ </div>
1399
+ </div>
1400
+ </div>
1401
+ </div>
1402
+ <?php } ?>
1403
+
1404
+ <a class="wdi_spider_popup_close" onclick="wdi_spider_destroypopup(1000); return false;" ontouchend="wdi_spider_destroypopup(1000); return false;"><span><i class="wdi_close_btn fa fa-times"></i></span></a>
1405
+
1406
+ <script language="javascript" type="text/javascript" src="<?php echo WDI_URL . '/js/gallerybox/wdi_embed.js?ver=' . WDI_VERSION; ?>"></script>
1407
+ <script>
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+ <?php
1416
+ if ($option_row->enable_addthis && $option_row->addthis_profile_id) {
1417
+ ?>
1418
+ var addthis_share = {
1419
+ url: "<?php echo urlencode($share_url); ?>"
1420
+ }
1421
+ <?php
1422
+ }
1423
+ ?>
1424
+ var wdi_trans_in_progress = false;
1425
+ var wdi_transition_duration = <?php echo (($slideshow_interval < 4) && ($slideshow_interval != 0)) ? ($slideshow_interval * 1000) / 4 : 800; ?>;
1426
+ var wdi_playInterval;
1427
+ if ((jQuery("#wdi_spider_popup_wrap").width() >= jQuery(window).width()) || (jQuery("#wdi_spider_popup_wrap").height() >= jQuery(window).height())) {
1428
+ jQuery(".wdi_spider_popup_close").attr("class", "wdi_ctrl_btn wdi_spider_popup_close_fullscreen");
1429
+ }
1430
+ /* Stop autoplay.*/
1431
+ window.clearInterval(wdi_playInterval);
1432
+ /* Set watermark container size.*/
1433
+ function wdi_change_watermark_container() {
1434
+ jQuery(".wdi_slider").children().each(function() {
1435
+ if (jQuery(this).css("zIndex") == 2) {
1436
+ /* This may be neither img nor iframe.*/
1437
+ var wdi_current_image_span = jQuery(this).find("img");
1438
+ if (!wdi_current_image_span.length) {
1439
+ wdi_current_image_span = jQuery(this).find("iframe");
1440
+ }
1441
+ if (!wdi_current_image_span.length) {
1442
+ wdi_current_image_span = jQuery(this).find("video");
1443
+ }
1444
+ /*set timeout for video to get size according to style, and then put watermark*/
1445
+ setTimeout(function () {
1446
+ var width = wdi_current_image_span.width();
1447
+ var height = wdi_current_image_span.height();
1448
+
1449
+
1450
+ jQuery(".wdi_watermark_spun").width(width);
1451
+ jQuery(".wdi_watermark_spun").height(height);
1452
+ jQuery(".wdi_watermark").css({display: ''});
1453
+ /* Set watermark image size.*/
1454
+ var comment_container_width = 0;
1455
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
1456
+ comment_container_width = <?php echo $theme_row->lightbox_comment_width; ?>;
1457
+ }
1458
+ if (width <= (jQuery(window).width() - comment_container_width)) {
1459
+ jQuery(".wdi_watermark_image").css({
1460
+ width: ((jQuery(".wdi_spider_popup_wrap").width() - comment_container_width) * <?php echo $watermark_width / $image_width; ?>)
1461
+ });
1462
+ jQuery(".wdi_watermark_text, .wdi_watermark_text:hover").css({
1463
+ fontSize: ((jQuery(".wdi_spider_popup_wrap").width() - comment_container_width) * <?php echo $watermark_font_size / $image_width; ?>)
1464
+ });
1465
+ }
1466
+ }, 800);
1467
+ }
1468
+ });
1469
+
1470
+
1471
+
1472
+ }
1473
+ var wdi_current_key = '<?php echo $current_key; ?>';
1474
+ var wdi_current_filmstrip_pos = <?php echo $current_pos; ?>;
1475
+ /* Set filmstrip initial position.*/
1476
+ function wdi_set_filmstrip_pos(filmStripWidth) {
1477
+ var selectedImagePos = -wdi_current_filmstrip_pos - (jQuery(".wdi_filmstrip_thumbnail").<?php echo $outerWidth_or_outerHeight; ?>(true)) / 2;
1478
+ var imagesContainerLeft = Math.min(0, Math.max(filmStripWidth - jQuery(".wdi_filmstrip_thumbnails").<?php echo $width_or_height; ?>(), selectedImagePos + filmStripWidth / 2));
1479
+ jQuery(".wdi_filmstrip_thumbnails").animate({
1480
+ <?php echo $left_or_top; ?>: imagesContainerLeft
1481
+ }, {
1482
+ duration: 500,
1483
+ complete: function () { wdi_filmstrip_arrows(); }
1484
+ });
1485
+ }
1486
+ function wdi_move_filmstrip() {
1487
+ var image_left = jQuery(".wdi_thumb_active").position().<?php echo $left_or_top; ?>;
1488
+ var image_right = jQuery(".wdi_thumb_active").position().<?php echo $left_or_top; ?> + jQuery(".wdi_thumb_active").<?php echo $outerWidth_or_outerHeight; ?>(true);
1489
+ var wdi_filmstrip_width = jQuery(".wdi_filmstrip").<?php echo $outerWidth_or_outerHeight; ?>(true);
1490
+ var wdi_filmstrip_thumbnails_width = jQuery(".wdi_filmstrip_thumbnails").<?php echo $outerWidth_or_outerHeight; ?>(true);
1491
+ var long_filmstrip_cont_left = jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?>;
1492
+ var long_filmstrip_cont_right = Math.abs(jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?>) + wdi_filmstrip_width;
1493
+ if (wdi_filmstrip_width > wdi_filmstrip_thumbnails_width) {
1494
+ return;
1495
+ }
1496
+ if (image_left < Math.abs(long_filmstrip_cont_left)) {
1497
+ jQuery(".wdi_filmstrip_thumbnails").animate({
1498
+ <?php echo $left_or_top; ?>: -image_left
1499
+ }, {
1500
+ duration: 500,
1501
+ complete: function () { wdi_filmstrip_arrows(); }
1502
+ });
1503
+ }
1504
+ else if (image_right > long_filmstrip_cont_right) {
1505
+ jQuery(".wdi_filmstrip_thumbnails").animate({
1506
+ <?php echo $left_or_top; ?>: -(image_right - wdi_filmstrip_width)
1507
+ }, {
1508
+ duration: 500,
1509
+ complete: function () { wdi_filmstrip_arrows(); }
1510
+ });
1511
+ }
1512
+ }
1513
+ /* Show/hide filmstrip arrows.*/
1514
+ function wdi_filmstrip_arrows() {
1515
+ if (jQuery(".wdi_filmstrip_thumbnails").<?php echo $width_or_height; ?>() < jQuery(".wdi_filmstrip").<?php echo $width_or_height; ?>()) {
1516
+ jQuery(".wdi_filmstrip_left").hide();
1517
+ jQuery(".wdi_filmstrip_right").hide();
1518
+ }
1519
+ else {
1520
+ jQuery(".wdi_filmstrip_left").show();
1521
+ jQuery(".wdi_filmstrip_right").show();
1522
+ }
1523
+ }
1524
+ function wdi_testBrowser_cssTransitions() {
1525
+ return wdi_testDom('Transition');
1526
+ }
1527
+ function wdi_testBrowser_cssTransforms3d() {
1528
+ return wdi_testDom('Perspective');
1529
+ }
1530
+ function wdi_testDom(prop) {
1531
+ /* Browser vendor CSS prefixes.*/
1532
+ var browserVendors = ['', '-webkit-', '-moz-', '-ms-', '-o-', '-khtml-'];
1533
+ /* Browser vendor DOM prefixes.*/
1534
+ var domPrefixes = ['', 'Webkit', 'Moz', 'ms', 'O', 'Khtml'];
1535
+ var i = domPrefixes.length;
1536
+ while (i--) {
1537
+ if (typeof document.body.style[domPrefixes[i] + prop] !== 'undefined') {
1538
+ return true;
1539
+ }
1540
+ }
1541
+ return false;
1542
+ }
1543
+ function wdi_cube(tz, ntx, nty, nrx, nry, wrx, wry, current_image_class, next_image_class, direction) {
1544
+ /* If browser does not support 3d transforms/CSS transitions.*/
1545
+ if (!wdi_testBrowser_cssTransitions()) {
1546
+ return wdi_fallback(current_image_class, next_image_class, direction);
1547
+ }
1548
+ if (!wdi_testBrowser_cssTransforms3d()) {
1549
+ return wdi_fallback3d(current_image_class, next_image_class, direction);
1550
+ }
1551
+ wdi_trans_in_progress = true;
1552
+ /* Set active thumbnail.*/
1553
+ jQuery(".wdi_filmstrip_thumbnail").removeClass("wdi_thumb_active").addClass("wdi_thumb_deactive");
1554
+ jQuery("#wdi_filmstrip_thumbnail_" + wdi_current_key).removeClass("wdi_thumb_deactive").addClass("wdi_thumb_active");
1555
+ jQuery(".wdi_slide_bg").css('perspective', 1000);
1556
+ jQuery(current_image_class).css({
1557
+ transform : 'translateZ(' + tz + 'px)',
1558
+ backfaceVisibility : 'hidden'
1559
+ });
1560
+ jQuery(next_image_class).css({
1561
+ opacity : 1,
1562
+ filter: 'Alpha(opacity=100)',
1563
+ backfaceVisibility : 'hidden',
1564
+ transform : 'translateY(' + nty + 'px) translateX(' + ntx + 'px) rotateY('+ nry +'deg) rotateX('+ nrx +'deg)'
1565
+ });
1566
+ jQuery(".wdi_slider").css({
1567
+ transform: 'translateZ(-' + tz + 'px)',
1568
+ transformStyle: 'preserve-3d'
1569
+ });
1570
+ /* Execution steps.*/
1571
+ setTimeout(function () {
1572
+ jQuery(".wdi_slider").css({
1573
+ transition: 'all ' + wdi_transition_duration + 'ms ease-in-out',
1574
+ transform: 'translateZ(-' + tz + 'px) rotateX('+ wrx +'deg) rotateY('+ wry +'deg)'
1575
+ });
1576
+ }, 20);
1577
+ /* After transition.*/
1578
+ jQuery(".wdi_slider").one('webkitTransitionEnd transitionend otransitionend oTransitionEnd mstransitionend', jQuery.proxy(wdi_after_trans));
1579
+ function wdi_after_trans() {
1580
+ jQuery(current_image_class).removeAttr('style');
1581
+ jQuery(next_image_class).removeAttr('style');
1582
+ jQuery(".wdi_slider").removeAttr('style');
1583
+ jQuery(current_image_class).css({'opacity' : 0, filter: 'Alpha(opacity=0)', 'z-index': 1});
1584
+ jQuery(next_image_class).css({'opacity' : 1, filter: 'Alpha(opacity=100)', 'z-index' : 2});
1585
+
1586
+ wdi_trans_in_progress = false;
1587
+ jQuery(current_image_class).html('');
1588
+ if (typeof event_stack !== 'undefined') {
1589
+ if (event_stack.length > 0) {
1590
+ key = event_stack[0].split("-");
1591
+ event_stack.shift();
1592
+ wdi_change_image(key[0], key[1], wdi_data, true);
1593
+ }
1594
+ }
1595
+ wdi_change_watermark_container();
1596
+ }
1597
+ }
1598
+ function wdi_cubeH(current_image_class, next_image_class, direction) {
1599
+ /* Set to half of image width.*/
1600
+ var dimension = jQuery(current_image_class).width() / 2;
1601
+ if (direction == 'right') {
1602
+ wdi_cube(dimension, dimension, 0, 0, 90, 0, -90, current_image_class, next_image_class, direction);
1603
+ }
1604
+ else if (direction == 'left') {
1605
+ wdi_cube(dimension, -dimension, 0, 0, -90, 0, 90, current_image_class, next_image_class, direction);
1606
+ }
1607
+ }
1608
+ function wdi_cubeV(current_image_class, next_image_class, direction) {
1609
+ /* Set to half of image height.*/
1610
+ var dimension = jQuery(current_image_class).height() / 2;
1611
+ /* If next slide.*/
1612
+ if (direction == 'right') {
1613
+ wdi_cube(dimension, 0, -dimension, 90, 0, -90, 0, current_image_class, next_image_class, direction);
1614
+ }
1615
+ else if (direction == 'left') {
1616
+ wdi_cube(dimension, 0, dimension, -90, 0, 90, 0, current_image_class, next_image_class, direction);
1617
+ }
1618
+ }
1619
+ /* For browsers that does not support transitions.*/
1620
+ function wdi_fallback(current_image_class, next_image_class, direction) {
1621
+ wdi_fade(current_image_class, next_image_class, direction);
1622
+ }
1623
+ /* For browsers that support transitions, but not 3d transforms (only used if primary transition makes use of 3d-transforms).*/
1624
+ function wdi_fallback3d(current_image_class, next_image_class, direction) {
1625
+ wdi_sliceV(current_image_class, next_image_class, direction);
1626
+ }
1627
+ function wdi_none(current_image_class, next_image_class, direction) {
1628
+ jQuery(current_image_class).css({'opacity' : 0, 'z-index': 1});
1629
+ jQuery(next_image_class).css({'opacity' : 1, 'z-index' : 2});
1630
+ /* Set active thumbnail.*/
1631
+ jQuery(".wdi_filmstrip_thumbnail").removeClass("wdi_thumb_active").addClass("wdi_thumb_deactive");
1632
+ jQuery("#wdi_filmstrip_thumbnail_" + wdi_current_key).removeClass("wdi_thumb_deactive").addClass("wdi_thumb_active");
1633
+ wdi_trans_in_progress = false;
1634
+ jQuery(current_image_class).html('');
1635
+ wdi_change_watermark_container();
1636
+ }
1637
+ function wdi_fade(current_image_class, next_image_class, direction) {
1638
+ /* Set active thumbnail.*/
1639
+ jQuery(".wdi_filmstrip_thumbnail").removeClass("wdi_thumb_active").addClass("wdi_thumb_deactive");
1640
+ jQuery("#wdi_filmstrip_thumbnail_" + wdi_current_key).removeClass("wdi_thumb_deactive").addClass("wdi_thumb_active");
1641
+ if (wdi_testBrowser_cssTransitions()) {
1642
+ jQuery(next_image_class).css('transition', 'opacity ' + wdi_transition_duration + 'ms linear');
1643
+ jQuery(current_image_class).css({'opacity' : 0, 'z-index': 1});
1644
+ jQuery(next_image_class).css({'opacity' : 1, 'z-index' : 2});
1645
+ wdi_change_watermark_container();
1646
+ }
1647
+ else {
1648
+ jQuery(current_image_class).animate({'opacity' : 0, 'z-index' : 1}, wdi_transition_duration);
1649
+ jQuery(next_image_class).animate({
1650
+ 'opacity' : 1,
1651
+ 'z-index': 2
1652
+ }, {
1653
+ duration: wdi_transition_duration,
1654
+ complete: function () {
1655
+
1656
+ wdi_trans_in_progress = false;
1657
+ jQuery(current_image_class).html('');
1658
+ wdi_change_watermark_container(); }
1659
+ });
1660
+ /* For IE.*/
1661
+ jQuery(current_image_class).fadeTo(wdi_transition_duration, 0);
1662
+ jQuery(next_image_class).fadeTo(wdi_transition_duration, 1);
1663
+ }
1664
+ }
1665
+ function wdi_grid(cols, rows, ro, tx, ty, sc, op, current_image_class, next_image_class, direction) {
1666
+ /* If browser does not support CSS transitions.*/
1667
+ if (!wdi_testBrowser_cssTransitions()) {
1668
+ return wdi_fallback(current_image_class, next_image_class, direction);
1669
+ }
1670
+ wdi_trans_in_progress = true;
1671
+ /* Set active thumbnail.*/
1672
+ jQuery(".wdi_filmstrip_thumbnail").removeClass("wdi_thumb_active").addClass("wdi_thumb_deactive");
1673
+ jQuery("#wdi_filmstrip_thumbnail_" + wdi_current_key).removeClass("wdi_thumb_deactive").addClass("wdi_thumb_active");
1674
+ /* The time (in ms) added to/subtracted from the delay total for each new gridlet.*/
1675
+ var count = (wdi_transition_duration) / (cols + rows);
1676
+ /* Gridlet creator (divisions of the image grid, positioned with background-images to replicate the look of an entire slide image when assembled)*/
1677
+ function wdi_gridlet(width, height, top, img_top, left, img_left, src, imgWidth, imgHeight, c, r) {
1678
+ var delay = (c + r) * count;
1679
+ /* Return a gridlet elem with styles for specific transition.*/
1680
+ return jQuery('<span class="wdi_gridlet" />').css({
1681
+ display : "block",
1682
+ width : width,
1683
+ height : height,
1684
+ top : top,
1685
+ left : left,
1686
+ backgroundImage : 'url("' + src + '")',
1687
+ backgroundColor: jQuery(".wdi_spider_popup_wrap").css("background-color"),
1688
+ /*backgroundColor: 'rgba(0, 0, 0, 0)',*/
1689
+ backgroundRepeat: 'no-repeat',
1690
+ backgroundPosition : img_left + 'px ' + img_top + 'px',
1691
+ backgroundSize : imgWidth + 'px ' + imgHeight + 'px',
1692
+ transition : 'all ' + wdi_transition_duration + 'ms ease-in-out ' + delay + 'ms',
1693
+ transform : 'none'
1694
+ });
1695
+ }
1696
+ /* Get the current slide's image.*/
1697
+ var cur_img = jQuery(current_image_class).find('img');
1698
+ /* Create a grid to hold the gridlets.*/
1699
+ var grid = jQuery('<span style="display: block;" />').addClass('wdi_grid');
1700
+ /* Prepend the grid to the next slide (i.e. so it's above the slide image).*/
1701
+ jQuery(current_image_class).prepend(grid);
1702
+ /* Vars to calculate positioning/size of gridlets.*/
1703
+ var cont = jQuery(".wdi_slide_bg");
1704
+ var imgWidth = cur_img.width();
1705
+ var imgHeight = cur_img.height();
1706
+ var contWidth = cont.width(),
1707
+ contHeight = cont.height(),
1708
+ colWidth = Math.floor(contWidth / cols),
1709
+ rowHeight = Math.floor(contHeight / rows),
1710
+ colRemainder = contWidth - (cols * colWidth),
1711
+ colAdd = Math.ceil(colRemainder / cols),
1712
+ rowRemainder = contHeight - (rows * rowHeight),
1713
+ rowAdd = Math.ceil(rowRemainder / rows),
1714
+ leftDist = 0,
1715
+ img_leftDist = Math.ceil((jQuery(".wdi_slide_bg").width() - cur_img.width()) / 2);
1716
+ var imgSrc = typeof cur_img.attr('src')=='undefined' ? '' :cur_img.attr('src');
1717
+ /* tx/ty args can be passed as 'auto'/'min-auto' (meaning use slide width/height or negative slide width/height).*/
1718
+ tx = tx === 'auto' ? contWidth : tx;
1719
+ tx = tx === 'min-auto' ? - contWidth : tx;
1720
+ ty = ty === 'auto' ? contHeight : ty;
1721
+ ty = ty === 'min-auto' ? - contHeight : ty;
1722
+ /* Loop through cols.*/
1723
+ for (var i = 0; i < cols; i++) {
1724
+ var topDist = 0,
1725
+ img_topDst = Math.floor((jQuery(".wdi_slide_bg").height() - cur_img.height()) / 2),
1726
+ newColWidth = colWidth;
1727
+ /* If imgWidth (px) does not divide cleanly into the specified number of cols, adjust individual col widths to create correct total.*/
1728
+ if (colRemainder > 0) {
1729
+ var add = colRemainder >= colAdd ? colAdd : colRemainder;
1730
+ newColWidth += add;
1731
+ colRemainder -= add;
1732
+ }
1733
+ /* Nested loop to create row gridlets for each col.*/
1734
+ for (var j = 0; j < rows; j++) {
1735
+ var newRowHeight = rowHeight,
1736
+ newRowRemainder = rowRemainder;
1737
+ /* If contHeight (px) does not divide cleanly into the specified number of rows, adjust individual row heights to create correct total.*/
1738
+ if (newRowRemainder > 0) {
1739
+ add = newRowRemainder >= rowAdd ? rowAdd : rowRemainder;
1740
+ newRowHeight += add;
1741
+ newRowRemainder -= add;
1742
+ }
1743
+ /* Create & append gridlet to grid.*/
1744
+ grid.append(wdi_gridlet(newColWidth, newRowHeight, topDist, img_topDst, leftDist, img_leftDist, imgSrc, imgWidth, imgHeight, i, j));
1745
+ topDist += newRowHeight;
1746
+ img_topDst -= newRowHeight;
1747
+ }
1748
+ img_leftDist -= newColWidth;
1749
+ leftDist += newColWidth;
1750
+ }
1751
+ /* Set event listener on last gridlet to finish transitioning.*/
1752
+ var last_gridlet = grid.children().last();
1753
+ /* Show grid & hide the image it replaces.*/
1754
+ grid.show();
1755
+ cur_img.css('opacity', 0);
1756
+ /* Add identifying classes to corner gridlets (useful if applying border radius).*/
1757
+ grid.children().first().addClass('rs-top-left');
1758
+ grid.children().last().addClass('rs-bottom-right');
1759
+ grid.children().eq(rows - 1).addClass('rs-bottom-left');
1760
+ grid.children().eq(- rows).addClass('rs-top-right');
1761
+ /* Execution steps.*/
1762
+ setTimeout(function () {
1763
+ grid.children().css({
1764
+ opacity: op,
1765
+ transform: 'rotate('+ ro +'deg) translateX('+ tx +'px) translateY('+ ty +'px) scale('+ sc +')'
1766
+ });
1767
+ }, 1);
1768
+ jQuery(next_image_class).css('opacity', 1);
1769
+ /* After transition.*/
1770
+ jQuery(last_gridlet).one('webkitTransitionEnd transitionend otransitionend oTransitionEnd mstransitionend', jQuery.proxy(wdi_after_trans));
1771
+ function wdi_after_trans() {
1772
+ jQuery(current_image_class).css({'opacity' : 0, 'z-index': 1});
1773
+ jQuery(next_image_class).css({'opacity' : 1, 'z-index' : 2});
1774
+ cur_img.css('opacity', 1);
1775
+ grid.remove();
1776
+ wdi_trans_in_progress = false;
1777
+ jQuery(current_image_class).html('');
1778
+ if (typeof event_stack !== 'undefined') {
1779
+ if (event_stack.length > 0) {
1780
+ key = event_stack[0].split("-");
1781
+ event_stack.shift();
1782
+ wdi_change_image(key[0], key[1], wdi_data, true);
1783
+ }
1784
+ }
1785
+ wdi_change_watermark_container();
1786
+ }
1787
+ }
1788
+ function wdi_sliceH(current_image_class, next_image_class, direction) {
1789
+ if (direction == 'right') {
1790
+ var translateX = 'min-auto';
1791
+ }
1792
+ else if (direction == 'left') {
1793
+ var translateX = 'auto';
1794
+ }
1795
+ wdi_grid(1, 8, 0, translateX, 0, 1, 0, current_image_class, next_image_class, direction);
1796
+ }
1797
+ function wdi_sliceV(current_image_class, next_image_class, direction) {
1798
+ if (direction == 'right') {
1799
+ var translateY = 'min-auto';
1800
+ }
1801
+ else if (direction == 'left') {
1802
+ var translateY = 'auto';
1803
+ }
1804
+ wdi_grid(10, 1, 0, 0, translateY, 1, 0, current_image_class, next_image_class, direction);
1805
+ }
1806
+ function wdi_slideV(current_image_class, next_image_class, direction) {
1807
+ if (direction == 'right') {
1808
+ var translateY = 'auto';
1809
+ }
1810
+ else if (direction == 'left') {
1811
+ var translateY = 'min-auto';
1812
+ }
1813
+ wdi_grid(1, 1, 0, 0, translateY, 1, 1, current_image_class, next_image_class, direction);
1814
+ }
1815
+ function wdi_slideH(current_image_class, next_image_class, direction) {
1816
+ if (direction == 'right') {
1817
+ var translateX = 'min-auto';
1818
+ }
1819
+ else if (direction == 'left') {
1820
+ var translateX = 'auto';
1821
+ }
1822
+ wdi_grid(1, 1, 0, translateX, 0, 1, 1, current_image_class, next_image_class, direction);
1823
+ }
1824
+ function wdi_scaleOut(current_image_class, next_image_class, direction) {
1825
+ wdi_grid(1, 1, 0, 0, 0, 1.5, 0, current_image_class, next_image_class, direction);
1826
+ }
1827
+ function wdi_scaleIn(current_image_class, next_image_class, direction) {
1828
+ wdi_grid(1, 1, 0, 0, 0, 0.5, 0, current_image_class, next_image_class, direction);
1829
+ }
1830
+ function wdi_blockScale(current_image_class, next_image_class, direction) {
1831
+ wdi_grid(8, 6, 0, 0, 0, .6, 0, current_image_class, next_image_class, direction);
1832
+ }
1833
+ function wdi_kaleidoscope(current_image_class, next_image_class, direction) {
1834
+ wdi_grid(10, 8, 0, 0, 0, 1, 0, current_image_class, next_image_class, direction);
1835
+ }
1836
+ function wdi_fan(current_image_class, next_image_class, direction) {
1837
+ if (direction == 'right') {
1838
+ var rotate = 45;
1839
+ var translateX = 100;
1840
+ }
1841
+ else if (direction == 'left') {
1842
+ var rotate = -45;
1843
+ var translateX = -100;
1844
+ }
1845
+ wdi_grid(1, 10, rotate, translateX, 0, 1, 0, current_image_class, next_image_class, direction);
1846
+ }
1847
+ function wdi_blindV(current_image_class, next_image_class, direction) {
1848
+ wdi_grid(1, 8, 0, 0, 0, .7, 0, current_image_class, next_image_class);
1849
+ }
1850
+ function wdi_blindH(current_image_class, next_image_class, direction) {
1851
+ wdi_grid(10, 1, 0, 0, 0, .7, 0, current_image_class, next_image_class);
1852
+ }
1853
+ function wdi_random(current_image_class, next_image_class, direction) {
1854
+ var anims = ['sliceH', 'sliceV', 'slideH', 'slideV', 'scaleOut', 'scaleIn', 'blockScale', 'kaleidoscope', 'fan', 'blindH', 'blindV'];
1855
+ /* Pick a random transition from the anims array.*/
1856
+ this["wdi_" + anims[Math.floor(Math.random() * anims.length)]](current_image_class, next_image_class, direction);
1857
+ }
1858
+ function wdi_pause_stream(parent){
1859
+ jQuery(parent).find('video').each(function(){
1860
+ jQuery(this).get(0).pause();
1861
+ });
1862
+ }
1863
+ function wdi_change_image(current_key, key, wdi_data, from_effect) {
1864
+ wdi_pause_stream('#wdi_image_container');
1865
+ jQuery("#wdi_spider_popup_left").show();
1866
+ jQuery("#wdi_spider_popup_right").show();
1867
+ if (<?php echo $option_row->enable_loop; ?> == 0) {
1868
+ if (key == (parseInt(wdi_data.length) - 1)) {
1869
+ jQuery("#wdi_spider_popup_right").hide();
1870
+ }
1871
+ if (key == 0) {
1872
+ jQuery("#wdi_spider_popup_left").hide();
1873
+ }
1874
+ }
1875
+ /* Pause videos.*/
1876
+ jQuery("#wdi_image_container").find("iframe").each(function () {
1877
+ jQuery(this)[0].contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
1878
+ jQuery(this)[0].contentWindow.postMessage('{ "method": "pause" }', "*");
1879
+ jQuery(this)[0].contentWindow.postMessage('pause', '*');
1880
+ });
1881
+
1882
+ if (typeof wdi_data[key] != 'undefined') {
1883
+ if (typeof wdi_data[current_key] != 'undefined') {
1884
+ if (jQuery('.wdi_ctrl_btn').hasClass('fa-pause')) {
1885
+
1886
+ wdi_play();
1887
+ }
1888
+ if (!from_effect) {
1889
+ /* Change image key.*/
1890
+ jQuery("#wdi_current_image_key").val(key);
1891
+ /*if (current_key == '-1') {
1892
+ current_key = jQuery(".wdi_thumb_active").children("img").attr("image_key");
1893
+ }*/
1894
+ }
1895
+ if (wdi_trans_in_progress) {
1896
+ event_stack.push(current_key + '-' + key);
1897
+ return;
1898
+ }
1899
+ var direction = 'right';
1900
+ if (wdi_current_key > key) {
1901
+ var direction = 'left';
1902
+ }
1903
+ else if (wdi_current_key == key) {
1904
+ return;
1905
+ }
1906
+ /*jQuery("#wdi_spider_popup_left").hover().css({"display": "inline"});
1907
+ jQuery("#wdi_spider_popup_right").hover().css({"display": "inline"});*/
1908
+ jQuery(".wdi_image_count").html(wdi_data[key]["number"]);
1909
+ /* Set filmstrip initial position.*/
1910
+ jQuery(".wdi_watermark").css({display: 'none'});
1911
+ /* Set active thumbnail position.*/
1912
+ wdi_current_filmstrip_pos = key * (jQuery(".wdi_filmstrip_thumbnail").<?php echo $width_or_height; ?>() + 2 + 2 * <?php echo $theme_row->lightbox_filmstrip_thumb_border_width; ?>);
1913
+ wdi_current_key = key;
1914
+ /* Change hash.*/
1915
+ window.location.hash = "wdi<?php echo $gallery_id; ?>/" + wdi_data[key]["id"];
1916
+ /* Change image id for rating.*/
1917
+ <?php if ($popup_enable_rate) { ?>
1918
+ jQuery("#wdi_rate_form input[name='image_id']").val(wdi_data[key]["id"]);
1919
+ jQuery("#wdi_star").attr("data-score", wdi_data[key]["avg_rating"]);
1920
+ jQuery("#wdi_star").removeAttr("title");
1921
+ wdi_rating(wdi_data[key]["rate"], wdi_data[key]["rate_count"], wdi_data[key]["avg_rating"], key);
1922
+ <?php } ?>
1923
+ /* Increase image hit counter.*/
1924
+ wdi_spider_set_input_value('rate_ajax_task', 'save_hit_count');
1925
+ //wdi_spider_rate_ajax_save('wdi_rate_form');
1926
+ jQuery(".wdi_image_hits span").html(++wdi_data[key]["hit_count"]);
1927
+ /* Change image id.*/
1928
+ jQuery("#wdi_popup_image").attr('image_id', wdi_data[key]["id"]);
1929
+
1930
+
1931
+ //creating image title template
1932
+ var wdi_title_div = jQuery('<div class="wdi_title"></div>').on('click',function(){window.open('//instagram.com/'+wdi_data[key]['username'],'_blank');});
1933
+ wdi_title_div.append(jQuery('<div class="wdi_header_text">' +wdi_data[key]['username']+'</div>'));
1934
+ wdi_title_div.append(jQuery('<div class="wdi_users_img_wrap"><img src="' +wdi_data[key]['profile_picture']+'" alt=""></div>'));
1935
+
1936
+ //resetting title and description for custom scrollbar
1937
+ jQuery('.wdi_image_info_spun').html('<div class="wdi_image_info" >'+
1938
+ '<div class="wdi_image_title"></div>'+
1939
+ '<div class="wdi_image_description"></div>'+
1940
+ '</div>');
1941
+
1942
+ /* Change image title, description.*/
1943
+ jQuery(".wdi_image_title").html(jQuery('<span style="display: block;" />').append(wdi_title_div));
1944
+ jQuery(".wdi_image_description").html(jQuery('<span style="display: block;" />').html(wdi_data[key]["description"]).text());
1945
+ jQuery(".wdi_image_info").removeAttr("style");
1946
+ if (wdi_data[key]["alt"].trim() == "") {
1947
+ if (wdi_data[key]["description"].trim() == "") {
1948
+ jQuery(".wdi_image_info").css("background", "none");
1949
+ }
1950
+ }
1951
+ if (jQuery(".wdi_image_info_container1").css("display") != 'none') {
1952
+ jQuery(".wdi_image_info_container1").css("display", "table-cell");
1953
+ }
1954
+ else {
1955
+ jQuery(".wdi_image_info_container1").css("display", "none");
1956
+ }
1957
+ /* Change image rating.*/
1958
+ if (jQuery(".wdi_image_rate_container1").css("display") != 'none') {
1959
+ jQuery(".wdi_image_rate_container1").css("display", "table-cell");
1960
+ }
1961
+ else {
1962
+ jQuery(".wdi_image_rate_container1").css("display", "none");
1963
+ }
1964
+ var current_image_class = jQuery(".wdi_popup_image_spun").css("zIndex") == 2 ? ".wdi_popup_image_spun" : ".wdi_popup_image_second_spun";
1965
+ var next_image_class = current_image_class == ".wdi_popup_image_second_spun" ? ".wdi_popup_image_spun" : ".wdi_popup_image_second_spun";
1966
+
1967
+ var is_embed = wdi_data[key]['filetype'].indexOf("EMBED_") > -1 ? true : false;
1968
+ var is_embed_instagram_post = wdi_data[key]['filetype'].indexOf('INSTAGRAM_POST') > -1 ? true :false;
1969
+ var cur_height = jQuery(current_image_class).height();
1970
+ var cur_width = jQuery(current_image_class).width();
1971
+ var innhtml = '<span class="wdi_popup_image_spun1" style="display: table; width: inherit; height: inherit;"><span class="wdi_popup_image_spun2" style="display: table-cell; vertical-align: middle; text-align: center;">';
1972
+ if (!is_embed) {
1973
+ innhtml += '<img style="max-height: ' + cur_height + 'px; max-width: ' + cur_width + 'px;" class="wdi_popup_image wdi_popup_watermark" src="<?php echo site_url() . '/' . $WD_WDI_UPLOAD_DIR; ?>' + jQuery('<span style="display: block;" />').html(wdi_data[key]["image_url"]).text() + '" alt="' + wdi_data[key]["alt"] + '" />';
1974
+ }
1975
+ else { /*is_embed*/
1976
+
1977
+ innhtml += '<span style="display:table; table-layout:fixed; height: ' + cur_height + 'px; width: ' + cur_width + 'px;" class="wdi_popup_embed wdi_popup_watermark" >';
1978
+ if(is_embed_instagram_post){
1979
+ var post_width = 0;
1980
+ var post_height = 0;
1981
+ if(cur_height <cur_width +88 ){
1982
+ post_height = cur_height;
1983
+ post_width = post_height -88;
1984
+ }
1985
+ else{
1986
+ post_width = cur_width;
1987
+ post_height = post_width +88 ;
1988
+ }
1989
+ innhtml += wdi_spider_display_embed(wdi_data[key]['filetype'], wdi_data[key]['filename'], {class:"wdi_embed_frame", frameborder:"0", allowfullscreen:"allowfullscreen", style:"width:"+post_width+"px; height:"+post_height+"px; vertical-align:middle; display:inline-block; position:relative; top: "+0.5*(cur_height-post_height)+ "px; " });
1990
+ }
1991
+ else{
1992
+ innhtml += wdi_spider_display_embed(wdi_data[key]['filetype'], wdi_data[key]['filename'], {class:"wdi_embed_frame", frameborder:"0", allowfullscreen:"allowfullscreen", style:"width:inherit; height:inherit; vertical-align:middle; display:table-cell;" });
1993
+ }
1994
+ innhtml += "</span>";
1995
+ }
1996
+ innhtml += '</span></span>';
1997
+ jQuery(next_image_class).html(innhtml);
1998
+
1999
+ function wdi_afterload() {
2000
+
2001
+
2002
+ //setting max-heigth for custom scrollbar
2003
+ var wdi_desc_max_height = jQuery('.wdi_image_info_container1').height()-jQuery(".wdi_ctrl_btn_container").height()-parseInt(jQuery('.wdi_image_info').css('margin-bottom'))-parseInt(jQuery('.wdi_image_info').css('padding-bottom'));
2004
+ jQuery('.wdi_image_info').css('max-height',wdi_desc_max_height);
2005
+ jQuery('.wdi_image_info').mCustomScrollbar({scrollInertia: 250});
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+ <?php
2012
+ if (isset($option_row->preload_images)) {
2013
+ echo 'wdi_preload_images(key);';
2014
+ }
2015
+ ?>
2016
+ wdi_<?php echo $image_effect; ?>(current_image_class, next_image_class, direction);
2017
+ jQuery("#wdi_download").show();
2018
+ if (!is_embed) {
2019
+ jQuery("#wdi_fullsize_image").attr("href", "<?php echo site_url() . '/' . $WD_WDI_UPLOAD_DIR; ?>" + wdi_data[key]['image_url']);
2020
+ jQuery("#wdi_download").attr("href", "<?php echo site_url() . '/' . $WD_WDI_UPLOAD_DIR; ?>" + wdi_data[key]['image_url']);
2021
+ }
2022
+ else {
2023
+ jQuery("#wdi_fullsize_image").attr("href", wdi_data[key]['image_url']);
2024
+ if (wdi_data[key]['filetype'].indexOf("FLICKR_") > -1) {
2025
+ jQuery("#wdi_download").attr("href", wdi_data[key]['filename']);
2026
+ }
2027
+ else if (wdi_data[key]['filetype'].indexOf("INSTAGRAM_") > -1) {
2028
+ jQuery("#wdi_download").attr("href", wdi_data[key]['thumb_url'].substring(0, wdi_data[key]['thumb_url'].length - 1) + 'l');
2029
+ }
2030
+ else {
2031
+ jQuery("#wdi_download").hide();
2032
+ }
2033
+ }
2034
+ var image_arr = wdi_data[key]['image_url'].split("/");
2035
+ var wdi_image_url = wdi_data[key]['image_url'];
2036
+ var wdi_image_description = wdi_data[key]['description'];
2037
+ jQuery("#wdi_download").attr("download", image_arr[image_arr.length - 1]);
2038
+ /* Change image social networks urls.*/
2039
+ var wdi_share_url = encodeURIComponent("<?php echo add_query_arg(array('action' => 'Share', 'curr_url' => $current_url, 'image_id' => ''), admin_url('admin-ajax.php')); ?>") + "=" + wdi_data[key]['id'] + encodeURIComponent('#wdi<?php echo $gallery_id; ?>/') + wdi_data[key]['id'];
2040
+
2041
+ if (is_embed) {
2042
+ var wdi_share_image_url = encodeURIComponent(wdi_data[key]['thumb_url']);
2043
+ }
2044
+ else {
2045
+ var wdi_share_image_url = "<?php echo urlencode(site_url() . '/' . $WD_WDI_UPLOAD_DIR); ?>" + wdi_data[key]['image_url'];
2046
+ }
2047
+ if (typeof addthis_share != "undefined") {
2048
+ addthis_share.url = wdi_share_url;
2049
+ }
2050
+ jQuery("#wdi_facebook_a").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + wdi_share_url);
2051
+ jQuery("#wdi_twitter_a").attr("href", "https://twitter.com/share?url=" + wdi_share_url);
2052
+ jQuery("#wdi_google_a").attr("href", "https://plus.google.com/share?url=" + wdi_share_url);
2053
+ jQuery("#wdi_pinterest_a").attr("href", "http://pinterest.com/pin/create/button/?s=100&url=" + wdi_share_url + "&media=" + wdi_share_image_url + "&description=" + wdi_data[key]['description']);
2054
+ jQuery("#wdi_tumblr_a").attr("href", "https://www.tumblr.com/share/photo?source=" + wdi_share_image_url + "&caption=" + wdi_data[key]['alt'] + "&clickthru=" + wdi_share_url);
2055
+
2056
+
2057
+ //share popup urls
2058
+ jQuery("#wdi_popup_fb").attr('href',"https://www.facebook.com/sharer/sharer.php?u="+wdi_image_url);
2059
+ jQuery("#wdi_popup_tw").attr('href',"https://twitter.com/share?url=" + wdi_image_url);
2060
+ jQuery("#wdi_popup_gp").attr('href',"https://plus.google.com/share?url=" + wdi_image_url);
2061
+ jQuery('#wdi_popup_li').attr('href',"https://www.linkedin.com/shareArticle?mini=true&url="+wdi_image_url+"&title="+wdi_image_description);
2062
+ jQuery('#wdi_popup_pt').attr('href',"https://pinterest.com/pin/create/button/?url="+wdi_image_url+"&media="+wdi_image_url+"media/?size=l&description="+wdi_image_description);
2063
+ /* Load comments.*/
2064
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
2065
+ if (wdi_data[key]["comment_count"] == 0) {
2066
+ jQuery("#wdi_added_comments").html('<p class="wdi_no_comment"><?php _e('There are no comments to show','wdi');?></p>');
2067
+ }
2068
+ else {
2069
+ jQuery("#wdi_added_comments").show();
2070
+ wdi_spider_set_input_value('ajax_task', 'display');
2071
+ wdi_spider_set_input_value('image_id', jQuery('#wdi_popup_image').attr('image_id'));
2072
+ var cur_image_key = parseInt(jQuery("#wdi_current_image_key").val());
2073
+ wdi_spider_ajax_save('wdi_comment_form',cur_image_key);
2074
+ }
2075
+ }
2076
+ /* Update custom scroll.*/
2077
+ // if (typeof jQuery().mCustomScrollbar !== 'undefined') {
2078
+ // if (jQuery.isFunction(jQuery().mCustomScrollbar)) {
2079
+ // jQuery(".wdi_comments").mCustomScrollbar({
2080
+ // advanced:{
2081
+ // updateOnContentResize: true
2082
+ // }
2083
+ // });
2084
+ // }
2085
+ // }
2086
+ // jQuery(".mCSB_scrollTools").hide();
2087
+ <?php
2088
+ if ($enable_image_filmstrip) {
2089
+ ?>
2090
+ wdi_move_filmstrip();
2091
+ <?php
2092
+ }
2093
+ ?>
2094
+
2095
+ }
2096
+ if (!is_embed) {
2097
+ var cur_img = jQuery(next_image_class).find('img');
2098
+ cur_img.one('load', function() {
2099
+ wdi_afterload();
2100
+ }).each(function() {
2101
+ if(this.complete) jQuery(this).load();
2102
+ });
2103
+ }
2104
+ else {
2105
+ wdi_afterload();
2106
+ }
2107
+ }
2108
+ }
2109
+ }
2110
+ jQuery(document).on('keydown', function (e) {
2111
+ if (jQuery("#wdi_name").is(":focus") || jQuery("#wdi_email").is(":focus") || jQuery("#wdi_comment").is(":focus") || jQuery("#wdi_captcha_input").is(":focus")) {
2112
+ return;
2113
+ }
2114
+ if (e.keyCode === 39) { /* Right arrow.*/
2115
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), parseInt(jQuery('#wdi_current_image_key').val()) + 1, wdi_data)
2116
+ }
2117
+ else if (e.keyCode === 37) { /* Left arrow.*/
2118
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), parseInt(jQuery('#wdi_current_image_key').val()) - 1, wdi_data)
2119
+ }
2120
+ else if (e.keyCode === 27) { /* Esc.*/
2121
+ wdi_spider_destroypopup(1000);
2122
+ }
2123
+ else if (e.keyCode === 32) { /* Space.*/
2124
+ jQuery(".wdi_play_pause").trigger('click');
2125
+ }
2126
+ });
2127
+ function wdi_preload_images(key) {
2128
+ count = <?php echo (int) $option_row->preload_images_count / 2; ?>;
2129
+ var count_all = wdi_data.length;
2130
+ if (count_all < <?php echo $option_row->preload_images_count; ?>) {
2131
+ count = 0;
2132
+ }
2133
+ if (count != 0) {
2134
+ for (var i = key - count; i < key + count; i++) {
2135
+ var index = parseInt((i + count_all) % count_all);
2136
+ var is_embed = wdi_data[index]['filetype'].indexOf("EMBED_") > -1 ? true : false;
2137
+ if (typeof wdi_data[index] != "undefined") {
2138
+ if (!is_embed) {
2139
+ jQuery("<img/>").attr("src", '<?php echo site_url() . '/' . $WD_WDI_UPLOAD_DIR; ?>' + jQuery('<span style="display: block;" />').html(wdi_data[index]["image_url"]).text());
2140
+ }
2141
+ }
2142
+ }
2143
+ }
2144
+ else {
2145
+ for (var i = 0; i < wdi_data.length; i++) {
2146
+ var is_embed = wdi_data[i]['filetype'].indexOf("EMBED_") > -1 ? true : false;
2147
+ if (typeof wdi_data[index] != "undefined") {
2148
+ if (!is_embed) {
2149
+ jQuery("<img/>").attr("src", '<?php echo site_url() . '/' . $WD_WDI_UPLOAD_DIR; ?>' + jQuery('<span style="display: block;" />').html(wdi_data[i]["image_url"]).text());
2150
+ }
2151
+ }
2152
+ }
2153
+ }
2154
+ }
2155
+ function wdi_popup_resize() {
2156
+ if (typeof jQuery().fullscreen !== 'undefined') {
2157
+ if (jQuery.isFunction(jQuery().fullscreen)) {
2158
+ if (!jQuery.fullscreen.isFullScreen()) {
2159
+ jQuery(".wdi_resize-full").show();
2160
+ jQuery(".wdi_resize-full").attr("class", "wdi_ctrl_btn wdi_resize-full fa fa-resize-full");
2161
+ jQuery(".wdi_resize-full").attr("title", "<?php echo __('Maximize', "wdi"); ?>");
2162
+ jQuery(".wdi_fullscreen").attr("class", "wdi_ctrl_btn wdi_fullscreen fa fa-fullscreen");
2163
+ jQuery(".wdi_fullscreen").attr("title", "<?php echo __('Fullscreen', "wdi"); ?>");
2164
+ }
2165
+ }
2166
+ }
2167
+ var comment_container_width = 0;
2168
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
2169
+ comment_container_width = <?php echo $theme_row->lightbox_comment_width; ?>;
2170
+ }
2171
+ if (comment_container_width > jQuery(window).width()) {
2172
+ comment_container_width = jQuery(window).width();
2173
+ jQuery(".wdi_comment_container").css({
2174
+ width: comment_container_width
2175
+ });
2176
+ jQuery(".wdi_spider_popup_close_fullscreen").hide();
2177
+ }
2178
+ else {
2179
+ jQuery(".wdi_spider_popup_close_fullscreen").show();
2180
+ }
2181
+
2182
+ if (!(!(jQuery(window).height() > <?php echo $image_height; ?>) || !(<?php echo $open_with_fullscreen; ?> != 1))) {
2183
+ jQuery("#wdi_spider_popup_wrap").css({
2184
+ height: <?php echo $image_height; ?>,
2185
+ top: '50%',
2186
+ marginTop: -<?php echo $image_height / 2; ?>,
2187
+ zIndex: 100000
2188
+ });
2189
+
2190
+ jQuery(".wdi_image_container").css({height: (<?php echo $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>)});
2191
+
2192
+ jQuery(".wdi_popup_image").css({
2193
+ maxHeight: <?php echo $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2194
+ });
2195
+ jQuery(".wdi_popup_embed").css({
2196
+ height: <?php echo $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2197
+ });
2198
+ wdi_resize_instagram_post();
2199
+ <?php if ($filmstrip_direction == 'vertical') { ?>
2200
+ jQuery(".wdi_filmstrip_container").css({height: <?php echo $image_height; ?>});
2201
+ jQuery(".wdi_filmstrip").css({height: (<?php echo $image_height; ?> - 40)});
2202
+ <?php } ?>
2203
+ wdi_popup_current_height = <?php echo $image_height; ?>;
2204
+ }
2205
+ else {
2206
+ jQuery("#wdi_spider_popup_wrap").css({
2207
+ height: jQuery(window).height(),
2208
+ top: 0,
2209
+ marginTop: 0,
2210
+ zIndex: 100000
2211
+ });
2212
+ jQuery(".wdi_image_container").css({height: (jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>)});
2213
+
2214
+ jQuery(".wdi_popup_image").css({
2215
+ maxHeight: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2216
+ });
2217
+ jQuery(".wdi_popup_embed").css({
2218
+ height: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2219
+ });
2220
+ wdi_resize_instagram_post();
2221
+ <?php if ($filmstrip_direction == 'vertical') { ?>
2222
+ jQuery(".wdi_filmstrip_container").css({height: (jQuery(window).height())});
2223
+ jQuery(".wdi_filmstrip").css({height: (jQuery(window).height() - 40)});
2224
+ <?php } ?>
2225
+ wdi_popup_current_height = jQuery(window).height();
2226
+ }
2227
+ if (!(!(jQuery(window).width() >= <?php echo $image_width; ?>) || !(<?php echo $open_with_fullscreen; ?> != 1))) {
2228
+ jQuery("#wdi_spider_popup_wrap").css({
2229
+ width: <?php echo $image_width; ?>,
2230
+ left: '50%',
2231
+ marginLeft: -<?php echo $image_width / 2; ?>,
2232
+ zIndex: 100000
2233
+ });
2234
+ jQuery(".wdi_image_wrap").css({width: <?php echo $image_width; ?> - comment_container_width});
2235
+ jQuery(".wdi_image_container").css({width: (<?php echo $image_width - ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - comment_container_width)});
2236
+
2237
+ jQuery(".wdi_popup_image").css({
2238
+ maxWidth: <?php echo $image_width - ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - comment_container_width
2239
+ });
2240
+ jQuery(".wdi_popup_embed").css({
2241
+ width: <?php echo $image_width - ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - comment_container_width
2242
+ });
2243
+ wdi_resize_instagram_post();
2244
+ <?php if ($filmstrip_direction == 'horizontal') { ?>
2245
+ jQuery(".wdi_filmstrip_container").css({width: <?php echo $image_width; ?> - comment_container_width});
2246
+ jQuery(".wdi_filmstrip").css({width: (<?php echo $image_width; ?> - comment_container_width- 40)});
2247
+ <?php } ?>
2248
+ wdi_popup_current_width = <?php echo $image_width; ?>;
2249
+ }
2250
+ else {
2251
+ jQuery("#wdi_spider_popup_wrap").css({
2252
+ width: jQuery(window).width(),
2253
+ left: 0,
2254
+ marginLeft: 0,
2255
+ zIndex: 100000
2256
+ });
2257
+ jQuery(".wdi_image_wrap").css({width: (jQuery(window).width() - comment_container_width)});
2258
+ jQuery(".wdi_image_container").css({width: (jQuery(window).width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - comment_container_width)});
2259
+
2260
+ jQuery(".wdi_popup_image").css({
2261
+ maxWidth: jQuery(window).width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - comment_container_width
2262
+ });
2263
+ jQuery(".wdi_popup_embed").css({
2264
+ width: jQuery(window).width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - comment_container_width
2265
+ });
2266
+ wdi_resize_instagram_post();
2267
+ <?php if ($filmstrip_direction == 'horizontal') { ?>
2268
+ jQuery(".wdi_filmstrip_container").css({width: (jQuery(window).width() - comment_container_width)});
2269
+ jQuery(".wdi_filmstrip").css({width: (jQuery(window).width() - comment_container_width - 40)});
2270
+ <?php } ?>
2271
+ wdi_popup_current_width = jQuery(window).width();
2272
+ }
2273
+ /* Set watermark container size.*/
2274
+ wdi_change_watermark_container();
2275
+ if (!(!(jQuery(window).height() > <?php echo $image_height - 2 * $theme_row->lightbox_close_btn_top; ?>) || !(jQuery(window).width() >= <?php echo $image_width - 2 * $theme_row->lightbox_close_btn_right; ?>) || !(<?php echo $open_with_fullscreen; ?> != 1))) {
2276
+ jQuery(".wdi_spider_popup_close_fullscreen").attr("class", "wdi_spider_popup_close");
2277
+ }
2278
+ else {
2279
+ if (!(!(jQuery("#wdi_spider_popup_wrap").width() <= jQuery(window).width()) || !(jQuery("#wdi_spider_popup_wrap").height() <= jQuery(window).height()))) {
2280
+ jQuery(".wdi_spider_popup_close").attr("class", "wdi_ctrl_btn wdi_spider_popup_close_fullscreen");
2281
+ }
2282
+ }
2283
+ }
2284
+ jQuery(window).resize(function() {
2285
+ if (typeof jQuery().fullscreen !== 'undefined') {
2286
+ if (jQuery.isFunction(jQuery().fullscreen)) {
2287
+ if (!jQuery.fullscreen.isFullScreen()) {
2288
+ wdi_popup_resize();
2289
+ }
2290
+ }
2291
+ }
2292
+ });
2293
+ /* Popup current width/height.*/
2294
+ var wdi_popup_current_width = <?php echo $image_width; ?>;
2295
+ var wdi_popup_current_height = <?php echo $image_height; ?>;
2296
+ /* Open/close comments.*/
2297
+ function wdi_comment() {
2298
+
2299
+ jQuery(".wdi_watermark").css({display: 'none'});
2300
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
2301
+
2302
+ /* Close comment.*/
2303
+ var border_width = parseInt(jQuery(".wdi_comment_container").css('borderRightWidth'));
2304
+ if (!border_width) {
2305
+ border_width = 0;
2306
+ }
2307
+ jQuery(".wdi_comment_container").animate({<?php echo $theme_row->lightbox_comment_pos; ?>: -jQuery(".wdi_comment_container").width() - border_width}, 500);
2308
+ jQuery(".wdi_image_wrap").animate({
2309
+ <?php echo $theme_row->lightbox_comment_pos; ?>: 0,
2310
+ width: jQuery("#wdi_spider_popup_wrap").width()
2311
+ }, 500);
2312
+ jQuery(".wdi_image_container").animate({
2313
+ width: jQuery("#wdi_spider_popup_wrap").width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>}, 500);
2314
+ jQuery(".wdi_popup_image").animate({
2315
+ maxWidth: jQuery("#wdi_spider_popup_wrap").width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>
2316
+ }, {
2317
+ duration: 500,
2318
+ complete: function () { wdi_change_watermark_container(); }
2319
+ });
2320
+ jQuery(".wdi_popup_embed").animate({
2321
+ width: jQuery("#wdi_spider_popup_wrap").width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>
2322
+ }, {
2323
+ duration: 500,
2324
+ complete: function () {
2325
+ wdi_resize_instagram_post();
2326
+ wdi_change_watermark_container(); }
2327
+ });
2328
+ jQuery(".wdi_filmstrip_container").animate({<?php echo $width_or_height; ?>: jQuery(".wdi_spider_popup_wrap").<?php echo $width_or_height; ?>()}, 500);
2329
+ jQuery(".wdi_filmstrip").animate({<?php echo $width_or_height; ?>: jQuery(".wdi_spider_popup_wrap").<?php echo $width_or_height; ?>() - 40}, 500);
2330
+ /* Set filmstrip initial position.*/
2331
+ wdi_set_filmstrip_pos(jQuery(".wdi_spider_popup_wrap").width() - 40);
2332
+ jQuery(".wdi_comment_container").attr("class", "wdi_comment_container wdi_close");
2333
+ jQuery(".wdi_comment").attr("title", "<?php echo __('Show Comments', "wdi"); ?>");
2334
+ jQuery(".wdi_spider_popup_close_fullscreen").show();
2335
+ // console.log("has open:"+jQuery(".wdi_comment_container").hasClass("wdi_open"));
2336
+ // console.log("has clos:"+jQuery(".wdi_comment_container").hasClass("wdi_close"));
2337
+ }
2338
+ else {
2339
+
2340
+ /* Open comment.*/
2341
+ var comment_container_width = <?php echo $theme_row->lightbox_comment_width; ?>;
2342
+ if (comment_container_width > jQuery(window).width()) {
2343
+ comment_container_width = jQuery(window).width();
2344
+ jQuery(".wdi_comment_container").css({
2345
+ width: comment_container_width
2346
+ });
2347
+ jQuery(".wdi_spider_popup_close_fullscreen").hide();
2348
+ if (jQuery(".wdi_ctrl_btn").hasClass("fa-pause")) {
2349
+ var isMobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
2350
+ jQuery(".wdi_play_pause").trigger(isMobile ? 'touchend' : 'click');
2351
+ }
2352
+ }
2353
+ else {
2354
+ jQuery(".wdi_spider_popup_close_fullscreen").show();
2355
+ }
2356
+ jQuery(".wdi_comment_container").animate({<?php echo $theme_row->lightbox_comment_pos; ?>: 0}, 500);
2357
+ jQuery(".wdi_image_wrap").animate({
2358
+ <?php echo $theme_row->lightbox_comment_pos; ?>: jQuery(".wdi_comment_container").width(),
2359
+ width: jQuery("#wdi_spider_popup_wrap").width() - jQuery(".wdi_comment_container").width()}, 500);
2360
+ jQuery(".wdi_image_container").animate({
2361
+ width: jQuery("#wdi_spider_popup_wrap").width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?> - jQuery(".wdi_comment_container").width()}, 500);
2362
+ jQuery(".wdi_popup_image").animate({
2363
+ maxWidth: jQuery("#wdi_spider_popup_wrap").width() - jQuery(".wdi_comment_container").width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>
2364
+ }, {
2365
+ duration: 500,
2366
+ complete: function () { wdi_change_watermark_container(); }
2367
+ });
2368
+ jQuery(".wdi_popup_embed").animate({
2369
+ width: jQuery("#wdi_spider_popup_wrap").width() - jQuery(".wdi_comment_container").width() - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>
2370
+ }, {
2371
+ duration: 500,
2372
+ complete: function () {
2373
+ wdi_resize_instagram_post();
2374
+ wdi_change_watermark_container(); }
2375
+ });
2376
+ jQuery(".wdi_filmstrip_container").css({<?php echo $width_or_height; ?>: jQuery("#wdi_spider_popup_wrap").<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'vertical' ? 0: 'jQuery(".wdi_comment_container").width()'); ?>});
2377
+ jQuery(".wdi_filmstrip").animate({<?php echo $width_or_height; ?>: jQuery(".wdi_filmstrip_container").<?php echo $width_or_height; ?>() - 40}, 500);
2378
+ /* Set filmstrip initial position.*/
2379
+ wdi_set_filmstrip_pos(jQuery(".wdi_filmstrip_container").<?php echo $width_or_height; ?>() - 40);
2380
+ jQuery(".wdi_comment_container").attr("class", "wdi_comment_container wdi_open");
2381
+ jQuery(".wdi_comment").attr("title", "<?php echo __('Hide Comments', "wdi"); ?>");
2382
+ /* Load comments.*/
2383
+
2384
+ var cur_image_key = parseInt(jQuery("#wdi_current_image_key").val());
2385
+ if (wdi_data[cur_image_key]["comment_count"] != 0) {
2386
+ jQuery("#wdi_added_comments").show();/*deprecated*/
2387
+ wdi_spider_set_input_value('ajax_task', 'display');/*deprecated*/
2388
+ wdi_spider_set_input_value('image_id', jQuery('#wdi_popup_image').attr('image_id'));/*deprecated*/
2389
+ wdi_spider_ajax_save('wdi_comment_form',cur_image_key);/*deprecated*/
2390
+ }else{
2391
+ jQuery("#wdi_added_comments").html('<p class="wdi_no_comment"><?php _e('There are no comments to show','wdi');?></p>');
2392
+ }
2393
+ // console.log("has open:"+jQuery(".wdi_comment_container").hasClass("wdi_open"));
2394
+ // console.log("has clos:"+jQuery(".wdi_comment_container").hasClass("wdi_close"));
2395
+ }
2396
+ }
2397
+ function wdi_reset_zoom() {
2398
+ var isMobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
2399
+ var viewportmeta = document.querySelector('meta[name="viewport"]');
2400
+ if (isMobile) {
2401
+ if (viewportmeta) {
2402
+ viewportmeta.content = 'width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0';
2403
+ }
2404
+ }
2405
+ }
2406
+ jQuery(document).ready(function () {
2407
+
2408
+
2409
+ <?php
2410
+ if ($option_row->enable_addthis && $option_row->addthis_profile_id) {
2411
+ ?>
2412
+ jQuery(".at4-share-outer").show();
2413
+ <?php
2414
+ }
2415
+ ?>
2416
+ /* Increase image hit counter.*/
2417
+ // wdi_spider_set_input_value('rate_ajax_task', 'save_hit_count');
2418
+ // wdi_spider_rate_ajax_save('wdi_rate_form');
2419
+ // jQuery(".wdi_image_hits span").html(++wdi_data["<?php echo $current_image_key; ?>"]["hit_count"]);
2420
+ // var wdi_hash = window.location.hash;
2421
+ // if (!wdi_hash || wdi_hash.indexOf("wdi") == "-1") {
2422
+ // window.location.hash = "wdi<?php echo $gallery_id; ?>/<?php echo $current_image_id; ?>";
2423
+ // }
2424
+ <?php
2425
+ if ($image_right_click) {
2426
+ ?>
2427
+ /* Disable right click.*/
2428
+ jQuery(".wdi_image_wrap").bind("contextmenu", function (e) {
2429
+ return false;
2430
+ });
2431
+ <?php
2432
+ }
2433
+ ?>
2434
+ if (typeof jQuery().swiperight !== 'undefined') {
2435
+ if (jQuery.isFunction(jQuery().swiperight)) {
2436
+ jQuery('#wdi_spider_popup_wrap').swiperight(function () {
2437
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), parseInt(jQuery('#wdi_current_image_key').val()) - 1, wdi_data)
2438
+ return false;
2439
+ });
2440
+ }
2441
+ }
2442
+ if (typeof jQuery().swipeleft !== 'undefined') {
2443
+ if (jQuery.isFunction(jQuery().swipeleft)) {
2444
+ jQuery('#wdi_spider_popup_wrap').swipeleft(function () {
2445
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), parseInt(jQuery('#wdi_current_image_key').val()) + 1, wdi_data);
2446
+ return false;
2447
+ });
2448
+ }
2449
+ }
2450
+
2451
+ wdi_reset_zoom();
2452
+ var isMobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
2453
+ var wdi_click = isMobile ? 'touchend' : 'click';
2454
+ jQuery("#wdi_spider_popup_left").on(wdi_click, function () {
2455
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), (parseInt(jQuery('#wdi_current_image_key').val()) + wdi_data.length - 1) % wdi_data.length, wdi_data);
2456
+ return false;
2457
+ });
2458
+ jQuery("#wdi_spider_popup_right").on(wdi_click, function () {
2459
+
2460
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), (parseInt(jQuery('#wdi_current_image_key').val()) + 1) % wdi_data.length, wdi_data);
2461
+ return false;
2462
+ });
2463
+ if (navigator.appVersion.indexOf("MSIE 10") != -1 || navigator.appVersion.indexOf("MSIE 9") != -1) {
2464
+ setTimeout(function () {
2465
+ wdi_popup_resize();
2466
+
2467
+ }, 1);
2468
+ }
2469
+ else {
2470
+ wdi_popup_resize();
2471
+ }
2472
+ jQuery(".wdi_watermark").css({display: 'none'});
2473
+ setTimeout(function () {
2474
+ wdi_change_watermark_container();
2475
+ }, 500);
2476
+ /* If browser doesn't support Fullscreen API.*/
2477
+ if (typeof jQuery().fullscreen !== 'undefined') {
2478
+ if (jQuery.isFunction(jQuery().fullscreen)) {
2479
+ if (!jQuery.fullscreen.isNativelySupported()) {
2480
+ jQuery(".wdi_fullscreen").hide();
2481
+ }
2482
+ }
2483
+ }
2484
+ /* Set image container height.*/
2485
+ <?php if ($filmstrip_direction == 'horizontal') { ?>
2486
+ jQuery(".wdi_image_container").height(jQuery(".wdi_image_wrap").height() - <?php echo $image_filmstrip_height; ?>);
2487
+ jQuery(".wdi_image_container").width(jQuery(".wdi_image_wrap").width());
2488
+
2489
+
2490
+ <?php }
2491
+ else {
2492
+ ?>
2493
+ jQuery(".wdi_image_container").height(jQuery(".wdi_image_wrap").height());
2494
+ jQuery(".wdi_image_container").width(jQuery(".wdi_image_wrap").width() - <?php echo $image_filmstrip_width; ?>);
2495
+
2496
+ <?php
2497
+ } ?>
2498
+ /* Change default scrollbar in comments.*/
2499
+ // if (typeof jQuery().mCustomScrollbar !== 'undefined') {
2500
+ // if (jQuery.isFunction(jQuery().mCustomScrollbar)) {
2501
+ // jQuery(".wdi_comments").mCustomScrollbar({scrollInertia: 150});
2502
+ // }
2503
+ // }
2504
+
2505
+
2506
+ var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" /*FF doesn't recognize mousewheel as of FF3.x*/
2507
+ jQuery('.wdi_filmstrip').on(mousewheelevt, function(e) {
2508
+ var evt = window.event || e; /* Equalize event object.*/
2509
+ evt = evt.originalEvent ? evt.originalEvent : evt; /* Convert to originalEvent if possible.*/
2510
+ var delta = evt.detail ? evt.detail*(-40) : evt.wheelDelta; /* Check for detail first, because it is used by Opera and FF.*/
2511
+ var isMobile = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
2512
+ if (delta > 0) {
2513
+ /* Scroll up.*/
2514
+ jQuery(".wdi_filmstrip_left").trigger(isMobile ? 'touchend' : 'click');
2515
+ }
2516
+ else {
2517
+ /* Scroll down.*/
2518
+ jQuery(".wdi_filmstrip_right").trigger(isMobile ? 'touchend' : 'click');
2519
+ }
2520
+ });
2521
+
2522
+
2523
+ jQuery(".wdi_filmstrip_right").on(wdi_click, function () {
2524
+ jQuery( ".wdi_filmstrip_thumbnails" ).stop(true, false);
2525
+ if (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> >= -(jQuery(".wdi_filmstrip_thumbnails").<?php echo $width_or_height; ?>() - jQuery(".wdi_filmstrip").<?php echo $width_or_height; ?>())) {
2526
+ jQuery(".wdi_filmstrip_left").css({opacity: 1, filter: "Alpha(opacity=100)"});
2527
+ if (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> < -(jQuery(".wdi_filmstrip_thumbnails").<?php echo $width_or_height; ?>() - jQuery(".wdi_filmstrip").<?php echo $width_or_height; ?>() - <?php echo $filmstrip_thumb_margin_hor + $image_filmstrip_width; ?>)) {
2528
+ jQuery(".wdi_filmstrip_thumbnails").animate({<?php echo $left_or_top; ?>: -(jQuery(".wdi_filmstrip_thumbnails").<?php echo $width_or_height; ?>() - jQuery(".wdi_filmstrip").<?php echo $width_or_height; ?>())}, 500, 'linear');
2529
+ }
2530
+ else {
2531
+ jQuery(".wdi_filmstrip_thumbnails").animate({<?php echo $left_or_top; ?>: (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> - <?php echo $filmstrip_thumb_margin_hor + $image_filmstrip_width; ?>)}, 500, 'linear');
2532
+ }
2533
+ }
2534
+ /* Disable right arrow.*/
2535
+ window.setTimeout(function(){
2536
+ if (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> == -(jQuery(".wdi_filmstrip_thumbnails").<?php echo $width_or_height; ?>() - jQuery(".wdi_filmstrip").<?php echo $width_or_height; ?>())) {
2537
+ jQuery(".wdi_filmstrip_right").css({opacity: 0.3, filter: "Alpha(opacity=30)"});
2538
+ }
2539
+ }, 500);
2540
+ });
2541
+
2542
+ jQuery(".wdi_filmstrip_left").on(wdi_click, function () {
2543
+ jQuery( ".wdi_filmstrip_thumbnails" ).stop(true, false);
2544
+ if (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> < 0) {
2545
+ jQuery(".wdi_filmstrip_right").css({opacity: 1, filter: "Alpha(opacity=100)"});
2546
+ if (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> > - <?php echo $filmstrip_thumb_margin_hor + $image_filmstrip_width; ?>) {
2547
+ jQuery(".wdi_filmstrip_thumbnails").animate({<?php echo $left_or_top; ?>: 0}, 500, 'linear');
2548
+ }
2549
+ else {
2550
+ jQuery(".wdi_filmstrip_thumbnails").animate({<?php echo $left_or_top; ?>: (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> + <?php echo $image_filmstrip_width + $filmstrip_thumb_margin_hor; ?>)}, 500, 'linear');
2551
+ }
2552
+ }
2553
+ /* Disable left arrow.*/
2554
+ window.setTimeout(function(){
2555
+ if (jQuery(".wdi_filmstrip_thumbnails").position().<?php echo $left_or_top; ?> == 0) {
2556
+ jQuery(".wdi_filmstrip_left").css({opacity: 0.3, filter: "Alpha(opacity=30)"});
2557
+ }
2558
+ }, 500);
2559
+ });
2560
+
2561
+ /* Set filmstrip initial position.*/
2562
+ wdi_set_filmstrip_pos(jQuery(".wdi_filmstrip").<?php echo $width_or_height; ?>());
2563
+ /* Show/hide image title/description.*/
2564
+ jQuery(".wdi_info").on(wdi_click, function() {
2565
+ if (jQuery(".wdi_image_info_container1").css("display") == 'none') {
2566
+ jQuery(".wdi_image_info_container1").css("display", "table-cell");
2567
+ jQuery(".wdi_info").attr("title", "<?php echo __('Hide info', "wdi"); ?>");
2568
+
2569
+
2570
+
2571
+ if(!jQuery('.wdi_image_info').hasClass('mCustomScrollbar')){
2572
+ var wdi_desc_max_height = <?php echo $image_height - ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?> -jQuery(".wdi_ctrl_btn_container").height()-parseInt(jQuery('.wdi_image_info').css('margin-bottom'))-parseInt(jQuery('.wdi_image_info').css('padding-bottom'));
2573
+ jQuery('.wdi_image_info').css('max-height',wdi_desc_max_height+"px");
2574
+ jQuery('.wdi_image_info').mCustomScrollbar({scrollInertia: 250});
2575
+ }
2576
+
2577
+
2578
+ }
2579
+ else {
2580
+ jQuery(".wdi_image_info_container1").css("display", "none");
2581
+ jQuery(".wdi_info").attr("title", "<?php echo __('Show info', "wdi"); ?>");
2582
+ }
2583
+
2584
+
2585
+ });
2586
+ /* Show/hide image rating.*/
2587
+ jQuery(".wdi_rate").on(wdi_click, function() {
2588
+ if (jQuery(".wdi_image_rate_container1").css("display") == 'none') {
2589
+ jQuery(".wdi_image_rate_container1").css("display", "table-cell");
2590
+ jQuery(".wdi_rate").attr("title", "<?php echo __('Hide rating', "wdi"); ?>");
2591
+ }
2592
+ else {
2593
+ jQuery(".wdi_image_rate_container1").css("display", "none");
2594
+ jQuery(".wdi_rate").attr("title", "<?php echo __('Show rating', "wdi"); ?>");
2595
+ }
2596
+ });
2597
+ /* Open/close comments.*/
2598
+
2599
+ jQuery(".wdi_comment, .wdi_comments_close_btn").on(wdi_click, function() { wdi_comment()});
2600
+ /* Open/close control buttons.*/
2601
+ jQuery(".wdi_toggle_container").on(wdi_click, function () {
2602
+
2603
+ var wdi_open_toggle_btn_class = "<?php echo ($theme_row->lightbox_ctrl_btn_pos == 'top') ? 'fa-angle-up' : 'fa-angle-down'; ?>";
2604
+ var wdi_close_toggle_btn_class = "<?php echo ($theme_row->lightbox_ctrl_btn_pos == 'top') ? 'fa-angle-down' : 'fa-angle-up'; ?>";
2605
+ if (jQuery(".wdi_toggle_container i").hasClass(wdi_open_toggle_btn_class)) {
2606
+ /* Close controll buttons.*/
2607
+ <?php
2608
+ if ((!$enable_image_filmstrip || $theme_row->lightbox_filmstrip_pos != 'bottom') && $theme_row->lightbox_ctrl_btn_pos == 'bottom' && $theme_row->lightbox_info_pos == 'bottom') {
2609
+ ?>
2610
+ jQuery(".wdi_image_info").animate({bottom: 0}, 500);
2611
+ <?php
2612
+ }
2613
+ elseif ((!$enable_image_filmstrip || $theme_row->lightbox_filmstrip_pos != 'top') && $theme_row->lightbox_ctrl_btn_pos == 'top' && $theme_row->lightbox_info_pos == 'top') {
2614
+ ?>
2615
+ jQuery(".wdi_image_info").animate({top: 0}, 500);
2616
+ <?php
2617
+ }
2618
+
2619
+ ?>
2620
+ jQuery(".wdi_ctrl_btn_container").animate({<?php echo $theme_row->lightbox_ctrl_btn_pos; ?>: '-' + jQuery(".wdi_ctrl_btn_container").height()}, 500);
2621
+ jQuery(".wdi_toggle_container").animate({
2622
+ <?php echo $theme_row->lightbox_ctrl_btn_pos; ?>: 0
2623
+ }, {
2624
+ duration: 500,
2625
+ complete: function () { jQuery(".wdi_toggle_container i").attr("class", "wdi_toggle_btn fa " + wdi_close_toggle_btn_class) }
2626
+ });
2627
+ }
2628
+ else {
2629
+ /* Open controll buttons.*/
2630
+ <?php
2631
+ if ((!$enable_image_filmstrip || $theme_row->lightbox_filmstrip_pos != 'bottom') && $theme_row->lightbox_ctrl_btn_pos == 'bottom' && $theme_row->lightbox_info_pos == 'bottom') {
2632
+ ?>
2633
+ jQuery(".wdi_image_info").animate({bottom: jQuery(".wdi_ctrl_btn_container").height()}, 500);
2634
+ <?php
2635
+ }
2636
+ elseif ((!$enable_image_filmstrip || $theme_row->lightbox_filmstrip_pos != 'top') && $theme_row->lightbox_ctrl_btn_pos == 'top' && $theme_row->lightbox_info_pos == 'top') {
2637
+ ?>
2638
+ jQuery(".wdi_image_info").animate({top: jQuery(".wdi_ctrl_btn_container").height()}, 500);
2639
+ <?php
2640
+ }
2641
+
2642
+ ?>
2643
+ jQuery(".wdi_ctrl_btn_container").animate({<?php echo $theme_row->lightbox_ctrl_btn_pos; ?>: 0}, 500);
2644
+ jQuery(".wdi_toggle_container").animate({
2645
+ <?php echo $theme_row->lightbox_ctrl_btn_pos; ?>: jQuery(".wdi_ctrl_btn_container").height()
2646
+ }, {
2647
+ duration: 500,
2648
+ complete: function () { jQuery(".wdi_toggle_container i").attr("class", "wdi_toggle_btn fa " + wdi_open_toggle_btn_class) }
2649
+ });
2650
+ }
2651
+
2652
+
2653
+ //close share buttons popup if open
2654
+ jQuery('.wdi_share_btns').removeClass('wdi_share_toggler');
2655
+ jQuery('.wdi_share_caret').removeClass('wdi_share_toggler');
2656
+ });
2657
+ /* Maximize/minimize.*/
2658
+ jQuery(".wdi_resize-full").on(wdi_click, function () {
2659
+ jQuery(".wdi_watermark").css({display: 'none'});
2660
+ var comment_container_width = 0;
2661
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
2662
+ comment_container_width = jQuery(".wdi_comment_container").width();
2663
+ }
2664
+ if (jQuery(".wdi_resize-full").hasClass("fa-resize-small")) {
2665
+ if (jQuery(window).width() > <?php echo $image_width; ?>) {
2666
+ wdi_popup_current_width = <?php echo $image_width; ?>;
2667
+ }
2668
+ if (jQuery(window).height() > <?php echo $image_height; ?>) {
2669
+ wdi_popup_current_height = <?php echo $image_height; ?>;
2670
+ }
2671
+ /* Minimize.*/
2672
+ jQuery("#wdi_spider_popup_wrap").animate({
2673
+ width: wdi_popup_current_width,
2674
+ height: wdi_popup_current_height,
2675
+ left: '50%',
2676
+ top: '50%',
2677
+ marginLeft: -wdi_popup_current_width / 2,
2678
+ marginTop: -wdi_popup_current_height / 2,
2679
+ zIndex: 100000
2680
+ }, 500);
2681
+ jQuery(".wdi_image_wrap").animate({width: wdi_popup_current_width - comment_container_width}, 500);
2682
+ jQuery(".wdi_image_container").animate({height: wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>, width: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>}, 500);
2683
+ jQuery(".wdi_popup_image").animate({
2684
+ maxWidth: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2685
+ maxHeight: wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2686
+ }, {
2687
+ duration: 500,
2688
+ complete: function () {
2689
+ wdi_change_watermark_container();
2690
+ if ((jQuery("#wdi_spider_popup_wrap").width() < jQuery(window).width())) {
2691
+ if (jQuery("#wdi_spider_popup_wrap").height() < jQuery(window).height()) {
2692
+ jQuery(".wdi_spider_popup_close_fullscreen").attr("class", "wdi_spider_popup_close");
2693
+ }
2694
+ }
2695
+ }
2696
+ });
2697
+ jQuery(".wdi_popup_embed").animate({
2698
+ width: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2699
+ height: wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2700
+ }, {
2701
+ duration: 500,
2702
+ complete: function () {
2703
+ wdi_resize_instagram_post();
2704
+ wdi_change_watermark_container();
2705
+ if (jQuery("#wdi_spider_popup_wrap").width() < jQuery(window).width()) {
2706
+ if (jQuery("#wdi_spider_popup_wrap").height() < jQuery(window).height()) {
2707
+ jQuery(".wdi_spider_popup_close_fullscreen").attr("class", "wdi_spider_popup_close");
2708
+ }
2709
+ }
2710
+ }
2711
+ });
2712
+ jQuery(".wdi_filmstrip_container").animate({<?php echo $width_or_height; ?>: wdi_popup_current_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?>}, 500);
2713
+ jQuery(".wdi_filmstrip").animate({<?php echo $width_or_height; ?>: wdi_popup_current_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40}, 500);
2714
+ /* Set filmstrip initial position.*/
2715
+ wdi_set_filmstrip_pos(wdi_popup_current_<?php echo $width_or_height; ?> - 40);
2716
+ jQuery(".wdi_resize-full").attr("class", "wdi_ctrl_btn wdi_resize-full fa fa-resize-full");
2717
+ jQuery(".wdi_resize-full").attr("title", "<?php echo __('Maximize', "wdi"); ?>");
2718
+ }
2719
+ else {
2720
+ wdi_popup_current_width = jQuery(window).width();
2721
+ wdi_popup_current_height = jQuery(window).height();
2722
+ /* Maximize.*/
2723
+ jQuery("#wdi_spider_popup_wrap").animate({
2724
+ width: jQuery(window).width(),
2725
+ height: jQuery(window).height(),
2726
+ left: 0,
2727
+ top: 0,
2728
+ margin: 0,
2729
+ zIndex: 100000
2730
+ }, 500);
2731
+ jQuery(".wdi_image_wrap").animate({width: (jQuery(window).width() - comment_container_width)}, 500);
2732
+ jQuery(".wdi_image_container").animate({height: (wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>), width: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>}, 500);
2733
+ jQuery(".wdi_popup_image").animate({
2734
+ maxWidth: jQuery(window).width() - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2735
+ maxHeight: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2736
+ }, {
2737
+ duration: 500,
2738
+ complete: function () { wdi_change_watermark_container(); }
2739
+ });
2740
+ jQuery(".wdi_popup_embed").animate({
2741
+ width: jQuery(window).width() - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2742
+ height: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2743
+ }, {
2744
+ duration: 500,
2745
+ complete: function () {
2746
+ wdi_resize_instagram_post();
2747
+ wdi_change_watermark_container(); }
2748
+ });
2749
+ jQuery(".wdi_filmstrip_container").animate({<?php echo $width_or_height; ?>: jQuery(window).<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?>}, 500);
2750
+ jQuery(".wdi_filmstrip").animate({<?php echo $width_or_height; ?>: jQuery(window).<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40}, 500);
2751
+ /* Set filmstrip initial position.*/
2752
+ wdi_set_filmstrip_pos(jQuery(window).<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40);
2753
+ jQuery(".wdi_resize-full").attr("class", "wdi_ctrl_btn wdi_resize-full fa fa-resize-small");
2754
+ jQuery(".wdi_resize-full").attr("title", "<?php echo __('Restore', "wdi"); ?>");
2755
+ jQuery(".wdi_spider_popup_close").attr("class", "wdi_ctrl_btn wdi_spider_popup_close_fullscreen");
2756
+ }
2757
+ });
2758
+ /* Fullscreen.*/
2759
+ /*Toggle with mouse click*/
2760
+ jQuery(".wdi_fullscreen").on(wdi_click, function () {
2761
+ jQuery(".wdi_watermark").css({display: 'none'});
2762
+ var comment_container_width = 0;
2763
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
2764
+ comment_container_width = jQuery(".wdi_comment_container").width();
2765
+ }
2766
+ function wdi_exit_fullscreen() {
2767
+ if (jQuery(window).width() > <?php echo $image_width; ?>) {
2768
+ wdi_popup_current_width = <?php echo $image_width; ?>;
2769
+ }
2770
+ if (jQuery(window).height() > <?php echo $image_height; ?>) {
2771
+ wdi_popup_current_height = <?php echo $image_height; ?>;
2772
+ }
2773
+ <?php
2774
+ /* "Full width lightbox" sets yes.*/
2775
+ if ($open_with_fullscreen) {
2776
+ ?>
2777
+ wdi_popup_current_width = jQuery(window).width();
2778
+ wdi_popup_current_height = jQuery(window).height();
2779
+ <?php
2780
+ }
2781
+ ?>
2782
+ jQuery("#wdi_spider_popup_wrap").on("fscreenclose", function() {
2783
+ jQuery("#wdi_spider_popup_wrap").css({
2784
+ width: wdi_popup_current_width,
2785
+ height: wdi_popup_current_height,
2786
+ left: '50%',
2787
+ top: '50%',
2788
+ marginLeft: -wdi_popup_current_width / 2,
2789
+ marginTop: -wdi_popup_current_height / 2,
2790
+ zIndex: 100000
2791
+ });
2792
+ jQuery(".wdi_image_wrap").css({width: wdi_popup_current_width - comment_container_width});
2793
+ jQuery(".wdi_image_container").css({height: wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>, width: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>});
2794
+
2795
+ /*jQuery(".wdi_slide_bg").css({height: wdi_popup_current_height - <?php echo $image_filmstrip_height; ?>});
2796
+ jQuery(".wdi_popup_image_spun1").css({height: wdi_popup_current_height - <?php echo $image_filmstrip_height; ?>});*/
2797
+ jQuery(".wdi_popup_image").css({
2798
+ maxWidth: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2799
+ maxHeight: wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2800
+ });
2801
+ jQuery(".wdi_popup_embed").css({
2802
+ width: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2803
+ height: wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2804
+ });
2805
+ wdi_resize_instagram_post();
2806
+ /* Set watermark container size.*/
2807
+ wdi_change_watermark_container();
2808
+ jQuery(".wdi_filmstrip_container").css({<?php echo $width_or_height; ?>: wdi_popup_current_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?>});
2809
+ jQuery(".wdi_filmstrip").css({<?php echo $width_or_height; ?>: wdi_popup_current_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?>- 40});
2810
+ /* Set filmstrip initial position.*/
2811
+ wdi_set_filmstrip_pos(wdi_popup_current_<?php echo $width_or_height; ?> - 40);
2812
+ jQuery(".wdi_resize-full").show();
2813
+ jQuery(".wdi_resize-full").attr("class", "wdi_ctrl_btn wdi_resize-full fa fa-resize-full");
2814
+ jQuery(".wdi_resize-full").attr("title", "<?php echo __('Maximize', "wdi"); ?>");
2815
+ jQuery(".wdi_fullscreen").attr("class", "wdi_ctrl_btn wdi_fullscreen fa fa-fullscreen");
2816
+ jQuery(".wdi_fullscreen").attr("title", "<?php echo __('Fullscreen', "wdi"); ?>");
2817
+ if (jQuery("#wdi_spider_popup_wrap").width() < jQuery(window).width()) {
2818
+ if (jQuery("#wdi_spider_popup_wrap").height() < jQuery(window).height()) {
2819
+ jQuery(".wdi_spider_popup_close_fullscreen").attr("class", "wdi_spider_popup_close");
2820
+ }
2821
+ }
2822
+ });
2823
+ }
2824
+ if (typeof jQuery().fullscreen !== 'undefined') {
2825
+ if (jQuery.isFunction(jQuery().fullscreen)) {
2826
+ if (jQuery.fullscreen.isFullScreen()) {
2827
+ /* Exit Fullscreen.*/
2828
+ jQuery.fullscreen.exit();
2829
+ wdi_exit_fullscreen();
2830
+ }
2831
+ else {
2832
+ /* Fullscreen.*/
2833
+ jQuery("#wdi_spider_popup_wrap").fullscreen();
2834
+ /*jQuery("#wdi_spider_popup_wrap").on("fscreenopen", function() {
2835
+ if (jQuery.fullscreen.isFullScreen()) {*/
2836
+ var screen_width = screen.width;
2837
+ var screen_height = screen.height;
2838
+ jQuery("#wdi_spider_popup_wrap").css({
2839
+ width: screen_width,
2840
+ height: screen_height,
2841
+ left: 0,
2842
+ top: 0,
2843
+ margin: 0,
2844
+ zIndex: 100000
2845
+ });
2846
+ jQuery(".wdi_image_wrap").css({width: screen_width - comment_container_width});
2847
+ jQuery(".wdi_image_container").css({height: (screen_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>), width: screen_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>});
2848
+ /* jQuery(".wdi_slide_bg").css({height: screen_height - <?php echo $image_filmstrip_height; ?>});*/
2849
+ jQuery(".wdi_popup_image").css({
2850
+ maxWidth: (screen_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>),
2851
+ maxHeight: (screen_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>)
2852
+ });
2853
+
2854
+ jQuery(".wdi_popup_embed").css({
2855
+ width: (screen_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>),
2856
+ height: (screen_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>)
2857
+ });
2858
+
2859
+ wdi_resize_instagram_post();
2860
+
2861
+ /* Set watermark container size.*/
2862
+ wdi_change_watermark_container();
2863
+ jQuery(".wdi_filmstrip_container").css({<?php echo $width_or_height; ?>: (screen_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?>)});
2864
+ jQuery(".wdi_filmstrip").css({<?php echo $width_or_height; ?>: (screen_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40)});
2865
+ /* Set filmstrip initial position.*/
2866
+ wdi_set_filmstrip_pos(screen_<?php echo $width_or_height; ?> - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40);
2867
+ jQuery(".wdi_resize-full").hide();
2868
+ jQuery(".wdi_fullscreen").attr("class", "wdi_ctrl_btn wdi_fullscreen fa fa-resize-small");
2869
+ jQuery(".wdi_fullscreen").attr("title", "<?php echo __('Exit Fullscreen', "wdi"); ?>");
2870
+ jQuery(".wdi_spider_popup_close").attr("class", "wdi_ctrl_btn wdi_spider_popup_close_fullscreen");
2871
+ /*});
2872
+ }*/
2873
+ }
2874
+ }
2875
+ }
2876
+ return false;
2877
+ });
2878
+ /* Play/pause.*/
2879
+ jQuery(".wdi_play_pause, .wdi_popup_image").on(wdi_click, function () {
2880
+ if (jQuery(".wdi_ctrl_btn").hasClass("fa-play")) {
2881
+
2882
+ /* PLay.*/
2883
+ wdi_play();
2884
+ jQuery(".wdi_play_pause").attr("title", "<?php echo __('Pause', "wdi"); ?>");
2885
+ jQuery(".wdi_play_pause").attr("class", "wdi_ctrl_btn wdi_play_pause fa fa-pause");
2886
+ }
2887
+ else {
2888
+ /* Pause.*/
2889
+ window.clearInterval(wdi_playInterval);
2890
+ jQuery(".wdi_play_pause").attr("title", "<?php echo __('Play', "wdi"); ?>");
2891
+ jQuery(".wdi_play_pause").attr("class", "wdi_ctrl_btn wdi_play_pause fa fa-play");
2892
+ }
2893
+ });
2894
+ /* Open with autoplay.*/
2895
+ <?php
2896
+
2897
+ if ($open_with_autoplay) {
2898
+ ?>
2899
+
2900
+ wdi_play();
2901
+ jQuery(".wdi_play_pause").attr("title", "<?php echo __('Pause', "wdi"); ?>");
2902
+ jQuery(".wdi_play_pause").attr("class", "wdi_ctrl_btn wdi_play_pause fa fa-pause");
2903
+ <?php
2904
+ }
2905
+ ?>
2906
+ /* Open with fullscreen.*/
2907
+ <?php
2908
+ if ($open_with_fullscreen) {
2909
+ ?>
2910
+ wdi_open_with_fullscreen();
2911
+ <?php
2912
+ }
2913
+ ?>
2914
+
2915
+ jQuery(".wdi_popup_image").removeAttr("width");
2916
+ jQuery(".wdi_popup_image").removeAttr("height");
2917
+
2918
+ //if info is displayed by defult then double trigger
2919
+ //info click for displaying it with proper scrollbar
2920
+ if(<?php echo $popup_info_always_show?>){
2921
+ setTimeout(function(){
2922
+ jQuery(".wdi_info").trigger(wdi_click);
2923
+ jQuery(".wdi_info").trigger(wdi_click);
2924
+ },100);
2925
+ }
2926
+
2927
+
2928
+ });
2929
+ /* Open with fullscreen.*/
2930
+ function wdi_open_with_fullscreen() {
2931
+ jQuery(".wdi_watermark").css({display: 'none'});
2932
+ var comment_container_width = 0;
2933
+ if (jQuery(".wdi_comment_container").hasClass("wdi_open")) {
2934
+ comment_container_width = jQuery(".wdi_comment_container").width();
2935
+ }
2936
+ wdi_popup_current_width = jQuery(window).width();
2937
+ wdi_popup_current_height = jQuery(window).height();
2938
+ jQuery("#wdi_spider_popup_wrap").css({
2939
+ width: jQuery(window).width(),
2940
+ height: jQuery(window).height(),
2941
+ left: 0,
2942
+ top: 0,
2943
+ margin: 0,
2944
+ zIndex: 100000
2945
+ });
2946
+ jQuery(".wdi_image_wrap").css({width: (jQuery(window).width() - comment_container_width)});
2947
+ jQuery(".wdi_image_container").css({height: (wdi_popup_current_height - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>), width: wdi_popup_current_width - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>});
2948
+ jQuery(".wdi_popup_image").css({
2949
+ maxWidth: jQuery(window).width() - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2950
+ maxHeight: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2951
+ }, {
2952
+ complete: function () { wdi_change_watermark_container(); }
2953
+ });
2954
+ jQuery(".wdi_popup_video").css({
2955
+ width: jQuery(window).width() - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2956
+ height: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2957
+ }, {
2958
+ complete: function () { wdi_change_watermark_container(); }
2959
+ });
2960
+ jQuery(".wdi_popup_embed").css({
2961
+ width: jQuery(window).width() - comment_container_width - <?php echo ($filmstrip_direction == 'vertical' ? $image_filmstrip_width : 0); ?>,
2962
+ height: jQuery(window).height() - <?php echo ($filmstrip_direction == 'horizontal' ? $image_filmstrip_height : 0); ?>
2963
+ }, {
2964
+ complete: function () {
2965
+ wdi_resize_instagram_post();
2966
+ wdi_change_watermark_container(); }
2967
+ });
2968
+ jQuery(".wdi_filmstrip_container").css({<?php echo $width_or_height; ?>: jQuery(window).<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?>});
2969
+ jQuery(".wdi_filmstrip").css({<?php echo $width_or_height; ?>: jQuery(window).<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40});
2970
+ /* Set filmstrip initial position.*/
2971
+ wdi_set_filmstrip_pos(jQuery(window).<?php echo $width_or_height; ?>() - <?php echo ($filmstrip_direction == 'horizontal' ? 'comment_container_width' : 0); ?> - 40);
2972
+
2973
+ jQuery(".wdi_resize-full").attr("class", "wdi_ctrl_btn wdi_resize-full fa fa-resize-small");
2974
+ jQuery(".wdi_resize-full").attr("title", "<?php echo __('Restore', "wdi"); ?>");
2975
+ jQuery(".wdi_spider_popup_close").attr("class", "wdi_ctrl_btn wdi_spider_popup_close_fullscreen");
2976
+ }
2977
+
2978
+ function wdi_resize_instagram_post(){
2979
+ jQuery('.wdi_embed_frame').css({'width':'inherit', 'height':'inherit', 'vertical-align':'middle', 'display':'table-cell'});
2980
+ /*jQuery.fn.exists = function(){return this.length>0;}*/
2981
+
2982
+ if (jQuery('.inner_instagram_iframe_wdi_embed_frame').length) {
2983
+ var w = jQuery(".wdi_popup_embed").width();
2984
+ var h = jQuery(".wdi_popup_embed").height();
2985
+ var post_width = 0;
2986
+ var post_height = 0;
2987
+
2988
+ if(h <w +88 ){
2989
+ post_height = h;
2990
+ post_width = h -88;
2991
+ }
2992
+ else{
2993
+ post_width = w;
2994
+ post_height = w +88 ;
2995
+ }
2996
+
2997
+ jQuery('.inner_instagram_iframe_wdi_embed_frame').each(function(){
2998
+
2999
+ post_height = post_height;
3000
+ post_width = post_width;
3001
+
3002
+ var top_pos = (0.5 *( h-post_height));
3003
+ jQuery(this).parent().css({
3004
+ height: post_height,
3005
+ width: post_width,
3006
+ top: top_pos
3007
+ });
3008
+ });
3009
+
3010
+
3011
+ wdi_change_watermark_container();
3012
+ }
3013
+ }
3014
+
3015
+ function wdi_play() {
3016
+ window.clearInterval(wdi_playInterval);
3017
+ wdi_playInterval = setInterval(function () {
3018
+ if (!wdi_data[parseInt(jQuery('#wdi_current_image_key').val()) + 1]) {
3019
+ if (<?php echo $option_row->enable_loop; ?> == 1) {
3020
+ /* Wrap around.*/
3021
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), 0, wdi_data);
3022
+ }
3023
+ return;
3024
+ }
3025
+ wdi_change_image(parseInt(jQuery('#wdi_current_image_key').val()), parseInt(jQuery('#wdi_current_image_key').val()) + 1, wdi_data)
3026
+ }, '<?php echo $slideshow_interval * 1000; ?>');
3027
+ }
3028
+ jQuery(window).focus(function() {
3029
+
3030
+ /* event_stack = [];*/
3031
+ if (!jQuery(".wdi_ctrl_btn").hasClass("fa-play")) {
3032
+ wdi_play();
3033
+ }
3034
+ /*var i = 0;
3035
+ jQuery(".wdi_slider").children("span").each(function () {
3036
+ if (jQuery(this).css('opacity') == 1) {
3037
+ jQuery("#wdi_current_image_key").val(i);
3038
+ }
3039
+ i++;
3040
+ });*/
3041
+ });
3042
+ jQuery(window).blur(function() {
3043
+ event_stack = [];
3044
+ window.clearInterval(wdi_playInterval);
3045
+ });
3046
+
3047
+ </script>
3048
+ <?php
3049
+ die();
3050
+ }
3051
+
3052
+ ////////////////////////////////////////////////////////////////////////////////////////
3053
+ // Getters & Setters //
3054
+ ////////////////////////////////////////////////////////////////////////////////////////
3055
+ ////////////////////////////////////////////////////////////////////////////////////////
3056
+ // Private Methods //
3057
+ ////////////////////////////////////////////////////////////////////////////////////////
3058
+ ////////////////////////////////////////////////////////////////////////////////////////
3059
+ // Listeners //
3060
+ ////////////////////////////////////////////////////////////////////////////////////////
3061
+ }
frontend/views/WDIViewImageBrowser_view.php ADDED
@@ -0,0 +1,467 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class WDIViewImageBrowser_view{
3
+ ////////////////////////////////////////////////////////////////////////////////////////
4
+ // Events //
5
+ ////////////////////////////////////////////////////////////////////////////////////////
6
+ ////////////////////////////////////////////////////////////////////////////////////////
7
+ // Constants //
8
+ ////////////////////////////////////////////////////////////////////////////////////////
9
+ ////////////////////////////////////////////////////////////////////////////////////////
10
+ // Variables //
11
+ ////////////////////////////////////////////////////////////////////////////////////////
12
+ private $model;
13
+ ////////////////////////////////////////////////////////////////////////////////////////
14
+ // Constructor & Destructor //
15
+ ////////////////////////////////////////////////////////////////////////////////////////
16
+ public function __construct($model) {
17
+ $this->model = $model;
18
+ }
19
+ ////////////////////////////////////////////////////////////////////////////////////////
20
+ // Public Methods //
21
+ ////////////////////////////////////////////////////////////////////////////////////////
22
+ public function display(){
23
+ $this->pass_feed_data_to_js();
24
+ $feed_row = $this->model->get_feed_row();
25
+ $wdi_feed_counter = $this->model->wdi_feed_counter;
26
+ $this->generate_feed_styles($feed_row);
27
+ $style = $this->model->theme_row;
28
+ ?>
29
+ <div id="wdi_feed_<?php echo $wdi_feed_counter?>" class="wdi_feed_main_container">
30
+ <div id="wdi_spider_popup_loading_<?php echo $wdi_feed_counter?>" class="wdi_spider_popup_loading"></div>
31
+ <div id="wdi_spider_popup_overlay_<?php echo $wdi_feed_counter?>" class="wdi_spider_popup_overlay" onclick="wdi_spider_destroypopup(1000)"></div>
32
+ <div class="wdi_feed_container">
33
+ <div class="wdi_feed_info">
34
+ <div id="wdi_feed_<?php echo $wdi_feed_counter?>_header" class='wdi_feed_header'></div>
35
+ <div id="wdi_feed_<?php echo $wdi_feed_counter?>_users" class='wdi_feed_users'></div>
36
+ </div>
37
+ <?php
38
+ if($feed_row['feed_display_view']==='pagination' && $style['pagination_position_vert']==='top'){
39
+ ?><div id="wdi_pagination" class="wdi_pagination"><div class="wdi_pagination_container"><i id="wdi_first_page" title="<?php echo __('First Page',"wdi")?>" class="fa fa-step-backward wdi_pagination_ctrl wdi_disabled"></i><i id="wdi_prev" title="<?php echo __('Previous Page',"wdi")?>" class="fa fa-arrow-left wdi_pagination_ctrl"></i><i id="wdi_current_page" class="wdi_pagination_ctrl" style="font-style:normal">1</i><i id="wdi_next" title="<?php echo __('Next Page',"wdi")?>" class="fa fa-arrow-right wdi_pagination_ctrl"></i> <i id="wdi_last_page" title="<?php echo __('Last Page',"wdi")?>" class="fa fa-step-forward wdi_pagination_ctrl wdi_disabled"></i></div></div> <?php
40
+ }
41
+ ?>
42
+ <div class="wdi_feed_wrapper <?php echo 'wdi_col_'.$feed_row['number_of_columns']?>" wdi-res='<?php echo 'wdi_col_'.$feed_row['number_of_columns']?>'></div>
43
+ <div class="clear"></div>
44
+ <?php switch($feed_row['feed_display_view']){
45
+ case 'load_more_btn':{
46
+ ?><div class="wdi_load_more"><div class="wdi_load_more_container"><div class="wdi_load_more_wrap"><div class="wdi_load_more_wrap_inner"><div class="wdi_load_more_text"><?php echo __('Load More',"wdi");?></div></div></div></div></div><?php
47
+ break;
48
+ }
49
+ case 'pagination':{
50
+ if($style['pagination_position_vert']==='bottom'){
51
+ ?><div id="wdi_pagination" class="wdi_pagination"><div class="wdi_pagination_container"><i id="wdi_first_page" title="<?php echo __('First Page',"wdi")?>" class="fa fa-step-backward wdi_pagination_ctrl wdi_disabled"></i><i id="wdi_prev" title="<?php echo __('Previous Page',"wdi")?>" class="fa fa-arrow-left wdi_pagination_ctrl"></i><i id="wdi_current_page" class="wdi_pagination_ctrl" style="font-style:normal">1</i><i id="wdi_next" title="<?php echo __('Next Page',"wdi")?>" class="fa fa-arrow-right wdi_pagination_ctrl"></i> <i id="wdi_last_page" title="<?php echo __('Last Page',"wdi")?>" class="fa fa-step-forward wdi_pagination_ctrl wdi_disabled"></i></div></div> <?php
52
+ }
53
+
54
+ break;
55
+ }
56
+ case 'infinite_scroll':{
57
+ ?><div id="wdi_infinite_scroll" class="wdi_infinite_scroll"></div> <?php
58
+ }
59
+ }?>
60
+ </div>
61
+ </div>
62
+ <?php
63
+
64
+ }
65
+ public function pass_feed_data_to_js(){
66
+ global $wdi_options;
67
+ $feed_row = $this->model->get_feed_row();
68
+ $wdi_feed_counter = $this->model->wdi_feed_counter;
69
+ $feed_row['access_token'] = $wdi_options['wdi_access_token'];
70
+ $feed_row['wdi_feed_counter'] = $wdi_feed_counter;
71
+
72
+
73
+ wp_localize_script("wdi_frontend", 'wdi_feed_'.$wdi_feed_counter,array('feed_row'=>$feed_row,'data'=>array(),'usersData'=>array(),'dataCount'=>0));
74
+ wp_localize_script("wdi_frontend", 'wdi_front',array('feed_counter'=>$wdi_feed_counter));
75
+ }
76
+ public function generate_feed_styles($feed_row){
77
+ $style = $this->model->theme_row;
78
+ $colNum = (100/$feed_row['number_of_columns']);
79
+ $wdi_feed_counter = $this->model->wdi_feed_counter;
80
+ if($style['header_position'] == 'center'){
81
+ $headerfloatPos = 'left';
82
+ }else{
83
+ $headerfloatPos = $style['header_position'];
84
+ }
85
+ ?>
86
+ <style type="text/css">
87
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_feed_container {
88
+ min-width: 160px;
89
+ width: <?php echo $style['feed_container_width']?>;
90
+ margin: 0 auto;
91
+ background-color: <?php echo $style['feed_container_bg_color']?>;/*feed_container_bg_color*/
92
+ border-bottom: 5px solid <?php echo $style['feed_container_bg_color']?>;/*feed_container_bg_color*/;
93
+ }
94
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_feed_wrapper{
95
+ width: <?php echo $style['feed_wrapper_width']?>; /*feed_wrapper_width,column number * image size*/
96
+ margin: 0 auto;
97
+ background-color: <?php echo $style['feed_wrapper_bg_color']?>;/*feed_wrapper_bg_color*/
98
+ text-align: <?php echo $style['header_position']?>;/*header_position*/
99
+ }
100
+
101
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_feed_header{
102
+ margin: <?php echo $style['header_margin']?>;/*header_margin*/
103
+ padding: <?php echo $style['header_padding']?>;/*header_padding*/
104
+ border: <?php echo $style['header_border_size']?> solid <?php echo $style['header_border_color']?>;/*header_border_size, header_border_color*/
105
+ text-align: <?php echo $style['header_position']?>;/*header_position*/
106
+ display: <?php echo ($feed_row['display_header']=='1')? 'block' : 'none'?>; /*if display-header is true display:block*/
107
+ }
108
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_wrapper {
109
+ display: inline-table;
110
+ }
111
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_img_wrap,#wdi_feed_<?php echo $wdi_feed_counter?> .wdi_users_img_wrap{
112
+ height: <?php echo $style['header_img_width']?>px;/*header_img_width*/
113
+ width: <?php echo $style['header_img_width']?>px;/*header_img_width*/
114
+ border-radius: <?php echo $style['header_border_radius']?>px;/*header_img_width*/
115
+ overflow: hidden;
116
+ }
117
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_text{
118
+ display: table-cell;
119
+ vertical-align: middle;
120
+ font-size: <?php echo $style['header_text_font_size']?>;
121
+ font-style: <?php echo $style['header_text_font_style']?>;
122
+ padding: <?php echo $style['header_text_padding']?>;/*header_text_padding*/
123
+ color: <?php echo $style['header_text_color']?>;/*header_text_color*/
124
+ font-weight: <?php echo $style['header_font_weight']?>;/*header_font_weight*/
125
+ line-height: <?php echo $style['header_img_width']?>px;/*header_img_width*/
126
+ }
127
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_single_user{
128
+ display: inline-block;
129
+ float: left;
130
+ padding-top: <?php echo $style['user_padding']?>;/*user_padding*/
131
+ padding-bottom: <?php echo $style['user_padding']?>;/*user_padding*/
132
+ padding-left: <?php echo $style['user_padding']?>;/*user_padding*/
133
+ padding-right: <?php echo $style['user_padding']?>;/*user_padding*/
134
+ }
135
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_user_img_wrap {
136
+ display: inline-block;
137
+ float: left;
138
+ /*margin: 0 0 0 -100% !important;*/
139
+ position: relative;
140
+ }
141
+ <?php
142
+
143
+ if($feed_row['display_user_post_follow_number'] == '1'){
144
+ $header_text_padding =(intval($style['user_img_width']) - intval($style['users_text_font_size']))/4;
145
+ }else{
146
+ $header_text_padding =(intval($style['user_img_width']) - intval($style['users_text_font_size']))/2;
147
+ }
148
+ ?>
149
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_user_text {
150
+ display: inline-block;
151
+ float: left;
152
+ width: 100%;
153
+ padding-top: <?php echo $header_text_padding; ?>px;
154
+
155
+ }
156
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_user_text h3 {
157
+ margin-top: <?php echo $header_text_padding ?>px;
158
+ }
159
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_hashtag h3{
160
+ margin-top: <?php echo (intval($style['user_img_width']) - intval($style['users_text_font_size']))/2?>px;
161
+ }
162
+ #wdi_feed_<?php echo $wdi_feed_counter?> .wdi_header_hashtag .wdi_media_info{
163
+ display: none;
164
+