Disable admin notices individually - Version 1.2.8

Version Description

(13.01.2022) = * Fixed: compatibility error with plugin WP Fastest Cache

Download this release

Release Info

Developer alexkovalevv
Plugin Icon 128x128 Disable admin notices individually
Version 1.2.8
Comparing to
See all releases

Code changes from version 1.2.4 to 1.2.8

Files changed (90) hide show
  1. admin/ajax/hide-notice.php +63 -63
  2. admin/ajax/restore-notice.php +49 -49
  3. admin/assets/css/general.css +51 -50
  4. admin/assets/css/general.css.map +1 -0
  5. admin/assets/css/notifications-panel.css +76 -76
  6. admin/assets/css/notifications-panel.css.map +1 -0
  7. admin/assets/css/notifications-panel.less +96 -96
  8. admin/assets/css/page.css +9 -8
  9. admin/assets/css/page.css.map +1 -0
  10. admin/assets/css/page.less +8 -8
  11. admin/assets/css/settings.css +220 -219
  12. admin/assets/css/settings.css.map +1 -0
  13. admin/assets/css/settings.less +266 -266
  14. admin/assets/img/hide-icon-white.svg +25 -25
  15. admin/assets/img/hide-icon.svg +25 -25
  16. admin/assets/js/notifications-panel.js +59 -59
  17. admin/assets/js/settings.js +69 -69
  18. admin/boot.php +115 -119
  19. admin/class-page-basic.php +42 -42
  20. admin/options.php +269 -269
  21. admin/pages/class-pages-edit-admin-bar.php +147 -147
  22. admin/pages/class-pages-edit-redirects.php +164 -164
  23. admin/pages/class-pages-license.php +102 -102
  24. admin/pages/class-pages-notices.php +91 -91
  25. admin/pages/class-pages-settings.php +148 -148
  26. admin/pages/index.php +1 -1
  27. clearfy.php +56 -56
  28. disable-admin-notices.php +166 -158
  29. includes/3rd-party/class-clearfy-plugin.php +78 -78
  30. includes/class-plugin.php +106 -106
  31. includes/classes/class-configurate-notices.php +380 -381
  32. includes/functions.php +121 -121
  33. languages/disable-admin-notices-es_ES.po +181 -181
  34. languages/disable-admin-notices-nl_BE.po +172 -172
  35. languages/disable-admin-notices-pt_BR.po +180 -180
  36. languages/disable-admin-notices-ru_RU.po +256 -256
  37. languages/disable-admin-notices.pot +223 -223
  38. libs/factory/adverts/boot.php +50 -50
  39. libs/factory/adverts/includes/class-base.php +319 -319
  40. libs/factory/adverts/includes/class-dashboard-widget.php +125 -125
  41. libs/factory/adverts/includes/class-rest-request.php +217 -217
  42. libs/factory/adverts/includes/index.php +2 -2
  43. libs/factory/adverts/index.php +2 -2
  44. libs/factory/adverts/langs/{wbcr_factory_adverts_117-ru_RU.mo → wbcr_factory_adverts_130-ru_RU.mo} +0 -0
  45. libs/factory/adverts/langs/{wbcr_factory_adverts_117-ru_RU.po → wbcr_factory_adverts_130-ru_RU.po} +83 -83
  46. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +11 -11
  47. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +11 -11
  48. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +11 -11
  49. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +11 -25
  50. libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css +11 -17
  51. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +11 -11
  52. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +11 -11
  53. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +11 -11
  54. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +11 -11
  55. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +11 -11
  56. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +11 -11
  57. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +11 -11
  58. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +11 -11
  59. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +11 -11
  60. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +11 -11
  61. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +11 -11
  62. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +10 -10
  63. libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js +9 -9
  64. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +10 -10
  65. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +10 -10
  66. libs/factory/bootstrap/assets/js-min/control.list.min.js +10 -10
  67. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +10 -10
  68. libs/factory/bootstrap/boot.php +46 -46
  69. libs/factory/bootstrap/includes/functions.php +242 -236
  70. libs/factory/bootstrap/includes/index.php +1 -1
  71. libs/factory/bootstrap/index.php +1 -1
  72. libs/factory/bootstrap/package-lock.json +1810 -1810
  73. libs/factory/clearfy/assets/css/clearfy-base.css.map +0 -1
  74. libs/factory/clearfy/assets/css/components.css +0 -140
  75. libs/factory/clearfy/assets/css/components.css.map +0 -1
  76. libs/factory/clearfy/assets/css/libs/autocomplete.css +0 -44
  77. libs/factory/clearfy/assets/css/libs/autocomplete.css.map +0 -1
  78. libs/factory/clearfy/assets/css/page-setup.css +0 -454
  79. libs/factory/clearfy/assets/css/page-setup.css.map +0 -1
  80. libs/factory/clearfy/assets/css/page-setup.less +0 -515
  81. libs/factory/clearfy/assets/js/clearfy-widgets.js +0 -44
  82. libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js +0 -8
  83. libs/factory/clearfy/boot.php +0 -89
  84. libs/factory/clearfy/includes/ajax-handlers.php +0 -101
  85. libs/factory/clearfy/includes/class-configurate.php +0 -116
  86. libs/factory/clearfy/includes/class-helpers.php +0 -266
  87. libs/factory/clearfy/pages/class-page-more-features.php +0 -170
  88. libs/factory/core/README.md +3 -3
  89. libs/factory/core/ajax/install-addons.php +227 -227
  90. libs/factory/core/assets/js/core-components.js +141 -227
admin/ajax/hide-notice.php CHANGED
@@ -1,63 +1,63 @@
1
- <?php
2
- /**
3
- * Hides notifications
4
- *
5
- * Github: https://github.com/alexkovalevv
6
- *
7
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
8
- * @copyright (c) 2018 Webraftic Ltd
9
- * @version 1.0
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- function wbcr_dan_ajax_hide_notices() {
18
- check_ajax_referer( WDN_Plugin::app()->getPluginName() . '_ajax_hide_notices_nonce', 'security' );
19
-
20
- if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
21
- $notice_id = WDN_Plugin::app()->request->post( 'notice_id', null, true );
22
- $notice_html = WDN_Plugin::app()->request->post( 'notice_html', null );
23
- $hide_target = WDN_Plugin::app()->request->post( 'target', 'user' );
24
- //$notice_text = wp_kses( $notice_html, [] );
25
-
26
- if ( empty( $notice_id ) ) {
27
- wp_send_json_error( [ 'error_message' => __( 'Undefinded notice id.', 'disable-admin-notices' ) ] );
28
- }
29
-
30
- switch ( $hide_target ) {
31
- case 'all':
32
- $get_hidden_notices = WDN_Plugin::app()->getPopulateOption( 'hidden_notices', [] );
33
-
34
- if ( ! is_array( $get_hidden_notices ) ) {
35
- $get_hidden_notices = [];
36
- }
37
-
38
- $get_hidden_notices[ $notice_id ] = rtrim( trim( $notice_html ) );
39
-
40
- WDN_Plugin::app()->updatePopulateOption('hidden_notices', $get_hidden_notices );
41
- break;
42
- case 'user':
43
- default:
44
- $current_user_id = get_current_user_id();
45
- $get_hidden_notices = get_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
46
-
47
- if ( ! is_array( $get_hidden_notices ) ) {
48
- $get_hidden_notices = [];
49
- }
50
-
51
- $get_hidden_notices[ $notice_id ] = rtrim( trim( $notice_html ) );
52
-
53
- update_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), $get_hidden_notices );
54
- break;
55
- }
56
-
57
- wp_send_json_success();
58
- } else {
59
- wp_send_json_error( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'disable-admin-notices' ) ] );
60
- }
61
- }
62
-
63
- add_action( 'wp_ajax_wbcr-dan-hide-notices', 'wbcr_dan_ajax_hide_notices' );
1
+ <?php
2
+ /**
3
+ * Hides notifications
4
+ *
5
+ * Github: https://github.com/alexkovalevv
6
+ *
7
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
8
+ * @copyright (c) 2018 Webraftic Ltd
9
+ * @version 1.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ function wbcr_dan_ajax_hide_notices() {
18
+ check_ajax_referer( WDN_Plugin::app()->getPluginName() . '_ajax_hide_notices_nonce', 'security' );
19
+
20
+ if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
21
+ $notice_id = WDN_Plugin::app()->request->post( 'notice_id', null, true );
22
+ $notice_html = WDN_Plugin::app()->request->post( 'notice_html', null );
23
+ $hide_target = WDN_Plugin::app()->request->post( 'target', 'user' );
24
+ //$notice_text = wp_kses( $notice_html, [] );
25
+
26
+ if ( empty( $notice_id ) ) {
27
+ wp_send_json_error( [ 'error_message' => __( 'Undefinded notice id.', 'disable-admin-notices' ) ] );
28
+ }
29
+
30
+ switch ( $hide_target ) {
31
+ case 'all':
32
+ $get_hidden_notices = WDN_Plugin::app()->getPopulateOption( 'hidden_notices', [] );
33
+
34
+ if ( ! is_array( $get_hidden_notices ) ) {
35
+ $get_hidden_notices = [];
36
+ }
37
+
38
+ $get_hidden_notices[ $notice_id ] = rtrim( trim( $notice_html ) );
39
+
40
+ WDN_Plugin::app()->updatePopulateOption('hidden_notices', $get_hidden_notices );
41
+ break;
42
+ case 'user':
43
+ default:
44
+ $current_user_id = get_current_user_id();
45
+ $get_hidden_notices = get_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
46
+
47
+ if ( ! is_array( $get_hidden_notices ) ) {
48
+ $get_hidden_notices = [];
49
+ }
50
+
51
+ $get_hidden_notices[ $notice_id ] = rtrim( trim( $notice_html ) );
52
+
53
+ update_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), $get_hidden_notices );
54
+ break;
55
+ }
56
+
57
+ wp_send_json_success();
58
+ } else {
59
+ wp_send_json_error( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'disable-admin-notices' ) ] );
60
+ }
61
+ }
62
+
63
+ add_action( 'wp_ajax_wbcr-dan-hide-notices', 'wbcr_dan_ajax_hide_notices' );
admin/ajax/restore-notice.php CHANGED
@@ -1,49 +1,49 @@
1
- <?php
2
- /**
3
- * Restore notice
4
- *
5
- * Github: https://github.com/alexkovalevv
6
- *
7
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
8
- * @copyright (c) 2018 Webraftic Ltd
9
- * @version 1.0
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- function wbcr_dan_ajax_restore_notice() {
18
- check_ajax_referer( WDN_Plugin::app()->getPluginName() . '_ajax_restore_notice_nonce', 'security' );
19
-
20
- if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
21
- $notice_id = WDN_Plugin::app()->request->post( 'notice_id', null, true );
22
-
23
- if ( empty( $notice_id ) ) {
24
- wp_send_json_error( [ 'error_message' => __( 'Undefinded notice id.', 'disable-admin-notices' ) ] );
25
- }
26
-
27
- //Users notices
28
- $current_user_id = get_current_user_id();
29
- $get_hidden_notices = get_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
30
- if ( ! empty( $get_hidden_notices ) && isset( $get_hidden_notices[ $notice_id ] ) ) {
31
- unset( $get_hidden_notices[ $notice_id ] );
32
- update_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), $get_hidden_notices );
33
- }
34
-
35
- //All notices
36
- $get_hidden_notices_all = WDN_Plugin::app()->getPopulateOption( 'hidden_notices', [] );
37
- if ( ! empty( $get_hidden_notices_all ) && isset( $get_hidden_notices_all[ $notice_id ] ) ) {
38
- unset( $get_hidden_notices_all[ $notice_id ] );
39
- WDN_Plugin::app()->updatePopulateOption( 'hidden_notices', $get_hidden_notices_all );
40
- }
41
-
42
-
43
- wp_send_json_success();
44
- } else {
45
- wp_send_json_error( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'disable-admin-notices' ) ] );
46
- }
47
- }
48
-
49
- add_action( 'wp_ajax_wbcr-dan-restore-notice', 'wbcr_dan_ajax_restore_notice' );
1
+ <?php
2
+ /**
3
+ * Restore notice
4
+ *
5
+ * Github: https://github.com/alexkovalevv
6
+ *
7
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
8
+ * @copyright (c) 2018 Webraftic Ltd
9
+ * @version 1.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ function wbcr_dan_ajax_restore_notice() {
18
+ check_ajax_referer( WDN_Plugin::app()->getPluginName() . '_ajax_restore_notice_nonce', 'security' );
19
+
20
+ if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
21
+ $notice_id = WDN_Plugin::app()->request->post( 'notice_id', null, true );
22
+
23
+ if ( empty( $notice_id ) ) {
24
+ wp_send_json_error( [ 'error_message' => __( 'Undefinded notice id.', 'disable-admin-notices' ) ] );
25
+ }
26
+
27
+ //Users notices
28
+ $current_user_id = get_current_user_id();
29
+ $get_hidden_notices = get_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
30
+ if ( ! empty( $get_hidden_notices ) && isset( $get_hidden_notices[ $notice_id ] ) ) {
31
+ unset( $get_hidden_notices[ $notice_id ] );
32
+ update_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), $get_hidden_notices );
33
+ }
34
+
35
+ //All notices
36
+ $get_hidden_notices_all = WDN_Plugin::app()->getPopulateOption( 'hidden_notices', [] );
37
+ if ( ! empty( $get_hidden_notices_all ) && isset( $get_hidden_notices_all[ $notice_id ] ) ) {
38
+ unset( $get_hidden_notices_all[ $notice_id ] );
39
+ WDN_Plugin::app()->updatePopulateOption( 'hidden_notices', $get_hidden_notices_all );
40
+ }
41
+
42
+
43
+ wp_send_json_success();
44
+ } else {
45
+ wp_send_json_error( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'disable-admin-notices' ) ] );
46
+ }
47
+ }
48
+
49
+ add_action( 'wp_ajax_wbcr-dan-restore-notice', 'wbcr_dan_ajax_restore_notice' );
admin/assets/css/general.css CHANGED
@@ -1,50 +1,51 @@
1
- .wbcr-dan-hide-notices {
2
- position: initial;
3
- padding: 5px 5px 0;
4
- background: transparent;
5
- }
6
- .wbcr-dan-hide-notices > div {
7
- margin: 0 !important;
8
- }
9
- .is-dismissible .wbcr-dan-hide-links {
10
- margin-right: -25px;
11
- }
12
- .wbcr-dan-hide-links {
13
- text-align: right;
14
- padding: 0 5px 5px 0;
15
- }
16
- .wbcr-dan-hide-links .wbcr-dan-hide-notice-link {
17
- min-height: 20px;
18
- line-height: 2;
19
- padding: 0 5px 0 0;
20
- font-size: 11px;
21
- color: #ec3c47;
22
- background: #fff;
23
- margin: 0;
24
- cursor: pointer;
25
- border: 1px solid #ec3c47;
26
- border-radius: 5px;
27
- }
28
- .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover {
29
- background: #ec3c47;
30
- color: #fff;
31
- }
32
- .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover:before {
33
- background-image: url('../img/hide-icon-white.svg');
34
- }
35
- .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:focus {
36
- border: 2px solid #ec3c47;
37
- outline: none;
38
- }
39
- .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:before {
40
- content: '';
41
- display: inline-block;
42
- width: 25px;
43
- height: 18px;
44
- background-color: transparent;
45
- background-image: url('../img/hide-icon.svg');
46
- background-repeat: no-repeat;
47
- background-position: center center;
48
- background-size: 25px;
49
- vertical-align: middle;
50
- }
 
1
+ .wbcr-dan-hide-notices {
2
+ position: initial;
3
+ padding: 5px 5px 0;
4
+ background: transparent;
5
+ }
6
+ .wbcr-dan-hide-notices > div {
7
+ margin: 0 !important;
8
+ }
9
+ .is-dismissible .wbcr-dan-hide-links {
10
+ margin-right: -25px;
11
+ }
12
+ .wbcr-dan-hide-links {
13
+ text-align: right;
14
+ padding: 0 5px 5px 0;
15
+ }
16
+ .wbcr-dan-hide-links .wbcr-dan-hide-notice-link {
17
+ min-height: 20px;
18
+ line-height: 2;
19
+ padding: 0 5px 0 0;
20
+ font-size: 11px;
21
+ color: #ec3c47;
22
+ background: #fff;
23
+ margin: 0;
24
+ cursor: pointer;
25
+ border: 1px solid #ec3c47;
26
+ border-radius: 5px;
27
+ }
28
+ .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover {
29
+ background: #ec3c47;
30
+ color: #fff;
31
+ }
32
+ .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover:before {
33
+ background-image: url('../img/hide-icon-white.svg');
34
+ }
35
+ .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:focus {
36
+ border: 2px solid #ec3c47;
37
+ outline: none;
38
+ }
39
+ .wbcr-dan-hide-links .wbcr-dan-hide-notice-link:before {
40
+ content: '';
41
+ display: inline-block;
42
+ width: 25px;
43
+ height: 18px;
44
+ background-color: transparent;
45
+ background-image: url('../img/hide-icon.svg');
46
+ background-repeat: no-repeat;
47
+ background-position: center center;
48
+ background-size: 25px;
49
+ vertical-align: middle;
50
+ }
51
+ /*# sourceMappingURL=general.css.map */
admin/assets/css/general.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["general.less"],"names":[],"mappings":"AAAA;EACE,iBAAA;EACA,kBAAA;EACA,uBAAA;;AAEA,sBAAE;EACA,oBAAA;;AAGJ,eAAgB;EACd,mBAAA;;AAEF;EACE,iBAAA;EACA,oBAAA;;AAFF,oBAIE;EACE,gBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;EACA,SAAA;EACA,eAAA;EACA,yBAAA;EACA,kBAAA;;AAEA,oBAZF,2BAYG;EACC,mBAAA;EACA,WAAA;;AAGF,oBAjBF,2BAiBG,MAAM;EACL,sBAAsB,6BAAtB;;AAGF,oBArBF,2BAqBG;EACC,yBAAA;EACA,aAAA;;AAGF,oBA1BF,2BA0BG;EACC,SAAS,EAAT;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,6BAAA;EACA,sBAAsB,uBAAtB;EACA,4BAAA;EACA,kCAAA;EACA,qBAAA;EACA,sBAAA","file":"general.css"}
admin/assets/css/notifications-panel.css CHANGED
@@ -1,77 +1,77 @@
1
- /**
2
- * Notification panel in admin bar
3
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
- * @copyright Alex Kovalev 23.08.2017
5
- */
6
- #wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
7
- background-color: #0073aa;
8
- border-radius: 50%;
9
- color: #fff;
10
- font-weight: bold;
11
- padding: 2px 6px;
12
- font-size: 0.85em;
13
- margin-left: 5px;
14
- }
15
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
16
- max-height: 500px;
17
- overflow-y: scroll;
18
- }
19
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
20
- width: 400px;
21
- padding: 0;
22
- }
23
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
24
- border-left: 4px solid #26292b;
25
- padding: 0;
26
- }
27
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
28
- border-left-color: #7ad03a;
29
- }
30
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
31
- border-left-color: #ffba00;
32
- }
33
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
34
- border-left-color: #dd3d36;
35
- }
36
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
37
- text-align: right;
38
- }
39
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
40
- color: #ffba00 !important;
41
- text-decoration: none !important;
42
- }
43
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
44
- text-decoration: underline !important;
45
- color: #ffc11a !important;
46
- }
47
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
48
- height: 100% !important;
49
- white-space: normal !important;
50
- padding: 0.5em 1em;
51
- border-bottom: 1px solid #4a4f55;
52
- color: #949494;
53
- line-height: 1.5 !important;
54
- }
55
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
56
- display: inline;
57
- padding: 0;
58
- margin: 0;
59
- text-decoration: underline;
60
- line-height: 1.5 !important;
61
- color: #949494;
62
- }
63
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] .ab-item {
64
- height: 100%;
65
- white-space: normal;
66
- padding: 0.5em 1em;
67
- border-bottom: 1px solid #fff;
68
- color: #fff;
69
- line-height: 2;
70
- text-align: center;
71
- font-weight: bold;
72
- text-transform: uppercase;
73
- }
74
- #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
75
- background: #26292b;
76
- }
77
  /*# sourceMappingURL=notifications-panel.css.map */
1
+ /**
2
+ * Notification panel in admin bar
3
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
+ * @copyright Alex Kovalev 23.08.2017
5
+ */
6
+ #wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
7
+ background-color: #0073aa;
8
+ border-radius: 50%;
9
+ color: #fff;
10
+ font-weight: bold;
11
+ padding: 2px 6px;
12
+ font-size: 0.85em;
13
+ margin-left: 5px;
14
+ }
15
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
16
+ max-height: 500px;
17
+ overflow-y: scroll;
18
+ }
19
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
20
+ width: 400px;
21
+ padding: 0;
22
+ }
23
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
24
+ border-left: 4px solid #26292b;
25
+ padding: 0;
26
+ }
27
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
28
+ border-left-color: #7ad03a;
29
+ }
30
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
31
+ border-left-color: #ffba00;
32
+ }
33
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
34
+ border-left-color: #dd3d36;
35
+ }
36
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
37
+ text-align: right;
38
+ }
39
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
40
+ color: #ffba00 !important;
41
+ text-decoration: none !important;
42
+ }
43
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
44
+ text-decoration: underline !important;
45
+ color: #ffc11a !important;
46
+ }
47
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
48
+ height: 100% !important;
49
+ white-space: normal !important;
50
+ padding: 0.5em 1em;
51
+ border-bottom: 1px solid #4a4f55;
52
+ color: #949494;
53
+ line-height: 1.5 !important;
54
+ }
55
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
56
+ display: inline;
57
+ padding: 0;
58
+ margin: 0;
59
+ text-decoration: underline;
60
+ line-height: 1.5 !important;
61
+ color: #949494;
62
+ }
63
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] .ab-item {
64
+ height: 100%;
65
+ white-space: normal;
66
+ padding: 0.5em 1em;
67
+ border-bottom: 1px solid #fff;
68
+ color: #fff;
69
+ line-height: 2;
70
+ text-align: center;
71
+ font-weight: bold;
72
+ text-transform: uppercase;
73
+ }
74
+ #wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
75
+ background: #26292b;
76
+ }
77
  /*# sourceMappingURL=notifications-panel.css.map */
admin/assets/css/notifications-panel.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["notifications-panel.less"],"names":[],"mappings":";;;;;AAMA,mCAEE;EACE,yBAAA;EACA,kBAAA;EACA,WAAA;EACA,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;;AATJ,mCAYE;EAEE,iBAAA;EACA,kBAAA;;AAfJ,mCAYE,gBAKE,GAAE;EACA,YAAA;EACA,UAAA;;AAEA,mCATJ,gBAKE,GAAE,WAIE;EACA,8BAAA;EACA,UAAA;;AAEA,mCAbN,gBAKE,GAAE,WAIE,KAIC;EACC,0BAAA;;AAGF,mCAjBN,gBAKE,GAAE,WAIE,KAQC;EACC,0BAAA;;AAGF,mCArBN,gBAKE,GAAE,WAIE,KAYC;EACC,0BAAA;;AAbJ,mCATJ,gBAKE,GAAE,WAIE,KAgBA;EACE,iBAAA;;AAjBJ,mCATJ,gBAKE,GAAE,WAIE,KAgBA,oCAGE;EACE,cAAA;EACA,gCAAA;;AAEA,mCAhCV,gBAKE,GAAE,WAIE,KAgBA,oCAGE,EAIG;EACC,qCAAA;EACA,cAAA;;AAzBR,mCATJ,gBAKE,GAAE,WAIE,KA8BA;EACE,uBAAA;EACA,8BAAA;EACA,kBAAA;EACA,gCAAA;EACA,cAAA;EACA,gBAAA;;AApCJ,mCATJ,gBAKE,GAAE,WAIE,KA8BA,SAQE;EACE,eAAA;EACA,UAAA;EACA,SAAA;EACA,0BAAA;EACA,gBAAA;EACA,cAAA;;AAKN,mCA1DJ,gBAKE,GAAE,WAqDE,KAAI,8CACJ;EACE,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,6BAAA;EACA,WAAA;EACA,cAAA;EACA,kBAAA;EACA,iBAAA;EACA,yBAAA;;AAhFV,mCAYE,gBAKE,GAAE,WAmEA,GAAE,UAAU;EACV,mBAAA","file":"notifications-panel.css"}
admin/assets/css/notifications-panel.less CHANGED
@@ -1,96 +1,96 @@
1
- /**
2
- * Notification panel in admin bar
3
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
- * @copyright Alex Kovalev 23.08.2017
5
- */
6
-
7
- #wp-admin-bar-wbcr-han-notify-panel {
8
-
9
- .wbcr-han-adminbar-counter {
10
- background-color: #0073aa;
11
- border-radius: 50%;
12
- color: #fff;
13
- font-weight: bold;
14
- padding: 2px 6px;
15
- font-size: 0.85em;
16
- margin-left: 5px;
17
- }
18
-
19
- .ab-sub-wrapper {
20
-
21
- max-height: 500px;
22
- overflow-y: scroll;
23
-
24
- ul.ab-submenu {
25
- width: 400px;
26
- padding: 0;
27
-
28
- & > li {
29
- border-left: 4px solid #26292b;
30
- padding: 0;
31
-
32
- &.wpnc-updated {
33
- border-left-color: #7ad03a;
34
- }
35
-
36
- &.wpnc-update-nag {
37
- border-left-color: #ffba00;
38
- }
39
-
40
- &.wpnc-error {
41
- border-left-color: #dd3d36;
42
- }
43
-
44
- .wbcr-han-panel-restore-notify-line {
45
- text-align: right;
46
-
47
- a {
48
- color: #ffba00 !important;
49
- text-decoration: none !important;
50
-
51
- &:hover {
52
- text-decoration: underline !important;
53
- color: lighten(#ffba00, 5%) !important;
54
- }
55
- }
56
- }
57
-
58
- .ab-item {
59
- height: 100% !important;
60
- white-space: normal !important;
61
- padding: .5em 1em;
62
- border-bottom: 1px solid #4a4f55;
63
- color: #949494;
64
- line-height: 1.5 !important;
65
-
66
- a {
67
- display: inline;
68
- padding: 0;
69
- margin: 0;
70
- text-decoration: underline;
71
- line-height: 1.5 !important;
72
- color: #949494;
73
- }
74
- }
75
- }
76
-
77
- & > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] {
78
- .ab-item {
79
- height: 100%;
80
- white-space: normal;
81
- padding: 0.5em 1em;
82
- border-bottom: 1px solid #fff;
83
- color: #fff;
84
- line-height: 2;
85
- text-align: center;
86
- font-weight: bold;
87
- text-transform: uppercase;
88
- }
89
- }
90
-
91
- li:nth-child(2n) {
92
- background: #26292b;
93
- }
94
- }
95
- }
96
- }
1
+ /**
2
+ * Notification panel in admin bar
3
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
+ * @copyright Alex Kovalev 23.08.2017
5
+ */
6
+
7
+ #wp-admin-bar-wbcr-han-notify-panel {
8
+
9
+ .wbcr-han-adminbar-counter {
10
+ background-color: #0073aa;
11
+ border-radius: 50%;
12
+ color: #fff;
13
+ font-weight: bold;
14
+ padding: 2px 6px;
15
+ font-size: 0.85em;
16
+ margin-left: 5px;
17
+ }
18
+
19
+ .ab-sub-wrapper {
20
+
21
+ max-height: 500px;
22
+ overflow-y: scroll;
23
+
24
+ ul.ab-submenu {
25
+ width: 400px;
26
+ padding: 0;
27
+
28
+ & > li {
29
+ border-left: 4px solid #26292b;
30
+ padding: 0;
31
+
32
+ &.wpnc-updated {
33
+ border-left-color: #7ad03a;
34
+ }
35
+
36
+ &.wpnc-update-nag {
37
+ border-left-color: #ffba00;
38
+ }
39
+
40
+ &.wpnc-error {
41
+ border-left-color: #dd3d36;
42
+ }
43
+
44
+ .wbcr-han-panel-restore-notify-line {
45
+ text-align: right;
46
+
47
+ a {
48
+ color: #ffba00 !important;
49
+ text-decoration: none !important;
50
+
51
+ &:hover {
52
+ text-decoration: underline !important;
53
+ color: lighten(#ffba00, 5%) !important;
54
+ }
55
+ }
56
+ }
57
+
58
+ .ab-item {
59
+ height: 100% !important;
60
+ white-space: normal !important;
61
+ padding: .5em 1em;
62
+ border-bottom: 1px solid #4a4f55;
63
+ color: #949494;
64
+ line-height: 1.5 !important;
65
+
66
+ a {
67
+ display: inline;
68
+ padding: 0;
69
+ margin: 0;
70
+ text-decoration: underline;
71
+ line-height: 1.5 !important;
72
+ color: #949494;
73
+ }
74
+ }
75
+ }
76
+
77
+ & > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] {
78
+ .ab-item {
79
+ height: 100%;
80
+ white-space: normal;
81
+ padding: 0.5em 1em;
82
+ border-bottom: 1px solid #fff;
83
+ color: #fff;
84
+ line-height: 2;
85
+ text-align: center;
86
+ font-weight: bold;
87
+ text-transform: uppercase;
88
+ }
89
+ }
90
+
91
+ li:nth-child(2n) {
92
+ background: #26292b;
93
+ }
94
+ }
95
+ }
96
+ }
admin/assets/css/page.css CHANGED
@@ -1,8 +1,9 @@
1
- .wdan-plugin-header-logo {
2
- background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
3
- background-size: 40px !important;
4
- display: block;
5
- float: left;
6
- height: 30px;
7
- width: 40px;
8
- }
 
1
+ .wdan-plugin-header-logo {
2
+ background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
3
+ background-size: 40px !important;
4
+ display: block;
5
+ float: left;
6
+ height: 30px;
7
+ width: 40px;
8
+ }
9
+ /*# sourceMappingURL=page.css.map */
admin/assets/css/page.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["page.less"],"names":[],"mappings":"AAAA;EACE,4BAA4B,6CAA5B;EACA,gCAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA","file":"page.css"}
admin/assets/css/page.less CHANGED
@@ -1,8 +1,8 @@
1
- .wdan-plugin-header-logo {
2
- background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
3
- background-size: 40px !important;
4
- display: block;
5
- float: left;
6
- height: 30px;
7
- width: 40px;
8
- }
1
+ .wdan-plugin-header-logo {
2
+ background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
3
+ background-size: 40px !important;
4
+ display: block;
5
+ float: left;
6
+ height: 30px;
7
+ width: 40px;
8
+ }
admin/assets/css/settings.css CHANGED
@@ -1,219 +1,220 @@
1
- #WBCR .factory-checkbox.wdanpro-checkbox-premium-label:after,
2
- #WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
3
- display: inline-block;
4
- position: relative;
5
- content: 'PRO';
6
- background: #ff5722;
7
- border-radius: 4px;
8
- color: #fff;
9
- font-size: 10px;
10
- line-height: 1;
11
- font-style: normal;
12
- padding: 4px 6px;
13
- margin-left: 4px;
14
- vertical-align: top;
15
- top: -8px;
16
- left: -10px;
17
- right: auto;
18
- z-index: 11;
19
- cursor: pointer;
20
- }
21
- #WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
22
- position: absolute;
23
- top: -10px;
24
- right: -10px;
25
- left: auto;
26
- }
27
- #WBCR .factory-checkbox-disabled input,
28
- #WBCR .factory-checkbox-disabled button,
29
- #WBCR .wdanpro-radio-premium-label .factory-compact_panel {
30
- pointer-events: none;
31
- cursor: not-allowed;
32
- opacity: 0.65;
33
- filter: alpha(opacity=65);
34
- -webkit-box-shadow: none;
35
- box-shadow: none;
36
- }
37
- #WBCR .wrdan-premium-fake-content {
38
- position: relative;
39
- padding: 15px;
40
- }
41
- #WBCR .wdan-premium-info {
42
- position: absolute;
43
- top: 50px;
44
- left: 50%;
45
- margin-left: -250px;
46
- max-width: 500px;
47
- z-index: 999;
48
- }
49
- #WBCR .wdan-premium-info h3 {
50
- font-size: 32px;
51
- font-weight: 300;
52
- color: inherit;
53
- margin: 40px 0 10px;
54
- line-height: 1.2;
55
- }
56
- #WBCR .wdan-premium-info p {
57
- font-size: 16px;
58
- font-weight: 400;
59
- color: #a4afb7;
60
- margin-bottom: 40px;
61
- }
62
- #WBCR .wdan-premium-layer {
63
- position: absolute;
64
- top: 0;
65
- left: 0;
66
- right: 0;
67
- bottom: 0;
68
- opacity: 0.9;
69
- background: #fff;
70
- }
71
- #WBCR .wdan-button {
72
- font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
73
- font-weight: 500;
74
- text-transform: uppercase;
75
- outline: none;
76
- border: none;
77
- text-decoration: none;
78
- -webkit-border-radius: 3px;
79
- border-radius: 3px;
80
- -webkit-transition-property: background, color, opacity, -webkit-box-shadow;
81
- transition-property: background, color, opacity, -webkit-box-shadow;
82
- -o-transition-property: background, color, box-shadow, opacity;
83
- transition-property: background, color, box-shadow, opacity;
84
- transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
85
- -webkit-transition-duration: 0.3s;
86
- -o-transition-duration: 0.3s;
87
- transition-duration: 0.3s;
88
- }
89
- #WBCR .wdan-button:hover {
90
- border: none;
91
- }
92
- #WBCR .wdan-button:not([disabled]) {
93
- cursor: pointer;
94
- }
95
- #WBCR .wdan-button:not(.wdan-button-state) .wdan-state-icon {
96
- display: none;
97
- }
98
- #WBCR .wdan-button.wdan-button-success {
99
- color: #fff;
100
- }
101
- #WBCR .wdan-button.wdan-button-success[disabled] {
102
- background-color: #c2cbd2;
103
- }
104
- #WBCR .wdan-button.wdan-button-success:not([disabled]) {
105
- background-color: #39b54a;
106
- }
107
- #WBCR .wdan-button.wdan-button-success:not([disabled]):hover {
108
- opacity: 0.85;
109
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
110
- box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
111
- }
112
- #WBCR .wdan-button.wdan-button-success:not([disabled]):active {
113
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
114
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
115
- }
116
- #WBCR .wdan-button.wdan-button-warning {
117
- background-color: #a4afb7;
118
- color: #fff;
119
- }
120
- #WBCR .wdan-button.wdan-button-warning[disabled] {
121
- background-color: #c2cbd2;
122
- }
123
- #WBCR .wdan-button.wdan-button-warning:not([disabled]):hover {
124
- background-color: #b01b1b;
125
- opacity: 0.85;
126
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
127
- box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
128
- }
129
- #WBCR .wdan-button.wdan-button-warning:not([disabled]):active {
130
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
131
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
132
- }
133
- #WBCR .wdan-button.wdan-button-danger {
134
- background-color: #d72b3f;
135
- color: #fff;
136
- }
137
- #WBCR .wdan-button.wdan-button-danger[disabled] {
138
- background-color: #c2cbd2;
139
- }
140
- #WBCR .wdan-button.wdan-button-danger:not([disabled]):hover {
141
- opacity: 0.85;
142
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
143
- box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
144
- }
145
- #WBCR .wdan-button.wdan-button-danger:not([disabled]):active {
146
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
147
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
148
- }
149
- #WBCR .wdan-button.wdan-edit-template {
150
- display: inline-block;
151
- margin-top: 15px;
152
- color: #fff;
153
- }
154
- #WBCR .wdan-button.wdan-button-default {
155
- background-color: #a4afb7;
156
- color: #fff;
157
- font-size: 11px;
158
- padding: 7px 21px;
159
- }
160
- #WBCR .wdan-button.wdan-button-default:hover {
161
- background-color: #6d7882;
162
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
163
- box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
164
- }
165
- #WBCR .wdan-button.wdan-button-default:active {
166
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
167
- box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
168
- }
169
- #WBCR .wdan-button.wdan-button-default:visited {
170
- color: #fff;
171
- }
172
- #WBCR .wdan-button.wdan-button-go-pro {
173
- background-color: #ff5722;
174
- }
175
- #WBCR .wdan-button i {
176
- margin-right: 10px;
177
- }
178
- .wdan-hidden-list {
179
- padding: 0 15px;
180
- }
181
- .wdan-hidden-list-notice {
182
- background: #fff;
183
- border: 1px solid #ccd0d4;
184
- border-left-width: 4px;
185
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
186
- padding: 1px 12px;
187
- }
188
- .wdan-hidden-list-notice div.wdan-notice-p {
189
- margin: 0.5em 0;
190
- padding: 2px;
191
- }
192
- .wdan-hidden-list-notice div.wdan-notice-p div {
193
- width: 100%;
194
- }
195
- .wdan-hidden-list-table {
196
- border: 0;
197
- }
198
- .wdan-hidden-list-table tr > td:first-child {
199
- padding: 5px 0 5px;
200
- }
201
- .wdan-hidden-list-table tr > td:last-child {
202
- padding: 0 10px 0;
203
- text-align: center;
204
- }
205
- .wdan-hidden-list-table .wdan-notices-page-table-head td {
206
- font-size: 16px;
207
- text-transform: uppercase;
208
- padding: 10px !important;
209
- font-weight: bold;
210
- }
211
- .wdan-hidden-list-table .wdan-hidden-list-notice-action {
212
- vertical-align: middle;
213
- }
214
- .wdan-hidden-list-table .wdan-page-restore-notice-link-loader {
215
- background: url(../img/loader.gif);
216
- background-size: contain;
217
- background-repeat: no-repeat;
218
- background-position: top;
219
- }
 
1
+ #WBCR .factory-checkbox.wdanpro-checkbox-premium-label:after,
2
+ #WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
3
+ display: inline-block;
4
+ position: relative;
5
+ content: 'PRO';
6
+ background: #ff5722;
7
+ border-radius: 4px;
8
+ color: #fff;
9
+ font-size: 10px;
10
+ line-height: 1;
11
+ font-style: normal;
12
+ padding: 4px 6px;
13
+ margin-left: 4px;
14
+ vertical-align: top;
15
+ top: -8px;
16
+ left: -10px;
17
+ right: auto;
18
+ z-index: 11;
19
+ cursor: pointer;
20
+ }
21
+ #WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
22
+ position: absolute;
23
+ top: -10px;
24
+ right: -10px;
25
+ left: auto;
26
+ }
27
+ #WBCR .factory-checkbox-disabled input,
28
+ #WBCR .factory-checkbox-disabled button,
29
+ #WBCR .wdanpro-radio-premium-label .factory-compact_panel {
30
+ pointer-events: none;
31
+ cursor: not-allowed;
32
+ opacity: 0.65;
33
+ filter: alpha(opacity=65);
34
+ -webkit-box-shadow: none;
35
+ box-shadow: none;
36
+ }
37
+ #WBCR .wrdan-premium-fake-content {
38
+ position: relative;
39
+ padding: 15px;
40
+ }
41
+ #WBCR .wdan-premium-info {
42
+ position: absolute;
43
+ top: 50px;
44
+ left: 50%;
45
+ margin-left: -250px;
46
+ max-width: 500px;
47
+ z-index: 999;
48
+ }
49
+ #WBCR .wdan-premium-info h3 {
50
+ font-size: 32px;
51
+ font-weight: 300;
52
+ color: inherit;
53
+ margin: 40px 0 10px;
54
+ line-height: 1.2;
55
+ }
56
+ #WBCR .wdan-premium-info p {
57
+ font-size: 16px;
58
+ font-weight: 400;
59
+ color: #a4afb7;
60
+ margin-bottom: 40px;
61
+ }
62
+ #WBCR .wdan-premium-layer {
63
+ position: absolute;
64
+ top: 0;
65
+ left: 0;
66
+ right: 0;
67
+ bottom: 0;
68
+ opacity: 0.9;
69
+ background: #fff;
70
+ }
71
+ #WBCR .wdan-button {
72
+ font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
73
+ font-weight: 500;
74
+ text-transform: uppercase;
75
+ outline: none;
76
+ border: none;
77
+ text-decoration: none;
78
+ -webkit-border-radius: 3px;
79
+ border-radius: 3px;
80
+ -webkit-transition-property: background, color, opacity, -webkit-box-shadow;
81
+ transition-property: background, color, opacity, -webkit-box-shadow;
82
+ -o-transition-property: background, color, box-shadow, opacity;
83
+ transition-property: background, color, box-shadow, opacity;
84
+ transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
85
+ -webkit-transition-duration: 0.3s;
86
+ -o-transition-duration: 0.3s;
87
+ transition-duration: 0.3s;
88
+ }
89
+ #WBCR .wdan-button:hover {
90
+ border: none;
91
+ }
92
+ #WBCR .wdan-button:not([disabled]) {
93
+ cursor: pointer;
94
+ }
95
+ #WBCR .wdan-button:not(.wdan-button-state) .wdan-state-icon {
96
+ display: none;
97
+ }
98
+ #WBCR .wdan-button.wdan-button-success {
99
+ color: #fff;
100
+ }
101
+ #WBCR .wdan-button.wdan-button-success[disabled] {
102
+ background-color: #c2cbd2;
103
+ }
104
+ #WBCR .wdan-button.wdan-button-success:not([disabled]) {
105
+ background-color: #39b54a;
106
+ }
107
+ #WBCR .wdan-button.wdan-button-success:not([disabled]):hover {
108
+ opacity: 0.85;
109
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
110
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
111
+ }
112
+ #WBCR .wdan-button.wdan-button-success:not([disabled]):active {
113
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
114
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
115
+ }
116
+ #WBCR .wdan-button.wdan-button-warning {
117
+ background-color: #a4afb7;
118
+ color: #fff;
119
+ }
120
+ #WBCR .wdan-button.wdan-button-warning[disabled] {
121
+ background-color: #c2cbd2;
122
+ }
123
+ #WBCR .wdan-button.wdan-button-warning:not([disabled]):hover {
124
+ background-color: #b01b1b;
125
+ opacity: 0.85;
126
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
127
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
128
+ }
129
+ #WBCR .wdan-button.wdan-button-warning:not([disabled]):active {
130
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
131
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
132
+ }
133
+ #WBCR .wdan-button.wdan-button-danger {
134
+ background-color: #d72b3f;
135
+ color: #fff;
136
+ }
137
+ #WBCR .wdan-button.wdan-button-danger[disabled] {
138
+ background-color: #c2cbd2;
139
+ }
140
+ #WBCR .wdan-button.wdan-button-danger:not([disabled]):hover {
141
+ opacity: 0.85;
142
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
143
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
144
+ }
145
+ #WBCR .wdan-button.wdan-button-danger:not([disabled]):active {
146
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
147
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
148
+ }
149
+ #WBCR .wdan-button.wdan-edit-template {
150
+ display: inline-block;
151
+ margin-top: 15px;
152
+ color: #fff;
153
+ }
154
+ #WBCR .wdan-button.wdan-button-default {
155
+ background-color: #a4afb7;
156
+ color: #fff;
157
+ font-size: 11px;
158
+ padding: 7px 21px;
159
+ }
160
+ #WBCR .wdan-button.wdan-button-default:hover {
161
+ background-color: #6d7882;
162
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
163
+ box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
164
+ }
165
+ #WBCR .wdan-button.wdan-button-default:active {
166
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
167
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
168
+ }
169
+ #WBCR .wdan-button.wdan-button-default:visited {
170
+ color: #fff;
171
+ }
172
+ #WBCR .wdan-button.wdan-button-go-pro {
173
+ background-color: #ff5722;
174
+ }
175
+ #WBCR .wdan-button i {
176
+ margin-right: 10px;
177
+ }
178
+ .wdan-hidden-list {
179
+ padding: 0 15px;
180
+ }
181
+ .wdan-hidden-list-notice {
182
+ background: #fff;
183
+ border: 1px solid #ccd0d4;
184
+ border-left-width: 4px;
185
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
186
+ padding: 1px 12px;
187
+ }
188
+ .wdan-hidden-list-notice div.wdan-notice-p {
189
+ margin: 0.5em 0;
190
+ padding: 2px;
191
+ }
192
+ .wdan-hidden-list-notice div.wdan-notice-p div {
193
+ width: 100%;
194
+ }
195
+ .wdan-hidden-list-table {
196
+ border: 0;
197
+ }
198
+ .wdan-hidden-list-table tr > td:first-child {
199
+ padding: 5px 0 5px;
200
+ }
201
+ .wdan-hidden-list-table tr > td:last-child {
202
+ padding: 0 10px 0;
203
+ text-align: center;
204
+ }
205
+ .wdan-hidden-list-table .wdan-notices-page-table-head td {
206
+ font-size: 16px;
207
+ text-transform: uppercase;
208
+ padding: 10px !important;
209
+ font-weight: bold;
210
+ }
211
+ .wdan-hidden-list-table .wdan-hidden-list-notice-action {
212
+ vertical-align: middle;
213
+ }
214
+ .wdan-hidden-list-table .wdan-page-restore-notice-link-loader {
215
+ background: url(../img/loader.gif);
216
+ background-size: contain;
217
+ background-repeat: no-repeat;
218
+ background-position: top;
219
+ }
220
+ /*# sourceMappingURL=settings.css.map */
admin/assets/css/settings.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["settings.less"],"names":[],"mappings":"AAAA,KACE,kBAAiB,+BAA+B;AADlD,KAEE,6BAA6B,uBAAsB;EACjD,qBAAA;EACA,kBAAA;EACA,SAAS,KAAT;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,eAAA;EACA,cAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;EACA,eAAA;;AAnBJ,KAsBE,6BAA6B,uBAAsB;EACjD,kBAAA;EACA,UAAA;EACA,YAAA;EACA,UAAA;;AA1BJ,KA6BE,2BAA2B;AA7B7B,KA8BE,2BAA2B;AA9B7B,KA+BE,6BAA6B;EAC3B,oBAAA;EACA,mBAAA;EACA,aAAA;EACA,yBAAA;EACA,wBAAA;EACA,gBAAA;;AArCJ,KAwCE;EACE,kBAAA;EACA,aAAA;;AA1CJ,KA8CE;EACE,kBAAA;EACA,SAAA;EACA,SAAA;EACA,mBAAA;EACA,gBAAA;EACA,YAAA;;AApDJ,KA8CE,mBAQE;EACE,eAAA;EACA,gBAAA;EACA,cAAA;EACA,mBAAA;EACA,gBAAA;;AA3DN,KA8CE,mBAgBE;EACE,eAAA;EACA,gBAAA;EACA,cAAA;EACA,mBAAA;;AAlEN,KAsEE;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,YAAA;EACA,gBAAA;;AA7EJ,KAkFE;EACE,0DAAA;EACA,gBAAA;EACA,yBAAA;EACA,aAAA;EACA,YAAA;EACA,qBAAA;EACA,0BAAA;EACA,kBAAA;EACA,2EAAA;EACA,mEAAA;EACA,8DAAA;EACA,2DAAA;EACA,+EAAA;EACA,iCAAA;EACA,4BAAA;EACA,yBAAA;;AAlGJ,KAqGE,aAAY;EACV,YAAA;;AAtGJ,KAyGE,aAAY,IAAI;EACd,eAAA;;AA1GJ,KA6GE,aAAY,IAAI,oBAAqB;EACnC,aAAA;;AA9GJ,KAiHE,aAAY;EACV,WAAA;;AAlHJ,KAqHE,aAAY,oBAAoB;EAC9B,yBAAA;;AAtHJ,KAyHE,aAAY,oBAAoB,IAAI;EAClC,yBAAA;;AA1HJ,KA6HE,aAAY,oBAAoB,IAAI,YAAY;EAC9C,aAAA;EACA,6EAAA;EACA,qEAAA;;AAhIJ,KAmIE,aAAY,oBAAoB,IAAI,YAAY;EAC9C,gFAAA;EACA,wEAAA;;AArIJ,KAwIE,aAAY;EACV,yBAAA;EACA,WAAA;;AA1IJ,KA6IE,aAAY,oBAAoB;EAC9B,yBAAA;;AA9IJ,KAiJE,aAAY,oBAAoB,IAAI,YAAY;EAC9C,yBAAA;EACA,aAAA;EACA,6EAAA;EACA,qEAAA;;AArJJ,KAwJE,aAAY,oBAAoB,IAAI,YAAY;EAC9C,gFAAA;EACA,wEAAA;;AA1JJ,KA6JE,aAAY;EACV,yBAAA;EACA,WAAA;;AA/JJ,KAkKE,aAAY,mBAAmB;EAC7B,yBAAA;;AAnKJ,KAsKE,aAAY,mBAAmB,IAAI,YAAY;EAC7C,aAAA;EACA,6EAAA;EACA,qEAAA;;AAzKJ,KA4KE,aAAY,mBAAmB,IAAI,YAAY;EAC7C,gFAAA;EACA,wEAAA;;AA9KJ,KAiLE,aAAY;EACV,qBAAA;EACA,gBAAA;EACA,WAAA;;AApLJ,KAuLE,aAAY;EACV,yBAAA;EACA,WAAA;EACA,eAAA;EACA,iBAAA;;AA3LJ,KA8LE,aAAY,oBAAoB;EAC9B,yBAAA;EACA,6EAAA;EACA,qEAAA;;AAjMJ,KAoME,aAAY,oBAAoB;EAC9B,gFAAA;EACA,wEAAA;;AAtMJ,KAyME,aAAY,oBAAoB;EAC9B,WAAA;;AA1MJ,KA6ME,aAAY;EACV,yBAAA;;AA9MJ,KAiNE,aAAa;EACX,kBAAA;;AAKJ;EACE,eAAA;;AAGF;EACE,gBAAA;EACA,yBAAA;EACA,sBAAA;EACA,yCAAA;EACA,iBAAA;;AALF,wBAOE,IAAG;EACD,eAAA;EACA,YAAA;;AAEA,wBAJF,IAAG,cAIC;EACA,WAAA;;AAKN;EACE,SAAA;;AADF,uBAGE,GAAG,KAAI;EACL,kBAAA;;AAJJ,uBAOE,GAAG,KAAI;EACL,iBAAA;EACA,kBAAA;;AATJ,uBAYE,8BAA8B;EAC5B,eAAA;EACA,yBAAA;EACA,wBAAA;EACA,iBAAA;;AAhBJ,uBAmBE;EACE,sBAAA;;AApBJ,uBAuBE;EACE,kCAAA;EACA,wBAAA;EACA,4BAAA;EACA,wBAAA","file":"settings.css"}
admin/assets/css/settings.less CHANGED
@@ -1,266 +1,266 @@
1
- #WBCR {
2
- .factory-checkbox.wdanpro-checkbox-premium-label:after,
3
- .wdanpro-radio-premium-label .factory-compact_panel:after {
4
- display: inline-block;
5
- position: relative;
6
- content: 'PRO';
7
- background: #ff5722;
8
- border-radius: 4px;
9
- color: #fff;
10
- font-size: 10px;
11
- line-height: 1;
12
- font-style: normal;
13
- padding: 4px 6px;
14
- margin-left: 4px;
15
- vertical-align: top;
16
- top: -8px;
17
- left: -10px;
18
- right: auto;
19
- z-index: 11;
20
- cursor: pointer;
21
- }
22
-
23
- .wdanpro-radio-premium-label .factory-compact_panel:after {
24
- position: absolute;
25
- top: -10px;
26
- right: -10px;
27
- left: auto;
28
- }
29
-
30
- .factory-checkbox-disabled input,
31
- .factory-checkbox-disabled button,
32
- .wdanpro-radio-premium-label .factory-compact_panel {
33
- pointer-events: none;
34
- cursor: not-allowed;
35
- opacity: 0.65;
36
- filter: alpha(opacity=65);
37
- -webkit-box-shadow: none;
38
- box-shadow: none;
39
- }
40
-
41
- .wrdan-premium-fake-content {
42
- position: relative;
43
- padding: 15px;
44
-
45
- }
46
-
47
- .wdan-premium-info {
48
- position: absolute;
49
- top: 50px;
50
- left: 50%;
51
- margin-left: -250px;
52
- max-width: 500px;
53
- z-index: 999;
54
-
55
- h3 {
56
- font-size: 32px;
57
- font-weight: 300;
58
- color: inherit;
59
- margin: 40px 0 10px;
60
- line-height: 1.2;
61
- }
62
-
63
- p {
64
- font-size: 16px;
65
- font-weight: 400;
66
- color: #a4afb7;
67
- margin-bottom: 40px;
68
- }
69
- }
70
-
71
- .wdan-premium-layer {
72
- position: absolute;
73
- top: 0;
74
- left: 0;
75
- right: 0;
76
- bottom: 0;
77
- opacity: 0.9;
78
- background: #fff;
79
-
80
-
81
- }
82
-
83
- .wdan-button {
84
- font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
85
- font-weight: 500;
86
- text-transform: uppercase;
87
- outline: none;
88
- border: none;
89
- text-decoration: none;
90
- -webkit-border-radius: 3px;
91
- border-radius: 3px;
92
- -webkit-transition-property: background, color, opacity, -webkit-box-shadow;
93
- transition-property: background, color, opacity, -webkit-box-shadow;
94
- -o-transition-property: background, color, box-shadow, opacity;
95
- transition-property: background, color, box-shadow, opacity;
96
- transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
97
- -webkit-transition-duration: .3s;
98
- -o-transition-duration: .3s;
99
- transition-duration: .3s
100
- }
101
-
102
- .wdan-button:hover {
103
- border: none
104
- }
105
-
106
- .wdan-button:not([disabled]) {
107
- cursor: pointer
108
- }
109
-
110
- .wdan-button:not(.wdan-button-state) .wdan-state-icon {
111
- display: none
112
- }
113
-
114
- .wdan-button.wdan-button-success {
115
- color: #fff
116
- }
117
-
118
- .wdan-button.wdan-button-success[disabled] {
119
- background-color: #c2cbd2
120
- }
121
-
122
- .wdan-button.wdan-button-success:not([disabled]) {
123
- background-color: #39b54a
124
- }
125
-
126
- .wdan-button.wdan-button-success:not([disabled]):hover {
127
- opacity: .85;
128
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
129
- box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
130
- }
131
-
132
- .wdan-button.wdan-button-success:not([disabled]):active {
133
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
134
- box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
135
- }
136
-
137
- .wdan-button.wdan-button-warning {
138
- background-color: #a4afb7;
139
- color: #fff
140
- }
141
-
142
- .wdan-button.wdan-button-warning[disabled] {
143
- background-color: #c2cbd2
144
- }
145
-
146
- .wdan-button.wdan-button-warning:not([disabled]):hover {
147
- background-color: #b01b1b;
148
- opacity: .85;
149
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
150
- box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
151
- }
152
-
153
- .wdan-button.wdan-button-warning:not([disabled]):active {
154
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
155
- box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
156
- }
157
-
158
- .wdan-button.wdan-button-danger {
159
- background-color: #d72b3f;
160
- color: #fff
161
- }
162
-
163
- .wdan-button.wdan-button-danger[disabled] {
164
- background-color: #c2cbd2
165
- }
166
-
167
- .wdan-button.wdan-button-danger:not([disabled]):hover {
168
- opacity: .85;
169
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
170
- box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
171
- }
172
-
173
- .wdan-button.wdan-button-danger:not([disabled]):active {
174
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
175
- box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
176
- }
177
-
178
- .wdan-button.wdan-edit-template {
179
- display: inline-block;
180
- margin-top: 15px;
181
- color: #fff
182
- }
183
-
184
- .wdan-button.wdan-button-default {
185
- background-color: #a4afb7;
186
- color: #fff;
187
- font-size: 11px;
188
- padding: 7px 21px
189
- }
190
-
191
- .wdan-button.wdan-button-default:hover {
192
- background-color: #6d7882;
193
- -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
194
- box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
195
- }
196
-
197
- .wdan-button.wdan-button-default:active {
198
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
199
- box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
200
- }
201
-
202
- .wdan-button.wdan-button-default:visited {
203
- color: #fff
204
- }
205
-
206
- .wdan-button.wdan-button-go-pro {
207
- background-color: #ff5722
208
- }
209
-
210
- .wdan-button i {
211
- margin-right: 10px
212
- }
213
-
214
- }
215
-
216
- .wdan-hidden-list {
217
- padding: 0 15px;
218
- }
219
-
220
- .wdan-hidden-list-notice {
221
- background: #fff;
222
- border: 1px solid #ccd0d4;
223
- border-left-width: 4px;
224
- box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
225
- padding: 1px 12px;
226
-
227
- div.wdan-notice-p {
228
- margin: 0.5em 0;
229
- padding: 2px;
230
-
231
- & div{
232
- width: 100%;
233
- }
234
- }
235
- }
236
-
237
- .wdan-hidden-list-table {
238
- border: 0;
239
-
240
- tr > td:first-child {
241
- padding: 5px 0 5px;
242
- }
243
-
244
- tr > td:last-child {
245
- padding: 0 10px 0;
246
- text-align: center;
247
- }
248
-
249
- .wdan-notices-page-table-head td {
250
- font-size: 16px;
251
- text-transform: uppercase;
252
- padding: 10px !important;
253
- font-weight: bold;
254
- }
255
-
256
- .wdan-hidden-list-notice-action {
257
- vertical-align: middle;
258
- }
259
-
260
- .wdan-page-restore-notice-link-loader {
261
- background: url(../img/loader.gif);
262
- background-size: contain;
263
- background-repeat: no-repeat;
264
- background-position: top;
265
- }
266
- }
1
+ #WBCR {
2
+ .factory-checkbox.wdanpro-checkbox-premium-label:after,
3
+ .wdanpro-radio-premium-label .factory-compact_panel:after {
4
+ display: inline-block;
5
+ position: relative;
6
+ content: 'PRO';
7
+ background: #ff5722;
8
+ border-radius: 4px;
9
+ color: #fff;
10
+ font-size: 10px;
11
+ line-height: 1;
12
+ font-style: normal;
13
+ padding: 4px 6px;
14
+ margin-left: 4px;
15
+ vertical-align: top;
16
+ top: -8px;
17
+ left: -10px;
18
+ right: auto;
19
+ z-index: 11;
20
+ cursor: pointer;
21
+ }
22
+
23
+ .wdanpro-radio-premium-label .factory-compact_panel:after {
24
+ position: absolute;
25
+ top: -10px;
26
+ right: -10px;
27
+ left: auto;
28
+ }
29
+
30
+ .factory-checkbox-disabled input,
31
+ .factory-checkbox-disabled button,
32
+ .wdanpro-radio-premium-label .factory-compact_panel {
33
+ pointer-events: none;
34
+ cursor: not-allowed;
35
+ opacity: 0.65;
36
+ filter: alpha(opacity=65);
37
+ -webkit-box-shadow: none;
38
+ box-shadow: none;
39
+ }
40
+
41
+ .wrdan-premium-fake-content {
42
+ position: relative;
43
+ padding: 15px;
44
+
45
+ }
46
+
47
+ .wdan-premium-info {
48
+ position: absolute;
49
+ top: 50px;
50
+ left: 50%;
51
+ margin-left: -250px;
52
+ max-width: 500px;
53
+ z-index: 999;
54
+
55
+ h3 {
56
+ font-size: 32px;
57
+ font-weight: 300;
58
+ color: inherit;
59
+ margin: 40px 0 10px;
60
+ line-height: 1.2;
61
+ }
62
+
63
+ p {
64
+ font-size: 16px;
65
+ font-weight: 400;
66
+ color: #a4afb7;
67
+ margin-bottom: 40px;
68
+ }
69
+ }
70
+
71
+ .wdan-premium-layer {
72
+ position: absolute;
73
+ top: 0;
74
+ left: 0;
75
+ right: 0;
76
+ bottom: 0;
77
+ opacity: 0.9;
78
+ background: #fff;
79
+
80
+
81
+ }
82
+
83
+ .wdan-button {
84
+ font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
85
+ font-weight: 500;
86
+ text-transform: uppercase;
87
+ outline: none;
88
+ border: none;
89
+ text-decoration: none;
90
+ -webkit-border-radius: 3px;
91
+ border-radius: 3px;
92
+ -webkit-transition-property: background, color, opacity, -webkit-box-shadow;
93
+ transition-property: background, color, opacity, -webkit-box-shadow;
94
+ -o-transition-property: background, color, box-shadow, opacity;
95
+ transition-property: background, color, box-shadow, opacity;
96
+ transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
97
+ -webkit-transition-duration: .3s;
98
+ -o-transition-duration: .3s;
99
+ transition-duration: .3s
100
+ }
101
+
102
+ .wdan-button:hover {
103
+ border: none
104
+ }
105
+
106
+ .wdan-button:not([disabled]) {
107
+ cursor: pointer
108
+ }
109
+
110
+ .wdan-button:not(.wdan-button-state) .wdan-state-icon {
111
+ display: none
112
+ }
113
+
114
+ .wdan-button.wdan-button-success {
115
+ color: #fff
116
+ }
117
+
118
+ .wdan-button.wdan-button-success[disabled] {
119
+ background-color: #c2cbd2
120
+ }
121
+
122
+ .wdan-button.wdan-button-success:not([disabled]) {
123
+ background-color: #39b54a
124
+ }
125
+
126
+ .wdan-button.wdan-button-success:not([disabled]):hover {
127
+ opacity: .85;
128
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
129
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
130
+ }
131
+
132
+ .wdan-button.wdan-button-success:not([disabled]):active {
133
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
134
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
135
+ }
136
+
137
+ .wdan-button.wdan-button-warning {
138
+ background-color: #a4afb7;
139
+ color: #fff
140
+ }
141
+
142
+ .wdan-button.wdan-button-warning[disabled] {
143
+ background-color: #c2cbd2
144
+ }
145
+
146
+ .wdan-button.wdan-button-warning:not([disabled]):hover {
147
+ background-color: #b01b1b;
148
+ opacity: .85;
149
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
150
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
151
+ }
152
+
153
+ .wdan-button.wdan-button-warning:not([disabled]):active {
154
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
155
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
156
+ }
157
+
158
+ .wdan-button.wdan-button-danger {
159
+ background-color: #d72b3f;
160
+ color: #fff
161
+ }
162
+
163
+ .wdan-button.wdan-button-danger[disabled] {
164
+ background-color: #c2cbd2
165
+ }
166
+
167
+ .wdan-button.wdan-button-danger:not([disabled]):hover {
168
+ opacity: .85;
169
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
170
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
171
+ }
172
+
173
+ .wdan-button.wdan-button-danger:not([disabled]):active {
174
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
175
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
176
+ }
177
+
178
+ .wdan-button.wdan-edit-template {
179
+ display: inline-block;
180
+ margin-top: 15px;
181
+ color: #fff
182
+ }
183
+
184
+ .wdan-button.wdan-button-default {
185
+ background-color: #a4afb7;
186
+ color: #fff;
187
+ font-size: 11px;
188
+ padding: 7px 21px
189
+ }
190
+
191
+ .wdan-button.wdan-button-default:hover {
192
+ background-color: #6d7882;
193
+ -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2);
194
+ box-shadow: 0 0 2px rgba(0, 0, 0, .12), 0 2px 2px rgba(0, 0, 0, .2)
195
+ }
196
+
197
+ .wdan-button.wdan-button-default:active {
198
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1);
199
+ box-shadow: 0 5px 10px rgba(0, 0, 0, .19), 0 3px 3px rgba(0, 0, 0, .1)
200
+ }
201
+
202
+ .wdan-button.wdan-button-default:visited {
203
+ color: #fff
204
+ }
205
+
206
+ .wdan-button.wdan-button-go-pro {
207
+ background-color: #ff5722
208
+ }
209
+
210
+ .wdan-button i {
211
+ margin-right: 10px
212
+ }
213
+
214
+ }
215
+
216
+ .wdan-hidden-list {
217
+ padding: 0 15px;
218
+ }
219
+
220
+ .wdan-hidden-list-notice {
221
+ background: #fff;
222
+ border: 1px solid #ccd0d4;
223
+ border-left-width: 4px;
224
+ box-shadow: 0 1px 1px rgba(0, 0, 0, .04);
225
+ padding: 1px 12px;
226
+
227
+ div.wdan-notice-p {
228
+ margin: 0.5em 0;
229
+ padding: 2px;
230
+
231
+ & div{
232
+ width: 100%;
233
+ }
234
+ }
235
+ }
236
+
237
+ .wdan-hidden-list-table {
238
+ border: 0;
239
+
240
+ tr > td:first-child {
241
+ padding: 5px 0 5px;
242
+ }
243
+
244
+ tr > td:last-child {
245
+ padding: 0 10px 0;
246
+ text-align: center;
247
+ }
248
+
249
+ .wdan-notices-page-table-head td {
250
+ font-size: 16px;
251
+ text-transform: uppercase;
252
+ padding: 10px !important;
253
+ font-weight: bold;
254
+ }
255
+
256
+ .wdan-hidden-list-notice-action {
257
+ vertical-align: middle;
258
+ }
259
+
260
+ .wdan-page-restore-notice-link-loader {
261
+ background: url(../img/loader.gif);
262
+ background-size: contain;
263
+ background-repeat: no-repeat;
264
+ background-position: top;
265
+ }
266
+ }
admin/assets/img/hide-icon-white.svg CHANGED
@@ -1,25 +1,25 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
- "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
- <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
- width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
6
- preserveAspectRatio="xMidYMid meet">
7
-
8
- <g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
9
- fill="#ffffff" stroke="none">
10
- <path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
11
- -92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
12
- -502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
13
- -157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
14
- -880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
15
- -30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
16
- -89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
17
- -124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
18
- 53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
19
- -89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
20
- <path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
21
- 42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
22
- -81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
23
- 199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
24
- </g>
25
- </svg>
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+
8
+ <g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
9
+ fill="#ffffff" stroke="none">
10
+ <path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
11
+ -92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
12
+ -502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
13
+ -157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
14
+ -880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
15
+ -30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
16
+ -89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
17
+ -124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
18
+ 53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
19
+ -89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
20
+ <path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
21
+ 42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
22
+ -81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
23
+ 199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
24
+ </g>
25
+ </svg>
admin/assets/img/hide-icon.svg CHANGED
@@ -1,25 +1,25 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
- "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
- <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
- width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
6
- preserveAspectRatio="xMidYMid meet">
7
-
8
- <g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
9
- fill="#ed3c48" stroke="none">
10
- <path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
11
- -92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
12
- -502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
13
- -157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
14
- -880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
15
- -30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
16
- -89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
17
- -124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
18
- 53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
19
- -89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
20
- <path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
21
- 42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
22
- -81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
23
- 199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
24
- </g>
25
- </svg>
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+
8
+ <g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
9
+ fill="#ed3c48" stroke="none">
10
+ <path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
11
+ -92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
12
+ -502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
13
+ -157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
14
+ -880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
15
+ -30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
16
+ -89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
17
+ -124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
18
+ 53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
19
+ -89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
20
+ <path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
21
+ 42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
22
+ -81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
23
+ 199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
24
+ </g>
25
+ </svg>
admin/assets/js/notifications-panel.js CHANGED
@@ -1,59 +1,59 @@
1
- /**
2
- * Notification panel
3
- * @author Webcraftic <wordpress.webraftic@gmail.com>
4
- * @copyright (c) 10.09.2017, Webcraftic
5
- * @version 1.0
6
- */
7
-
8
- (function($) {
9
- 'use strict';
10
-
11
- $(document).ready(function() {
12
- $(document).on('click', '.wbcr-han-panel-restore-notify-link', function() {
13
-
14
- var self = $(this),
15
- noticeID = $(this).data('notice-id'),
16
- nonce = $(this).data('nonce'),
17
- counterEl = $('.wbcr-han-adminbar-counter');
18
-
19
- if( !noticeID ) {
20
- alert('Undefinded error. Please report the bug to our support forum.');
21
- }
22
-
23
- self.closest('li').hide();
24
-
25
- $.ajax(ajaxurl, {
26
- type: 'post',
27
- dataType: 'json',
28
- data: {
29
- action: 'wbcr-dan-restore-notice',
30
- security: nonce,
31
- notice_id: noticeID
32
- },
33
- success: function(response) {
34
- if( !response || !response.success ) {
35
-
36
- if( response.data.error_message ) {
37
- console.log(response.data.error_message);
38
- self.closest('li').show();
39
- } else {
40
- console.log(response);
41
- }
42
-
43
- return;
44
- }
45
-
46
- counterEl.text(counterEl.text() - 1);
47
- self.closest('li').remove();
48
- },
49
- error: function(xhr, ajaxOptions, thrownError) {
50
- console.log(xhr.status);
51
- console.log(xhr.responseText);
52
- console.log(thrownError);
53
- }
54
- });
55
-
56
- return false;
57
- });
58
- });
59
- })(jQuery);
1
+ /**
2
+ * Notification panel
3
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
4
+ * @copyright (c) 10.09.2017, Webcraftic
5
+ * @version 1.0
6
+ */
7
+
8
+ (function($) {
9
+ 'use strict';
10
+
11
+ $(document).ready(function() {
12
+ $(document).on('click', '.wbcr-han-panel-restore-notify-link', function() {
13
+
14
+ var self = $(this),
15
+ noticeID = $(this).data('notice-id'),
16
+ nonce = $(this).data('nonce'),
17
+ counterEl = $('.wbcr-han-adminbar-counter');
18
+
19
+ if( !noticeID ) {
20
+ alert('Undefinded error. Please report the bug to our support forum.');
21
+ }
22
+
23
+ self.closest('li').hide();
24
+
25
+ $.ajax(ajaxurl, {
26
+ type: 'post',
27
+ dataType: 'json',
28
+ data: {
29
+ action: 'wbcr-dan-restore-notice',
30
+ security: nonce,
31
+ notice_id: noticeID
32
+ },
33
+ success: function(response) {
34
+ if( !response || !response.success ) {
35
+
36
+ if( response.data.error_message ) {
37
+ console.log(response.data.error_message);
38
+ self.closest('li').show();
39
+ } else {
40
+ console.log(response);
41
+ }
42
+
43
+ return;
44
+ }
45
+
46
+ counterEl.text(counterEl.text() - 1);
47
+ self.closest('li').remove();
48
+ },
49
+ error: function(xhr, ajaxOptions, thrownError) {
50
+ console.log(xhr.status);
51
+ console.log(xhr.responseText);
52
+ console.log(thrownError);
53
+ }
54
+ });
55
+
56
+ return false;
57
+ });
58
+ });
59
+ })(jQuery);
admin/assets/js/settings.js CHANGED
@@ -1,69 +1,69 @@
1
- /**
2
- * General
3
- * @author Webcraftic <wordpress.webraftic@gmail.com>
4
- * @copyright (c) 2020, Webcraftic
5
- * @version 1.0
6
- */
7
-
8
- (function ($) {
9
-
10
- function dan_pro_href(e) {
11
- var pro_href = "https://clearfy.pro/disable-admin-notices/";
12
- e.stopPropagation();
13
- window.open(pro_href, '_blank');
14
- }
15
-
16
- $('.factory-checkbox.wdanpro-checkbox-premium-label').click(dan_pro_href);
17
- $('.wdanpro-radio-premium-label .factory-compact_panel').click(dan_pro_href);
18
-
19
- $(document).on('click', '.wdan-page-restore-notice-link', function () {
20
- var self = $(this),
21
- noticeID = $(this).data('notice-id'),
22
- nonce = $(this).data('nonce'),
23
- counterEl = $('.wbcr-han-adminbar-counter');
24
-
25
- if (!noticeID) {
26
- alert('Undefinded error. Please report the bug to our support forum.');
27
- }
28
-
29
- self.hide();
30
- self.parent().find('.wdan-page-restore-notice-link-loader').show();
31
-
32
-
33
- $.ajax(ajaxurl, {
34
- type: 'post',
35
- dataType: 'json',
36
- data: {
37
- action: 'wbcr-dan-restore-notice',
38
- security: nonce,
39
- notice_id: noticeID
40
- },
41
- success: function (response) {
42
- if (!response || !response.success) {
43
-
44
- if (response.data.error_message) {
45
- console.log(response.data.error_message);
46
- self.closest('li').show();
47
- } else {
48
- console.log(response);
49
- }
50
-
51
- return;
52
- }
53
-
54
- counterEl.text(counterEl.text() - 1);
55
- self.closest('tr').hide();
56
- self.closest('tr').remove();
57
- },
58
- error: function (xhr, ajaxOptions, thrownError) {
59
- console.log(xhr.status);
60
- console.log(xhr.responseText);
61
- console.log(thrownError);
62
- }
63
- });
64
-
65
- return false;
66
- });
67
-
68
-
69
- })(jQuery);
1
+ /**
2
+ * General
3
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
4
+ * @copyright (c) 2020, Webcraftic
5
+ * @version 1.0
6
+ */
7
+
8
+ (function ($) {
9
+
10
+ function dan_pro_href(e) {
11
+ var pro_href = "https://clearfy.pro/disable-admin-notices/";
12
+ e.stopPropagation();
13
+ window.open(pro_href, '_blank');
14
+ }
15
+
16
+ $('.factory-checkbox.wdanpro-checkbox-premium-label').click(dan_pro_href);
17
+ $('.wdanpro-radio-premium-label .factory-compact_panel').click(dan_pro_href);
18
+
19
+ $(document).on('click', '.wdan-page-restore-notice-link', function () {
20
+ var self = $(this),
21
+ noticeID = $(this).data('notice-id'),
22
+ nonce = $(this).data('nonce'),
23
+ counterEl = $('.wbcr-han-adminbar-counter');
24
+
25
+ if (!noticeID) {
26
+ alert('Undefinded error. Please report the bug to our support forum.');
27
+ }
28
+
29
+ self.hide();
30
+ self.parent().find('.wdan-page-restore-notice-link-loader').show();
31
+
32
+
33
+ $.ajax(ajaxurl, {
34
+ type: 'post',
35
+ dataType: 'json',
36
+ data: {
37
+ action: 'wbcr-dan-restore-notice',
38
+ security: nonce,
39
+ notice_id: noticeID
40
+ },
41
+ success: function (response) {
42
+ if (!response || !response.success) {
43
+
44
+ if (response.data.error_message) {
45
+ console.log(response.data.error_message);
46
+ self.closest('li').show();
47
+ } else {
48
+ console.log(response);
49
+ }
50
+
51
+ return;
52
+ }
53
+
54
+ counterEl.text(counterEl.text() - 1);
55
+ self.closest('tr').hide();
56
+ self.closest('tr').remove();
57
+ },
58
+ error: function (xhr, ajaxOptions, thrownError) {
59
+ console.log(xhr.status);
60
+ console.log(xhr.responseText);
61
+ console.log(thrownError);
62
+ }
63
+ });
64
+
65
+ return false;
66
+ });
67
+
68
+
69
+ })(jQuery);
admin/boot.php CHANGED
@@ -1,120 +1,116 @@
1
- <?php
2
- /**
3
- * Файл использует для реализации коротких сниппетов. Обычно сниппеты относятся к интеграции
4
- * или каким мелким исправлениям и фиксам в интерфейсе этого плагина.
5
- *
6
- * Github: https://github.com/alexkovalevv
7
- *
8
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
9
- * @copyright (c) 2018 Webraftic Ltd
10
- * @version 1.0
11
- */
12
-
13
- // Exit if accessed directly
14
- if ( ! defined( 'ABSPATH' ) ) {
15
- exit;
16
- }
17
-
18
- if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
19
- add_filter( 'plugin_row_meta', function ( $links, $file ) {
20
- if ( $file == WDN_PLUGIN_BASE ) {
21
- $url = 'https://clearfy.pro';
22
-
23
- if ( get_locale() == 'ru_RU' ) {
24
- $url = 'https://ru.clearfy.pro';
25
- }
26
- $url .= '?utm_source=wordpress.org&utm_campaign=' . WDN_Plugin::app()->getPluginName();
27
- $links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get ultimate plugin free', 'disable-admin-notices' ) . '</a>';
28
- }
29
-
30
- return $links;
31
- }, 10, 2 );
32
-
33
- /**
34
- * Изменяем ссылку по умолчанию на собственную в виджете "Голосу за нас".
35
- *
36
- * Ссылка ведет на страницу рейтинга в репозитори Wordpress.org
37
- * https://wordpress.org/support/plugin/disable-admin-notices/reviews/
38
- *
39
- * @param string $page_url
40
- * @param string $plugin_name
41
- *
42
- * @return string
43
- * @since 1.0
44
- *
45
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
46
- */
47
- add_filter( 'wbcr_factory_pages_438_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
48
- if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
49
- return 'https://goo.gl/68ucHp';
50
- }
51
-
52
- return $page_url;
53
- }, 10, 2 );
54
-
55
- /**
56
- * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
57
- *
58
- * - Виджет с премиум рекламой
59
- * - Виджет с рейтингом
60
- * - Виджет с маркерами информации
61
- */
62
- add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
63
- if ( WDN_Plugin::app()->getPluginName() == $plugin->getPluginName() && 'right' == $position ) {
64
- unset( $widgets['business_suggetion'] );
65
- unset( $widgets['rating_widget'] );
66
- unset( $widgets['info_widget'] );
67
- }
68
-
69
- return $widgets;
70
- }, 20, 3 );
71
- } else {
72
- /**
73
- * Регистрируем опции плагина в Clearfy, чтобы тот мог совершать манипуляции с опциями этого плагина.
74
- * Обычно такие манипуляции относятся к быстрым настройкам, сбросу настроек.
75
- *
76
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
77
- * @since 1.0
78
- */
79
- add_filter( "wbcr_clearfy_group_options", function ( $options ) {
80
- $options[] = [
81
- 'name' => 'hide_admin_notices',
82
- 'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
83
- 'tags' => [],
84
- 'values' => [ 'hide_admin_notices' => 'only_selected' ]
85
- ];
86
- $options[] = [
87
- 'name' => 'show_notices_in_adminbar',
88
- 'title' => __( 'Enable hidden notices in adminbar', 'disable-admin-notices' ),
89
- 'tags' => []
90
- ];
91
-
92
- return $options;
93
- } );
94
- }
95
-
96
- /**
97
- * Print admin notice: "Would you like to send them for spam checking?"
98
- *
99
- * If user clicked button "Yes, do it", plugin will exec action,
100
- * that put all unapproved comments to spam check queue.
101
- */
102
- add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
103
- if ( $plugin_name != WDN_Plugin::app()->getPluginName() || 'wbcr_clearfy' === $plugin_name ) {
104
- return $notices;
105
- }
106
-
107
- $page_url = 'https://clearfy.pro/disable-admin-notices/';
108
-
109
- $notice_text = sprintf( __( 'Thanks for using the Disable admin notices plugin! If you need support or all the features of the plugin, please buy the pro version <a class="button" href="%s">Get PRO</a>' ), $page_url );
110
-
111
- $notices[] = [
112
- 'id' => 'wdan_get_premium',
113
- 'type' => 'success',
114
- 'dismissible' => true,
115
- 'dismiss_expires' => 0,
116
- 'text' => '<p><strong>Disable Admin Notices Individually:</strong><br>' . $notice_text . '</p>'
117
- ];
118
-
119
- return $notices;
120
  }, 10, 2 );
1
+ <?php
2
+ /**
3
+ * Файл использует для реализации коротких сниппетов. Обычно сниппеты относятся к интеграции
4
+ * или каким мелким исправлениям и фиксам в интерфейсе этого плагина.
5
+ *
6
+ * Github: https://github.com/alexkovalevv
7
+ *
8
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
9
+ * @copyright (c) 2018 Webraftic Ltd
10
+ * @version 1.0
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
19
+ add_filter( 'plugin_row_meta', function ( $links, $file ) {
20
+ if ( $file == WDN_PLUGIN_BASE ) {
21
+ $url = 'https://clearfy.pro/disable-admin-notices/';
22
+ $url .= '?utm_source=wordpress.org&utm_campaign=' . WDN_Plugin::app()->getPluginName();
23
+ $links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get premium plugin', 'disable-admin-notices' ) . '</a>';
24
+ }
25
+
26
+ return $links;
27
+ }, 10, 2 );
28
+
29
+ /**
30
+ * Изменяем ссылку по умолчанию на собственную в виджете "Голосу за нас".
31
+ *
32
+ * Ссылка ведет на страницу рейтинга в репозитории Wordpress.org
33
+ * https://wordpress.org/support/plugin/disable-admin-notices/reviews/
34
+ *
35
+ * @param string $page_url
36
+ * @param string $plugin_name
37
+ *
38
+ * @return string
39
+ * @since 1.0
40
+ *
41
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
+ */
43
+ add_filter( 'wbcr_factory_pages_452_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
44
+ if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
45
+ return 'https://goo.gl/68ucHp';
46
+ }
47
+
48
+ return $page_url;
49
+ }, 10, 2 );
50
+
51
+ /**
52
+ * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
53
+ *
54
+ * - Виджет с премиум рекламой
55
+ * - Виджет с рейтингом
56
+ * - Виджет с маркерами информации
57
+ */
58
+ add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
59
+ if ( WDN_Plugin::app()->getPluginName() == $plugin->getPluginName() && 'right' == $position ) {
60
+ unset( $widgets['business_suggetion'] );
61
+ unset( $widgets['rating_widget'] );
62
+ unset( $widgets['info_widget'] );
63
+ }
64
+
65
+ return $widgets;
66
+ }, 20, 3 );
67
+ } else {
68
+ /**
69
+ * Регистрируем опции плагина в Clearfy, чтобы тот мог совершать манипуляции с опциями этого плагина.
70
+ * Обычно такие манипуляции относятся к быстрым настройкам, сбросу настроек.
71
+ *
72
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
73
+ * @since 1.0
74
+ */
75
+ add_filter( "wbcr_clearfy_group_options", function ( $options ) {
76
+ $options[] = [
77
+ 'name' => 'hide_admin_notices',
78
+ 'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
79
+ 'tags' => [],
80
+ 'values' => [ 'hide_admin_notices' => 'only_selected' ]
81
+ ];
82
+ $options[] = [
83
+ 'name' => 'show_notices_in_adminbar',
84
+ 'title' => __( 'Enable hidden notices in adminbar', 'disable-admin-notices' ),
85
+ 'tags' => []
86
+ ];
87
+
88
+ return $options;
89
+ } );
90
+ }
91
+
92
+ /**
93
+ * Print admin notice: "Would you like to send them for spam checking?"
94
+ *
95
+ * If user clicked button "Yes, do it", plugin will exec action,
96
+ * that put all unapproved comments to spam check queue.
97
+ */
98
+ add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
99
+ if ( $plugin_name != WDN_Plugin::app()->getPluginName() || 'wbcr_clearfy' === $plugin_name ) {
100
+ return $notices;
101
+ }
102
+
103
+ $page_url = 'https://clearfy.pro/disable-admin-notices/';
104
+
105
+ $notice_text = sprintf( __( 'Thanks for using the Disable admin notices plugin! If you need support or all the features of the plugin, please buy the pro version <a class="button" href="%s">Get PRO</a>' ), $page_url );
106
+
107
+ $notices[] = [
108
+ 'id' => 'wdan_get_premium',
109
+ 'type' => 'success',
110
+ 'dismissible' => true,
111
+ 'dismiss_expires' => 0,
112
+ 'text' => '<p><strong>Disable Admin Notices Individually:</strong><br>' . $notice_text . '</p>'
113
+ ];
114
+
115
+ return $notices;
 
 
 
 
116
  }, 10, 2 );
admin/class-page-basic.php CHANGED
@@ -1,43 +1,43 @@
1
- <?php
2
- /**
3
- * Страница общих настроек для этого плагина.
4
- *
5
- * Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
6
- * дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
7
- *
8
- * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
9
- *
10
- * Github: https://github.com/alexkovalevv
11
- *
12
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
13
- * @copyright (c) 2018 Webraftic Ltd
14
- * @version 1.0
15
- */
16
-
17
- // Exit if accessed directly
18
- if ( ! defined( 'ABSPATH' ) ) {
19
- exit;
20
- }
21
-
22
- class WDN_Page extends Wbcr_FactoryClearfy230_PageBase {
23
-
24
- /**
25
- * Requests assets (js and css) for the page.
26
- *
27
- * @param Wbcr_Factory439_ScriptList $scripts
28
- * @param Wbcr_Factory439_StyleList $styles
29
- *
30
- * @return void
31
- * @see Wbcr_FactoryPages438_AdminPage
32
- *
33
- */
34
- public function assets( $scripts, $styles ) {
35
- $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/page.css' );
36
-
37
- parent::assets( $scripts, $styles );
38
- }
39
-
40
- public function getPluginTitle() {
41
- return "<span class='wdan-plugin-header-logo'>&nbsp;</span>" . __( 'Webcraftic Disable Admin Notices', 'disable-admin-notices' );
42
- }
43
  }
1
+ <?php
2
+ /**
3
+ * Страница общих настроек для этого плагина.
4
+ *
5
+ * Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
6
+ * дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
7
+ *
8
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
9
+ *
10
+ * Github: https://github.com/alexkovalevv
11
+ *
12
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
13
+ * @copyright (c) 2018 Webraftic Ltd
14
+ * @version 1.0
15
+ */
16
+
17
+ // Exit if accessed directly
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit;
20
+ }
21
+
22
+ class WDN_Page extends WBCR\Factory_Templates_106\Pages\PageBase {
23
+
24
+ /**
25
+ * Requests assets (js and css) for the page.
26
+ *
27
+ * @param Wbcr_Factory453_ScriptList $scripts
28
+ * @param Wbcr_Factory453_StyleList $styles
29
+ *
30
+ * @return void
31
+ * @see Wbcr_FactoryPages452_AdminPage
32
+ *
33
+ */
34
+ public function assets( $scripts, $styles ) {
35
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/page.css' );
36
+
37
+ parent::assets( $scripts, $styles );
38
+ }
39
+
40
+ public function getPluginTitle() {
41
+ return "<span class='wdan-plugin-header-logo'>&nbsp;</span>" . __( 'Webcraftic Disable Admin Notices', 'disable-admin-notices' );
42
+ }
43
  }
admin/options.php CHANGED
@@ -1,269 +1,269 @@
1
- <?php
2
- /**
3
- * Регистрируем поля Html формы в Clearfy на странице "Подолнительно". Если этот плагин загружен, как отдельный плагин
4
- * то поля будет зарегистрированы для страницы общих настроек этого плагина.
5
- *
6
- * Github: https://github.com/alexkovalevv
7
- *
8
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
9
- * @copyright (c) 2018 Webraftic Ltd
10
- * @version 1.0
11
- */
12
-
13
- // Exit if accessed directly
14
- if ( ! defined( 'ABSPATH' ) ) {
15
- exit;
16
- }
17
-
18
- /**
19
- * Регистрируем поля Html формы с настройками плагина.
20
- *
21
- * Эта функция используется для общей страницы настроек текущего плагина,
22
- * а также для раширения настроек в плагине Clearfy.
23
- *
24
- * @return array Возвращает группу зарегистрируемых опций
25
- * @since 1.0
26
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
27
- */
28
- function wbcr_dan_get_plugin_options() {
29
- $options = [];
30
-
31
- $options[] = [
32
- 'type' => 'html',
33
- 'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __( 'Admin notifications, Update nags', 'disable-admin-notices' ) . '</strong>' . '<p>' . __( 'Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugin’s authors delete “close” button from notices and they shows in your admin panel forever.', 'disable-admin-notices' ) . '</p>' . '</div>'
34
- ];
35
-
36
- $hide_admin_notices_data = [
37
- [
38
- 'not_hide',
39
- __( "Don't hide", 'disable-admin-notices' ),
40
- __( 'Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices' )
41
- ],
42
- [
43
- 'all',
44
- __( 'All notices', 'disable-admin-notices' ),
45
- __( 'Hide all notices globally.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/_Lv5i4P3Gqs' )
46
- ],
47
- [
48
- 'only_selected',
49
- __( 'Only selected', 'disable-admin-notices' ),
50
- __( 'Hide selected notices only. You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/HazI81AsHuY' )
51
- ]
52
- ];
53
-
54
- if ( ! wbcr_dan_is_active_clearfy_component() ) {
55
- $hide_admin_notices_data[] = [
56
- 'compact_panel',
57
- __( 'Compact panel', 'disable-admin-notices' ),
58
- __( 'Collapse all notifications in one line (panel with notification counters), to see the notifications, you will need to click this panel.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/437u1Js2o2M' )
59
- ];
60
- }
61
-
62
- $options[] = [
63
- 'type' => 'dropdown',
64
- 'name' => 'hide_admin_notices',
65
- 'way' => 'buttons',
66
- 'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
67
- 'data' => $hide_admin_notices_data,
68
- 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
69
- 'hint' => __( 'Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices' ),
70
- 'default' => 'only_selected',
71
- 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'wdanpro-radio-premium-label' ] : [],
72
- 'events' => [
73
- 'all' => [
74
- 'show' => '.factory-control-hide_admin_notices_user_roles',
75
- 'hide' => '.factory-control-reset_notices_button'
76
- ],
77
- 'only_selected' => [
78
- 'hide' => '.factory-control-hide_admin_notices_user_roles',
79
- 'show' => '.factory-control-reset_notices_button'
80
- ],
81
- 'not_hide' => [
82
- 'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
83
- ]
84
- ]
85
- ];
86
-
87
- if ( ! wbcr_dan_is_active_clearfy_component() ) {
88
- $options[] = [
89
- 'type' => 'checkbox',
90
- 'way' => 'buttons',
91
- 'name' => 'disable_updates_nags_for_plugins',
92
- 'title' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
93
- 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
94
- 'hint' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
95
- 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
96
- 'default' => false
97
- ];
98
-
99
- $options[] = [
100
- 'type' => 'checkbox',
101
- 'way' => 'buttons',
102
- 'name' => 'disable_updates_nags_for_core',
103
- 'title' => __( 'Disable core updates nags', 'disable-admin-notices' ),
104
- 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
105
- 'hint' => __( 'Disable core updates nags', 'disable-admin-notices' ),
106
- 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
107
- 'default' => false
108
- ];
109
- }
110
-
111
- /*$options[] = array(
112
- 'type' => 'dropdown',
113
- 'name' => 'hide_admin_notices_for',
114
- 'way' => 'buttons',
115
- 'title' => __('Hide admin notices only for', 'disable-admin-notices'),
116
- 'data' => array(
117
- array(
118
- 'user',
119
- __('Current user', 'disable-admin-notices')
120
- ),
121
- array(
122
- 'all_users',
123
- __('All users', 'disable-admin-notices')
124
- )
125
- ),
126
- 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
127
- 'hint' => __('Choose who to hide notifications for?', 'disable-admin-notices'),
128
- 'default' => 'user',
129
- 'events' => array(
130
- 'all' => array(
131
- 'show' => '.factory-control-hide_admin_notices_user_roles',
132
- 'hide' => '.factory-control-reset_notices_button'
133
- ),
134
- 'only_selected' => array(
135
- 'hide' => '.factory-control-hide_admin_notices_user_roles',
136
- 'show' => '.factory-control-reset_notices_button'
137
- ),
138
- 'not_hide' => array(
139
- 'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
140
- )
141
- )
142
- );*/
143
-
144
- $options[] = [
145
- 'type' => 'checkbox',
146
- 'way' => 'buttons',
147
- 'name' => 'show_notices_in_adminbar',
148
- 'title' => __( 'Enable hidden notices in adminbar', 'disable-admin-notices' ),
149
- 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
150
- 'hint' => __( 'By default, the plugin hides all notices, which you specified. If you enable this option, the plugin will collect all hidden notices and show them into the top admin toolbar. It will not disturb you but will allow to look notices at your convenience.', 'disable-admin-notices' ),
151
- 'default' => false
152
- ];
153
-
154
- $options[] = [
155
- 'type' => 'html',
156
- 'html' => 'wbcr_dan_reset_notices_button'
157
- ];
158
-
159
- return $options;
160
- }
161
-
162
- function wbcr_dan_is_active_clearfy_component() {
163
- if ( defined( 'WCL_PLUGIN_ACTIVE' ) && class_exists( 'WCL_Plugin' ) ) {
164
- $deactivate_components = WCL_Plugin::app()->getPopulateOption( 'deactive_preinstall_components', [] );
165
- if ( ! in_array( 'disable_notices', $deactivate_components ) ) {
166
- return true;
167
- }
168
- }
169
- return false;
170
- }
171
-
172
- /**
173
- * Расширяем опции html формы страницы "Дополнительно" в плагине Clearfy
174
- *
175
- * Это необходимо для того, чтобы не создавать отдельную страницу в плагине Clearfy, \
176
- * с настройками этого плагина, потому что это ухудшает юзабилити.
177
- *
178
- * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
179
- * @param Wbcr_FactoryPages438_ImpressiveThemplate $page Экземпляр страницы
180
- *
181
- * @return mixed Отсортированный массив с группой опций
182
- */
183
- function wbcr_dan_additionally_form_options( $form, $page ) {
184
- if ( empty( $form ) ) {
185
- return $form;
186
- }
187
-
188
- $options = wbcr_dan_get_plugin_options();
189
-
190
- foreach ( array_reverse( $options ) as $option ) {
191
- array_unshift( $form[0]['items'], $option );
192
- }
193
-
194
- return $form;
195
- }
196
-
197
- add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2 );
198
-
199
- /**
200
- * Реализует кнопку сброса скрытых уведомлений.
201
- *
202
- * Вы можете выбрать для какой группы пользователей сбросить уведомления.
203
- * Эта модикация является не стандартной, поэтому мы не можете реалировать ее
204
- * через фреймворк.
205
- *
206
- * @param @param $html_builder Wbcr_FactoryForms436_Html
207
- *
208
- * @since 1.0
209
- *
210
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
211
- */
212
- function wbcr_dan_reset_notices_button( $html_builder ) {
213
- global $wpdb;
214
-
215
- $form_name = $html_builder->getFormName();
216
- $reseted = false;
217
-
218
- if ( isset( $_POST['wbcr_dan_reset_action'] ) ) {
219
- check_admin_referer( $form_name, 'wbcr_dan_reset_nonce' );
220
- $reset_for_users = WDN_Plugin::app()->request->post( 'wbcr_dan_reset_for_users', 'current_user', true );
221
-
222
- if ( $reset_for_users == 'current_user' ) {
223
- delete_user_meta( get_current_user_id(), WDN_Plugin::app()->getOptionName( 'hidden_notices' ) );
224
- } else {
225
- $meta_key = sanitize_key( WDN_Plugin::app()->getOptionName( 'hidden_notices' ) );
226
- $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$meta_key}'" );
227
- }
228
-
229
- $reseted = true;
230
- }
231
-
232
- ?>
233
- <div class="form-group form-group-checkbox factory-control-reset_notices_button">
234
- <label for="wbcr_clearfy_reset_notices_button" class="col-sm-4 control-label">
235
- <?= __( 'Reset hidden notices for', 'disable-admin-notices' ); ?>
236
- <span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right"
237
- title=""
238
- data-original-title="<?php _e( 'Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices' ) ?>">
239
- <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
240
- alt="">
241
- </span>
242
- </label>
243
- <div class="control-group col-sm-8">
244
- <div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
245
- <form method="post">
246
- <?php wp_nonce_field( $form_name, 'wbcr_dan_reset_nonce' ); ?>
247
- <p>
248
- <input type="radio" name="wbcr_dan_reset_for_users" value="current_user"
249
- checked/> <?= __( 'current user', 'disable-admin-notices' ); ?>
250
- </p>
251
- <p>
252
- <input type="radio" name="wbcr_dan_reset_for_users"
253
- value="all"/> <?= __( 'all users', 'disable-admin-notices' ); ?>
254
- </p>
255
- <p>
256
- <input type="submit" name="wbcr_dan_reset_action"
257
- value="<?= __( 'Reset notices', 'disable-admin-notices' ); ?>"
258
- class="button button-default"/>
259
- </p>
260
- <?php if ( $reseted ): ?>
261
- <div style="color:green;margin-top:5px;"><?php _e( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' ) ?></div>
262
- <?php endif; ?>
263
- </form>
264
- </div>
265
- </div>
266
- </div>
267
- <?php
268
- }
269
-
1
+ <?php
2
+ /**
3
+ * Регистрируем поля Html формы в Clearfy на странице "Подолнительно". Если этот плагин загружен, как отдельный плагин
4
+ * то поля будет зарегистрированы для страницы общих настроек этого плагина.
5
+ *
6
+ * Github: https://github.com/alexkovalevv
7
+ *
8
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
9
+ * @copyright (c) 2018 Webraftic Ltd
10
+ * @version 1.0
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * Регистрируем поля Html формы с настройками плагина.
20
+ *
21
+ * Эта функция используется для общей страницы настроек текущего плагина,
22
+ * а также для раширения настроек в плагине Clearfy.
23
+ *
24
+ * @return array Возвращает группу зарегистрируемых опций
25
+ * @since 1.0
26
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
27
+ */
28
+ function wbcr_dan_get_plugin_options() {
29
+ $options = [];
30
+
31
+ $options[] = [
32
+ 'type' => 'html',
33
+ 'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __( 'Admin notifications, Update nags', 'disable-admin-notices' ) . '</strong>' . '<p>' . __( 'Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugin’s authors delete “close” button from notices and they shows in your admin panel forever.', 'disable-admin-notices' ) . '</p>' . '</div>'
34
+ ];
35
+
36
+ $hide_admin_notices_data = [
37
+ [
38
+ 'not_hide',
39
+ __( "Don't hide", 'disable-admin-notices' ),
40
+ __( 'Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices' )
41
+ ],
42
+ [
43
+ 'all',
44
+ __( 'All notices', 'disable-admin-notices' ),
45
+ __( 'Hide all notices globally.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/_Lv5i4P3Gqs' )
46
+ ],
47
+ [
48
+ 'only_selected',
49
+ __( 'Only selected', 'disable-admin-notices' ),
50
+ __( 'Hide selected notices only. You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/HazI81AsHuY' )
51
+ ]
52
+ ];
53
+
54
+ if ( ! wbcr_dan_is_active_clearfy_component() ) {
55
+ $hide_admin_notices_data[] = [
56
+ 'compact_panel',
57
+ __( 'Compact panel', 'disable-admin-notices' ),
58
+ __( 'Collapse all notifications in one line (panel with notification counters), to see the notifications, you will need to click this panel.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/437u1Js2o2M' )
59
+ ];
60
+ }
61
+
62
+ $options[] = [
63
+ 'type' => 'dropdown',
64
+ 'name' => 'hide_admin_notices',
65
+ 'way' => 'buttons',
66
+ 'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
67
+ 'data' => $hide_admin_notices_data,
68
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
69
+ 'hint' => __( 'Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices' ),
70
+ 'default' => 'only_selected',
71
+ 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'wdanpro-radio-premium-label' ] : [],
72
+ 'events' => [
73
+ 'all' => [
74
+ 'show' => '.factory-control-hide_admin_notices_user_roles',
75
+ 'hide' => '.factory-control-reset_notices_button'
76
+ ],
77
+ 'only_selected' => [
78
+ 'hide' => '.factory-control-hide_admin_notices_user_roles',
79
+ 'show' => '.factory-control-reset_notices_button'
80
+ ],
81
+ 'not_hide' => [
82
+ 'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
83
+ ]
84
+ ]
85
+ ];
86
+
87
+ if ( ! wbcr_dan_is_active_clearfy_component() ) {
88
+ $options[] = [
89
+ 'type' => 'checkbox',
90
+ 'way' => 'buttons',
91
+ 'name' => 'disable_updates_nags_for_plugins',
92
+ 'title' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
93
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
94
+ 'hint' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
95
+ 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
96
+ 'default' => false
97
+ ];
98
+
99
+ $options[] = [
100
+ 'type' => 'checkbox',
101
+ 'way' => 'buttons',
102
+ 'name' => 'disable_updates_nags_for_core',
103
+ 'title' => __( 'Disable core updates nags', 'disable-admin-notices' ),
104
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
105
+ 'hint' => __( 'Disable core updates nags', 'disable-admin-notices' ),
106
+ 'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
107
+ 'default' => false
108
+ ];
109
+ }
110
+
111
+ /*$options[] = array(
112
+ 'type' => 'dropdown',
113
+ 'name' => 'hide_admin_notices_for',
114
+ 'way' => 'buttons',
115
+ 'title' => __('Hide admin notices only for', 'disable-admin-notices'),
116
+ 'data' => array(
117
+ array(
118
+ 'user',
119
+ __('Current user', 'disable-admin-notices')
120
+ ),
121
+ array(
122
+ 'all_users',
123
+ __('All users', 'disable-admin-notices')
124
+ )
125
+ ),
126
+ 'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
127
+ 'hint' => __('Choose who to hide notifications for?', 'disable-admin-notices'),
128
+ 'default' => 'user',
129
+ 'events' => array(
130
+ 'all' => array(
131
+ 'show' => '.factory-control-hide_admin_notices_user_roles',
132
+ 'hide' => '.factory-control-reset_notices_button'
133
+ ),
134
+ 'only_selected' => array(
135
+ 'hide' => '.factory-control-hide_admin_notices_user_roles',
136
+ 'show' => '.factory-control-reset_notices_button'
137
+ ),
138
+ 'not_hide' => array(
139
+ 'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
140
+ )
141
+ )
142
+ );*/
143
+
144
+ $options[] = [
145
+ 'type' => 'checkbox',
146
+ 'way' => 'buttons',
147
+ 'name' => 'show_notices_in_adminbar',
148
+ 'title' => __( 'Enable hidden notices in adminbar', 'disable-admin-notices' ),
149
+ 'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
150
+ 'hint' => __( 'By default, the plugin hides all notices, which you specified. If you enable this option, the plugin will collect all hidden notices and show them into the top admin toolbar. It will not disturb you but will allow to look notices at your convenience.', 'disable-admin-notices' ),
151
+ 'default' => false
152
+ ];
153
+
154
+ $options[] = [
155
+ 'type' => 'html',
156
+ 'html' => 'wbcr_dan_reset_notices_button'
157
+ ];
158
+
159
+ return $options;
160
+ }
161
+
162
+ function wbcr_dan_is_active_clearfy_component() {
163
+ if ( defined( 'WCL_PLUGIN_ACTIVE' ) && class_exists( 'WCL_Plugin' ) ) {
164
+ $deactivate_components = WCL_Plugin::app()->getPopulateOption( 'deactive_preinstall_components', [] );
165
+ if ( ! in_array( 'disable_notices', $deactivate_components ) ) {
166
+ return true;
167
+ }
168
+ }
169
+ return false;
170
+ }
171
+
172
+ /**
173
+ * Расширяем опции html формы страницы "Дополнительно" в плагине Clearfy
174
+ *
175
+ * Это необходимо для того, чтобы не создавать отдельную страницу в плагине Clearfy, \
176
+ * с настройками этого плагина, потому что это ухудшает юзабилити.
177
+ *
178
+ * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
179
+ * @param Wbcr_FactoryPages452_ImpressiveThemplate $page Экземпляр страницы
180
+ *
181
+ * @return mixed Отсортированный массив с группой опций
182
+ */
183
+ function wbcr_dan_additionally_form_options( $form, $page ) {
184
+ if ( empty( $form ) ) {
185
+ return $form;
186
+ }
187
+
188
+ $options = wbcr_dan_get_plugin_options();
189
+
190
+ foreach ( array_reverse( $options ) as $option ) {
191
+ array_unshift( $form[0]['items'], $option );
192
+ }
193
+
194
+ return $form;
195
+ }
196
+
197
+ add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2 );
198
+
199
+ /**
200
+ * Реализует кнопку сброса скрытых уведомлений.
201
+ *
202
+ * Вы можете выбрать для какой группы пользователей сбросить уведомления.
203
+ * Эта модикация является не стандартной, поэтому мы не можете реалировать ее
204
+ * через фреймворк.
205
+ *
206
+ * @param @param $html_builder Wbcr_FactoryForms450_Html
207
+ *
208
+ * @since 1.0
209
+ *
210
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
211
+ */
212
+ function wbcr_dan_reset_notices_button( $html_builder ) {
213
+ global $wpdb;
214
+
215
+ $form_name = $html_builder->getFormName();
216
+ $reseted = false;
217
+
218
+ if ( isset( $_POST['wbcr_dan_reset_action'] ) ) {
219
+ check_admin_referer( $form_name, 'wbcr_dan_reset_nonce' );
220
+ $reset_for_users = WDN_Plugin::app()->request->post( 'wbcr_dan_reset_for_users', 'current_user', true );
221
+
222
+ if ( $reset_for_users == 'current_user' ) {
223
+ delete_user_meta( get_current_user_id(), WDN_Plugin::app()->getOptionName( 'hidden_notices' ) );
224
+ } else {
225
+ $meta_key = sanitize_key( WDN_Plugin::app()->getOptionName( 'hidden_notices' ) );
226
+ $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$meta_key}'" );
227
+ }
228
+
229
+ $reseted = true;
230
+ }
231
+
232
+ ?>
233
+ <div class="form-group form-group-checkbox factory-control-reset_notices_button">
234
+ <label for="wbcr_clearfy_reset_notices_button" class="col-sm-4 control-label">
235
+ <?= __( 'Reset hidden notices for', 'disable-admin-notices' ); ?>
236
+ <span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right"
237
+ title=""
238
+ data-original-title="<?php _e( 'Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices' ) ?>">
239
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
240
+ alt="">
241
+ </span>
242
+ </label>
243
+ <div class="control-group col-sm-8">
244
+ <div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
245
+ <form method="post">
246
+ <?php wp_nonce_field( $form_name, 'wbcr_dan_reset_nonce' ); ?>
247
+ <p>
248
+ <input type="radio" name="wbcr_dan_reset_for_users" value="current_user"
249
+ checked/> <?= __( 'current user', 'disable-admin-notices' ); ?>
250
+ </p>
251
+ <p>
252
+ <input type="radio" name="wbcr_dan_reset_for_users"
253
+ value="all"/> <?= __( 'all users', 'disable-admin-notices' ); ?>
254
+ </p>
255
+ <p>
256
+ <input type="submit" name="wbcr_dan_reset_action"
257
+ value="<?= __( 'Reset notices', 'disable-admin-notices' ); ?>"
258
+ class="button button-default"/>
259
+ </p>
260
+ <?php if ( $reseted ): ?>
261
+ <div style="color:green;margin-top:5px;"><?php _e( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' ) ?></div>
262
+ <?php endif; ?>
263
+ </form>
264
+ </div>
265
+ </div>
266
+ </div>
267
+ <?php
268
+ }
269
+
admin/pages/class-pages-edit-admin-bar.php CHANGED
@@ -1,147 +1,147 @@
1
- <?php
2
-
3
- // Exit if accessed directly
4
- if ( ! defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /**
9
- * Страница общих настроек для этого плагина.
10
- *
11
- * Не поддерживает режим работы с мультисаймами.
12
- *
13
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
14
- * @copyright (c) 2019 Webraftic Ltd
15
- * @version 1.0
16
- */
17
- class WDAN_Edit_Admin_Bar extends WDN_Page {
18
-
19
- /**
20
- * {@inheritDoc}
21
- *
22
- * @var string
23
- */
24
- public $id = "wdanp-edit-admin-bar";
25
-
26
- /**
27
- * {@inheritDoc}
28
- *
29
- * @var string
30
- */
31
- public $type = "page";
32
-
33
- /**
34
- * {@inheritDoc}
35
- *
36
- * @var string
37
- */
38
- public $page_menu_dashicon = 'dashicons-menu';
39
-
40
- /**
41
- * {@inheritDoc}
42
- *
43
- * @since 2.0.5 - добавлен
44
- * @var bool
45
- */
46
- public $show_right_sidebar_in_options = false;
47
-
48
-
49
- /**
50
- * @param WDN_Plugin $plugin
51
- */
52
- public function __construct( $plugin ) {
53
- $this->menu_title = __( 'Hide adminbar items', 'disable-admin-notices' );
54
- $this->page_menu_short_description = __( 'You can hide an annoying adminbar menu', 'disable-admin-notices' );
55
-
56
- parent::__construct( $plugin );
57
-
58
- $this->plugin = $plugin;
59
-
60
- add_action( 'wp_before_admin_bar_render', [ $this, 'remove_from_admin_bar' ], 999 );
61
- }
62
-
63
- /**
64
- * Requests assets (js and css) for the page.
65
- *
66
- * @param Wbcr_Factory439_ScriptList $scripts
67
- * @param Wbcr_Factory439_StyleList $styles
68
- *
69
- * @return void
70
- * @see Wbcr_FactoryPages438_AdminPage
71
- *
72
- */
73
- public function assets( $scripts, $styles ) {
74
- parent::assets( $scripts, $styles );
75
-
76
- $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
77
- }
78
-
79
- public function remove_from_admin_bar() {
80
- global $wp_admin_bar;
81
-
82
- if ( empty( $wp_admin_bar ) ) {
83
- return;
84
- }
85
-
86
- $hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
87
-
88
- $nodes = [];
89
- foreach ( $wp_admin_bar->get_nodes() as $node ) {
90
- if ( false === $node->parent && ! empty( $node->title ) ) {
91
- if ( "updates" === $node->id ) {
92
- $node->title = "Updates";
93
- }
94
- if ( "comments" === $node->id ) {
95
- $node->title = "Comments";
96
- }
97
- $nodes[ $node->id ] = strip_tags( $node->title );
98
- }
99
- }
100
-
101
- $this->plugin->updatePopulateOption( 'adminbar_items', $nodes );
102
- }
103
-
104
- public function showPageContent() {
105
- $all_items = $this->plugin->getPopulateOption( 'adminbar_items', [] );
106
- $hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
107
-
108
- ?>
109
-
110
- <div class="wrdan-premium-fake-content">
111
- <div class="wdan-premium-info">
112
- <h3>Hide admin bar items (menu) PRO</h3>
113
- <p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
114
- in
115
- the admin bar to insert their ads. Just get rid of this ad with the premium features of our
116
- plugin.</p>
117
- <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">Go
118
- Pro</a>
119
- </div>
120
- <div class="wdan-premium-layer"></div>
121
-
122
- <h4>Disable adminbar items</h4>
123
- <table class="wp-list-table widefat fixed striped">
124
- <tr>
125
- <th><strong>Menu title</strong></th>
126
- <th style="width:100px;"><strong>Action</strong></th>
127
- </tr>
128
- <?php foreach ( (array) $all_items as $ID => $title ): ?>
129
-
130
- <tr>
131
- <td><?php echo $title; ?></td>
132
- <td>
133
- <?php if ( ! isset( $hidden_items[ $ID ] ) ): ?>
134
- <a style="color:#e66113;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'disable-adminbar-item', [ 'id' => $ID ] ), 'disable_adminbar_item_' . $ID ); ?>">Disable</a>
135
- <?php else: ?>
136
- <a style="color:#428bca;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'enable-adminbar-item', [ 'id' => $ID ] ), 'enable_adminbar_item_' . $ID ); ?>">Enable</a>
137
- <?php endif; ?>
138
- </td>
139
- </tr>
140
- <?php endforeach; ?>
141
- </table>
142
- </div>
143
-
144
- <?php
145
- }
146
-
147
- }
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Страница общих настроек для этого плагина.
10
+ *
11
+ * Не поддерживает режим работы с мультисаймами.
12
+ *
13
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
14
+ * @copyright (c) 2019 Webraftic Ltd
15
+ * @version 1.0
16
+ */
17
+ class WDAN_Edit_Admin_Bar extends WDN_Page {
18
+
19
+ /**
20
+ * {@inheritDoc}
21
+ *
22
+ * @var string
23
+ */
24
+ public $id = "wdanp-edit-admin-bar";
25
+
26
+ /**
27
+ * {@inheritDoc}
28
+ *
29
+ * @var string
30
+ */
31
+ public $type = "page";
32
+
33
+ /**
34
+ * {@inheritDoc}
35
+ *
36
+ * @var string
37
+ */
38
+ public $page_menu_dashicon = 'dashicons-menu';
39
+
40
+ /**
41
+ * {@inheritDoc}
42
+ *
43
+ * @since 2.0.5 - добавлен
44
+ * @var bool
45
+ */
46
+ public $show_right_sidebar_in_options = false;
47
+
48
+
49
+ /**
50
+ * @param WDN_Plugin $plugin
51
+ */
52
+ public function __construct( $plugin ) {
53
+ $this->menu_title = __( 'Hide adminbar items', 'disable-admin-notices' );
54
+ $this->page_menu_short_description = __( 'You can hide an annoying adminbar menu', 'disable-admin-notices' );
55
+
56
+ parent::__construct( $plugin );
57
+
58
+ $this->plugin = $plugin;
59
+
60
+ add_action( 'wp_before_admin_bar_render', [ $this, 'remove_from_admin_bar' ], 999 );
61
+ }
62
+
63
+ /**
64
+ * Requests assets (js and css) for the page.
65
+ *
66
+ * @param Wbcr_Factory453_ScriptList $scripts
67
+ * @param Wbcr_Factory453_StyleList $styles
68
+ *
69
+ * @return void
70
+ * @see Wbcr_FactoryPages452_AdminPage
71
+ *
72
+ */
73
+ public function assets( $scripts, $styles ) {
74
+ parent::assets( $scripts, $styles );
75
+
76
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
77
+ }
78
+
79
+ public function remove_from_admin_bar() {
80
+ global $wp_admin_bar;
81
+
82
+ if ( empty( $wp_admin_bar ) ) {
83
+ return;
84
+ }
85
+
86
+ $hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
87
+
88
+ $nodes = [];
89
+ foreach ( $wp_admin_bar->get_nodes() as $node ) {
90
+ if ( false === $node->parent && ! empty( $node->title ) ) {
91
+ if ( "updates" === $node->id ) {
92
+ $node->title = "Updates";
93
+ }
94
+ if ( "comments" === $node->id ) {
95
+ $node->title = "Comments";
96
+ }
97
+ $nodes[ $node->id ] = strip_tags( $node->title );
98
+ }
99
+ }
100
+
101
+ $this->plugin->updatePopulateOption( 'adminbar_items', $nodes );
102
+ }
103
+
104
+ public function showPageContent() {
105
+ $all_items = $this->plugin->getPopulateOption( 'adminbar_items', [] );
106
+ $hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
107
+
108
+ ?>
109
+
110
+ <div class="wrdan-premium-fake-content">
111
+ <div class="wdan-premium-info">
112
+ <h3>Hide admin bar items (menu) PRO</h3>
113
+ <p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
114
+ in
115
+ the admin bar to insert their ads. Just get rid of this ad with the premium features of our
116
+ plugin.</p>
117
+ <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">Go
118
+ Pro</a>
119
+ </div>
120
+ <div class="wdan-premium-layer"></div>
121
+
122
+ <h4>Disable adminbar items</h4>
123
+ <table class="wp-list-table widefat fixed striped">
124
+ <tr>
125
+ <th><strong>Menu title</strong></th>
126
+ <th style="width:100px;"><strong>Action</strong></th>
127
+ </tr>
128
+ <?php foreach ( (array) $all_items as $ID => $title ): ?>
129
+
130
+ <tr>
131
+ <td><?php echo $title; ?></td>
132
+ <td>
133
+ <?php if ( ! isset( $hidden_items[ $ID ] ) ): ?>
134
+ <a style="color:#e66113;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'disable-adminbar-item', [ 'id' => $ID ] ), 'disable_adminbar_item_' . $ID ); ?>">Disable</a>
135
+ <?php else: ?>
136
+ <a style="color:#428bca;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'enable-adminbar-item', [ 'id' => $ID ] ), 'enable_adminbar_item_' . $ID ); ?>">Enable</a>
137
+ <?php endif; ?>
138
+ </td>
139
+ </tr>
140
+ <?php endforeach; ?>
141
+ </table>
142
+ </div>
143
+
144
+ <?php
145
+ }
146
+
147
+ }
admin/pages/class-pages-edit-redirects.php CHANGED
@@ -1,164 +1,164 @@
1
- <?php
2
-
3
- // Exit if accessed directly
4
- if ( ! defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /**
9
- * Страница общих настроек для этого плагина.
10
- *
11
- * Не поддерживает режим работы с мультисаймами.
12
- *
13
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
14
- * @copyright (c) 2019 Webraftic Ltd
15
- * @version 1.0
16
- */
17
- class WDAN_Block_Ad_Redirects extends WDN_Page {
18
-
19
- /**
20
- * {@inheritDoc}
21
- *
22
- * @var string
23
- */
24
- public $id = "wdanp-edit-redirects";
25
-
26
- /**
27
- * {@inheritDoc}
28
- *
29
- * @var string
30
- */
31
- public $type = "page";
32
-
33
- /**
34
- * {@inheritDoc}
35
- *
36
- * @var string
37
- */
38
- public $page_menu_dashicon = 'dashicons dashicons-undo';
39
-
40
- /**
41
- * {@inheritDoc}
42
- *
43
- * @since 2.0.5 - добавлен
44
- * @var bool
45
- */
46
- public $show_right_sidebar_in_options = false;
47
-
48
-
49
- /**
50
- * @param WDN_Plugin $plugin
51
- */
52
- public function __construct( $plugin ) {
53
- $this->menu_title = __( 'Block ad redirects', 'disable-admin-notices' );
54
- $this->page_menu_short_description = __( 'Break advertising redirects', 'disable-admin-notices' );
55
-
56
- parent::__construct( $plugin );
57
-
58
- $this->plugin = $plugin;
59
- }
60
-
61
- /**
62
- * Requests assets (js and css) for the page.
63
- *
64
- * @param Wbcr_Factory439_ScriptList $scripts
65
- * @param Wbcr_Factory439_StyleList $styles
66
- *
67
- * @return void
68
- * @see Wbcr_FactoryPages438_AdminPage
69
- *
70
- */
71
- public function assets( $scripts, $styles ) {
72
- parent::assets( $scripts, $styles );
73
-
74
- $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
75
- }
76
-
77
- public function get_break_redirects() {
78
- return [];
79
- }
80
-
81
- public function showPageContent() {
82
- $redirects = $this->get_break_redirects();
83
- ?>
84
-
85
- <div class="wrdan-premium-fake-content">
86
- <div class="wdan-premium-info">
87
- <h3>Block Ad redirects PRO</h3>
88
- <p>This feature will be useful to you to break advertising redirects. Some plugins, when updating or
89
- during
90
- installation, may redirect you to their page with advertisements or news. If plugins do this too
91
- often,
92
- it can be a headache for you. Break these redirects with our premium features.</p>
93
- <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">
94
- Go Pro
95
- </a>
96
- </div>
97
- <div class="wdan-premium-layer"></div>
98
-
99
- <h4>Block ad redirects</h4>
100
- <form method="post">
101
- <label for="wdnpro-redirect-url">Enter url for block:</label><br>
102
- <input id="wdnpro-redirect-url" style="width:400px;" type="text" name="wdnpro_redirect_url">
103
- <input type="submit" name="wdnpro_add_block" class="button" value="Add block">
104
- </form>
105
- <br>
106
- <table class="wp-list-table widefat fixed striped">
107
- <tr>
108
- <th>Url</th>
109
- <th style="width:200px;">Action</th>
110
- </tr>
111
- <tr>
112
- <td>
113
- https://site.com/wp-admin/?page=plugin-name&ads=redirect
114
- </td>
115
- <td>
116
- <a style="color:#428bca;" href="#">Unblock</a>
117
- </td>
118
- </tr>
119
- <tr>
120
- <td>
121
- https://site.com/wp-admin/?page=plugin-name&ads=redirect
122
- </td>
123
- <td>
124
- <a style="color:#428bca;" href="#">Unblock</a>
125
- </td>
126
- </tr>
127
- <tr>
128
- <td>
129
- https://site.com/wp-admin/?page=plugin-name&ads=redirect
130
- </td>
131
- <td>
132
- <a style="color:#428bca;" href="#">Unblock</a>
133
- </td>
134
- </tr>
135
- <tr>
136
- <td>
137
- https://site.com/wp-admin/?page=plugin-name&ads=redirect
138
- </td>
139
- <td>
140
- <a style="color:#428bca;" href="#">Unblock</a>
141
- </td>
142
- </tr>
143
- <tr>
144
- <td>
145
- https://site.com/wp-admin/?page=plugin-name&ads=redirect
146
- </td>
147
- <td>
148
- <a style="color:#428bca;" href="#">Unblock</a>
149
- </td>
150
- </tr>
151
- <tr>
152
- <td>
153
- https://site.com/wp-admin/?page=plugin-name&ads=redirect
154
- </td>
155
- <td>
156
- <a style="color:#428bca;" href="#">Unblock</a>
157
- </td>
158
- </tr>
159
- </table>
160
- </div>
161
- <?php
162
- }
163
-
164
- }
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Страница общих настроек для этого плагина.
10
+ *
11
+ * Не поддерживает режим работы с мультисаймами.
12
+ *
13
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
14
+ * @copyright (c) 2019 Webraftic Ltd
15
+ * @version 1.0
16
+ */
17
+ class WDAN_Block_Ad_Redirects extends WDN_Page {
18
+
19
+ /**
20
+ * {@inheritDoc}
21
+ *
22
+ * @var string
23
+ */
24
+ public $id = "wdanp-edit-redirects";
25
+
26
+ /**
27
+ * {@inheritDoc}
28
+ *
29
+ * @var string
30
+ */
31
+ public $type = "page";
32
+
33
+ /**
34
+ * {@inheritDoc}
35
+ *
36
+ * @var string
37
+ */
38
+ public $page_menu_dashicon = 'dashicons dashicons-undo';
39
+
40
+ /**
41
+ * {@inheritDoc}
42
+ *
43
+ * @since 2.0.5 - добавлен
44
+ * @var bool
45
+ */
46
+ public $show_right_sidebar_in_options = false;
47
+
48
+
49
+ /**
50
+ * @param WDN_Plugin $plugin
51
+ */
52
+ public function __construct( $plugin ) {
53
+ $this->menu_title = __( 'Block ad redirects', 'disable-admin-notices' );
54
+ $this->page_menu_short_description = __( 'Break advertising redirects', 'disable-admin-notices' );
55
+
56
+ parent::__construct( $plugin );
57
+
58
+ $this->plugin = $plugin;
59
+ }
60
+
61
+ /**
62
+ * Requests assets (js and css) for the page.
63
+ *
64
+ * @param Wbcr_Factory453_ScriptList $scripts
65
+ * @param Wbcr_Factory453_StyleList $styles
66
+ *
67
+ * @return void
68
+ * @see Wbcr_FactoryPages452_AdminPage
69
+ *
70
+ */
71
+ public function assets( $scripts, $styles ) {
72
+ parent::assets( $scripts, $styles );
73
+
74
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
75
+ }
76
+
77
+ public function get_break_redirects() {
78
+ return [];
79
+ }
80
+
81
+ public function showPageContent() {
82
+ $redirects = $this->get_break_redirects();
83
+ ?>
84
+
85
+ <div class="wrdan-premium-fake-content">
86
+ <div class="wdan-premium-info">
87
+ <h3>Block Ad redirects PRO</h3>
88
+ <p>This feature will be useful to you to break advertising redirects. Some plugins, when updating or
89
+ during
90
+ installation, may redirect you to their page with advertisements or news. If plugins do this too
91
+ often,
92
+ it can be a headache for you. Break these redirects with our premium features.</p>
93
+ <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">
94
+ Go Pro
95
+ </a>
96
+ </div>
97
+ <div class="wdan-premium-layer"></div>
98
+
99
+ <h4>Block ad redirects</h4>
100
+ <form method="post">
101
+ <label for="wdnpro-redirect-url">Enter url for block:</label><br>
102
+ <input id="wdnpro-redirect-url" style="width:400px;" type="text" name="wdnpro_redirect_url">
103
+ <input type="submit" name="wdnpro_add_block" class="button" value="Add block">
104
+ </form>
105
+ <br>
106
+ <table class="wp-list-table widefat fixed striped">
107
+ <tr>
108
+ <th>Url</th>
109
+ <th style="width:200px;">Action</th>
110
+ </tr>
111
+ <tr>
112
+ <td>
113
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
114
+ </td>
115
+ <td>
116
+ <a style="color:#428bca;" href="#">Unblock</a>
117
+ </td>
118
+ </tr>
119
+ <tr>
120
+ <td>
121
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
122
+ </td>
123
+ <td>
124
+ <a style="color:#428bca;" href="#">Unblock</a>
125
+ </td>
126
+ </tr>
127
+ <tr>
128
+ <td>
129
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
130
+ </td>
131
+ <td>
132
+ <a style="color:#428bca;" href="#">Unblock</a>
133
+ </td>
134
+ </tr>
135
+ <tr>
136
+ <td>
137
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
138
+ </td>
139
+ <td>
140
+ <a style="color:#428bca;" href="#">Unblock</a>
141
+ </td>
142
+ </tr>
143
+ <tr>
144
+ <td>
145
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
146
+ </td>
147
+ <td>
148
+ <a style="color:#428bca;" href="#">Unblock</a>
149
+ </td>
150
+ </tr>
151
+ <tr>
152
+ <td>
153
+ https://site.com/wp-admin/?page=plugin-name&ads=redirect
154
+ </td>
155
+ <td>
156
+ <a style="color:#428bca;" href="#">Unblock</a>
157
+ </td>
158
+ </tr>
159
+ </table>
160
+ </div>
161
+ <?php
162
+ }
163
+
164
+ }
admin/pages/class-pages-license.php CHANGED
@@ -1,103 +1,103 @@
1
- <?php
2
- // Exit if accessed directly
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
-
7
- /**
8
- * Страница лицензирования плагина.
9
- *
10
- * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
11
- *
12
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
- *
14
- * @copyright (c) 2018 Webraftic Ltd
15
- */
16
- class WDN_LicensePage extends Wbcr_FactoryClearfy230_LicensePage {
17
-
18
- /**
19
- * {@inheritdoc}
20
- *
21
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
22
- * @since 1.6.0
23
- * @var string
24
- */
25
- public $id = 'wdn_license';
26
-
27
- /**
28
- * {@inheritdoc}
29
- *
30
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
31
- * @since 1.6.0
32
- * @var string
33
- */
34
- public $page_parent_page;
35
-
36
- /**
37
- * WCL_LicensePage constructor.
38
- *
39
- * @param \Wbcr_Factory439_Plugin $plugin
40
- *
41
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
- *
43
- */
44
- public function __construct( Wbcr_Factory439_Plugin $plugin ) {
45
- $this->menu_title = __( 'License', 'robin-image-optimizer' );
46
- $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
47
- $this->plan_name = __( 'Disable admin notices premium', 'robin-image-optimizer' );
48
-
49
- /*if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
50
- $this->page_parent_page = 'none';
51
- }*/
52
-
53
- parent::__construct( $plugin );
54
-
55
- /**
56
- * Adds a new plugin card to license components page
57
- *
58
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
59
- * @since 1.6.2
60
- */
61
- /*add_filter( 'wbcr/clearfy/license/list_components', function ( $components ) {
62
- $title = 'Free';
63
- $icon = 'clearfy-premium-icon-256x256--lock.png';
64
-
65
- if ( $this->is_premium ) {
66
- $title = 'Premium';
67
- $icon = 'clearfy-premium-icon-256x256--default.png';
68
- }
69
-
70
- $components[] = [
71
- 'name' => 'clearfy',
72
- 'title' => sprintf( __( 'Clearfy [%s]', 'clearfy' ), $title ),
73
- 'type' => 'internal',
74
- 'build' => $this->is_premium ? 'premium' : 'free',
75
- 'key' => $this->get_hidden_license_key(),
76
- 'plan' => $this->get_plan(),
77
- 'expiration_days' => $this->get_expiration_days(),
78
- 'quota' => $this->is_premium ? $this->premium_license->get_count_active_sites() . ' ' . __( 'of', 'clearfy' ) . ' ' . $this->premium_license->get_sites_quota() : null,
79
- 'subscription' => $this->is_premium && $this->premium_has_subscription ? sprintf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ) : null,
80
- 'url' => 'https://clearfy.pro/',
81
- 'icon' => WCL_PLUGIN_URL . '/admin/assets/img/' . $icon,
82
- 'description' => __( 'Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'clearfy' ),
83
- 'license_page_id' => 'clearfy_license'
84
- ];
85
-
86
- return $components;
87
- } );*/
88
- }
89
-
90
- /**
91
- * {@inheritdoc}
92
- *
93
- * @return string
94
- * @since 1.6.0
95
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
96
- */
97
- /*public function get_plan_description() {
98
- $description = '<p style="font-size: 16px;">' . __( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '</p>';
99
- $description .= '<p style="font-size: 16px;">' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '</p>';
100
-
101
- return $description;
102
- }*/
103
  }
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ /**
8
+ * Страница лицензирования плагина.
9
+ *
10
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
11
+ *
12
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
+ *
14
+ * @copyright (c) 2018 Webraftic Ltd
15
+ */
16
+ class WDN_LicensePage extends WBCR\Factory_Templates_106\Pages\License {
17
+
18
+ /**
19
+ * {@inheritdoc}
20
+ *
21
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
22
+ * @since 1.6.0
23
+ * @var string
24
+ */
25
+ public $id = 'wdn_license';
26
+
27
+ /**
28
+ * {@inheritdoc}
29
+ *
30
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
31
+ * @since 1.6.0
32
+ * @var string
33
+ */
34
+ public $page_parent_page;
35
+
36
+ /**
37
+ * WCL_LicensePage constructor.
38
+ *
39
+ * @param \Wbcr_Factory453_Plugin $plugin
40
+ *
41
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
+ *
43
+ */
44
+ public function __construct( Wbcr_Factory453_Plugin $plugin ) {
45
+ $this->menu_title = __( 'License', 'robin-image-optimizer' );
46
+ $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
47
+ $this->plan_name = __( 'Disable admin notices premium', 'robin-image-optimizer' );
48
+
49
+ /*if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
50
+ $this->page_parent_page = 'none';
51
+ }*/
52
+
53
+ parent::__construct( $plugin );
54
+
55
+ /**
56
+ * Adds a new plugin card to license components page
57
+ *
58
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
59
+ * @since 1.6.2
60
+ */
61
+ /*add_filter( 'wbcr/clearfy/license/list_components', function ( $components ) {
62
+ $title = 'Free';
63
+ $icon = 'clearfy-premium-icon-256x256--lock.png';
64
+
65
+ if ( $this->is_premium ) {
66
+ $title = 'Premium';
67
+ $icon = 'clearfy-premium-icon-256x256--default.png';
68
+ }
69
+
70
+ $components[] = [
71
+ 'name' => 'clearfy',
72
+ 'title' => sprintf( __( 'Clearfy [%s]', 'clearfy' ), $title ),
73
+ 'type' => 'internal',
74
+ 'build' => $this->is_premium ? 'premium' : 'free',
75
+ 'key' => $this->get_hidden_license_key(),
76
+ 'plan' => $this->get_plan(),
77
+ 'expiration_days' => $this->get_expiration_days(),
78
+ 'quota' => $this->is_premium ? $this->premium_license->get_count_active_sites() . ' ' . __( 'of', 'clearfy' ) . ' ' . $this->premium_license->get_sites_quota() : null,
79
+ 'subscription' => $this->is_premium && $this->premium_has_subscription ? sprintf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ) : null,
80
+ 'url' => 'https://clearfy.pro/',
81
+ 'icon' => WCL_PLUGIN_URL . '/admin/assets/img/' . $icon,
82
+ 'description' => __( 'Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'clearfy' ),
83
+ 'license_page_id' => 'clearfy_license'
84
+ ];
85
+
86
+ return $components;
87
+ } );*/
88
+ }
89
+
90
+ /**
91
+ * {@inheritdoc}
92
+ *
93
+ * @return string
94
+ * @since 1.6.0
95
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
96
+ */
97
+ /*public function get_plan_description() {
98
+ $description = '<p style="font-size: 16px;">' . __( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '</p>';
99
+ $description .= '<p style="font-size: 16px;">' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '</p>';
100
+
101
+ return $description;
102
+ }*/
103
  }
admin/pages/class-pages-notices.php CHANGED
@@ -1,91 +1,91 @@
1
- <?php
2
-
3
- // Exit if accessed directly
4
- if ( ! defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /**
9
- * Страница со списком скрытых нотисов.
10
- *
11
- * @author Artem Prihodko <webtemyk@yandex.ru>
12
- * @copyright (c) 2020 Webraftic Ltd
13
- * @version 1.0
14
- */
15
- class WDAN_Notices extends WDN_Page {
16
-
17
- /**
18
- * {@inheritDoc}
19
- *
20
- * @var string
21
- */
22
- public $id = "wdan-notices";
23
-
24
- /**
25
- * {@inheritDoc}
26
- *
27
- * @var string
28
- */
29
- public $type = "page";
30
-
31
- /**
32
- * {@inheritDoc}
33
- *
34
- * @var string
35
- */
36
- public $page_menu_dashicon = 'dashicons-hidden';
37
-
38
- /**
39
- * {@inheritDoc}
40
- *
41
- * @since 2.0.5 - добавлен
42
- * @var bool
43
- */
44
- public $show_right_sidebar_in_options = false;
45
-
46
-
47
- /**
48
- * @param WDN_Plugin $plugin
49
- */
50
- public function __construct( $plugin ) {
51
- $this->menu_title = __( 'Hidden notices', 'disable-admin-notices' );
52
- $this->page_menu_short_description = __( 'Manage hidden notices', 'disable-admin-notices' );
53
-
54
- parent::__construct( $plugin );
55
-
56
- $this->plugin = $plugin;
57
- }
58
-
59
- /**
60
- * Requests assets (js and css) for the page.
61
- *
62
- * @param Wbcr_Factory439_ScriptList $scripts
63
- * @param Wbcr_Factory439_StyleList $styles
64
- *
65
- * @return void
66
- * @see Wbcr_FactoryPages438_AdminPage
67
- *
68
- */
69
- public function assets( $scripts, $styles ) {
70
- parent::assets( $scripts, $styles );
71
-
72
- $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
73
- }
74
-
75
- public function showPageContent() {
76
- ?>
77
- <div class="wrdan-premium-fake-content">
78
- <div class="wdan-premium-info">
79
- <h3>Hidden notices PRO</h3>
80
- <p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
81
- in
82
- the admin bar to insert their ads. Just get rid of this ad with the premium features of our
83
- plugin.</p>
84
- <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank"
85
- href="https://clearfy.pro/disable-admin-notices/">Go
86
- Pro</a>
87
- </div>
88
- </div>
89
- <?php
90
- }
91
- }
1
+ <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
6
+ }
7
+
8
+ /**
9
+ * Страница со списком скрытых нотисов.
10
+ *
11
+ * @author Artem Prihodko <webtemyk@yandex.ru>
12
+ * @copyright (c) 2020 Webraftic Ltd
13
+ * @version 1.0
14
+ */
15
+ class WDAN_Notices extends WDN_Page {
16
+
17
+ /**
18
+ * {@inheritDoc}
19
+ *
20
+ * @var string
21
+ */
22
+ public $id = "wdan-notices";
23
+
24
+ /**
25
+ * {@inheritDoc}
26
+ *
27
+ * @var string
28
+ */
29
+ public $type = "page";
30
+
31
+ /**
32
+ * {@inheritDoc}
33
+ *
34
+ * @var string
35
+ */
36
+ public $page_menu_dashicon = 'dashicons-hidden';
37
+
38
+ /**
39
+ * {@inheritDoc}
40
+ *
41
+ * @since 2.0.5 - добавлен
42
+ * @var bool
43
+ */
44
+ public $show_right_sidebar_in_options = false;
45
+
46
+
47
+ /**
48
+ * @param WDN_Plugin $plugin
49
+ */
50
+ public function __construct( $plugin ) {
51
+ $this->menu_title = __( 'Hidden notices', 'disable-admin-notices' );
52
+ $this->page_menu_short_description = __( 'Manage hidden notices', 'disable-admin-notices' );
53
+
54
+ parent::__construct( $plugin );
55
+
56
+ $this->plugin = $plugin;
57
+ }
58
+
59
+ /**
60
+ * Requests assets (js and css) for the page.
61
+ *
62
+ * @param Wbcr_Factory453_ScriptList $scripts
63
+ * @param Wbcr_Factory453_StyleList $styles
64
+ *
65
+ * @return void
66
+ * @see Wbcr_FactoryPages452_AdminPage
67
+ *
68
+ */
69
+ public function assets( $scripts, $styles ) {
70
+ parent::assets( $scripts, $styles );
71
+
72
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
73
+ }
74
+
75
+ public function showPageContent() {
76
+ ?>
77
+ <div class="wrdan-premium-fake-content">
78
+ <div class="wdan-premium-info">
79
+ <h3>Hidden notices PRO</h3>
80
+ <p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
81
+ in
82
+ the admin bar to insert their ads. Just get rid of this ad with the premium features of our
83
+ plugin.</p>
84
+ <a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank"
85
+ href="https://clearfy.pro/disable-admin-notices/">Go
86
+ Pro</a>
87
+ </div>
88
+ </div>
89
+ <?php
90
+ }
91
+ }
admin/pages/class-pages-settings.php CHANGED
@@ -1,149 +1,149 @@
1
- <?php
2
- /**
3
- * Страница общих настроек для этого плагина.
4
- *
5
- * Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
6
- * дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
7
- *
8
- * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
9
- *
10
- * Github: https://github.com/alexkovalevv
11
- *
12
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
13
- * @copyright (c) 2018 Webraftic Ltd
14
- * @version 1.0
15
- */
16
-
17
- // Exit if accessed directly
18
- if ( ! defined( 'ABSPATH' ) ) {
19
- exit;
20
- }
21
-
22
- class WDN_Settings_Page extends WDN_Page {
23
-
24
- /**
25
- * {@inheritDoc}
26
- *
27
- * @var string
28
- */
29
- public $id = "wdan_settings";
30
-
31
- /**
32
- * {@inheritDoc}
33
- *
34
- * @var string
35
- */
36
- public $page_menu_dashicon = 'dashicons-admin-generic';
37
-
38
- /**
39
- * {@inheritDoc}
40
- *
41
- * @var bool
42
- */
43
- public $available_for_multisite = true;
44
-
45
- /**
46
- * {@inheritDoc}
47
- *
48
- * @since 1.1.0
49
- * @var bool
50
- */
51
- public $show_right_sidebar_in_options = true;
52
-
53
- /**
54
- * {@inheritDoc}
55
- *
56
- * @since 1.1.3 - Added
57
- * @var bool - true show, false hide
58
- */
59
- public $show_search_options_form = false;
60
-
61
- /**
62
- * {@inheritDoc}
63
- * @var int
64
- */
65
- public $page_menu_position = 100;
66
-
67
-
68
- /**
69
- * @param Wbcr_Factory439_Plugin $plugin
70
- */
71
- public function __construct( Wbcr_Factory439_Plugin $plugin ) {
72
- $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
73
- $this->page_menu_short_description = __( 'General settings', 'disable-admin-notices' );
74
-
75
- $this->internal = false;
76
- $this->menu_target = 'options-general.php';
77
- $this->add_link_to_plugin_actions = true;
78
-
79
- parent::__construct( $plugin );
80
-
81
- $this->plugin = $plugin;
82
- }
83
-
84
- public function getPageTitle() {
85
- return __( 'Settings', 'disable-admin-notices' );
86
- }
87
-
88
- /**
89
- * Requests assets (js and css) for the page.
90
- *
91
- * @param Wbcr_Factory439_ScriptList $scripts
92
- * @param Wbcr_Factory439_StyleList $styles
93
- *
94
- * @return void
95
- * @see Wbcr_FactoryPages438_AdminPage
96
- *
97
- */
98
- public function assets( $scripts, $styles ) {
99
- parent::assets( $scripts, $styles );
100
-
101
- $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
102
- $this->scripts->add( WDN_PLUGIN_URL . '/admin/assets/js/settings.js' );
103
- }
104
-
105
- /**
106
- * {@inheritDoc}
107
- *
108
- * @return array
109
- */
110
- public function actionsNotice( $notices ) {
111
- $notices[] = [
112
- 'conditions' => [
113
- 'wbcr_dan_reseted_notices' => 1
114
- ],
115
- 'type' => 'success',
116
- 'message' => __( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' )
117
- ];
118
-
119
- /*$notices[] = array(
120
- 'conditions' => array(
121
- 'wbcr_dan_clear_comments_error' => 1,
122
- 'wbcr_dan_code' => 'interal_error'
123
- ),
124
- 'type' => 'danger',
125
- 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_438')
126
- );*/
127
-
128
- return $notices;
129
- }
130
-
131
- /**
132
- * {@inheritDoc}
133
- *
134
- * @return array
135
- */
136
- public function getPageOptions() {
137
- $options = wbcr_dan_get_plugin_options();
138
-
139
- $formOptions = [];
140
-
141
- $formOptions[] = [
142
- 'type' => 'form-group',
143
- 'items' => $options,
144
- //'cssClass' => 'postbox'
145
- ];
146
-
147
- return apply_filters( 'wbcr_dan_notices_form_options', $formOptions, $this );
148
- }
149
  }
1
+ <?php
2
+ /**
3
+ * Страница общих настроек для этого плагина.
4
+ *
5
+ * Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
6
+ * дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
7
+ *
8
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
9
+ *
10
+ * Github: https://github.com/alexkovalevv
11
+ *
12
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
13
+ * @copyright (c) 2018 Webraftic Ltd
14
+ * @version 1.0
15
+ */
16
+
17
+ // Exit if accessed directly
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit;
20
+ }
21
+
22
+ class WDN_Settings_Page extends WDN_Page {
23
+
24
+ /**
25
+ * {@inheritDoc}
26
+ *
27
+ * @var string
28
+ */
29
+ public $id = "wdan_settings";
30
+
31
+ /**
32
+ * {@inheritDoc}
33
+ *
34
+ * @var string
35
+ */
36
+ public $page_menu_dashicon = 'dashicons-admin-generic';
37
+
38
+ /**
39
+ * {@inheritDoc}
40
+ *
41
+ * @var bool
42
+ */
43
+ public $available_for_multisite = true;
44
+
45
+ /**
46
+ * {@inheritDoc}
47
+ *
48
+ * @since 1.1.0
49
+ * @var bool
50
+ */
51
+ public $show_right_sidebar_in_options = true;
52
+
53
+ /**
54
+ * {@inheritDoc}
55
+ *
56
+ * @since 1.1.3 - Added
57
+ * @var bool - true show, false hide
58
+ */
59
+ public $show_search_options_form = false;
60
+
61
+ /**
62
+ * {@inheritDoc}
63
+ * @var int
64
+ */
65
+ public $page_menu_position = 100;
66
+
67
+
68
+ /**
69
+ * @param Wbcr_Factory453_Plugin $plugin
70
+ */
71
+ public function __construct( Wbcr_Factory453_Plugin $plugin ) {
72
+ $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
73
+ $this->page_menu_short_description = __( 'General settings', 'disable-admin-notices' );
74
+
75
+ $this->internal = false;
76
+ $this->menu_target = 'options-general.php';
77
+ $this->add_link_to_plugin_actions = true;
78
+
79
+ parent::__construct( $plugin );
80
+
81
+ $this->plugin = $plugin;
82
+ }
83
+
84
+ public function getPageTitle() {
85
+ return __( 'Settings', 'disable-admin-notices' );
86
+ }
87
+
88
+ /**
89
+ * Requests assets (js and css) for the page.
90
+ *
91
+ * @param Wbcr_Factory453_ScriptList $scripts
92
+ * @param Wbcr_Factory453_StyleList $styles
93
+ *
94
+ * @return void
95
+ * @see Wbcr_FactoryPages452_AdminPage
96
+ *
97
+ */
98
+ public function assets( $scripts, $styles ) {
99
+ parent::assets( $scripts, $styles );
100
+
101
+ $this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
102
+ $this->scripts->add( WDN_PLUGIN_URL . '/admin/assets/js/settings.js' );
103
+ }
104
+
105
+ /**
106
+ * {@inheritDoc}
107
+ *
108
+ * @return array
109
+ */
110
+ public function actionsNotice( $notices ) {
111
+ $notices[] = [
112
+ 'conditions' => [
113
+ 'wbcr_dan_reseted_notices' => 1
114
+ ],
115
+ 'type' => 'success',
116
+ 'message' => __( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' )
117
+ ];
118
+
119
+ /*$notices[] = array(
120
+ 'conditions' => array(
121
+ 'wbcr_dan_clear_comments_error' => 1,
122
+ 'wbcr_dan_code' => 'interal_error'
123
+ ),
124
+ 'type' => 'danger',
125
+ 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_452')
126
+ );*/
127
+
128
+ return $notices;
129
+ }
130
+
131
+ /**
132
+ * {@inheritDoc}
133
+ *
134
+ * @return array
135
+ */
136
+ public function getPageOptions() {
137
+ $options = wbcr_dan_get_plugin_options();
138
+
139
+ $formOptions = [];
140
+
141
+ $formOptions[] = [
142
+ 'type' => 'form-group',
143
+ 'items' => $options,
144
+ //'cssClass' => 'postbox'
145
+ ];
146
+
147
+ return apply_filters( 'wbcr_dan_notices_form_options', $formOptions, $this );
148
+ }
149
  }
admin/pages/index.php CHANGED
@@ -1,2 +1,2 @@
1
- <?php
2
  // Silence is golden.
1
+ <?php
2
  // Silence is golden.
clearfy.php CHANGED
@@ -1,56 +1,56 @@
1
- <?php
2
- /**
3
- * Этот файл инициализирует этот плагин, как аддон для плагина Clearfy.
4
- *
5
- * Файл будет подключен только в плагине Clearfy, используя особый вариант загрузки. Это более простое решение
6
- * пришло на смену встроенной системы подключения аддонов в фреймворке.
7
- *
8
- * Github: https://github.com/alexkovalevv
9
- *
10
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
11
- * @copyright (c) 2018 Webraftic Ltd
12
- * @version 1.0
13
- */
14
-
15
- // Exit if accessed directly
16
- if ( ! defined( 'ABSPATH' ) ) {
17
- exit;
18
- }
19
-
20
- if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
21
- define( 'WDN_PLUGIN_VERSION', '1.2.3' );
22
- define( 'WDN_TEXT_DOMAIN', 'disable-admin-notices' );
23
- define( 'WDN_PLUGIN_ACTIVE', true );
24
-
25
- // Этот плагин загружен, как аддон для плагина Clearfy
26
- define( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON', true );
27
-
28
- if ( ! defined( 'WDN_PLUGIN_DIR' ) ) {
29
- define( 'WDN_PLUGIN_DIR', dirname( __FILE__ ) );
30
- }
31
-
32
- if ( ! defined( 'WDN_PLUGIN_BASE' ) ) {
33
- define( 'WDN_PLUGIN_BASE', plugin_basename( __FILE__ ) );
34
- }
35
-
36
- if ( ! defined( 'WDN_PLUGIN_URL' ) ) {
37
- define( 'WDN_PLUGIN_URL', plugins_url( null, __FILE__ ) );
38
- }
39
-
40
- try {
41
- // Global scripts
42
- require_once( WDN_PLUGIN_DIR . '/includes/functions.php' );
43
- require_once( WDN_PLUGIN_DIR . '/includes/3rd-party/class-clearfy-plugin.php' );
44
- new WDN_Plugin();
45
- } catch( Exception $e ) {
46
- $wdan_plugin_error_func = function () use ( $e ) {
47
- $error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Webcraftic Disable Admin Notices', $e->getMessage(), $e->getCode() );
48
- echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
49
- };
50
-
51
- add_action( 'admin_notices', $wdan_plugin_error_func );
52
- add_action( 'network_admin_notices', $wdan_plugin_error_func );
53
- }
54
- }
55
-
56
-
1
+ <?php
2
+ /**
3
+ * Этот файл инициализирует этот плагин, как аддон для плагина Clearfy.
4
+ *
5
+ * Файл будет подключен только в плагине Clearfy, используя особый вариант загрузки. Это более простое решение
6
+ * пришло на смену встроенной системы подключения аддонов в фреймворке.
7
+ *
8
+ * Github: https://github.com/alexkovalevv
9
+ *
10
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
11
+ * @copyright (c) 2018 Webraftic Ltd
12
+ * @version 1.0
13
+ */
14
+
15
+ // Exit if accessed directly
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit;
18
+ }
19
+
20
+ if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
21
+ define( 'WDN_PLUGIN_VERSION', '1.2.7' );
22
+ define( 'WDN_TEXT_DOMAIN', 'disable-admin-notices' );
23
+ define( 'WDN_PLUGIN_ACTIVE', true );
24
+
25
+ // Этот плагин загружен, как аддон для плагина Clearfy
26
+ define( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON', true );
27
+
28
+ if ( ! defined( 'WDN_PLUGIN_DIR' ) ) {
29
+ define( 'WDN_PLUGIN_DIR', dirname( __FILE__ ) );
30
+ }
31
+
32
+ if ( ! defined( 'WDN_PLUGIN_BASE' ) ) {
33
+ define( 'WDN_PLUGIN_BASE', plugin_basename( __FILE__ ) );
34
+ }
35
+
36
+ if ( ! defined( 'WDN_PLUGIN_URL' ) ) {
37
+ define( 'WDN_PLUGIN_URL', plugins_url( null, __FILE__ ) );
38
+ }
39
+
40
+ try {
41
+ // Global scripts
42
+ require_once( WDN_PLUGIN_DIR . '/includes/functions.php' );
43
+ require_once( WDN_PLUGIN_DIR . '/includes/3rd-party/class-clearfy-plugin.php' );
44
+ new WDN_Plugin();
45
+ } catch( Exception $e ) {
46
+ $wdan_plugin_error_func = function () use ( $e ) {
47
+ $error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Webcraftic Disable Admin Notices', $e->getMessage(), $e->getCode() );
48
+ echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
49
+ };
50
+
51
+ add_action( 'admin_notices', $wdan_plugin_error_func );
52
+ add_action( 'network_admin_notices', $wdan_plugin_error_func );
53
+ }
54
+ }
55
+
56
+
disable-admin-notices.php CHANGED
@@ -1,159 +1,167 @@
1
- <?php
2
- /**
3
- * Plugin Name: Disable Admin Notices Individually
4
- * Plugin URI: https://webcraftic.com
5
- * Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
6
- * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 1.2.4
8
- * Text Domain: disable-admin-notices
9
- * Domain Path: /languages/
10
- * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_439_VERSION
12
- */
13
-
14
- /**
15
- * Developers who contributions in the development plugin:
16
- *
17
- * Alexander Kovalev
18
- * ---------------------------------------------------------------------------------
19
- * Full plugin development.
20
- *
21
- * Email: alex.kovalevv@gmail.com
22
- * Personal card: https://alexkovalevv.github.io
23
- * Personal repo: https://github.com/alexkovalevv
24
- * ---------------------------------------------------------------------------------
25
- */
26
-
27
- // Exit if accessed directly
28
- if( !defined('ABSPATH') ) {
29
- exit;
30
- }
31
-
32
- /**
33
- * -----------------------------------------------------------------------------
34
- * CHECK REQUIREMENTS
35
- * Check compatibility with php and wp version of the user's site. As well as checking
36
- * compatibility with other plugins from Webcraftic.
37
- * -----------------------------------------------------------------------------
38
- */
39
-
40
- require_once(dirname(__FILE__) . '/libs/factory/core/includes/class-factory-requirements.php');
41
-
42
- // @formatter:off
43
- $wdan_plugin_info = array(
44
- 'prefix' => 'wbcr_dan_',
45
- 'plugin_name' => 'wbcr_dan',
46
- 'plugin_title' => __('Webcraftic disable admin notices', 'disable-admin-notices'),
47
-
48
- // PLUGIN SUPPORT
49
- 'support_details' => array(
50
- 'url' => 'https://clearfy.pro/',
51
- 'pages_map' => array(
52
- 'support' => 'support', // {site}/support
53
- 'docs' => 'docs', // {site}/docs,
54
- 'pricing' => 'disable-admin-notices'
55
- )
56
- ),
57
- // PLUGIN PREMIUM SETTINGS
58
- 'has_premium' => true,
59
- 'license_settings' => array(
60
- 'provider' => 'freemius',
61
- 'slug' => 'disable-admin-notices-premium',
62
- 'plugin_id' => '6456',
63
- 'public_key' => 'pk_0570ec3c1b4100b9c9a0cbfe80f9f',
64
- 'price' => 29,
65
- 'has_updates' => true,
66
- 'updates_settings' => array(
67
- 'maybe_rollback' => true,
68
- 'rollback_settings' => array(
69
- 'prev_stable_version' => '0.0.0'
70
- )
71
- )
72
- ),
73
-
74
- // PLUGIN SUBSCRIBE FORM
75
- 'subscribe_widget' => true,
76
- 'subscribe_settings' => ['group_id' => '105407140'],
77
-
78
- // PLUGIN ADVERTS
79
- 'render_adverts' => true,
80
- 'adverts_settings' => array(
81
- 'dashboard_widget' => false, // show dashboard widget (default: false)
82
- 'right_sidebar' => true, // show adverts sidebar (default: false)
83
- 'notice' => false, // show notice message (default: false)
84
- ),
85
-
86
- // FRAMEWORK MODULES
87
- 'load_factory_modules' => array(
88
- array('libs/factory/bootstrap', 'factory_bootstrap_439', 'admin'),
89
- array('libs/factory/forms', 'factory_forms_436', 'admin'),
90
- array('libs/factory/pages', 'factory_pages_438', 'admin'),
91
- array('libs/factory/clearfy', 'factory_clearfy_230', 'all'),
92
- array('libs/factory/freemius', 'factory_freemius_126', 'all'),
93
- array('libs/factory/adverts', 'factory_adverts_117', 'admin'),
94
- //array('libs/factory/logger', 'factory_logger_101', 'all')
95
- )
96
- );
97
-
98
- $wdan_compatibility = new Wbcr_Factory439_Requirements(__FILE__, array_merge($wdan_plugin_info, array(
99
- 'plugin_already_activate' => defined('WDN_PLUGIN_ACTIVE'),
100
- 'required_php_version' => '5.4',
101
- 'required_wp_version' => '4.2.0',
102
- 'required_clearfy_check_component' => false
103
- )));
104
-
105
-
106
-
107
- /**
108
- * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
109
- * and the user will throw a warning.
110
- */
111
- if( !$wdan_compatibility->check() ) {
112
- return;
113
- }
114
-
115
- /**
116
- * -----------------------------------------------------------------------------
117
- * CONSTANTS
118
- * Install frequently used constants and constants for debugging, which will be
119
- * removed after compiling the plugin.
120
- * -----------------------------------------------------------------------------
121
- */
122
-
123
- // This plugin is activated
124
- define('WDN_PLUGIN_ACTIVE', true);
125
- define('WDN_PLUGIN_VERSION', $wdan_compatibility->get_plugin_version());
126
- define('WDN_PLUGIN_DIR', dirname(__FILE__));
127
- define('WDN_PLUGIN_BASE', plugin_basename(__FILE__));
128
- define('WDN_PLUGIN_URL', plugins_url(null, __FILE__));
129
-
130
-
131
-
132
- /**
133
- * -----------------------------------------------------------------------------
134
- * PLUGIN INIT
135
- * -----------------------------------------------------------------------------
136
- */
137
-
138
- require_once(WDN_PLUGIN_DIR . '/libs/factory/core/boot.php');
139
- require_once(WDN_PLUGIN_DIR . '/includes/functions.php');
140
- require_once(WDN_PLUGIN_DIR . '/includes/class-plugin.php');
141
-
142
- try {
143
- new WDN_Plugin(__FILE__, array_merge($wdan_plugin_info, array(
144
- 'plugin_version' => WDN_PLUGIN_VERSION,
145
- 'plugin_text_domain' => $wdan_compatibility->get_text_domain(),
146
- )));
147
- } catch( Exception $e ) {
148
- // Plugin wasn't initialized due to an error
149
- define('WDN_PLUGIN_THROW_ERROR', true);
150
-
151
- $wdan_plugin_error_func = function () use ($e) {
152
- $error = sprintf("The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Webcraftic Disable Admin Notices', $e->getMessage(), $e->getCode());
153
- echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
154
- };
155
-
156
- add_action('admin_notices', $wdan_plugin_error_func);
157
- add_action('network_admin_notices', $wdan_plugin_error_func);
158
- }
 
 
 
 
 
 
 
 
159
  // @formatter:on
1
+ <?php
2
+ /**
3
+ * Plugin Name: Disable Admin Notices Individually
4
+ * Plugin URI: https://clearfy.pro/disable-admin-notices
5
+ * Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
6
+ * Author: Creative Motion <info@cm-wp.com>
7
+ * Version: 1.2.8
8
+ * Text Domain: disable-admin-notices
9
+ * Domain Path: /languages/
10
+ * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_453_VERSION
12
+ */
13
+
14
+ /**
15
+ * Developers who contributions in the development plugin:
16
+ *
17
+ * Alexander Kovalev
18
+ * ---------------------------------------------------------------------------------
19
+ * Full plugin development.
20
+ *
21
+ * Email: alex.kovalevv@gmail.com
22
+ * Personal card: https://alexkovalevv.github.io
23
+ * Personal repo: https://github.com/alexkovalevv
24
+ * ---------------------------------------------------------------------------------
25
+ *
26
+ * Artem Prihodko
27
+ * ---------------------------------------------------------------------------------
28
+ * Updates and fixes
29
+ *
30
+ * Email: webtemyk@yandex.ru
31
+ * GitHub: https://github.com/temyk
32
+ * ---------------------------------------------------------------------------------
33
+ */
34
+
35
+ // Exit if accessed directly
36
+ if ( ! defined( 'ABSPATH' ) ) {
37
+ exit;
38
+ }
39
+
40
+ /**
41
+ * -----------------------------------------------------------------------------
42
+ * CHECK REQUIREMENTS
43
+ * Check compatibility with php and wp version of the user's site. As well as checking
44
+ * compatibility with other plugins from Webcraftic.
45
+ * -----------------------------------------------------------------------------
46
+ */
47
+
48
+ require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-requirements.php' );
49
+
50
+ // @formatter:off
51
+ $wdan_plugin_info = array(
52
+ 'prefix' => 'wbcr_dan_',
53
+ 'plugin_name' => 'wbcr_dan',
54
+ 'plugin_title' => __( 'Webcraftic disable admin notices', 'disable-admin-notices' ),
55
+
56
+ // PLUGIN SUPPORT
57
+ 'support_details' => array(
58
+ 'url' => 'https://clearfy.pro/',
59
+ 'pages_map' => array(
60
+ 'support' => 'support', // {site}/support
61
+ 'docs' => 'docs', // {site}/docs,
62
+ 'pricing' => 'disable-admin-notices'
63
+ )
64
+ ),
65
+ // PLUGIN PREMIUM SETTINGS
66
+ 'has_premium' => true,
67
+ 'license_settings' => array(
68
+ 'provider' => 'freemius',
69
+ 'slug' => 'disable-admin-notices-premium',
70
+ 'plugin_id' => '6456',
71
+ 'public_key' => 'pk_0570ec3c1b4100b9c9a0cbfe80f9f',
72
+ 'price' => 29,
73
+ 'has_updates' => true,
74
+ 'updates_settings' => array(
75
+ 'maybe_rollback' => true,
76
+ 'rollback_settings' => array(
77
+ 'prev_stable_version' => '0.0.0'
78
+ )
79
+ )
80
+ ),
81
+
82
+ // PLUGIN SUBSCRIBE FORM
83
+ 'subscribe_widget' => true,
84
+ 'subscribe_settings' => [ 'group_id' => '105407140' ],
85
+
86
+ // PLUGIN ADVERTS
87
+ 'render_adverts' => true,
88
+ 'adverts_settings' => array(
89
+ 'dashboard_widget' => false, // show dashboard widget (default: false)
90
+ 'right_sidebar' => true, // show adverts sidebar (default: false)
91
+ 'notice' => false, // show notice message (default: false)
92
+ ),
93
+
94
+ // FRAMEWORK MODULES
95
+ 'load_factory_modules' => array(
96
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_454', 'admin' ),
97
+ array( 'libs/factory/forms', 'factory_forms_450', 'admin' ),
98
+ array( 'libs/factory/pages', 'factory_pages_452', 'admin' ),
99
+ array( 'libs/factory/templates', 'factory_templates_106', 'all' ),
100
+ array( 'libs/factory/freemius', 'factory_freemius_140', 'all' ),
101
+ array( 'libs/factory/adverts', 'factory_adverts_130', 'admin' ),
102
+ //array('libs/factory/logger', 'factory_logger_118', 'all')
103
+ )
104
+ );
105
+
106
+ $wdan_compatibility = new Wbcr_Factory453_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
107
+ 'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
108
+ 'required_php_version' => '7.0',
109
+ 'required_wp_version' => '4.8.0',
110
+ 'required_clearfy_check_component' => false
111
+ ) ) );
112
+
113
+
114
+
115
+ /**
116
+ * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
117
+ * and the user will throw a warning.
118
+ */
119
+ if ( ! $wdan_compatibility->check() ) {
120
+ return;
121
+ }
122
+
123
+ /**
124
+ * -----------------------------------------------------------------------------
125
+ * CONSTANTS
126
+ * Install frequently used constants and constants for debugging, which will be
127
+ * removed after compiling the plugin.
128
+ * -----------------------------------------------------------------------------
129
+ */
130
+
131
+ // This plugin is activated
132
+ define( 'WDN_PLUGIN_ACTIVE', true );
133
+ define( 'WDN_PLUGIN_VERSION', $wdan_compatibility->get_plugin_version() );
134
+ define( 'WDN_PLUGIN_DIR', dirname( __FILE__ ) );
135
+ define( 'WDN_PLUGIN_BASE', plugin_basename( __FILE__ ) );
136
+ define( 'WDN_PLUGIN_URL', plugins_url( null, __FILE__ ) );
137
+
138
+
139
+
140
+ /**
141
+ * -----------------------------------------------------------------------------
142
+ * PLUGIN INIT
143
+ * -----------------------------------------------------------------------------
144
+ */
145
+
146
+ require_once( WDN_PLUGIN_DIR . '/libs/factory/core/boot.php' );
147
+ require_once( WDN_PLUGIN_DIR . '/includes/functions.php' );
148
+ require_once( WDN_PLUGIN_DIR . '/includes/class-plugin.php' );
149
+
150
+ try {
151
+ new WDN_Plugin( __FILE__, array_merge( $wdan_plugin_info, array(
152
+ 'plugin_version' => WDN_PLUGIN_VERSION,
153
+ 'plugin_text_domain' => $wdan_compatibility->get_text_domain(),
154
+ ) ) );
155
+ } catch ( Exception $e ) {
156
+ // Plugin wasn't initialized due to an error
157
+ define( 'WDN_PLUGIN_THROW_ERROR', true );
158
+
159
+ $wdan_plugin_error_func = function () use ( $e ) {
160
+ $error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Disable Admin Notices', $e->getMessage(), $e->getCode() );
161
+ echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
162
+ };
163
+
164
+ add_action( 'admin_notices', $wdan_plugin_error_func );
165
+ add_action( 'network_admin_notices', $wdan_plugin_error_func );
166
+ }
167
  // @formatter:on
includes/3rd-party/class-clearfy-plugin.php CHANGED
@@ -1,79 +1,79 @@
1
- <?php
2
- /**
3
- * Disable admin notices core class
4
- *
5
- * Github: https://github.com/alexkovalevv
6
- *
7
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
8
- * @copyright (c) 2018 Webraftic Ltd
9
- * @version 1.0
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
- class WDN_Plugin {
18
-
19
- /**
20
- * @var WCL_Plugin
21
- */
22
- private static $app;
23
-
24
- /**
25
- * Конструктор
26
- * Вы
27
- *
28
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
29
- * @throws \Exception
30
- */
31
- public function __construct() {
32
- if ( ! class_exists( 'WCL_Plugin' ) ) {
33
- throw new Exception( 'Plugin Clearfy is not installed!' );
34
- }
35
-
36
- self::$app = WCL_Plugin::app();
37
-
38
- $this->globalScripts();
39
-
40
- if ( is_admin() ) {
41
- $this->adminScripts();
42
- }
43
- }
44
-
45
- /**
46
- * @return WCL_Plugin
47
- */
48
- public static function app() {
49
- return self::$app;
50
- }
51
-
52
- /**
53
- * Выполняет сценарии, которые должны быть запущены только в бекенде
54
- *
55
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
- * @since 1.1.0
57
- */
58
- private function adminScripts() {
59
- require( WDN_PLUGIN_DIR . '/admin/options.php' );
60
-
61
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
62
- require( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
63
- require( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
64
- }
65
-
66
- require( WDN_PLUGIN_DIR . '/admin/boot.php' );
67
- }
68
-
69
- /**
70
- * Выполняет сценрии, которые должны быть запущены глобально
71
- *
72
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
73
- * @since 1.1.0
74
- */
75
- private function globalScripts() {
76
- require( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
77
- new WDN_ConfigHideNotices( self::$app );
78
- }
79
  }
1
+ <?php
2
+ /**
3
+ * Disable admin notices core class
4
+ *
5
+ * Github: https://github.com/alexkovalevv
6
+ *
7
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
8
+ * @copyright (c) 2018 Webraftic Ltd
9
+ * @version 1.0
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if ( ! defined( 'ABSPATH' ) ) {
14
+ exit;
15
+ }
16
+
17
+ class WDN_Plugin {
18
+
19
+ /**
20
+ * @var WCL_Plugin
21
+ */
22
+ private static $app;
23
+
24
+ /**
25
+ * Конструктор
26
+ * Вы
27
+ *
28
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
29
+ * @throws \Exception
30
+ */
31
+ public function __construct() {
32
+ if ( ! class_exists( 'WCL_Plugin' ) ) {
33
+ throw new Exception( 'Plugin Clearfy is not installed!' );
34
+ }
35
+
36
+ self::$app = WCL_Plugin::app();
37
+
38
+ $this->globalScripts();
39
+
40
+ if ( is_admin() ) {
41
+ $this->adminScripts();
42
+ }
43
+ }
44
+
45
+ /**
46
+ * @return WCL_Plugin
47
+ */
48
+ public static function app() {
49
+ return self::$app;
50
+ }
51
+
52
+ /**
53
+ * Выполняет сценарии, которые должны быть запущены только в бекенде
54
+ *
55
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
+ * @since 1.1.0
57
+ */
58
+ private function adminScripts() {
59
+ require( WDN_PLUGIN_DIR . '/admin/options.php' );
60
+
61
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
62
+ require( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
63
+ require( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
64
+ }
65
+
66
+ require( WDN_PLUGIN_DIR . '/admin/boot.php' );
67
+ }
68
+
69
+ /**
70
+ * Выполняет сценрии, которые должны быть запущены глобально
71
+ *
72
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
73
+ * @since 1.1.0
74
+ */
75
+ private function globalScripts() {
76
+ require( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
77
+ new WDN_ConfigHideNotices( self::$app );
78
+ }
79
  }
includes/class-plugin.php CHANGED
@@ -1,106 +1,106 @@
1
- <?php
2
- /**
3
- * Disable admin notices core class
4
- *
5
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
6
- * Github: https://github.com/alexkovalevv
7
- * @copyright (c) 2018 Webraftic Ltd
8
- * @version 1.0
9
- */
10
-
11
- // Exit if accessed directly
12
- //use WBCR\Factory_Adverts_117\Base;
13
-
14
- if ( ! defined( 'ABSPATH' ) ) {
15
- exit;
16
- }
17
-
18
- class WDN_Plugin extends Wbcr_Factory439_Plugin {
19
-
20
- /**
21
- * @var Wbcr_Factory439_Plugin
22
- */
23
- private static $app;
24
- private $plugin_data;
25
-
26
-
27
- /**
28
- * @param string $plugin_path
29
- * @param array $data
30
- *
31
- * @throws Exception
32
- */
33
- public function __construct( $plugin_path, $data ) {
34
- parent::__construct( $plugin_path, $data );
35
-
36
- self::$app = $this;
37
- $this->plugin_data = $data;
38
-
39
- $this->global_scripts();
40
-
41
- if ( is_admin() ) {
42
- $this->admin_scripts();
43
- }
44
- }
45
-
46
- /**
47
- * @return Wbcr_Factory439_Plugin
48
- */
49
- public static function app() {
50
- return self::$app;
51
- }
52
-
53
- private function registerPages() {
54
- //self::app()->registerPage( 'WDN_Log_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-log.php' );
55
- self::app()->registerPage( 'WDN_Settings_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-settings.php' );
56
-
57
- if ( ! ( $this->premium->is_activate() && $this->premium->is_install_package() ) ) {
58
- self::app()->registerPage( 'WDAN_Notices', WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
59
- self::app()->registerPage( 'WDAN_Block_Ad_Redirects', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
60
- self::app()->registerPage( 'WDAN_Edit_Admin_Bar', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
61
- }
62
-
63
- self::app()->registerPage( 'WDN_LicensePage', WDN_PLUGIN_DIR . '/admin/pages/class-pages-license.php' );
64
- }
65
-
66
- private function admin_scripts() {
67
- require( WDN_PLUGIN_DIR . '/admin/options.php' );
68
- require( WDN_PLUGIN_DIR . '/admin/class-page-basic.php' );
69
-
70
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
71
- require_once( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
72
- require_once( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
73
- }
74
-
75
- require_once( WDN_PLUGIN_DIR . '/admin/boot.php' );
76
- require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
77
- require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
78
- require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
79
-
80
- add_action( 'plugins_loaded', function () {
81
- $this->registerPages();
82
- }, 30 );
83
- }
84
-
85
- private function global_scripts() {
86
- require_once( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
87
- new WDN_ConfigHideNotices( self::$app );
88
- }
89
-
90
- /**
91
- * Метод проверяет активацию премиум плагина и наличие действующего лицензионнного ключа
92
- *
93
- * @return bool
94
- */
95
- public function is_premium() {
96
- if (
97
- $this->premium->is_active() &&
98
- $this->premium->is_activate()
99
- && $this->premium->is_install_package()
100
- ) {
101
- return true;
102
- } else {
103
- return false;
104
- }
105
- }
106
- }
1
+ <?php
2
+ /**
3
+ * Disable admin notices core class
4
+ *
5
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
6
+ * Github: https://github.com/alexkovalevv
7
+ * @copyright (c) 2018 Webraftic Ltd
8
+ * @version 1.0
9
+ */
10
+
11
+ // Exit if accessed directly
12
+ //use WBCR\Factory_Adverts_130\Base;
13
+
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ class WDN_Plugin extends Wbcr_Factory453_Plugin {
19
+
20
+ /**
21
+ * @var Wbcr_Factory453_Plugin
22
+ */
23
+ private static $app;
24
+ private $plugin_data;
25
+
26
+
27
+ /**
28
+ * @param string $plugin_path
29
+ * @param array $data
30
+ *
31
+ * @throws Exception
32
+ */
33
+ public function __construct( $plugin_path, $data ) {
34
+ parent::__construct( $plugin_path, $data );
35
+
36
+ self::$app = $this;
37
+ $this->plugin_data = $data;
38
+
39
+ $this->global_scripts();
40
+
41
+ if ( is_admin() ) {
42
+ $this->admin_scripts();
43
+ }
44
+ }
45
+
46
+ /**
47
+ * @return Wbcr_Factory453_Plugin
48
+ */
49
+ public static function app() {
50
+ return self::$app;
51
+ }
52
+
53
+ private function registerPages() {
54
+ //self::app()->registerPage( 'WDN_Log_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-log.php' );
55
+ self::app()->registerPage( 'WDN_Settings_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-settings.php' );
56
+
57
+ if ( ! ( $this->premium->is_activate() && $this->premium->is_install_package() ) ) {
58
+ self::app()->registerPage( 'WDAN_Notices', WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
59
+ self::app()->registerPage( 'WDAN_Block_Ad_Redirects', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
60
+ self::app()->registerPage( 'WDAN_Edit_Admin_Bar', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
61
+ }
62
+
63
+ self::app()->registerPage( 'WDN_LicensePage', WDN_PLUGIN_DIR . '/admin/pages/class-pages-license.php' );
64
+ }
65
+
66
+ private function admin_scripts() {
67
+ require( WDN_PLUGIN_DIR . '/admin/options.php' );
68
+ require( WDN_PLUGIN_DIR . '/admin/class-page-basic.php' );
69
+
70
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
71
+ require_once( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
72
+ require_once( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
73
+ }
74
+
75
+ require_once( WDN_PLUGIN_DIR . '/admin/boot.php' );
76
+ require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
77
+ require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
78
+ require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
79
+
80
+ add_action( 'plugins_loaded', function () {
81
+ $this->registerPages();
82
+ }, 30 );
83
+ }
84
+
85
+ private function global_scripts() {
86
+ require_once( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
87
+ new WDN_ConfigHideNotices( self::$app );
88
+ }
89
+
90
+ /**
91
+ * Метод проверяет активацию премиум плагина и наличие действующего лицензионнного ключа
92
+ *
93
+ * @return bool
94
+ */
95
+ public function is_premium() {
96
+ if (
97
+ $this->premium->is_active() &&
98
+ $this->premium->is_activate()
99
+ && $this->premium->is_install_package()
100
+ ) {
101
+ return true;
102
+ } else {
103
+ return false;
104
+ }
105
+ }
106
+ }
includes/classes/class-configurate-notices.php CHANGED
@@ -1,382 +1,381 @@
1
- <?php
2
-
3
- /**
4
- * This class configures hide admin notices
5
- *
6
- * Github: https://github.com/alexkovalevv
7
- *
8
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
9
- * @copyright (c) 2018 Webraftic Ltd
10
- * @version 1.0
11
- */
12
-
13
- // Exit if accessed directly
14
- if ( ! defined( 'ABSPATH' ) ) {
15
- exit;
16
- }
17
-
18
- class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy230_Configurate {
19
-
20
- public function registerActionsAndFilters() {
21
- if ( is_admin() ) {
22
- $hide_notices_type = $this->getPopulateOption( 'hide_admin_notices', 'only_selected' );
23
-
24
- if ( 'not_hide' !== $hide_notices_type && 'compact_panel' !== $hide_notices_type ) {
25
- add_action( 'admin_print_scripts', [ $this, 'catchNotices' ], 999 );
26
-
27
- if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
28
- add_action( 'admin_head', [ $this, 'printNotices' ], 999 );
29
- }
30
-
31
- if ( ! empty( $hide_notices_type ) ) {
32
- add_action( 'admin_bar_menu', [ $this, 'notificationsPanel' ], 999 );
33
- add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ] );
34
- }
35
- }
36
- }
37
- }
38
-
39
- public function printNotices() {
40
- if ( is_multisite() && is_network_admin() ) {
41
- add_action( 'network_admin_notices', [ $this, 'noticesCollection' ] );
42
- } else {
43
- add_action( 'admin_notices', [ $this, 'noticesCollection' ] );
44
- }
45
- }
46
-
47
-
48
- public function enqueue_styles() {
49
- wp_enqueue_style( 'wbcr-notification-hide-style', WDN_PLUGIN_URL . '/admin/assets/css/general.css', [], $this->plugin->getPluginVersion() );
50
-
51
- if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) && current_user_can( 'manage_network' ) ) {
52
- return;
53
- }
54
- wp_enqueue_style( 'wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', [], $this->plugin->getPluginVersion() );
55
- wp_enqueue_script( 'wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', [], $this->plugin->getPluginVersion() );
56
- }
57
-
58
- public function notificationsPanel( &$wp_admin_bar ) {
59
- if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) ) {
60
- return;
61
- }
62
-
63
- if ( current_user_can( 'manage_options' ) ) {
64
- $notifications_user = get_user_meta( get_current_user_id(), $this->plugin->getOptionName( 'hidden_notices' ), true );
65
- $notifications_all = apply_filters( 'wdan/notifications/all', [] );
66
-
67
- if ( ! is_array( $notifications_user ) ) {
68
- $notifications_user = [];
69
- }
70
-
71
- if ( empty( $notifications_user ) && empty( $notifications_all ) ) {
72
- return;
73
- }
74
-
75
- $cont_notifications = sizeof( $notifications_user ) + sizeof( $notifications_all );
76
-
77
- // Add top menu
78
- $wp_admin_bar->add_menu( [
79
- 'id' => 'wbcr-han-notify-panel',
80
- 'parent' => 'top-secondary',
81
- 'title' => sprintf( __( 'Notifications %s', 'disable-admin-notices' ), '<span class="wbcr-han-adminbar-counter">' . $cont_notifications . '</span>' ),
82
- 'href' => $this->plugin->getPluginPageUrl( 'wdan-notices' )
83
- ] );
84
-
85
- $i = 0;
86
-
87
- // User
88
- if ( ! empty( $notifications_user ) ) {
89
- $wp_admin_bar->add_menu( [
90
- 'id' => 'wbcr-han-notify-panel-group-user',
91
- 'parent' => 'wbcr-han-notify-panel',
92
- 'title' => __( 'Hidden for you', 'disable-admin-notices' ),
93
- 'href' => false,
94
- 'meta' => [
95
- 'class' => ''
96
- ]
97
- ] );
98
-
99
- foreach ( $notifications_user as $notice_id => $message ) {
100
- $message = wp_kses( $message, [] );
101
- $message = $this->getExcerpt( stripslashes( $message ), 0, 350 );
102
- $message .= '<div class="wbcr-han-panel-restore-notify-line">';
103
- $message .= '<a href="#" data-nonce="' . wp_create_nonce( $this->plugin->getPluginName() . '_ajax_restore_notice_nonce' );
104
- $message .= '" data-notice-id="' . esc_attr( $notice_id ) . '" class="wbcr-han-panel-restore-notify-link">';
105
- $message .= __( 'Restore notice', 'clearfy' );
106
- $message .= '</a></div>';
107
-
108
- $wp_admin_bar->add_menu( [
109
- 'id' => 'wbcr-han-notify-panel-item-' . $i,
110
- 'parent' => 'wbcr-han-notify-panel',
111
- 'title' => $message,
112
- 'href' => false,
113
- 'meta' => [
114
- 'class' => ''
115
- ]
116
- ] );
117
-
118
- $i ++;
119
- }
120
- }
121
-
122
- if ( $this->plugin->is_premium() && ( current_user_can( 'manage_options' ) || ( is_multisite() && current_user_can( 'manage_network' ) ) ) ) {
123
- // All
124
- do_action( 'wdn/notifications/panel/all', $wp_admin_bar, $notifications_all, $i );
125
- }
126
- }
127
- }
128
-
129
- public function noticesCollection() {
130
- global $wbcr_dan_plugin_all_notices;
131
-
132
- if ( empty( $wbcr_dan_plugin_all_notices ) ) {
133
- return;
134
- }
135
- ?>
136
- <!-- Disable admin notices plugin (Clearfy tools) -->
137
- <script>
138
- jQuery(document).ready(function ($) {
139
- $(document).on('click', '.wbcr-dan-hide-notice-link', function () {
140
- var self = $(this),
141
- target = self.data('target'),
142
- noticeID = self.data('notice-id'),
143
- nonce = self.data('nonce'),
144
- noticeHtml = self.closest('.wbcr-dan-hide-links').prev('.wbcr-dan-hide-notices').clone(),
145
- contanierEl = self.closest('.wbcr-dan-hide-links').prev('.wbcr-dan-hide-notices').parent();
146
-
147
- contanierEl.find('.wbcr-dan-hide-links').remove();
148
- contanierEl.slideUp();
149
-
150
- if (!noticeID) {
151
- alert('Undefinded error. Please report the bug to our support forum.');
152
- }
153
-
154
- $.ajax(ajaxurl, {
155
- type: 'post',
156
- dataType: 'json',
157
- data: {
158
- action: 'wbcr-dan-hide-notices',
159
- target: target,
160
- security: nonce,
161
- notice_id: noticeID,
162
- notice_html: noticeHtml.html()
163
- },
164
- success: function (response) {
165
- if (!response || !response.success) {
166
-
167
- if (response.data.error_message) {
168
- console.log(response.data.error_message);
169
- self.closest('li').show();
170
- } else {
171
- console.log(response);
172
- }
173
-
174
- contanierEl.show();
175
- return;
176
- }
177
-
178
- contanierEl.remove();
179
- },
180
- error: function (xhr, ajaxOptions, thrownError) {
181
- console.log(xhr.status);
182
- console.log(xhr.responseText);
183
- console.log(thrownError);
184
- }
185
- });
186
- return false;
187
- });
188
- });
189
- </script>
190
- <?php
191
- foreach ( $wbcr_dan_plugin_all_notices as $val ) {
192
- echo $val;
193
- }
194
- }
195
-
196
- public
197
- function catchNotices() {
198
- global $wbcr_dan_plugin_all_notices;
199
-
200
- try {
201
- $wp_filter_admin_notices = &wdan_get_wp_filter( 'admin_notices' );
202
- $wp_filter_all_admin_notices = &wdan_get_wp_filter( 'all_admin_notices' );
203
-
204
- $wp_filter_notices = $this->array_merge( $wp_filter_admin_notices, $wp_filter_all_admin_notices );
205
- } catch ( Exception $e ) {
206
- $wp_filter_notices = null;
207
- }
208
-
209
- $hide_notices_type = $this->getPopulateOption( 'hide_admin_notices' );
210
-
211
- if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
212
- $get_hidden_notices = get_user_meta( get_current_user_id(), $this->plugin->getOptionName( 'hidden_notices' ), true );
213
- $get_hidden_notices_all = apply_filters( 'wdan/notifications/all', [] );
214
-
215
- $content = [];
216
- foreach ( (array) $wp_filter_notices as $filters ) {
217
- foreach ( $filters as $callback_name => $callback ) {
218
-
219
- if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
220
- continue;
221
- }
222
-
223
- ob_start();
224
-
225
- // #CLRF-140 fix bug for php7
226
- // when the developers forgot to delete the argument in the function of implementing the notification.
227
- $args = [];
228
- $accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
229
-
230
- if ( $accepted_args > 0 ) {
231
- for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
232
- $args[] = null;
233
- }
234
- }
235
- //===========
236
-
237
- call_user_func_array( $callback['function'], $args );
238
- $cont = ob_get_clean();
239
-
240
- if ( empty( $cont ) ) {
241
- continue;
242
- }
243
-
244
- $salt = is_multisite() ? get_current_blog_id() : '';
245
- $uniq_id1 = md5( strip_tags( str_replace( [ "\t", "\r", "\n", " " ], "", $cont ) ) . $salt );
246
- $uniq_id2 = md5( $callback_name . $salt );
247
-
248
- if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
249
- $class = $callback['function'][0];
250
- if ( is_object( $class ) ) {
251
- $class_name = get_class( $class );
252
- $method_name = $callback['function'][1];
253
- $uniq_id2 = md5( $class_name . ':' . $method_name );
254
- }
255
- }
256
- $txt = $cont;
257
- $txt = preg_replace( '/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $txt );
258
- $txt = rtrim( trim( $txt ) );
259
- $txt = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is', '<p>$2</p>', $txt );
260
-
261
- // All
262
- $skip_notice = apply_filters( 'wdn/notifications/catch/all', true, $get_hidden_notices_all, $uniq_id1, $uniq_id2 );
263
- if ( ! $skip_notice ) {
264
- continue;
265
- }
266
-
267
- if ( ! empty( $get_hidden_notices ) ) {
268
- $skip_notice = true;
269
- foreach ( (array) $get_hidden_notices as $key => $notice ) {
270
- $splited_notice_id = explode( '_', $key );
271
- if ( empty( $splited_notice_id ) || sizeof( $splited_notice_id ) < 2 ) {
272
- continue;
273
- }
274
- $compare_notice_id_1 = $splited_notice_id[0];
275
- $compare_notice_id_2 = $splited_notice_id[1];
276
-
277
- if ( $compare_notice_id_1 == $uniq_id1 || $compare_notice_id_2 == $uniq_id2 ) {
278
- $skip_notice = false;
279
- break;
280
- }
281
- }
282
-
283
- if ( ! $skip_notice ) {
284
- continue;
285
- }
286
- }
287
-
288
- $nonce = wp_create_nonce( $this->plugin->getPluginName() . '_ajax_hide_notices_nonce' );
289
- $hide_link_for_me = "<button data-target='user' data-nonce='{$nonce}' data-notice-id='{$uniq_id1}_{$uniq_id2}' class='wbcr-dan-hide-notice-link'>" . __( 'Hide <b>for me</b>', 'disable-admin-notices' ) . "</button>";
290
- $hide_link_for_all = "";
291
-
292
- if ( $this->plugin->is_premium() && ( current_user_can( 'manage_options' ) || ( is_multisite() && current_user_can( 'manage_network' ) ) ) ) {
293
- $hide_link_for_all = "<button data-target='all' data-nonce='{$nonce}' data-notice-id='{$uniq_id1}_{$uniq_id2}' class='wbcr-dan-hide-notice-link'>" . __( 'Hide <b>for all</b>', 'disable-admin-notices' ) . "</button>";
294
- }
295
-
296
- if ( strpos( $cont, 'redux-connect-message' ) ) {
297
- $a = 1;
298
- }
299
-
300
- // Fix for Woocommerce membership and Jetpack message
301
- if ( $cont != '<div class="js-wc-memberships-admin-notice-placeholder"></div>' && false === strpos( $cont, 'jetpack-jitm-message' ) ) {
302
- $cont = preg_replace( '/<(noscript|script|style)([^>]+)?>(.*?)<\/(noscript|script|style)>(<\/(noscript|script|style)>)*/is', '', $cont );
303
- $cont = preg_replace( '/<!--(.*?)-->/is', '', $cont );
304
- $cont = rtrim( trim( $cont ) );
305
- $cont = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is',
306
- "$1<div class='wbcr-dan-hide-notices'>$2</div><div class='wbcr-dan-hide-links'>{$hide_link_for_me} {$hide_link_for_all}</div>$3", $cont );
307
- }
308
-
309
- if ( empty( $cont ) ) {
310
- continue;
311
- }
312
- $content[] = $cont;
313
- }
314
- }
315
-
316
- $wbcr_dan_plugin_all_notices = $content;
317
- }
318
-
319
- wdan_clear_all_notices( 'user_admin_notices' );
320
- wdan_clear_all_notices( 'network_admin_notices' );
321
- wdan_clear_all_notices( 'admin_notices', [
322
- 'Learndash_Admin_Menus_Tabs',
323
- 'WC_Memberships_Admin',
324
- 'YIT_Plugin_Panel_WooCommerce'
325
- ], [ 'et_pb_export_layouts_interface' ] );
326
-
327
- wdan_clear_all_notices( 'all_admin_notices', [
328
- 'Learndash_Admin_Menus_Tabs',
329
- 'WC_Memberships_Admin',
330
- 'YIT_Plugin_Panel_WooCommerce'
331
- ], [ 'et_pb_export_layouts_interface' ] );
332
- }
333
-
334
-
335
- /**
336
- * Get excerpt from string
337
- *
338
- * @param String $str String to get an excerpt from
339
- * @param Integer $startPos Position int string to start excerpt from
340
- * @param Integer $maxLength Maximum length the excerpt may be
341
- *
342
- * @return String excerpt
343
- */
344
- public
345
- function getExcerpt(
346
- $str, $startPos = 0, $maxLength = 100
347
- ) {
348
- if ( strlen( $str ) > $maxLength ) {
349
- $excerpt = substr( $str, $startPos, $maxLength - 3 );
350
- $lastSpace = strrpos( $excerpt, ' ' );
351
- $excerpt = substr( $excerpt, 0, $lastSpace );
352
- $excerpt .= '...';
353
- } else {
354
- $excerpt = $str;
355
- }
356
-
357
- return $excerpt;
358
- }
359
-
360
- /**
361
- * @param array $arr1
362
- * @param array $arr2
363
- *
364
- * @return array
365
- */
366
- protected
367
- function array_merge(
368
- array $arr1, array $arr2
369
- ) {
370
- if ( ! empty( $arr2 ) ) {
371
- foreach ( $arr2 as $key => $value ) {
372
- if ( ! isset( $arr1[ $key ] ) ) {
373
- $arr1[ $key ] = $value;
374
- } else if ( is_array( $arr1[ $key ] ) ) {
375
- $arr1[ $key ] = $arr1[ $key ] + $value;
376
- }
377
- }
378
- }
379
-
380
- return $arr1;
381
- }
382
  }
1
+ <?php
2
+
3
+ /**
4
+ * This class configures hide admin notices
5
+ *
6
+ * Github: https://github.com/alexkovalevv
7
+ *
8
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
9
+ * @copyright (c) 2018 Webraftic Ltd
10
+ * @version 1.0
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if ( ! defined( 'ABSPATH' ) ) {
15
+ exit;
16
+ }
17
+
18
+ class WDN_ConfigHideNotices extends WBCR\Factory_Templates_106\Configurate {
19
+
20
+ public function registerActionsAndFilters() {
21
+ if ( is_admin() ) {
22
+ $hide_notices_type = $this->getPopulateOption( 'hide_admin_notices', 'only_selected' );
23
+
24
+ if ( 'not_hide' !== $hide_notices_type && 'compact_panel' !== $hide_notices_type ) {
25
+ add_action( 'admin_print_scripts', [ $this, 'catchNotices' ], 999 );
26
+
27
+ if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
28
+ add_action( 'admin_head', [ $this, 'printNotices' ], 999 );
29
+ }
30
+
31
+ if ( ! empty( $hide_notices_type ) ) {
32
+ add_action( 'admin_bar_menu', [ $this, 'notificationsPanel' ], 999 );
33
+ add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ] );
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ public function printNotices() {
40
+ if ( is_multisite() && is_network_admin() ) {
41
+ add_action( 'network_admin_notices', [ $this, 'noticesCollection' ] );
42
+ } else {
43
+ add_action( 'admin_notices', [ $this, 'noticesCollection' ] );
44
+ }
45
+ }
46
+
47
+
48
+ public function enqueue_styles() {
49
+ wp_enqueue_style( 'wbcr-notification-hide-style', WDN_PLUGIN_URL . '/admin/assets/css/general.css', [], $this->plugin->getPluginVersion() );
50
+
51
+ if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) && current_user_can( 'manage_network' ) ) {
52
+ return;
53
+ }
54
+ wp_enqueue_style( 'wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', [], $this->plugin->getPluginVersion() );
55
+ wp_enqueue_script( 'wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', [], $this->plugin->getPluginVersion() );
56
+ }
57
+
58
+ public function notificationsPanel( &$wp_admin_bar ) {
59
+ if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) ) {
60
+ return;
61
+ }
62
+
63
+ if ( current_user_can( 'manage_options' ) ) {
64
+ $notifications_user = get_user_meta( get_current_user_id(), $this->plugin->getOptionName( 'hidden_notices' ), true );
65
+ $notifications_all = apply_filters( 'wdan/notifications/all', [] );
66
+
67
+ if ( ! is_array( $notifications_user ) ) {
68
+ $notifications_user = [];
69
+ }
70
+
71
+ if ( empty( $notifications_user ) && empty( $notifications_all ) ) {
72
+ return;
73
+ }
74
+
75
+ $cont_notifications = sizeof( $notifications_user ) + sizeof( $notifications_all );
76
+
77
+ // Add top menu
78
+ $wp_admin_bar->add_menu( [
79
+ 'id' => 'wbcr-han-notify-panel',
80
+ 'parent' => 'top-secondary',
81
+ 'title' => sprintf( __( 'Notifications %s', 'disable-admin-notices' ), '<span class="wbcr-han-adminbar-counter">' . $cont_notifications . '</span>' ),
82
+ 'href' => $this->plugin->getPluginPageUrl( 'wdan-notices' )
83
+ ] );
84
+
85
+ $i = 0;
86
+
87
+ // User
88
+ if ( ! empty( $notifications_user ) ) {
89
+ $wp_admin_bar->add_menu( [
90
+ 'id' => 'wbcr-han-notify-panel-group-user',
91
+ 'parent' => 'wbcr-han-notify-panel',
92
+ 'title' => __( 'Hidden for you', 'disable-admin-notices' ),
93
+ 'href' => false,
94
+ 'meta' => [
95
+ 'class' => ''
96
+ ]
97
+ ] );
98
+
99
+ foreach ( $notifications_user as $notice_id => $message ) {
100
+ $message = wp_kses( $message, [] );
101
+ $message = $this->getExcerpt( stripslashes( $message ), 0, 350 );
102
+ $message .= '<div class="wbcr-han-panel-restore-notify-line">';
103
+ $message .= '<a href="#" data-nonce="' . wp_create_nonce( $this->plugin->getPluginName() . '_ajax_restore_notice_nonce' );
104
+ $message .= '" data-notice-id="' . esc_attr( $notice_id ) . '" class="wbcr-han-panel-restore-notify-link">';
105
+ $message .= __( 'Restore notice', 'clearfy' );
106
+ $message .= '</a></div>';
107
+
108
+ $wp_admin_bar->add_menu( [
109
+ 'id' => 'wbcr-han-notify-panel-item-' . $i,
110
+ 'parent' => 'wbcr-han-notify-panel',
111
+ 'title' => $message,
112
+ 'href' => false,
113
+ 'meta' => [
114
+ 'class' => ''
115
+ ]
116
+ ] );
117
+
118
+ $i ++;
119
+ }
120
+ }
121
+
122
+ if ( $this->plugin->is_premium() && ( current_user_can( 'manage_options' ) || ( is_multisite() && current_user_can( 'manage_network' ) ) ) ) {
123
+ // All
124
+ do_action( 'wdn/notifications/panel/all', $wp_admin_bar, $notifications_all, $i );
125
+ }
126
+ }
127
+ }
128
+
129
+ public function noticesCollection() {
130
+ global $wbcr_dan_plugin_all_notices;
131
+
132
+ if ( empty( $wbcr_dan_plugin_all_notices ) ) {
133
+ return;
134
+ }
135
+ ?>
136
+ <!-- Disable admin notices plugin (Clearfy tools) -->
137
+ <script>
138
+ jQuery(document).ready(function ($) {
139
+ $(document).on('click', '.wbcr-dan-hide-notice-link', function () {
140
+ var self = $(this),
141
+ target = self.data('target'),
142
+ noticeID = self.data('notice-id'),
143
+ nonce = self.data('nonce'),
144
+ noticeHtml = self.closest('.wbcr-dan-hide-links').prev('.wbcr-dan-hide-notices').clone(),
145
+ contanierEl = self.closest('.wbcr-dan-hide-links').prev('.wbcr-dan-hide-notices').parent();
146
+
147
+ contanierEl.find('.wbcr-dan-hide-links').remove();
148
+ contanierEl.slideUp();
149
+
150
+ if (!noticeID) {
151
+ alert('Undefinded error. Please report the bug to our support forum.');
152
+ }
153
+
154
+ $.ajax(ajaxurl, {
155
+ type: 'post',
156
+ dataType: 'json',
157
+ data: {
158
+ action: 'wbcr-dan-hide-notices',
159
+ target: target,
160
+ security: nonce,
161
+ notice_id: noticeID,
162
+ notice_html: noticeHtml.html()
163
+ },
164
+ success: function (response) {
165
+ if (!response || !response.success) {
166
+
167
+ if (response.data.error_message) {
168
+ console.log(response.data.error_message);
169
+ self.closest('li').show();
170
+ } else {
171
+ console.log(response);
172
+ }
173
+
174
+ contanierEl.show();
175
+ return;
176
+ }
177
+
178
+ contanierEl.remove();
179
+ },
180
+ error: function (xhr, ajaxOptions, thrownError) {
181
+ console.log(xhr.status);
182
+ console.log(xhr.responseText);
183
+ console.log(thrownError);
184
+ }
185
+ });
186
+ return false;
187
+ });
188
+ });
189
+ </script>
190
+ <?php
191
+ foreach ( $wbcr_dan_plugin_all_notices as $val ) {
192
+ echo $val;
193
+ }
194
+ }
195
+
196
+ public
197
+ function catchNotices() {
198
+ global $wbcr_dan_plugin_all_notices;
199
+
200
+ try {
201
+ $wp_filter_admin_notices = &wdan_get_wp_filter( 'admin_notices' );
202
+ $wp_filter_all_admin_notices = &wdan_get_wp_filter( 'all_admin_notices' );
203
+
204
+ $wp_filter_notices = $this->array_merge( $wp_filter_admin_notices, $wp_filter_all_admin_notices );
205
+ } catch ( Exception $e ) {
206
+ $wp_filter_notices = null;
207
+ }
208
+
209
+ $hide_notices_type = $this->getPopulateOption( 'hide_admin_notices' );
210
+
211
+ if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
212
+ $get_hidden_notices = get_user_meta( get_current_user_id(), $this->plugin->getOptionName( 'hidden_notices' ), true );
213
+ $get_hidden_notices_all = apply_filters( 'wdan/notifications/all', [] );
214
+
215
+ $content = [];
216
+ foreach ( (array) $wp_filter_notices as $filters ) {
217
+ foreach ( $filters as $callback_name => $callback ) {
218
+
219
+ if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
220
+ continue;
221
+ }
222
+
223
+ ob_start();
224
+
225
+ // #CLRF-140 fix bug for php7
226
+ // when the developers forgot to delete the argument in the function of implementing the notification.
227
+ $args = [];
228
+ $accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
229
+
230
+ if ( $accepted_args > 0 ) {
231
+ for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
232
+ $args[] = null;
233
+ }
234
+ }
235
+ //===========
236
+
237
+ call_user_func_array( $callback['function'], $args );
238
+ $cont = ob_get_clean();
239
+
240
+ if ( empty( $cont ) ) {
241
+ continue;
242
+ }
243
+
244
+ $salt = is_multisite() ? get_current_blog_id() : '';
245
+ $txt = preg_replace( '/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont );
246
+ $uniq_id1 = md5( strip_tags( str_replace( [ "\t", "\r", "\n", " " ], "", $txt ) ) . $salt );
247
+ $uniq_id2 = md5( $callback_name . $salt );
248
+
249
+ if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
250
+ $class = $callback['function'][0];
251
+ if ( is_object( $class ) ) {
252
+ $class_name = get_class( $class );
253
+ $method_name = $callback['function'][1];
254
+ $uniq_id2 = md5( $class_name . ':' . $method_name );
255
+ }
256
+ }
257
+ //$txt = rtrim( trim( $txt ) );
258
+ //$txt = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is', '<p>$2</p>', $txt );
259
+
260
+ // All
261
+ $skip_notice = apply_filters( 'wdn/notifications/catch/all', true, $get_hidden_notices_all, $uniq_id1, $uniq_id2 );
262
+ if ( ! $skip_notice ) {
263
+ continue;
264
+ }
265
+
266
+ if ( ! empty( $get_hidden_notices ) ) {
267
+ $skip_notice = true;
268
+ foreach ( (array) $get_hidden_notices as $key => $notice ) {
269
+ $splited_notice_id = explode( '_', $key );
270
+ if ( empty( $splited_notice_id ) || sizeof( $splited_notice_id ) < 2 ) {
271
+ continue;
272
+ }
273
+ $compare_notice_id_1 = $splited_notice_id[0];
274
+ $compare_notice_id_2 = $splited_notice_id[1];
275
+
276
+ if ( $compare_notice_id_1 == $uniq_id1 || $compare_notice_id_2 == $uniq_id2 ) {
277
+ $skip_notice = false;
278
+ break;
279
+ }
280
+ }
281
+
282
+ if ( ! $skip_notice ) {
283
+ continue;
284
+ }
285
+ }
286
+
287
+ $nonce = wp_create_nonce( $this->plugin->getPluginName() . '_ajax_hide_notices_nonce' );
288
+ $hide_link_for_me = "<button data-target='user' data-nonce='{$nonce}' data-notice-id='{$uniq_id1}_{$uniq_id2}' class='wbcr-dan-hide-notice-link'>" . __( 'Hide <b>for me</b>', 'disable-admin-notices' ) . "</button>";
289
+ $hide_link_for_all = "";
290
+
291
+ if ( $this->plugin->is_premium() && ( current_user_can( 'manage_options' ) || ( is_multisite() && current_user_can( 'manage_network' ) ) ) ) {
292
+ $hide_link_for_all = "<button data-target='all' data-nonce='{$nonce}' data-notice-id='{$uniq_id1}_{$uniq_id2}' class='wbcr-dan-hide-notice-link'>" . __( 'Hide <b>for all</b>', 'disable-admin-notices' ) . "</button>";
293
+ }
294
+
295
+ if ( strpos( $cont, 'redux-connect-message' ) ) {
296
+ $a = 1;
297
+ }
298
+
299
+ // Fix for Woocommerce membership and Jetpack message
300
+ if ( $cont != '<div class="js-wc-memberships-admin-notice-placeholder"></div>' && false === strpos( $cont, 'jetpack-jitm-message' ) ) {
301
+ $cont = preg_replace( '/<(noscript|script|style)([^>]+)?>(.*?)<\/(noscript|script|style)>(<\/(noscript|script|style)>)*/is', '', $cont );
302
+ $cont = preg_replace( '/<!--(.*?)-->/is', '', $cont );
303
+ $cont = rtrim( trim( $cont ) );
304
+ $cont = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is',
305
+ "$1<div class='wbcr-dan-hide-notices'>$2</div><div class='wbcr-dan-hide-links'>{$hide_link_for_me} {$hide_link_for_all}</div>$3", $cont );
306
+ }
307
+
308
+ if ( empty( $cont ) ) {
309
+ continue;
310
+ }
311
+ $content[] = $cont;
312
+ }
313
+ }
314
+
315
+ $wbcr_dan_plugin_all_notices = $content;
316
+ }
317
+
318
+ wdan_clear_all_notices( 'user_admin_notices' );
319
+ wdan_clear_all_notices( 'network_admin_notices' );
320
+ wdan_clear_all_notices( 'admin_notices', [
321
+ 'Learndash_Admin_Menus_Tabs',
322
+ 'WC_Memberships_Admin',
323
+ 'YIT_Plugin_Panel_WooCommerce'
324
+ ], [ 'et_pb_export_layouts_interface' ] );
325
+
326
+ wdan_clear_all_notices( 'all_admin_notices', [
327
+ 'Learndash_Admin_Menus_Tabs',
328
+ 'WC_Memberships_Admin',
329
+ 'YIT_Plugin_Panel_WooCommerce'
330
+ ], [ 'et_pb_export_layouts_interface' ] );
331
+ }
332
+
333
+
334
+ /**
335
+ * Get excerpt from string
336
+ *
337
+ * @param String $str String to get an excerpt from
338
+ * @param Integer $startPos Position int string to start excerpt from
339
+ * @param Integer $maxLength Maximum length the excerpt may be
340
+ *
341
+ * @return String excerpt
342
+ */
343
+ public
344
+ function getExcerpt(
345
+ $str, $startPos = 0, $maxLength = 100
346
+ ) {
347
+ if ( strlen( $str ) > $maxLength ) {
348
+ $excerpt = substr( $str, $startPos, $maxLength - 3 );
349
+ $lastSpace = strrpos( $excerpt, ' ' );
350
+ $excerpt = substr( $excerpt, 0, $lastSpace );
351
+ $excerpt .= '...';
352
+ } else {
353
+ $excerpt = $str;
354
+ }
355
+
356
+ return $excerpt;
357
+ }
358
+
359
+ /**
360
+ * @param array $arr1
361
+ * @param array $arr2
362
+ *
363
+ * @return array
364
+ */
365
+ protected
366
+ function array_merge(
367
+ array $arr1, array $arr2
368
+ ) {
369
+ if ( ! empty( $arr2 ) ) {
370
+ foreach ( $arr2 as $key => $value ) {
371
+ if ( ! isset( $arr1[ $key ] ) ) {
372
+ $arr1[ $key ] = $value;
373
+ } else if ( is_array( $arr1[ $key ] ) ) {
374
+ $arr1[ $key ] = $arr1[ $key ] + $value;
375
+ }
376
+ }
377
+ }
378
+
379
+ return $arr1;
380
+ }
 
381
  }
includes/functions.php CHANGED
@@ -1,122 +1,122 @@
1
- <?php
2
- /**
3
- * Helper functions
4
- * @author Webcraftic <alex.kovalevv@gmail.com>
5
- * @copyright (c) 05.07.2020, Webcraftic
6
- * @version 1.0
7
- */
8
-
9
- /**
10
- * Access to global variable $wp_filter in WP core.
11
- * Migration from WP 4.2 to 4.9
12
- *
13
- * @see https://codex.wordpress.org/Version_4.7 WP 4.7 changelog (WP_Hook)
14
- *
15
- * @param $key string filter name
16
- *
17
- * @return array callbacks array by link
18
- */
19
- function &wdan_get_wp_filter( $key ) {
20
- global $wp_filter;
21
-
22
- $default = [];
23
-
24
- if ( 'admin_notices' === $key && is_multisite() && is_network_admin() ) {
25
- $key = 'network_admin_notices';
26
- }
27
-
28
- if ( ! isset( $wp_filter[ $key ] ) ) {
29
- return $default;
30
- }
31
-
32
- return $wp_filter[ $key ]->callbacks;
33
- }
34
-
35
- /**
36
- * @param $key
37
- *
38
- * @return array
39
- */
40
- function wdan_collect_notices( $key ) {
41
- $wp_filter = &wdan_get_wp_filter( $key );
42
-
43
- $content = [];
44
-
45
- if ( ! empty( $wp_filter ) ) {
46
- foreach ( (array) $wp_filter as $filters ) {
47
- foreach ( $filters as $callback_name => $callback ) {
48
-
49
- if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
50
- continue;
51
- }
52
-
53
- ob_start();
54
-
55
- // #CLRF-140 fix bug for php7
56
- // when the developers forgot to delete the argument in the function of implementing the notification.
57
- $args = [];
58
- $accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
59
-
60
- if ( $accepted_args > 0 ) {
61
- for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
62
- $args[] = null;
63
- }
64
- }
65
- //===========
66
-
67
- call_user_func_array( $callback['function'], $args );
68
- $cont = ob_get_clean();
69
-
70
- if ( ! empty( $cont ) ) {
71
- $salt = is_multisite() ? get_current_blog_id() : '';
72
- $uniq_id1 = md5( $cont . $salt );
73
- $uniq_id2 = md5( $callback_name . $salt );
74
-
75
- if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
76
- $class = $callback['function'][0];
77
- if ( is_object( $class ) ) {
78
- $class_name = get_class( $class );
79
- $method_name = $callback['function'][1];
80
- $uniq_id2 = md5( $class_name . ':' . $method_name );
81
- }
82
- }
83
-
84
- $content[ $uniq_id1 . "_" . $uniq_id2 ] = $cont;
85
- }
86
- }
87
- }
88
- }
89
-
90
- return $content;
91
- }
92
-
93
- /**
94
- * @param $key
95
- * @param array $excluded_classes
96
- * @param array $excluded_callback_names
97
- */
98
- function wdan_clear_all_notices( $key, $excluded_classes = [], $excluded_callback_names = [] ) {
99
- $wp_filter = &wdan_get_wp_filter( $key );
100
-
101
- if ( ! empty( $wp_filter ) ) {
102
- foreach ( (array) $wp_filter as $f_key => $f ) {
103
- foreach ( $f as $c_name => $clback ) {
104
- if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
105
- $class = $clback['function'][0];
106
- if ( is_object( $class ) ) {
107
- $class_name = get_class( $class );
108
-
109
- if ( in_array( $class_name, $excluded_classes ) ) {
110
- continue;
111
- }
112
- }
113
- }
114
-
115
- if ( in_array( $c_name, $excluded_callback_names ) ) {
116
- continue;
117
- }
118
- unset( $wp_filter[ $f_key ][ $c_name ] );
119
- }
120
- }
121
- }
122
  }
1
+ <?php
2
+ /**
3
+ * Helper functions
4
+ * @author Webcraftic <alex.kovalevv@gmail.com>
5
+ * @copyright (c) 05.07.2020, Webcraftic
6
+ * @version 1.0
7
+ */
8
+
9
+ /**
10
+ * Access to global variable $wp_filter in WP core.
11
+ * Migration from WP 4.2 to 4.9
12
+ *
13
+ * @see https://codex.wordpress.org/Version_4.7 WP 4.7 changelog (WP_Hook)
14
+ *
15
+ * @param $key string filter name
16
+ *
17
+ * @return array callbacks array by link
18
+ */
19
+ function &wdan_get_wp_filter( $key ) {
20
+ global $wp_filter;
21
+
22
+ $default = [];
23
+
24
+ if ( 'admin_notices' === $key && is_multisite() && is_network_admin() ) {
25
+ $key = 'network_admin_notices';
26
+ }
27
+
28
+ if ( ! isset( $wp_filter[ $key ] ) ) {
29
+ return $default;
30
+ }
31
+
32
+ return $wp_filter[ $key ]->callbacks;
33
+ }
34
+
35
+ /**
36
+ * @param $key
37
+ *
38
+ * @return array
39
+ */
40
+ function wdan_collect_notices( $key ) {
41
+ $wp_filter = &wdan_get_wp_filter( $key );
42
+
43
+ $content = [];
44
+
45
+ if ( ! empty( $wp_filter ) ) {
46
+ foreach ( (array) $wp_filter as $filters ) {
47
+ foreach ( $filters as $callback_name => $callback ) {
48
+
49
+ if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
50
+ continue;
51
+ }
52
+
53
+ ob_start();
54
+
55
+ // #CLRF-140 fix bug for php7
56
+ // when the developers forgot to delete the argument in the function of implementing the notification.
57
+ $args = [];
58
+ $accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
59
+
60
+ if ( $accepted_args > 0 ) {
61
+ for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
62
+ $args[] = null;
63
+ }
64
+ }
65
+ //===========
66
+
67
+ call_user_func_array( $callback['function'], $args );
68
+ $cont = ob_get_clean();
69
+
70
+ if ( ! empty( $cont ) ) {
71
+ $salt = is_multisite() ? get_current_blog_id() : '';
72
+ $uniq_id1 = md5( $cont . $salt );
73
+ $uniq_id2 = md5( $callback_name . $salt );
74
+
75
+ if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
76
+ $class = $callback['function'][0];
77
+ if ( is_object( $class ) ) {
78
+ $class_name = get_class( $class );
79
+ $method_name = $callback['function'][1];
80
+ $uniq_id2 = md5( $class_name . ':' . $method_name );
81
+ }
82
+ }
83
+
84
+ $content[ $uniq_id1 . "_" . $uniq_id2 ] = $cont;
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ return $content;
91
+ }
92
+
93
+ /**
94
+ * @param $key
95
+ * @param array $excluded_classes
96
+ * @param array $excluded_callback_names
97
+ */
98
+ function wdan_clear_all_notices( $key, $excluded_classes = [], $excluded_callback_names = [] ) {
99
+ $wp_filter = &wdan_get_wp_filter( $key );
100
+
101
+ if ( ! empty( $wp_filter ) ) {
102
+ foreach ( (array) $wp_filter as $f_key => $f ) {
103
+ foreach ( $f as $c_name => $clback ) {
104
+ if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
105
+ $class = $clback['function'][0];
106
+ if ( is_object( $class ) ) {
107
+ $class_name = get_class( $class );
108
+
109
+ if ( in_array( $class_name, $excluded_classes ) ) {
110
+ continue;
111
+ }
112
+ }
113
+ }
114
+
115
+ if ( in_array( $c_name, $excluded_callback_names ) ) {
116
+ continue;
117
+ }
118
+ unset( $wp_filter[ $f_key ][ $c_name ] );
119
+ }
120
+ }
121
+ }
122
  }
languages/disable-admin-notices-es_ES.po CHANGED
@@ -1,182 +1,182 @@
1
- # Translation of Plugins - Clearfy in Spanish (Spain)
2
- # This file is distributed under the same license as the Plugins - Clearfy – WordPress optimization plugin and disable ultimate tweaker - Development (trunk) package.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: \n"
6
- "POT-Creation-Date: 2019-04-28 06:26+0300\n"
7
- "PO-Revision-Date: 2019-04-28 06:26+0300\n"
8
- "Last-Translator: \n"
9
- "Language-Team: \n"
10
- "Language: es\n"
11
- "MIME-Version: 1.0\n"
12
- "Content-Type: text/plain; charset=UTF-8\n"
13
- "Content-Transfer-Encoding: 8bit\n"
14
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
15
- "X-Generator: Poedit 2.1.1\n"
16
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
17
- "X-Generator: Poedit 2.1.1\n"
18
- "X-Poedit-Basepath: ..\n"
19
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
20
- "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
21
- "X-Poedit-SourceCharset: UTF-8\n"
22
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
23
- "X-Poedit-SearchPath-0: .\n"
24
- "X-Poedit-SearchPathExcluded-0: libs\n"
25
- "X-Poedit-SearchPathExcluded-1: components\n"
26
- "X-Poedit-SearchPathExcluded-2: cache\n"
27
-
28
- #: admin/ajax/hide-notice.php:24 admin/ajax/restore-notice.php:22
29
- msgid "Undefinded notice id."
30
- msgstr "Aviso de ID indefinido"
31
-
32
- #: admin/ajax/hide-notice.php:40 admin/ajax/restore-notice.php:36
33
- msgid "You don't have enough capability to edit this information."
34
- msgstr "No tienes suficiente permisos para editar esta información."
35
-
36
- #: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:38
37
- msgid "Hide admin notices"
38
- msgstr "Ocultar avisos administrativos"
39
-
40
- #: admin/boot.php:24 admin/options.php:103
41
- msgid "Enable hidden notices in adminbar"
42
- msgstr "Habilitar avisos ocultos en la barra de administración"
43
-
44
- #: admin/boot.php:46
45
- msgid "Get ultimate plugin free"
46
- msgstr "Obtener el ultimate plugin gratis"
47
-
48
- #: admin/options.php:23
49
- msgid "Admin notifications, Update nags"
50
- msgstr "Notificaciones de administrador, actualización de nags"
51
-
52
- #: admin/options.php:23
53
- msgid ""
54
- "Do you know the situation, when some plugin offers you to update to premium, "
55
- "to collect technical data and shows many annoying notices? You are close "
56
- "these notices every now and again but they newly appears and interfere your "
57
- "work with WordPress. Even worse, some plugin’s authors delete “close” button "
58
- "from notices and they shows in your admin panel forever."
59
- msgstr ""
60
- "¿Conoces la situación cuando algún plugin te ofrece actualizar a Premium, "
61
- "recopilar datos técnicos y mostrar muchos avisos molestos? A veces no están, "
62
- "pero aparecen de nuevo e interfieren en tu trabajo con WordPress. Peor aún, "
63
- "los autores de algunos plugin eliminan el botón \"cerrar\" de las "
64
- "notificaciones y se muestran en su panel de administración para siempre."
65
-
66
- #: admin/options.php:34
67
- msgid "All notices"
68
- msgstr "Todos los avisos"
69
-
70
- #: admin/options.php:35
71
- msgid "Hide all notices globally."
72
- msgstr "Ocultar todos los avisos globalmente."
73
-
74
- #: admin/options.php:39
75
- msgid "Only selected"
76
- msgstr "Solo seleccionados"
77
-
78
- #: admin/options.php:40
79
- msgid ""
80
- "Hide selected notices only. You will see the link \"Hide notification forever"
81
- "\" in each notice. Push it and they will not bother you anymore."
82
- msgstr ""
83
- "Ocultar solo los avisos seleccionados. Verá el enlace \"Ocultar notificación "
84
- "para siempre\" en cada aviso. Click y ya no los veras mas."
85
-
86
- #: admin/options.php:44
87
- msgid "Don't nide"
88
- msgstr "No ocultar"
89
-
90
- #: admin/options.php:45
91
- msgid ""
92
- "Do not hide notices and do not show “Hide notification forever” link for "
93
- "admin."
94
- msgstr ""
95
- "No ocultar avisos y no mostrar el enlace \"Ocultar notificación para siempre"
96
- "\" para el administrador."
97
-
98
- #: admin/options.php:49
99
- msgid ""
100
- "Some plugins shows notifications about premium version, data collecting or "
101
- "promote their services. Even if you push close button (that sometimes are "
102
- "impossible), notices are shows again in some time. This option allows you to "
103
- "control notices. Hide them all or each individually. Some plugins shows "
104
- "notifications about premium version, data collecting or promote their "
105
- "services. Even if you push close button (that sometimes are impossible), "
106
- "notices are shows again in some time. This option allows you to control "
107
- "notices. Hide them all or each individually."
108
- msgstr ""
109
- "Algunos plugin muestran notificaciones sobre la versión premium: "
110
- "Recopilación de datos o la promoción de sus servicios; Incluso si presiona "
111
- "el botón de cierre (que a veces es imposible), las notificaciones se "
112
- "muestran de nuevo en algún momento. Esta opción le permite controlar avisos. "
113
- "Ocúltelas todas o cada una individualmente."
114
-
115
- #: admin/options.php:105
116
- msgid ""
117
- "By default, the plugin hides all notices, which you specified. If you enable "
118
- "this option, the plugin will collect all hidden notices and show them into "
119
- "the top admin toolbar. It will not disturb you but will allow to look "
120
- "notices at your convenience."
121
- msgstr ""
122
- "Por defecto, el plugin oculta todos los avisos que especificó. Si habilita "
123
- "esta opción, el plugin recopilará todos los avisos ocultos y los mostrará en "
124
- "la barra superior de administración de herramientas. No le molestará, pero "
125
- "le permitirá ver los avisos según su conveniencia."
126
-
127
- #: admin/options.php:166
128
- msgid "Reset hidden notices for"
129
- msgstr "Restablecer avisos ocultos para"
130
-
131
- #: admin/options.php:167
132
- msgid "Push reset hidden notices if you need to show hidden notices again."
133
- msgstr "Pulse reiniciar avisos ocultos si necesita mostrarlos de nuevo."
134
-
135
- #: admin/options.php:177
136
- msgid "current user"
137
- msgstr "usuario actual"
138
-
139
- #: admin/options.php:181
140
- msgid "all users"
141
- msgstr "todos los usuarios"
142
-
143
- #: admin/options.php:185
144
- msgid "Reset notices"
145
- msgstr "Restablecer avisos"
146
-
147
- #: admin/options.php:188 admin/pages/notices.php:71
148
- msgid "Hidden notices are successfully reset, now you can see them again!"
149
- msgstr ""
150
- "Los avisos ocultos se restablecieron con éxito, ¡ahora puedes verlos "
151
- "nuevamente!"
152
-
153
- #: admin/pages/notices.php:54
154
- msgid "Notices"
155
- msgstr "Avisos"
156
-
157
- #: admin/pages/notices.php:55
158
- msgid "General"
159
- msgstr "General"
160
-
161
- #: disable-admin-notices.php:84
162
- msgid "Webcraftic disable admin notices"
163
- msgstr "Deshabilitar los avisos Webcraftic de administración"
164
-
165
- #: includes/classes/class.configurate-notices.php:74
166
- #, php-format
167
- msgid "Notifications %s"
168
- msgstr "Notificaciones %s"
169
-
170
- #: includes/classes/class.configurate-notices.php:86
171
- msgid "Restore notice"
172
- msgstr "Aviso de restauración"
173
-
174
- #: includes/classes/class.configurate-notices.php:285
175
- msgid "Hide notification forever"
176
- msgstr "Ocultar notificaciones para siempre"
177
-
178
- #~ msgid "Assets Manager"
179
- #~ msgstr "Gestor de Activos"
180
-
181
- #~ msgid "Settings has been successfully imported!"
182
  #~ msgstr "¡Configuración importada exitosamente!"
1
+ # Translation of Plugins - Clearfy in Spanish (Spain)
2
+ # This file is distributed under the same license as the Plugins - Clearfy – WordPress optimization plugin and disable ultimate tweaker - Development (trunk) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: \n"
6
+ "POT-Creation-Date: 2019-04-28 06:26+0300\n"
7
+ "PO-Revision-Date: 2019-04-28 06:26+0300\n"
8
+ "Last-Translator: \n"
9
+ "Language-Team: \n"
10
+ "Language: es\n"
11
+ "MIME-Version: 1.0\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+ "Content-Transfer-Encoding: 8bit\n"
14
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
15
+ "X-Generator: Poedit 2.1.1\n"
16
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
17
+ "X-Generator: Poedit 2.1.1\n"
18
+ "X-Poedit-Basepath: ..\n"
19
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
20
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
21
+ "X-Poedit-SourceCharset: UTF-8\n"
22
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
23
+ "X-Poedit-SearchPath-0: .\n"
24
+ "X-Poedit-SearchPathExcluded-0: libs\n"
25
+ "X-Poedit-SearchPathExcluded-1: components\n"
26
+ "X-Poedit-SearchPathExcluded-2: cache\n"
27
+
28
+ #: admin/ajax/hide-notice.php:24 admin/ajax/restore-notice.php:22
29
+ msgid "Undefinded notice id."
30
+ msgstr "Aviso de ID indefinido"
31
+
32
+ #: admin/ajax/hide-notice.php:40 admin/ajax/restore-notice.php:36
33
+ msgid "You don't have enough capability to edit this information."
34
+ msgstr "No tienes suficiente permisos para editar esta información."
35
+
36
+ #: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:38
37
+ msgid "Hide admin notices"
38
+ msgstr "Ocultar avisos administrativos"
39
+
40
+ #: admin/boot.php:24 admin/options.php:103
41
+ msgid "Enable hidden notices in adminbar"
42
+ msgstr "Habilitar avisos ocultos en la barra de administración"
43
+
44
+ #: admin/boot.php:46
45
+ msgid "Get ultimate plugin free"
46
+ msgstr "Obtener el ultimate plugin gratis"
47
+
48
+ #: admin/options.php:23
49
+ msgid "Admin notifications, Update nags"
50
+ msgstr "Notificaciones de administrador, actualización de nags"
51
+
52
+ #: admin/options.php:23
53
+ msgid ""
54
+ "Do you know the situation, when some plugin offers you to update to premium, "
55
+ "to collect technical data and shows many annoying notices? You are close "
56
+ "these notices every now and again but they newly appears and interfere your "
57
+ "work with WordPress. Even worse, some plugin’s authors delete “close” button "
58
+ "from notices and they shows in your admin panel forever."
59
+ msgstr ""
60
+ "¿Conoces la situación cuando algún plugin te ofrece actualizar a Premium, "
61
+ "recopilar datos técnicos y mostrar muchos avisos molestos? A veces no están, "
62
+ "pero aparecen de nuevo e interfieren en tu trabajo con WordPress. Peor aún, "
63
+ "los autores de algunos plugin eliminan el botón \"cerrar\" de las "
64
+ "notificaciones y se muestran en su panel de administración para siempre."
65
+
66
+ #: admin/options.php:34
67
+ msgid "All notices"
68
+ msgstr "Todos los avisos"
69
+
70
+ #: admin/options.php:35
71
+ msgid "Hide all notices globally."
72
+ msgstr "Ocultar todos los avisos globalmente."
73
+
74
+ #: admin/options.php:39
75
+ msgid "Only selected"
76
+ msgstr "Solo seleccionados"
77
+
78
+ #: admin/options.php:40
79
+ msgid ""
80
+ "Hide selected notices only. You will see the link \"Hide notification forever"
81
+ "\" in each notice. Push it and they will not bother you anymore."
82
+ msgstr ""
83
+ "Ocultar solo los avisos seleccionados. Verá el enlace \"Ocultar notificación "
84
+ "para siempre\" en cada aviso. Click y ya no los veras mas."
85
+
86
+ #: admin/options.php:44
87
+ msgid "Don't nide"
88
+ msgstr "No ocultar"
89
+
90
+ #: admin/options.php:45
91
+ msgid ""
92
+ "Do not hide notices and do not show “Hide notification forever” link for "
93
+ "admin."
94
+ msgstr ""
95
+ "No ocultar avisos y no mostrar el enlace \"Ocultar notificación para siempre"
96
+ "\" para el administrador."
97
+
98
+ #: admin/options.php:49
99
+ msgid ""
100
+ "Some plugins shows notifications about premium version, data collecting or "
101
+ "promote their services. Even if you push close button (that sometimes are "
102
+ "impossible), notices are shows again in some time. This option allows you to "
103
+ "control notices. Hide them all or each individually. Some plugins shows "
104
+ "notifications about premium version, data collecting or promote their "
105
+ "services. Even if you push close button (that sometimes are impossible), "
106
+ "notices are shows again in some time. This option allows you to control "
107
+ "notices. Hide them all or each individually."
108
+ msgstr ""
109
+ "Algunos plugin muestran notificaciones sobre la versión premium: "
110
+ "Recopilación de datos o la promoción de sus servicios; Incluso si presiona "
111
+ "el botón de cierre (que a veces es imposible), las notificaciones se "
112
+ "muestran de nuevo en algún momento. Esta opción le permite controlar avisos. "
113
+ "Ocúltelas todas o cada una individualmente."
114
+
115
+ #: admin/options.php:105
116
+ msgid ""
117
+ "By default, the plugin hides all notices, which you specified. If you enable "
118
+ "this option, the plugin will collect all hidden notices and show them into "
119
+ "the top admin toolbar. It will not disturb you but will allow to look "
120
+ "notices at your convenience."
121
+ msgstr ""
122
+ "Por defecto, el plugin oculta todos los avisos que especificó. Si habilita "
123
+ "esta opción, el plugin recopilará todos los avisos ocultos y los mostrará en "
124
+ "la barra superior de administración de herramientas. No le molestará, pero "
125
+ "le permitirá ver los avisos según su conveniencia."
126
+
127
+ #: admin/options.php:166
128
+ msgid "Reset hidden notices for"
129
+ msgstr "Restablecer avisos ocultos para"
130
+
131
+ #: admin/options.php:167
132
+ msgid "Push reset hidden notices if you need to show hidden notices again."
133
+ msgstr "Pulse reiniciar avisos ocultos si necesita mostrarlos de nuevo."
134
+
135
+ #: admin/options.php:177
136
+ msgid "current user"
137
+ msgstr "usuario actual"
138
+
139
+ #: admin/options.php:181
140
+ msgid "all users"
141
+ msgstr "todos los usuarios"
142
+
143
+ #: admin/options.php:185
144
+ msgid "Reset notices"
145
+ msgstr "Restablecer avisos"
146
+
147
+ #: admin/options.php:188 admin/pages/notices.php:71
148
+ msgid "Hidden notices are successfully reset, now you can see them again!"
149
+ msgstr ""
150
+ "Los avisos ocultos se restablecieron con éxito, ¡ahora puedes verlos "
151
+ "nuevamente!"
152
+
153
+ #: admin/pages/notices.php:54
154
+ msgid "Notices"
155
+ msgstr "Avisos"
156
+
157
+ #: admin/pages/notices.php:55
158
+ msgid "General"
159
+ msgstr "General"
160
+
161
+ #: disable-admin-notices.php:84
162
+ msgid "Webcraftic disable admin notices"
163
+ msgstr "Deshabilitar los avisos Webcraftic de administración"
164
+
165
+ #: includes/classes/class.configurate-notices.php:74
166
+ #, php-format
167
+ msgid "Notifications %s"
168
+ msgstr "Notificaciones %s"
169
+
170
+ #: includes/classes/class.configurate-notices.php:86
171
+ msgid "Restore notice"
172
+ msgstr "Aviso de restauración"
173
+
174
+ #: includes/classes/class.configurate-notices.php:285
175
+ msgid "Hide notification forever"
176
+ msgstr "Ocultar notificaciones para siempre"
177
+
178
+ #~ msgid "Assets Manager"
179
+ #~ msgstr "Gestor de Activos"
180
+
181
+ #~ msgid "Settings has been successfully imported!"
182
  #~ msgstr "¡Configuración importada exitosamente!"
languages/disable-admin-notices-nl_BE.po CHANGED
@@ -1,173 +1,173 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: Clearfy\n"
4
- "POT-Creation-Date: 2018-09-06 18:31+0300\n"
5
- "PO-Revision-Date: \n"
6
- "Last-Translator: \n"
7
- "Language-Team: \n"
8
- "Language: nl_BE\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.1.1\n"
13
- "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
- "X-Generator: Poedit 2.1.1\n"
15
- "X-Poedit-Basepath: ..\n"
16
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
17
- "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18
- "X-Poedit-SourceCharset: UTF-8\n"
19
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
20
- "X-Poedit-SearchPath-0: .\n"
21
- "X-Poedit-SearchPathExcluded-0: libs\n"
22
- "X-Poedit-SearchPathExcluded-1: components\n"
23
- "X-Poedit-SearchPathExcluded-2: cache\n"
24
-
25
- #: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
26
- msgid "You don't have enough capability to edit this information."
27
- msgstr "Je hebt niet voldoende mogelijkheden om deze informatie te bewerken."
28
-
29
- #: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
30
- msgid "Undefinded notice id."
31
- msgstr "Ongedefinieerde mededeling id."
32
-
33
- #: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
34
- msgid "Success"
35
- msgstr "Succes"
36
-
37
- #: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
38
- msgid "Hide admin notices"
39
- msgstr "Verberg admin meldingen"
40
-
41
- #: admin/boot.php:24 admin/options.php:70
42
- msgid "Enable hidden notices in adminbar"
43
- msgstr "Schakel verborgen meldingen in de beheer balk in"
44
-
45
- #: admin/boot.php:46
46
- msgid "Get ultimate plugin free"
47
- msgstr "Krijg ultieme plugin gratis"
48
-
49
- #: admin/options.php:23
50
- msgid "Admin notifications, Update nags"
51
- msgstr "Admin mededelingen, Update meldingen"
52
-
53
- #: admin/options.php:23
54
- msgid ""
55
- "Do you know the situation, when some plugin offers you to update to premium, "
56
- "to collect technical data and shows many annoying notices? You are close these "
57
- "notices every now and again but they newly appears and interfere your work "
58
- "with WordPress. Even worse, some plugin’s authors delete “close” button from "
59
- "notices and they shows in your admin panel forever."
60
- msgstr ""
61
- "Herkent u de situatie, waarin sommige plugins u aanbieden om te updaten naar "
62
- "premium, om technische gegevens te verzamelen en veel vervelende meldingen "
63
- "weergeven? Zo nu en dan sluit u deze meldingen, maar ze verschijnen keer op "
64
- "keer opnieuw en belemmeren uw werk met WordPress. Erger nog, de auteurs van "
65
- "sommige plugins verwijderen de knop \"Sluiten\" uit meldingen en blijven "
66
- "continu zichtbaar in uw beheer venster."
67
-
68
- #: admin/options.php:34
69
- msgid "All notices"
70
- msgstr "Alle mededelingen"
71
-
72
- #: admin/options.php:35
73
- msgid "Hide all notices globally."
74
- msgstr "Alle meldingen globaal verbergen."
75
-
76
- #: admin/options.php:39
77
- msgid "Only selected"
78
- msgstr "Enkel geselecteerd"
79
-
80
- #: admin/options.php:40
81
- msgid ""
82
- "Hide selected notices only. You will see the link \"Hide notification forever"
83
- "\" in each notice. Push it and they will not bother you anymore."
84
- msgstr ""
85
- "Slechts bepaalde meldingen verbergen. U ziet in elke melding de link \"Verberg "
86
- "melding voor altijd\". Klik erop en ze zullen je niet meer lastig vallen."
87
-
88
- #: admin/options.php:44
89
- msgid "Don't nide"
90
- msgstr "Niet verbergen"
91
-
92
- #: admin/options.php:45
93
- msgid ""
94
- "Do not hide notices and do not show “Hide notification forever” link for admin."
95
- msgstr ""
96
- "Meldingen niet verbergen en laat de link 'Verberg melding voor altijd' niet "
97
- "zien voor beheerder."
98
-
99
- #: admin/options.php:49
100
- msgid ""
101
- "Some plugins shows notifications about premium version, data collecting or "
102
- "promote their services. Even if you push close button (that sometimes are "
103
- "impossible), notices are shows again in some time. This option allows you to "
104
- "control notices. Hide them all or each individually. Some plugins shows "
105
- "notifications about premium version, data collecting or promote their "
106
- "services. Even if you push close button (that sometimes are impossible), "
107
- "notices are shows again in some time. This option allows you to control "
108
- "notices. Hide them all or each individually."
109
- msgstr ""
110
- "Sommige plugins tonen meldingen over de premium versie, het verzamelen van "
111
- "gegevens of het promoten van hun diensten. Zelfs als je op afsluiten klikt "
112
- "(wat soms niet eens mogelijk is), worden mededelingen binnen afzienbare tijd "
113
- "opnieuw getoond. Met deze optie kunt u mededelingen beheren. Verberg ze "
114
- "allemaal of elk afzonderlijk."
115
-
116
- #: admin/options.php:72
117
- msgid ""
118
- "By default, the plugin hides all notices, which you specified. If you enable "
119
- "this option, the plugin will collect all hidden notices and show them into the "
120
- "top admin toolbar. It will not disturb you but will allow to look notices at "
121
- "your convenience."
122
- msgstr ""
123
- "Standaard verbergt de plugin alle kennisgevingen die u hebt opgegeven. Als u "
124
- "deze optie inschakelt, verzamelt de plugin alle verborgen mededelingen en "
125
- "toont deze in de bovenste beheer werkbalk. Het zal niet storend zijn, maar zal "
126
- "je toelaten om aankondigingen op je gemak te bekijken."
127
-
128
- #: admin/options.php:136
129
- msgid "Push reset hidden notices if you need to show hidden notices again."
130
- msgstr ""
131
- "Druk op reset verborgen mededelingen als u verborgen mededelingen opnieuw wilt "
132
- "weergeven."
133
-
134
- #: admin/options.php:145
135
- #, php-format
136
- msgid "Reset hidden notices (%s)"
137
- msgstr "Reset verborgen mededelingen (%s)"
138
-
139
- #: admin/options.php:147 admin/pages/notices.php:85
140
- msgid "Hidden notices are successfully reset, now you can see them again!"
141
- msgstr "Verborgen meldingen zijn succesvol gereset, nu kun je ze opnieuw zien!"
142
-
143
- #: admin/pages/notices.php:49
144
- msgid "Notices"
145
- msgstr "Mededelingen"
146
-
147
- #: admin/pages/notices.php:50
148
- msgid "General"
149
- msgstr "Algemeen"
150
-
151
- #: disable-admin-notices.php:23
152
- msgid ""
153
- "We found that you have the \"Clearfy - disable unused features\" plugin "
154
- "installed, this plugin already has disable comments functions, so you can "
155
- "deactivate plugin \"Disable admin notices\"!"
156
- msgstr ""
157
-
158
- #: disable-admin-notices.php:80
159
- msgid "Webcraftic disable admin notices"
160
- msgstr "Webcraftic uitschakelen admin mededelingen"
161
-
162
- #: includes/classes/class.configurate-notices.php:79
163
- #, php-format
164
- msgid "Notifications %s"
165
- msgstr "Meldingen %s"
166
-
167
- #: includes/classes/class.configurate-notices.php:88
168
- msgid "Restore notice"
169
- msgstr "Herstel mededelingen"
170
-
171
- #: includes/classes/class.configurate-notices.php:267
172
- msgid "Hide notification forever"
173
  msgstr "Verberg melding voor altijd"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Clearfy\n"
4
+ "POT-Creation-Date: 2018-09-06 18:31+0300\n"
5
+ "PO-Revision-Date: \n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: nl_BE\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
14
+ "X-Generator: Poedit 2.1.1\n"
15
+ "X-Poedit-Basepath: ..\n"
16
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
17
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18
+ "X-Poedit-SourceCharset: UTF-8\n"
19
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+ "X-Poedit-SearchPathExcluded-0: libs\n"
22
+ "X-Poedit-SearchPathExcluded-1: components\n"
23
+ "X-Poedit-SearchPathExcluded-2: cache\n"
24
+
25
+ #: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
26
+ msgid "You don't have enough capability to edit this information."
27
+ msgstr "Je hebt niet voldoende mogelijkheden om deze informatie te bewerken."
28
+
29
+ #: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
30
+ msgid "Undefinded notice id."
31
+ msgstr "Ongedefinieerde mededeling id."
32
+
33
+ #: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
34
+ msgid "Success"
35
+ msgstr "Succes"
36
+
37
+ #: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
38
+ msgid "Hide admin notices"
39
+ msgstr "Verberg admin meldingen"
40
+
41
+ #: admin/boot.php:24 admin/options.php:70
42
+ msgid "Enable hidden notices in adminbar"
43
+ msgstr "Schakel verborgen meldingen in de beheer balk in"
44
+
45
+ #: admin/boot.php:46
46
+ msgid "Get ultimate plugin free"
47
+ msgstr "Krijg ultieme plugin gratis"
48
+
49
+ #: admin/options.php:23
50
+ msgid "Admin notifications, Update nags"
51
+ msgstr "Admin mededelingen, Update meldingen"
52
+
53
+ #: admin/options.php:23
54
+ msgid ""
55
+ "Do you know the situation, when some plugin offers you to update to premium, "
56
+ "to collect technical data and shows many annoying notices? You are close these "
57
+ "notices every now and again but they newly appears and interfere your work "
58
+ "with WordPress. Even worse, some plugin’s authors delete “close” button from "
59
+ "notices and they shows in your admin panel forever."
60
+ msgstr ""
61
+ "Herkent u de situatie, waarin sommige plugins u aanbieden om te updaten naar "
62
+ "premium, om technische gegevens te verzamelen en veel vervelende meldingen "
63
+ "weergeven? Zo nu en dan sluit u deze meldingen, maar ze verschijnen keer op "
64
+ "keer opnieuw en belemmeren uw werk met WordPress. Erger nog, de auteurs van "
65
+ "sommige plugins verwijderen de knop \"Sluiten\" uit meldingen en blijven "
66
+ "continu zichtbaar in uw beheer venster."
67
+
68
+ #: admin/options.php:34
69
+ msgid "All notices"
70
+ msgstr "Alle mededelingen"
71
+
72
+ #: admin/options.php:35
73
+ msgid "Hide all notices globally."
74
+ msgstr "Alle meldingen globaal verbergen."
75
+
76
+ #: admin/options.php:39
77
+ msgid "Only selected"
78
+ msgstr "Enkel geselecteerd"
79
+
80
+ #: admin/options.php:40
81
+ msgid ""
82
+ "Hide selected notices only. You will see the link \"Hide notification forever"
83
+ "\" in each notice. Push it and they will not bother you anymore."
84
+ msgstr ""
85
+ "Slechts bepaalde meldingen verbergen. U ziet in elke melding de link \"Verberg "
86
+ "melding voor altijd\". Klik erop en ze zullen je niet meer lastig vallen."
87
+
88
+ #: admin/options.php:44
89
+ msgid "Don't nide"
90
+ msgstr "Niet verbergen"
91
+
92
+ #: admin/options.php:45
93
+ msgid ""
94
+ "Do not hide notices and do not show “Hide notification forever” link for admin."
95
+ msgstr ""
96
+ "Meldingen niet verbergen en laat de link 'Verberg melding voor altijd' niet "
97
+ "zien voor beheerder."
98
+
99
+ #: admin/options.php:49
100
+ msgid ""
101
+ "Some plugins shows notifications about premium version, data collecting or "
102
+ "promote their services. Even if you push close button (that sometimes are "
103
+ "impossible), notices are shows again in some time. This option allows you to "
104
+ "control notices. Hide them all or each individually. Some plugins shows "
105
+ "notifications about premium version, data collecting or promote their "
106
+ "services. Even if you push close button (that sometimes are impossible), "
107
+ "notices are shows again in some time. This option allows you to control "
108
+ "notices. Hide them all or each individually."
109
+ msgstr ""
110
+ "Sommige plugins tonen meldingen over de premium versie, het verzamelen van "
111
+ "gegevens of het promoten van hun diensten. Zelfs als je op afsluiten klikt "
112
+ "(wat soms niet eens mogelijk is), worden mededelingen binnen afzienbare tijd "
113
+ "opnieuw getoond. Met deze optie kunt u mededelingen beheren. Verberg ze "
114
+ "allemaal of elk afzonderlijk."
115
+
116
+ #: admin/options.php:72
117
+ msgid ""
118
+ "By default, the plugin hides all notices, which you specified. If you enable "
119
+ "this option, the plugin will collect all hidden notices and show them into the "
120
+ "top admin toolbar. It will not disturb you but will allow to look notices at "
121
+ "your convenience."
122
+ msgstr ""
123
+ "Standaard verbergt de plugin alle kennisgevingen die u hebt opgegeven. Als u "
124
+ "deze optie inschakelt, verzamelt de plugin alle verborgen mededelingen en "
125
+ "toont deze in de bovenste beheer werkbalk. Het zal niet storend zijn, maar zal "
126
+ "je toelaten om aankondigingen op je gemak te bekijken."
127
+
128
+ #: admin/options.php:136
129
+ msgid "Push reset hidden notices if you need to show hidden notices again."
130
+ msgstr ""
131
+ "Druk op reset verborgen mededelingen als u verborgen mededelingen opnieuw wilt "
132
+ "weergeven."
133
+
134
+ #: admin/options.php:145
135
+ #, php-format
136
+ msgid "Reset hidden notices (%s)"
137
+ msgstr "Reset verborgen mededelingen (%s)"
138
+
139
+ #: admin/options.php:147 admin/pages/notices.php:85
140
+ msgid "Hidden notices are successfully reset, now you can see them again!"
141
+ msgstr "Verborgen meldingen zijn succesvol gereset, nu kun je ze opnieuw zien!"
142
+
143
+ #: admin/pages/notices.php:49
144
+ msgid "Notices"
145
+ msgstr "Mededelingen"
146
+
147
+ #: admin/pages/notices.php:50
148
+ msgid "General"
149
+ msgstr "Algemeen"
150
+
151
+ #: disable-admin-notices.php:23
152
+ msgid ""
153
+ "We found that you have the \"Clearfy - disable unused features\" plugin "
154
+ "installed, this plugin already has disable comments functions, so you can "
155
+ "deactivate plugin \"Disable admin notices\"!"
156
+ msgstr ""
157
+
158
+ #: disable-admin-notices.php:80
159
+ msgid "Webcraftic disable admin notices"
160
+ msgstr "Webcraftic uitschakelen admin mededelingen"
161
+
162
+ #: includes/classes/class.configurate-notices.php:79
163
+ #, php-format
164
+ msgid "Notifications %s"
165
+ msgstr "Meldingen %s"
166
+
167
+ #: includes/classes/class.configurate-notices.php:88
168
+ msgid "Restore notice"
169
+ msgstr "Herstel mededelingen"
170
+
171
+ #: includes/classes/class.configurate-notices.php:267
172
+ msgid "Hide notification forever"
173
  msgstr "Verberg melding voor altijd"
languages/disable-admin-notices-pt_BR.po CHANGED
@@ -1,181 +1,181 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: clearfy\n"
4
- "POT-Creation-Date: 2018-09-06 18:31+0300\n"
5
- "PO-Revision-Date: 2018-09-06 18:31+0300\n"
6
- "Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
7
- "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
- "Language: pt_BR\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.1.1\n"
13
- "X-Poedit-Basepath: ..\n"
14
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
- "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
- "X-Poedit-SourceCharset: UTF-8\n"
17
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
- "X-Poedit-SearchPath-0: .\n"
19
- "X-Poedit-SearchPathExcluded-0: libs\n"
20
- "X-Poedit-SearchPathExcluded-1: components\n"
21
- "X-Poedit-SearchPathExcluded-2: cache\n"
22
-
23
- #: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
24
- msgid "You don't have enough capability to edit this information."
25
- msgstr "Você não tem capacidade suficiente para editar essas informações."
26
-
27
- #: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
28
- msgid "Undefinded notice id."
29
- msgstr "ID de aviso não identificada."
30
-
31
- #: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
32
- msgid "Success"
33
- msgstr "Sucesso"
34
-
35
- #: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
36
- msgid "Hide admin notices"
37
- msgstr "Ocultar avisos de administrador"
38
-
39
- #: admin/boot.php:24 admin/options.php:70
40
- msgid "Enable hidden notices in adminbar"
41
- msgstr "Ativar avisos ocultos no adminbar"
42
-
43
- #: admin/boot.php:46
44
- msgid "Get ultimate plugin free"
45
- msgstr "Obtenha o melhor plugin grátis"
46
-
47
- #: admin/options.php:23
48
- msgid "Admin notifications, Update nags"
49
- msgstr "Notificações de administrador, Atualizações nags"
50
-
51
- #: admin/options.php:23
52
- msgid ""
53
- "Do you know the situation, when some plugin offers you to update to premium, "
54
- "to collect technical data and shows many annoying notices? You are close "
55
- "these notices every now and again but they newly appears and interfere your "
56
- "work with WordPress. Even worse, some plugin’s authors delete “close” button "
57
- "from notices and they shows in your admin panel forever."
58
- msgstr ""
59
- "Você conhece a situação, quando algum plugin lhe oferece para atualizar para "
60
- "premium, para coletar dados técnicos e mostra muitos avisos irritantes? Você "
61
- "está próximo desses avisos de vez em quando, mas eles aparecem recentemente "
62
- "e interferem no seu trabalho com o WordPress. Pior ainda, alguns autores de "
63
- "plug-in excluem o botão “fechar” dos avisos e eles são exibidos no seu "
64
- "painel de administração para sempre."
65
-
66
- #: admin/options.php:34
67
- msgid "All notices"
68
- msgstr "Todos os avisos"
69
-
70
- #: admin/options.php:35
71
- msgid "Hide all notices globally."
72
- msgstr "Esconda todos os avisos globalmente."
73
-
74
- #: admin/options.php:39
75
- msgid "Only selected"
76
- msgstr "Apenas selecionado"
77
-
78
- #: admin/options.php:40
79
- msgid ""
80
- "Hide selected notices only. You will see the link \"Hide notification forever"
81
- "\" in each notice. Push it and they will not bother you anymore."
82
- msgstr ""
83
- "Ocultar apenas avisos selecionados. Você verá o link \"Ocultar notificação "
84
- "para sempre\" em cada aviso. Empurre-o e eles não vão incomodá-lo mais."
85
-
86
- #: admin/options.php:44
87
- msgid "Don't nide"
88
- msgstr "Não nide"
89
-
90
- #: admin/options.php:45
91
- msgid ""
92
- "Do not hide notices and do not show “Hide notification forever” link for "
93
- "admin."
94
- msgstr ""
95
- "Não oculte avisos e não mostre o link \"Ocultar notificação para sempre\" "
96
- "para o administrador."
97
-
98
- #: admin/options.php:49
99
- msgid ""
100
- "Some plugins shows notifications about premium version, data collecting or "
101
- "promote their services. Even if you push close button (that sometimes are "
102
- "impossible), notices are shows again in some time. This option allows you to "
103
- "control notices. Hide them all or each individually. Some plugins shows "
104
- "notifications about premium version, data collecting or promote their "
105
- "services. Even if you push close button (that sometimes are impossible), "
106
- "notices are shows again in some time. This option allows you to control "
107
- "notices. Hide them all or each individually."
108
- msgstr ""
109
- "Alguns plugins mostram notificações sobre a versão premium, coleta de dados "
110
- "ou promover seus serviços. Mesmo se você apertar o botão fechar (que às "
111
- "vezes são impossíveis), os avisos são exibidos novamente em algum momento. "
112
- "Esta opção permite controlar avisos. Esconda-os todos ou cada um "
113
- "individualmente. Alguns plugins mostram notificações sobre a versão premium, "
114
- "coleta de dados ou promover seus serviços. Mesmo se você apertar o botão "
115
- "fechar (que às vezes são impossíveis), os avisos são exibidos novamente em "
116
- "algum momento. Esta opção permite controlar avisos. Esconda-os todos ou cada "
117
- "um individualmente."
118
-
119
- #: admin/options.php:72
120
- msgid ""
121
- "By default, the plugin hides all notices, which you specified. If you enable "
122
- "this option, the plugin will collect all hidden notices and show them into "
123
- "the top admin toolbar. It will not disturb you but will allow to look "
124
- "notices at your convenience."
125
- msgstr ""
126
- "Por padrão, o plug-in oculta todos os avisos especificados. Se você ativar "
127
- "essa opção, o plug-in coletará todos os avisos ocultos e os mostrará na "
128
- "barra de ferramentas superior do administrador. Não o incomodará, mas "
129
- "permitirá que você veja avisos de acordo com sua conveniência."
130
-
131
- #: admin/options.php:136
132
- msgid "Push reset hidden notices if you need to show hidden notices again."
133
- msgstr ""
134
- "Envie os avisos ocultos redefinidos se precisar mostrar avisos ocultos "
135
- "novamente."
136
-
137
- #: admin/options.php:145
138
- #, php-format
139
- msgid "Reset hidden notices (%s)"
140
- msgstr "Redefinir avisos ocultos ( %s )"
141
-
142
- #: admin/options.php:147 admin/pages/notices.php:85
143
- msgid "Hidden notices are successfully reset, now you can see them again!"
144
- msgstr ""
145
- "Avisos ocultos são redefinidos com sucesso, agora você pode vê-los novamente!"
146
-
147
- #: admin/pages/notices.php:49
148
- msgid "Notices"
149
- msgstr "Avisos"
150
-
151
- #: admin/pages/notices.php:50
152
- msgid "General"
153
- msgstr "Geral"
154
-
155
- #: disable-admin-notices.php:23
156
- msgid ""
157
- "We found that you have the \"Clearfy - disable unused features\" plugin "
158
- "installed, this plugin already has disable comments functions, so you can "
159
- "deactivate plugin \"Disable admin notices\"!"
160
- msgstr ""
161
- "Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
162
- "utilizados \" instalado, este plugin já tem funções de desabilitar "
163
- "comentários, então você pode desativar o plugin \"Desativar avisos do "
164
- "administrador \"!"
165
-
166
- #: disable-admin-notices.php:80
167
- msgid "Webcraftic disable admin notices"
168
- msgstr "Webcraftic desabilitar avisos de administração"
169
-
170
- #: includes/classes/class.configurate-notices.php:79
171
- #, php-format
172
- msgid "Notifications %s"
173
- msgstr "Notificações %s"
174
-
175
- #: includes/classes/class.configurate-notices.php:88
176
- msgid "Restore notice"
177
- msgstr "Aviso de restauração"
178
-
179
- #: includes/classes/class.configurate-notices.php:267
180
- msgid "Hide notification forever"
181
  msgstr "Ocultar a notificação para sempre"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: clearfy\n"
4
+ "POT-Creation-Date: 2018-09-06 18:31+0300\n"
5
+ "PO-Revision-Date: 2018-09-06 18:31+0300\n"
6
+ "Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: pt_BR\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-SearchPathExcluded-0: libs\n"
20
+ "X-Poedit-SearchPathExcluded-1: components\n"
21
+ "X-Poedit-SearchPathExcluded-2: cache\n"
22
+
23
+ #: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
24
+ msgid "You don't have enough capability to edit this information."
25
+ msgstr "Você não tem capacidade suficiente para editar essas informações."
26
+
27
+ #: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
28
+ msgid "Undefinded notice id."
29
+ msgstr "ID de aviso não identificada."
30
+
31
+ #: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
32
+ msgid "Success"
33
+ msgstr "Sucesso"
34
+
35
+ #: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
36
+ msgid "Hide admin notices"
37
+ msgstr "Ocultar avisos de administrador"
38
+
39
+ #: admin/boot.php:24 admin/options.php:70
40
+ msgid "Enable hidden notices in adminbar"
41
+ msgstr "Ativar avisos ocultos no adminbar"
42
+
43
+ #: admin/boot.php:46
44
+ msgid "Get ultimate plugin free"
45
+ msgstr "Obtenha o melhor plugin grátis"
46
+
47
+ #: admin/options.php:23
48
+ msgid "Admin notifications, Update nags"
49
+ msgstr "Notificações de administrador, Atualizações nags"
50
+
51
+ #: admin/options.php:23
52
+ msgid ""
53
+ "Do you know the situation, when some plugin offers you to update to premium, "
54
+ "to collect technical data and shows many annoying notices? You are close "
55
+ "these notices every now and again but they newly appears and interfere your "
56
+ "work with WordPress. Even worse, some plugin’s authors delete “close” button "
57
+ "from notices and they shows in your admin panel forever."
58
+ msgstr ""
59
+ "Você conhece a situação, quando algum plugin lhe oferece para atualizar para "
60
+ "premium, para coletar dados técnicos e mostra muitos avisos irritantes? Você "
61
+ "está próximo desses avisos de vez em quando, mas eles aparecem recentemente "
62
+ "e interferem no seu trabalho com o WordPress. Pior ainda, alguns autores de "
63
+ "plug-in excluem o botão “fechar” dos avisos e eles são exibidos no seu "
64
+ "painel de administração para sempre."
65
+
66
+ #: admin/options.php:34
67
+ msgid "All notices"
68
+ msgstr "Todos os avisos"
69
+
70
+ #: admin/options.php:35
71
+ msgid "Hide all notices globally."
72
+ msgstr "Esconda todos os avisos globalmente."
73
+
74
+ #: admin/options.php:39
75
+ msgid "Only selected"
76
+ msgstr "Apenas selecionado"
77
+
78
+ #: admin/options.php:40
79
+ msgid ""
80
+ "Hide selected notices only. You will see the link \"Hide notification forever"
81
+ "\" in each notice. Push it and they will not bother you anymore."
82
+ msgstr ""
83
+ "Ocultar apenas avisos selecionados. Você verá o link \"Ocultar notificação "
84
+ "para sempre\" em cada aviso. Empurre-o e eles não vão incomodá-lo mais."
85
+
86
+ #: admin/options.php:44
87
+ msgid "Don't nide"
88
+ msgstr "Não nide"
89
+
90
+ #: admin/options.php:45
91
+ msgid ""
92
+ "Do not hide notices and do not show “Hide notification forever” link for "
93
+ "admin."
94
+ msgstr ""
95
+ "Não oculte avisos e não mostre o link \"Ocultar notificação para sempre\" "
96
+ "para o administrador."
97
+
98
+ #: admin/options.php:49
99
+ msgid ""
100
+ "Some plugins shows notifications about premium version, data collecting or "
101
+ "promote their services. Even if you push close button (that sometimes are "
102
+ "impossible), notices are shows again in some time. This option allows you to "
103
+ "control notices. Hide them all or each individually. Some plugins shows "
104
+ "notifications about premium version, data collecting or promote their "
105
+ "services. Even if you push close button (that sometimes are impossible), "
106
+ "notices are shows again in some time. This option allows you to control "
107
+ "notices. Hide them all or each individually."
108
+ msgstr ""
109
+ "Alguns plugins mostram notificações sobre a versão premium, coleta de dados "
110
+ "ou promover seus serviços. Mesmo se você apertar o botão fechar (que às "
111
+ "vezes são impossíveis), os avisos são exibidos novamente em algum momento. "
112
+ "Esta opção permite controlar avisos. Esconda-os todos ou cada um "
113
+ "individualmente. Alguns plugins mostram notificações sobre a versão premium, "
114
+ "coleta de dados ou promover seus serviços. Mesmo se você apertar o botão "
115
+ "fechar (que às vezes são impossíveis), os avisos são exibidos novamente em "
116
+ "algum momento. Esta opção permite controlar avisos. Esconda-os todos ou cada "
117
+ "um individualmente."
118
+
119
+ #: admin/options.php:72
120
+ msgid ""
121
+ "By default, the plugin hides all notices, which you specified. If you enable "
122
+ "this option, the plugin will collect all hidden notices and show them into "
123
+ "the top admin toolbar. It will not disturb you but will allow to look "
124
+ "notices at your convenience."
125
+ msgstr ""
126
+ "Por padrão, o plug-in oculta todos os avisos especificados. Se você ativar "
127
+ "essa opção, o plug-in coletará todos os avisos ocultos e os mostrará na "
128
+ "barra de ferramentas superior do administrador. Não o incomodará, mas "
129
+ "permitirá que você veja avisos de acordo com sua conveniência."
130
+
131
+ #: admin/options.php:136
132
+ msgid "Push reset hidden notices if you need to show hidden notices again."
133
+ msgstr ""
134
+ "Envie os avisos ocultos redefinidos se precisar mostrar avisos ocultos "
135
+ "novamente."
136
+
137
+ #: admin/options.php:145
138
+ #, php-format
139
+ msgid "Reset hidden notices (%s)"
140
+ msgstr "Redefinir avisos ocultos ( %s )"
141
+
142
+ #: admin/options.php:147 admin/pages/notices.php:85
143
+ msgid "Hidden notices are successfully reset, now you can see them again!"
144
+ msgstr ""
145
+ "Avisos ocultos são redefinidos com sucesso, agora você pode vê-los novamente!"
146
+
147
+ #: admin/pages/notices.php:49
148
+ msgid "Notices"
149
+ msgstr "Avisos"
150
+
151
+ #: admin/pages/notices.php:50
152
+ msgid "General"
153
+ msgstr "Geral"
154
+
155
+ #: disable-admin-notices.php:23
156
+ msgid ""
157
+ "We found that you have the \"Clearfy - disable unused features\" plugin "
158
+ "installed, this plugin already has disable comments functions, so you can "
159
+ "deactivate plugin \"Disable admin notices\"!"
160
+ msgstr ""
161
+ "Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
162
+ "utilizados \" instalado, este plugin já tem funções de desabilitar "
163
+ "comentários, então você pode desativar o plugin \"Desativar avisos do "
164
+ "administrador \"!"
165
+
166
+ #: disable-admin-notices.php:80
167
+ msgid "Webcraftic disable admin notices"
168
+ msgstr "Webcraftic desabilitar avisos de administração"
169
+
170
+ #: includes/classes/class.configurate-notices.php:79
171
+ #, php-format
172
+ msgid "Notifications %s"
173
+ msgstr "Notificações %s"
174
+
175
+ #: includes/classes/class.configurate-notices.php:88
176
+ msgid "Restore notice"
177
+ msgstr "Aviso de restauração"
178
+
179
+ #: includes/classes/class.configurate-notices.php:267
180
+ msgid "Hide notification forever"
181
  msgstr "Ocultar a notificação para sempre"
languages/disable-admin-notices-ru_RU.po CHANGED
@@ -1,256 +1,256 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: clearfy\n"
4
- "POT-Creation-Date: 2020-08-27 12:50+0000\n"
5
- "PO-Revision-Date: 2020-08-27 12:54+0000\n"
6
- "Last-Translator: \n"
7
- "Language-Team: Русский\n"
8
- "Language: ru_RU\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Loco https://localise.biz/\n"
13
- "X-Poedit-Basepath: ..\n"
14
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
15
- "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
- "X-Poedit-SourceCharset: UTF-8\n"
17
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
- "X-Poedit-SearchPath-0: .\n"
19
- "X-Poedit-SearchPathExcluded-0: libs\n"
20
- "Report-Msgid-Bugs-To: \n"
21
- "X-Loco-Version: 2.4.2; wp-5.5"
22
-
23
- #: disable-admin-notices.php:46
24
- msgid "Webcraftic disable admin notices"
25
- msgstr "Webcraftic отключить уведомления администратора"
26
-
27
- #: admin/boot.php:27
28
- msgid "Get ultimate plugin free"
29
- msgstr "Получите полную версию плагина бесплатно"
30
-
31
- #: admin/boot.php:82 admin/options.php:66
32
- #: admin/pages/class-pages-settings.php:72
33
- msgid "Hide admin notices"
34
- msgstr "Скрыть уведомления"
35
-
36
- #: admin/boot.php:88 admin/options.php:148
37
- msgid "Enable hidden notices in adminbar"
38
- msgstr "Включить уведомления в админбаре"
39
-
40
- #: admin/class-page-basic.php:41
41
- msgid "Webcraftic Disable Admin Notices"
42
- msgstr "Webcraftic Disable Admin Notices"
43
-
44
- #: admin/options.php:33
45
- msgid "Admin notifications, Update nags"
46
- msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
47
-
48
- #: admin/options.php:33
49
- msgid ""
50
- "Do you know the situation, when some plugin offers you to update to premium, "
51
- "to collect technical data and shows many annoying notices? You are close "
52
- "these notices every now and again but they newly appears and interfere your "
53
- "work with WordPress. Even worse, some plugin’s authors delete “close” button "
54
- "from notices and they shows in your admin panel forever."
55
- msgstr ""
56
- "Вам знакома ситуация, когда какой-то плагин просит вас обновиться до премиум-"
57
- "версии, получить права на сбор данных о вашем сайте и создает много "
58
- "раздражающих уведомлений? Вы закрываете эти уведомления раз за разом, но они "
59
- "вновь появляются и мешают вашей работе с WordPress. Хуже того, некоторые "
60
- "авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
61
- "вашей панели администратора целую вечность."
62
-
63
- #: admin/options.php:39
64
- msgid "Don't hide"
65
- msgstr "Не скрывать"
66
-
67
- #: admin/options.php:40
68
- msgid ""
69
- "Do not hide notices and do not show “Hide notification forever” link for "
70
- "admin."
71
- msgstr ""
72
- "Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
73
- "навсегда\" в уведомлениях администратора."
74
-
75
- #: admin/options.php:44
76
- msgid "All notices"
77
- msgstr "Все уведомления"
78
-
79
- #: admin/options.php:45
80
- msgid "Hide all notices globally."
81
- msgstr "Скрыть все уведомления глобально."
82
-
83
- #: admin/options.php:45 admin/options.php:50 admin/options.php:58
84
- #, php-format
85
- msgid ""
86
- "Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
87
- "works ."
88
- msgstr ""
89
- "Посмотрите <a href=\"%s\" target=\"_blank\">видео</a> о том, как это "
90
- "работает."
91
-
92
- #: admin/options.php:49
93
- msgid "Only selected"
94
- msgstr "Только выбранные"
95
-
96
- #: admin/options.php:50
97
- msgid ""
98
- "Hide selected notices only. You will see the link \"Hide notification "
99
- "forever\" in each notice. Push it and they will not bother you anymore."
100
- msgstr ""
101
- "Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
102
- "ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
103
- "скрыто навсегда и перестанет вас беспокоить."
104
-
105
- #: admin/options.php:57
106
- msgid "Compact panel"
107
- msgstr "Компактная панель"
108
-
109
- #: admin/options.php:58
110
- msgid ""
111
- "Collapse all notifications in one line (panel with notification counters), "
112
- "to see the notifications, you will need to click this panel."
113
- msgstr ""
114
- "Свернуть все уведомления в одну строку (панель со счетчиками уведомлений), "
115
- "чтобы увидеть уведомления, вам нужно будет нажать на эту панель."
116
-
117
- #: admin/options.php:69
118
- msgid ""
119
- "Some plugins shows notifications about premium version, data collecting or "
120
- "promote their services. Even if you push close button (that sometimes are "
121
- "impossible), notices are shows again in some time. This option allows you to "
122
- "control notices. Hide them all or each individually. Some plugins shows "
123
- "notifications about premium version, data collecting or promote their "
124
- "services. Even if you push close button (that sometimes are impossible), "
125
- "notices are shows again in some time. This option allows you to control "
126
- "notices. Hide them all or each individually."
127
- msgstr ""
128
- "Зачастую, плагины отображают уведомления о возможности перехода на премиум "
129
- "версию, просят разрешение на сбор данных, рекламируют свои услуги. Даже если "
130
- "вы нажмете кнопку закрыть (что не всегда возможно), уведомления всё равно "
131
- "отобразятся через какое-то время. С помощью этой настройки, вы можете "
132
- "контролировать эти уведомления. Скройте их все сразу или каждое по "
133
- "отдельности."
134
-
135
- #: admin/options.php:92 admin/options.php:94
136
- msgid "Disable plugins updates nags"
137
- msgstr "Отключить уведомления об обновлении плагинов"
138
-
139
- #: admin/options.php:103 admin/options.php:105
140
- msgid "Disable core updates nags"
141
- msgstr "Отключить уведомления об обновлении Wordpress"
142
-
143
- #: admin/options.php:150
144
- msgid ""
145
- "By default, the plugin hides all notices, which you specified. If you enable "
146
- "this option, the plugin will collect all hidden notices and show them into "
147
- "the top admin toolbar. It will not disturb you but will allow to look "
148
- "notices at your convenience."
149
- msgstr ""
150
- "По умолчанию, плагин полностью скрывает отключенные вами уведомления. Если "
151
- "включить эту опцию, то плагин будет собирать все скрытые вами уведомления и "
152
- "выводить в верхней панели администратора. Это не будет вас раздражать, но и "
153
- "позволит просматривать уведомления, когда вам это удобно."
154
-
155
- #: admin/options.php:235
156
- msgid "Reset hidden notices for"
157
- msgstr "Сброс скрытых уведомлений для"
158
-
159
- #: admin/options.php:238
160
- msgid "Push reset hidden notices if you need to show hidden notices again."
161
- msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
162
-
163
- #: admin/options.php:249
164
- msgid "current user"
165
- msgstr "Текущий пользователь"
166
-
167
- #: admin/options.php:253
168
- msgid "all users"
169
- msgstr "Все пользователи"
170
-
171
- #: admin/options.php:257
172
- msgid "Reset notices"
173
- msgstr "Сбросить уведомления"
174
-
175
- #: admin/options.php:261 admin/pages/class-pages-settings.php:116
176
- msgid "Hidden notices are successfully reset, now you can see them again!"
177
- msgstr ""
178
- "Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
179
-
180
- #: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
181
- msgid "Undefinded notice id."
182
- msgstr "Не передан notice id."
183
-
184
- #: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
185
- msgid "You don't have enough capability to edit this information."
186
- msgstr "Вы не имеете разрешения на редактирование этого!"
187
-
188
- #: admin/pages/class-pages-edit-admin-bar.php:53
189
- msgid "Hide adminbar items"
190
- msgstr "Меню админбара"
191
-
192
- #: admin/pages/class-pages-edit-admin-bar.php:54
193
- msgid "You can hide an annoying adminbar menu"
194
- msgstr "Скрытие пунктов меню админбара"
195
-
196
- #: admin/pages/class-pages-edit-redirects.php:53
197
- msgid "Block ad redirects"
198
- msgstr "Рекламные редиректы"
199
-
200
- #: admin/pages/class-pages-edit-redirects.php:54
201
- msgid "Break advertising redirects"
202
- msgstr "Отключение рекламных редиректов"
203
-
204
- #: admin/pages/class-pages-notices.php:51
205
- msgid "Hidden notices"
206
- msgstr "Скрытые нотисы"
207
-
208
- #: admin/pages/class-pages-notices.php:52
209
- msgid "Manage hidden notices"
210
- msgstr "Управление скрытыми нотисами"
211
-
212
- #: admin/pages/class-pages-settings.php:73
213
- msgid "General settings"
214
- msgstr "Основные настройки"
215
-
216
- #: admin/pages/class-pages-settings.php:85
217
- msgid "Settings"
218
- msgstr "Настройки"
219
-
220
- #: includes/classes/class-configurate-notices.php:81
221
- #, php-format
222
- msgid "Notifications %s"
223
- msgstr "Уведомления %s"
224
-
225
- #: includes/classes/class-configurate-notices.php:92
226
- msgid "Hidden for you"
227
- msgstr "Скрытые для Вас"
228
-
229
- #: includes/classes/class-configurate-notices.php:289
230
- msgid "Hide <b>for me</b>"
231
- msgstr "Скрыть для меня"
232
-
233
- #: includes/classes/class-configurate-notices.php:293
234
- msgid "Hide <b>for all</b>"
235
- msgstr "Скрыть для всех"
236
-
237
- #. Name of the plugin
238
- msgid "Disable Admin Notices Individually"
239
- msgstr "Disable Admin Notices Individually"
240
-
241
- #. Description of the plugin
242
- msgid ""
243
- "Disable admin notices plugin gives you the option to hide updates warnings "
244
- "and inline notices in the admin panel."
245
- msgstr ""
246
- "Плагин Disable admin notices дает вам возможность скрыть предупреждения об "
247
- "обновлениях и встроенные уведомления в панели администратора."
248
-
249
- #. URI of the plugin
250
- #. Author URI of the plugin
251
- msgid "https://webcraftic.com"
252
- msgstr "https://webcraftic.com"
253
-
254
- #. Author of the plugin
255
- msgid "Webcraftic <wordpress.webraftic@gmail.com>"
256
- msgstr "Webcraftic <wordpress.webraftic@gmail.com>"
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: clearfy\n"
4
+ "POT-Creation-Date: 2020-08-27 12:50+0000\n"
5
+ "PO-Revision-Date: 2020-08-27 12:54+0000\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Русский\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Loco https://localise.biz/\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
15
+ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+ "X-Poedit-SearchPathExcluded-0: libs\n"
20
+ "Report-Msgid-Bugs-To: \n"
21
+ "X-Loco-Version: 2.4.2; wp-5.5"
22
+
23
+ #: disable-admin-notices.php:46
24
+ msgid "Webcraftic disable admin notices"
25
+ msgstr "Webcraftic отключить уведомления администратора"
26
+
27
+ #: admin/boot.php:27
28
+ msgid "Get ultimate plugin free"
29
+ msgstr "Получите полную версию плагина бесплатно"
30
+
31
+ #: admin/boot.php:82 admin/options.php:66
32
+ #: admin/pages/class-pages-settings.php:72
33
+ msgid "Hide admin notices"
34
+ msgstr "Скрыть уведомления"
35
+
36
+ #: admin/boot.php:88 admin/options.php:148
37
+ msgid "Enable hidden notices in adminbar"
38
+ msgstr "Включить уведомления в админбаре"
39
+
40
+ #: admin/class-page-basic.php:41
41
+ msgid "Webcraftic Disable Admin Notices"
42
+ msgstr "Webcraftic Disable Admin Notices"
43
+
44
+ #: admin/options.php:33
45
+ msgid "Admin notifications, Update nags"
46
+ msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
47
+
48
+ #: admin/options.php:33
49
+ msgid ""
50
+ "Do you know the situation, when some plugin offers you to update to premium, "
51
+ "to collect technical data and shows many annoying notices? You are close "
52
+ "these notices every now and again but they newly appears and interfere your "
53
+ "work with WordPress. Even worse, some plugin’s authors delete “close” button "
54
+ "from notices and they shows in your admin panel forever."
55
+ msgstr ""
56
+ "Вам знакома ситуация, когда какой-то плагин просит вас обновиться до премиум-"
57
+ "версии, получить права на сбор данных о вашем сайте и создает много "
58
+ "раздражающих уведомлений? Вы закрываете эти уведомления раз за разом, но они "
59
+ "вновь появляются и мешают вашей работе с WordPress. Хуже того, некоторые "
60
+ "авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
61
+ "вашей панели администратора целую вечность."
62
+
63
+ #: admin/options.php:39
64
+ msgid "Don't hide"
65
+ msgstr "Не скрывать"
66
+
67
+ #: admin/options.php:40
68
+ msgid ""
69
+ "Do not hide notices and do not show “Hide notification forever” link for "
70
+ "admin."
71
+ msgstr ""
72
+ "Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
73
+ "навсегда\" в уведомлениях администратора."
74
+
75
+ #: admin/options.php:44
76
+ msgid "All notices"
77
+ msgstr "Все уведомления"
78
+
79
+ #: admin/options.php:45
80
+ msgid "Hide all notices globally."
81
+ msgstr "Скрыть все уведомления глобально."
82
+
83
+ #: admin/options.php:45 admin/options.php:50 admin/options.php:58
84
+ #, php-format
85
+ msgid ""
86
+ "Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
87
+ "works ."
88
+ msgstr ""
89
+ "Посмотрите <a href=\"%s\" target=\"_blank\">видео</a> о том, как это "
90
+ "работает."
91
+
92
+ #: admin/options.php:49
93
+ msgid "Only selected"
94
+ msgstr "Только выбранные"
95
+
96
+ #: admin/options.php:50
97
+ msgid ""
98
+ "Hide selected notices only. You will see the link \"Hide notification "
99
+ "forever\" in each notice. Push it and they will not bother you anymore."
100
+ msgstr ""
101
+ "Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
102
+ "ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
103
+ "скрыто навсегда и перестанет вас беспокоить."
104
+
105
+ #: admin/options.php:57
106
+ msgid "Compact panel"
107
+ msgstr "Компактная панель"
108
+
109
+ #: admin/options.php:58
110
+ msgid ""
111
+ "Collapse all notifications in one line (panel with notification counters), "
112
+ "to see the notifications, you will need to click this panel."
113
+ msgstr ""
114
+ "Свернуть все уведомления в одну строку (панель со счетчиками уведомлений), "
115
+ "чтобы увидеть уведомления, вам нужно будет нажать на эту панель."
116
+
117
+ #: admin/options.php:69
118
+ msgid ""
119
+ "Some plugins shows notifications about premium version, data collecting or "
120
+ "promote their services. Even if you push close button (that sometimes are "
121
+ "impossible), notices are shows again in some time. This option allows you to "
122
+ "control notices. Hide them all or each individually. Some plugins shows "
123
+ "notifications about premium version, data collecting or promote their "
124
+ "services. Even if you push close button (that sometimes are impossible), "
125
+ "notices are shows again in some time. This option allows you to control "
126
+ "notices. Hide them all or each individually."
127
+ msgstr ""
128
+ "Зачастую, плагины отображают уведомления о возможности перехода на премиум "
129
+ "версию, просят разрешение на сбор данных, рекламируют свои услуги. Даже если "
130
+ "вы нажмете кнопку закрыть (что не всегда возможно), уведомления всё равно "
131
+ "отобразятся через какое-то время. С помощью этой настройки, вы можете "
132
+ "контролировать эти уведомления. Скройте их все сразу или каждое по "
133
+ "отдельности."
134
+
135
+ #: admin/options.php:92 admin/options.php:94
136
+ msgid "Disable plugins updates nags"
137
+ msgstr "Отключить уведомления об обновлении плагинов"
138
+
139
+ #: admin/options.php:103 admin/options.php:105
140
+ msgid "Disable core updates nags"
141
+ msgstr "Отключить уведомления об обновлении Wordpress"
142
+
143
+ #: admin/options.php:150
144
+ msgid ""
145
+ "By default, the plugin hides all notices, which you specified. If you enable "
146
+ "this option, the plugin will collect all hidden notices and show them into "
147
+ "the top admin toolbar. It will not disturb you but will allow to look "
148
+ "notices at your convenience."
149
+ msgstr ""
150
+ "По умолчанию, плагин полностью скрывает отключенные вами уведомления. Если "
151
+ "включить эту опцию, то плагин будет собирать все скрытые вами уведомления и "
152
+ "выводить в верхней панели администратора. Это не будет вас раздражать, но и "
153
+ "позволит просматривать уведомления, когда вам это удобно."
154
+
155
+ #: admin/options.php:235
156
+ msgid "Reset hidden notices for"
157
+ msgstr "Сброс скрытых уведомлений для"
158
+
159
+ #: admin/options.php:238
160
+ msgid "Push reset hidden notices if you need to show hidden notices again."
161
+ msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
162
+
163
+ #: admin/options.php:249
164
+ msgid "current user"
165
+ msgstr "Текущий пользователь"
166
+
167
+ #: admin/options.php:253
168
+ msgid "all users"
169
+ msgstr "Все пользователи"
170
+
171
+ #: admin/options.php:257
172
+ msgid "Reset notices"
173
+ msgstr "Сбросить уведомления"
174
+
175
+ #: admin/options.php:261 admin/pages/class-pages-settings.php:116
176
+ msgid "Hidden notices are successfully reset, now you can see them again!"
177
+ msgstr ""
178
+ "Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
179
+
180
+ #: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
181
+ msgid "Undefinded notice id."
182
+ msgstr "Не передан notice id."
183
+
184
+ #: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
185
+ msgid "You don't have enough capability to edit this information."
186
+ msgstr "Вы не имеете разрешения на редактирование этого!"
187
+
188
+ #: admin/pages/class-pages-edit-admin-bar.php:53
189
+ msgid "Hide adminbar items"
190
+ msgstr "Меню админбара"
191
+
192
+ #: admin/pages/class-pages-edit-admin-bar.php:54
193
+ msgid "You can hide an annoying adminbar menu"
194
+ msgstr "Скрытие пунктов меню админбара"
195
+
196
+ #: admin/pages/class-pages-edit-redirects.php:53
197
+ msgid "Block ad redirects"
198
+ msgstr "Рекламные редиректы"
199
+
200
+ #: admin/pages/class-pages-edit-redirects.php:54
201
+ msgid "Break advertising redirects"
202
+ msgstr "Отключение рекламных редиректов"
203
+
204
+ #: admin/pages/class-pages-notices.php:51
205
+ msgid "Hidden notices"
206
+ msgstr "Скрытые нотисы"
207
+
208
+ #: admin/pages/class-pages-notices.php:52
209
+ msgid "Manage hidden notices"
210
+ msgstr "Управление скрытыми нотисами"
211
+
212
+ #: admin/pages/class-pages-settings.php:73
213
+ msgid "General settings"
214
+ msgstr "Основные настройки"
215
+
216
+ #: admin/pages/class-pages-settings.php:85
217
+ msgid "Settings"
218
+ msgstr "Настройки"
219
+
220
+ #: includes/classes/class-configurate-notices.php:81
221
+ #, php-format
222
+ msgid "Notifications %s"
223
+ msgstr "Уведомления %s"
224
+
225
+ #: includes/classes/class-configurate-notices.php:92
226
+ msgid "Hidden for you"
227
+ msgstr "Скрытые для Вас"
228
+
229
+ #: includes/classes/class-configurate-notices.php:289
230
+ msgid "Hide <b>for me</b>"
231
+ msgstr "Скрыть для меня"
232
+
233
+ #: includes/classes/class-configurate-notices.php:293
234
+ msgid "Hide <b>for all</b>"
235
+ msgstr "Скрыть для всех"
236
+
237
+ #. Name of the plugin
238
+ msgid "Disable Admin Notices Individually"
239
+ msgstr "Disable Admin Notices Individually"
240
+
241
+ #. Description of the plugin
242
+ msgid ""
243
+ "Disable admin notices plugin gives you the option to hide updates warnings "
244
+ "and inline notices in the admin panel."
245
+ msgstr ""
246
+ "Плагин Disable admin notices дает вам возможность скрыть предупреждения об "
247
+ "обновлениях и встроенные уведомления в панели администратора."
248
+
249
+ #. URI of the plugin
250
+ #. Author URI of the plugin
251
+ msgid "https://webcraftic.com"
252
+ msgstr "https://webcraftic.com"
253
+
254
+ #. Author of the plugin
255
+ msgid "Webcraftic <wordpress.webraftic@gmail.com>"
256
+ msgstr "Webcraftic <wordpress.webraftic@gmail.com>"
languages/disable-admin-notices.pot CHANGED
@@ -1,223 +1,223 @@
1
- #, fuzzy
2
- msgid ""
3
- msgstr ""
4
- "Project-Id-Version: Webcraftic Disable Admin Notices Individually\n"
5
- "Report-Msgid-Bugs-To: \n"
6
- "POT-Creation-Date: 2020-08-27 12:50+0000\n"
7
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
- "Language-Team: \n"
10
- "Language: \n"
11
- "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Loco https://localise.biz/\n"
16
- "X-Loco-Version: 2.4.2; wp-5.5"
17
-
18
- #: disable-admin-notices.php:46
19
- msgid "Webcraftic disable admin notices"
20
- msgstr ""
21
-
22
- #: admin/boot.php:27
23
- msgid "Get ultimate plugin free"
24
- msgstr ""
25
-
26
- #: admin/boot.php:82 admin/options.php:66
27
- #: admin/pages/class-pages-settings.php:72
28
- msgid "Hide admin notices"
29
- msgstr ""
30
-
31
- #: admin/boot.php:88 admin/options.php:148
32
- msgid "Enable hidden notices in adminbar"
33
- msgstr ""
34
-
35
- #: admin/class-page-basic.php:41
36
- msgid "Webcraftic Disable Admin Notices"
37
- msgstr ""
38
-
39
- #: admin/options.php:33
40
- msgid "Admin notifications, Update nags"
41
- msgstr ""
42
-
43
- #: admin/options.php:33
44
- msgid ""
45
- "Do you know the situation, when some plugin offers you to update to premium, "
46
- "to collect technical data and shows many annoying notices? You are close "
47
- "these notices every now and again but they newly appears and interfere your "
48
- "work with WordPress. Even worse, some plugin’s authors delete “close” button "
49
- "from notices and they shows in your admin panel forever."
50
- msgstr ""
51
-
52
- #: admin/options.php:39
53
- msgid "Don't hide"
54
- msgstr ""
55
-
56
- #: admin/options.php:40
57
- msgid ""
58
- "Do not hide notices and do not show “Hide notification forever” link for "
59
- "admin."
60
- msgstr ""
61
-
62
- #: admin/options.php:44
63
- msgid "All notices"
64
- msgstr ""
65
-
66
- #: admin/options.php:45
67
- msgid "Hide all notices globally."
68
- msgstr ""
69
-
70
- #: admin/options.php:45 admin/options.php:50 admin/options.php:58
71
- #, php-format
72
- msgid ""
73
- "Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
74
- "works ."
75
- msgstr ""
76
-
77
- #: admin/options.php:49
78
- msgid "Only selected"
79
- msgstr ""
80
-
81
- #: admin/options.php:50
82
- msgid ""
83
- "Hide selected notices only. You will see the link \"Hide notification "
84
- "forever\" in each notice. Push it and they will not bother you anymore."
85
- msgstr ""
86
-
87
- #: admin/options.php:57
88
- msgid "Compact panel"
89
- msgstr ""
90
-
91
- #: admin/options.php:58
92
- msgid ""
93
- "Collapse all notifications in one line (panel with notification counters), "
94
- "to see the notifications, you will need to click this panel."
95
- msgstr ""
96
-
97
- #: admin/options.php:69
98
- msgid ""
99
- "Some plugins shows notifications about premium version, data collecting or "
100
- "promote their services. Even if you push close button (that sometimes are "
101
- "impossible), notices are shows again in some time. This option allows you to "
102
- "control notices. Hide them all or each individually. Some plugins shows "
103
- "notifications about premium version, data collecting or promote their "
104
- "services. Even if you push close button (that sometimes are impossible), "
105
- "notices are shows again in some time. This option allows you to control "
106
- "notices. Hide them all or each individually."
107
- msgstr ""
108
-
109
- #: admin/options.php:92 admin/options.php:94
110
- msgid "Disable plugins updates nags"
111
- msgstr ""
112
-
113
- #: admin/options.php:103 admin/options.php:105
114
- msgid "Disable core updates nags"
115
- msgstr ""
116
-
117
- #: admin/options.php:150
118
- msgid ""
119
- "By default, the plugin hides all notices, which you specified. If you enable "
120
- "this option, the plugin will collect all hidden notices and show them into "
121
- "the top admin toolbar. It will not disturb you but will allow to look "
122
- "notices at your convenience."
123
- msgstr ""
124
-
125
- #: admin/options.php:235
126
- msgid "Reset hidden notices for"
127
- msgstr ""
128
-
129
- #: admin/options.php:238
130
- msgid "Push reset hidden notices if you need to show hidden notices again."
131
- msgstr ""
132
-
133
- #: admin/options.php:249
134
- msgid "current user"
135
- msgstr ""
136
-
137
- #: admin/options.php:253
138
- msgid "all users"
139
- msgstr ""
140
-
141
- #: admin/options.php:257
142
- msgid "Reset notices"
143
- msgstr ""
144
-
145
- #: admin/options.php:261 admin/pages/class-pages-settings.php:116
146
- msgid "Hidden notices are successfully reset, now you can see them again!"
147
- msgstr ""
148
-
149
- #: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
150
- msgid "Undefinded notice id."
151
- msgstr ""
152
-
153
- #: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
154
- msgid "You don't have enough capability to edit this information."
155
- msgstr ""
156
-
157
- #: admin/pages/class-pages-edit-admin-bar.php:53
158
- msgid "Hide adminbar items"
159
- msgstr ""
160
-
161
- #: admin/pages/class-pages-edit-admin-bar.php:54
162
- msgid "You can hide an annoying adminbar menu"
163
- msgstr ""
164
-
165
- #: admin/pages/class-pages-edit-redirects.php:53
166
- msgid "Block ad redirects"
167
- msgstr ""
168
-
169
- #: admin/pages/class-pages-edit-redirects.php:54
170
- msgid "Break advertising redirects"
171
- msgstr ""
172
-
173
- #: admin/pages/class-pages-notices.php:51
174
- msgid "Hidden notices"
175
- msgstr ""
176
-
177
- #: admin/pages/class-pages-notices.php:52
178
- msgid "Manage hidden notices"
179
- msgstr ""
180
-
181
- #: admin/pages/class-pages-settings.php:73
182
- msgid "General settings"
183
- msgstr ""
184
-
185
- #: admin/pages/class-pages-settings.php:85
186
- msgid "Settings"
187
- msgstr ""
188
-
189
- #: includes/classes/class-configurate-notices.php:81
190
- #, php-format
191
- msgid "Notifications %s"
192
- msgstr ""
193
-
194
- #: includes/classes/class-configurate-notices.php:92
195
- msgid "Hidden for you"
196
- msgstr ""
197
-
198
- #: includes/classes/class-configurate-notices.php:289
199
- msgid "Hide <b>for me</b>"
200
- msgstr ""
201
-
202
- #: includes/classes/class-configurate-notices.php:293
203
- msgid "Hide <b>for all</b>"
204
- msgstr ""
205
-
206
- #. Name of the plugin
207
- msgid "Disable Admin Notices Individually"
208
- msgstr ""
209
-
210
- #. Description of the plugin
211
- msgid ""
212
- "Disable admin notices plugin gives you the option to hide updates warnings "
213
- "and inline notices in the admin panel."
214
- msgstr ""
215
-
216
- #. URI of the plugin
217
- #. Author URI of the plugin
218
- msgid "https://webcraftic.com"
219
- msgstr ""
220
-
221
- #. Author of the plugin
222
- msgid "Webcraftic <wordpress.webraftic@gmail.com>"
223
- msgstr ""
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: Webcraftic Disable Admin Notices Individually\n"
5
+ "Report-Msgid-Bugs-To: \n"
6
+ "POT-Creation-Date: 2020-08-27 12:50+0000\n"
7
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
+ "Language-Team: \n"
10
+ "Language: \n"
11
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Loco https://localise.biz/\n"
16
+ "X-Loco-Version: 2.4.2; wp-5.5"
17
+
18
+ #: disable-admin-notices.php:46
19
+ msgid "Webcraftic disable admin notices"
20
+ msgstr ""
21
+
22
+ #: admin/boot.php:27
23
+ msgid "Get ultimate plugin free"
24
+ msgstr ""
25
+
26
+ #: admin/boot.php:82 admin/options.php:66
27
+ #: admin/pages/class-pages-settings.php:72
28
+ msgid "Hide admin notices"
29
+ msgstr ""
30
+
31
+ #: admin/boot.php:88 admin/options.php:148
32
+ msgid "Enable hidden notices in adminbar"
33
+ msgstr ""
34
+
35
+ #: admin/class-page-basic.php:41
36
+ msgid "Webcraftic Disable Admin Notices"
37
+ msgstr ""
38
+
39
+ #: admin/options.php:33
40
+ msgid "Admin notifications, Update nags"
41
+ msgstr ""
42
+
43
+ #: admin/options.php:33
44
+ msgid ""
45
+ "Do you know the situation, when some plugin offers you to update to premium, "
46
+ "to collect technical data and shows many annoying notices? You are close "
47
+ "these notices every now and again but they newly appears and interfere your "
48
+ "work with WordPress. Even worse, some plugin’s authors delete “close” button "
49
+ "from notices and they shows in your admin panel forever."
50
+ msgstr ""
51
+
52
+ #: admin/options.php:39
53
+ msgid "Don't hide"
54
+ msgstr ""
55
+
56
+ #: admin/options.php:40
57
+ msgid ""
58
+ "Do not hide notices and do not show “Hide notification forever” link for "
59
+ "admin."
60
+ msgstr ""
61
+
62
+ #: admin/options.php:44
63
+ msgid "All notices"
64
+ msgstr ""
65
+
66
+ #: admin/options.php:45
67
+ msgid "Hide all notices globally."
68
+ msgstr ""
69
+
70
+ #: admin/options.php:45 admin/options.php:50 admin/options.php:58
71
+ #, php-format
72
+ msgid ""
73
+ "Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
74
+ "works ."
75
+ msgstr ""
76
+
77
+ #: admin/options.php:49
78
+ msgid "Only selected"
79
+ msgstr ""
80
+
81
+ #: admin/options.php:50
82
+ msgid ""
83
+ "Hide selected notices only. You will see the link \"Hide notification "
84
+ "forever\" in each notice. Push it and they will not bother you anymore."
85
+ msgstr ""
86
+
87
+ #: admin/options.php:57
88
+ msgid "Compact panel"
89
+ msgstr ""
90
+
91
+ #: admin/options.php:58
92
+ msgid ""
93
+ "Collapse all notifications in one line (panel with notification counters), "
94
+ "to see the notifications, you will need to click this panel."
95
+ msgstr ""
96
+
97
+ #: admin/options.php:69
98
+ msgid ""
99
+ "Some plugins shows notifications about premium version, data collecting or "
100
+ "promote their services. Even if you push close button (that sometimes are "
101
+ "impossible), notices are shows again in some time. This option allows you to "
102
+ "control notices. Hide them all or each individually. Some plugins shows "
103
+ "notifications about premium version, data collecting or promote their "
104
+ "services. Even if you push close button (that sometimes are impossible), "
105
+ "notices are shows again in some time. This option allows you to control "
106
+ "notices. Hide them all or each individually."
107
+ msgstr ""
108
+
109
+ #: admin/options.php:92 admin/options.php:94
110
+ msgid "Disable plugins updates nags"
111
+ msgstr ""
112
+
113
+ #: admin/options.php:103 admin/options.php:105
114
+ msgid "Disable core updates nags"
115
+ msgstr ""
116
+
117
+ #: admin/options.php:150
118
+ msgid ""
119
+ "By default, the plugin hides all notices, which you specified. If you enable "
120
+ "this option, the plugin will collect all hidden notices and show them into "
121
+ "the top admin toolbar. It will not disturb you but will allow to look "
122
+ "notices at your convenience."
123
+ msgstr ""
124
+
125
+ #: admin/options.php:235
126
+ msgid "Reset hidden notices for"
127
+ msgstr ""
128
+
129
+ #: admin/options.php:238
130
+ msgid "Push reset hidden notices if you need to show hidden notices again."
131
+ msgstr ""
132
+
133
+ #: admin/options.php:249
134
+ msgid "current user"
135
+ msgstr ""
136
+
137
+ #: admin/options.php:253
138
+ msgid "all users"
139
+ msgstr ""
140
+
141
+ #: admin/options.php:257
142
+ msgid "Reset notices"
143
+ msgstr ""
144
+
145
+ #: admin/options.php:261 admin/pages/class-pages-settings.php:116
146
+ msgid "Hidden notices are successfully reset, now you can see them again!"
147
+ msgstr ""
148
+
149
+ #: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
150
+ msgid "Undefinded notice id."
151
+ msgstr ""
152
+
153
+ #: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
154
+ msgid "You don't have enough capability to edit this information."
155
+ msgstr ""
156
+
157
+ #: admin/pages/class-pages-edit-admin-bar.php:53
158
+ msgid "Hide adminbar items"
159
+ msgstr ""
160
+
161
+ #: admin/pages/class-pages-edit-admin-bar.php:54
162
+ msgid "You can hide an annoying adminbar menu"
163
+ msgstr ""
164
+
165
+ #: admin/pages/class-pages-edit-redirects.php:53
166
+ msgid "Block ad redirects"
167
+ msgstr ""
168
+
169
+ #: admin/pages/class-pages-edit-redirects.php:54
170
+ msgid "Break advertising redirects"
171
+ msgstr ""
172
+
173
+ #: admin/pages/class-pages-notices.php:51
174
+ msgid "Hidden notices"
175
+ msgstr ""
176
+
177
+ #: admin/pages/class-pages-notices.php:52
178
+ msgid "Manage hidden notices"
179
+ msgstr ""
180
+
181
+ #: admin/pages/class-pages-settings.php:73
182
+ msgid "General settings"
183
+ msgstr ""
184
+
185
+ #: admin/pages/class-pages-settings.php:85
186
+ msgid "Settings"
187
+ msgstr ""
188
+
189
+ #: includes/classes/class-configurate-notices.php:81
190
+ #, php-format
191
+ msgid "Notifications %s"
192
+ msgstr ""
193
+
194
+ #: includes/classes/class-configurate-notices.php:92
195
+ msgid "Hidden for you"
196
+ msgstr ""
197
+
198
+ #: includes/classes/class-configurate-notices.php:289
199
+ msgid "Hide <b>for me</b>"
200
+ msgstr ""
201
+
202
+ #: includes/classes/class-configurate-notices.php:293
203
+ msgid "Hide <b>for all</b>"
204
+ msgstr ""
205
+
206
+ #. Name of the plugin
207
+ msgid "Disable Admin Notices Individually"
208
+ msgstr ""
209
+
210
+ #. Description of the plugin
211
+ msgid ""
212
+ "Disable admin notices plugin gives you the option to hide updates warnings "
213
+ "and inline notices in the admin panel."
214
+ msgstr ""
215
+
216
+ #. URI of the plugin
217
+ #. Author URI of the plugin
218
+ msgid "https://webcraftic.com"
219
+ msgstr ""
220
+
221
+ #. Author of the plugin
222
+ msgid "Webcraftic <wordpress.webraftic@gmail.com>"
223
+ msgstr ""
libs/factory/adverts/boot.php CHANGED
@@ -1,50 +1,50 @@
1
- <?php
2
-
3
- use WBCR\Factory_Adverts_117\Base;
4
-
5
- /**
6
- * Factory Adverts
7
- *
8
- * @author Alexander Vitkalov <nechin.va@gmail.com>
9
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
10
- * @since 1.0.0
11
- *
12
- * @package factory-ad-inserter
13
- * @copyright (c) 2019, Webcraftic Ltd
14
- *
15
- * @version 1.2.3
16
- */
17
-
18
- // Exit if accessed directly
19
- if( !defined('ABSPATH') ) {
20
- exit;
21
- }
22
-
23
- if( defined('FACTORY_ADVERTS_117_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
24
- return;
25
- }
26
-
27
- # Устанавливаем константу, что модуль уже загружен
28
- define('FACTORY_ADVERTS_117_LOADED', true);
29
-
30
- # Устанавливаем версию модуля
31
- define('FACTORY_ADVERTS_117_VERSION', '1.1.7');
32
-
33
- # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
- load_plugin_textdomain('wbcr_factory_adverts_117', false, dirname(plugin_basename(__FILE__)) . '/langs');
35
-
36
- # Устанавливаем директорию модуля
37
- define('FACTORY_ADVERTS_117_DIR', dirname(__FILE__));
38
-
39
- # Устанавливаем url модуля
40
- define('FACTORY_ADVERTS_117_URL', plugins_url(null, __FILE__));
41
-
42
- require_once(FACTORY_ADVERTS_117_DIR . '/includes/class-rest-request.php');
43
- require_once(FACTORY_ADVERTS_117_DIR . '/includes/class-base.php');
44
-
45
- /**
46
- * @param Wbcr_Factory439_Plugin $plugin
47
- */
48
- add_action('wbcr_factory_adverts_117_plugin_created', function ($plugin) {
49
- $plugin->set_adverts_manager("WBCR\Factory_Adverts_117\Base");
50
- });
1
+ <?php
2
+
3
+ use WBCR\Factory_Adverts_130\Base;
4
+
5
+ /**
6
+ * Factory Adverts
7
+ *
8
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
9
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
10
+ * @since 1.0.0
11
+ *
12
+ * @package factory-ad-inserter
13
+ * @copyright (c) 2019, Webcraftic Ltd
14
+ *
15
+ * @version 1.2.4
16
+ */
17
+
18
+ // Exit if accessed directly
19
+ if( !defined('ABSPATH') ) {
20
+ exit;
21
+ }
22
+
23
+ if( defined('FACTORY_ADVERTS_130_LOADED') || (defined('FACTORY_ADVERTS_BLOCK') && FACTORY_ADVERTS_BLOCK) ) {
24
+ return;
25
+ }
26
+
27
+ # Устанавливаем константу, что модуль уже загружен
28
+ define('FACTORY_ADVERTS_130_LOADED', true);
29
+
30
+ # Устанавливаем версию модуля
31
+ define('FACTORY_ADVERTS_130_VERSION', '1.3.0');
32
+
33
+ # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
+ load_plugin_textdomain('wbcr_factory_adverts_130', false, dirname(plugin_basename(__FILE__)) . '/langs');
35
+
36
+ # Устанавливаем директорию модуля
37
+ define('FACTORY_ADVERTS_130_DIR', dirname(__FILE__));
38
+
39
+ # Устанавливаем url модуля
40
+ define('FACTORY_ADVERTS_130_URL', plugins_url(null, __FILE__));
41
+
42
+ require_once(FACTORY_ADVERTS_130_DIR . '/includes/class-rest-request.php');
43
+ require_once(FACTORY_ADVERTS_130_DIR . '/includes/class-base.php');
44
+
45
+ /**
46
+ * @param Wbcr_Factory453_Plugin $plugin
47
+ */
48
+ add_action('wbcr_factory_adverts_130_plugin_created', function ($plugin) {
49
+ $plugin->set_adverts_manager("WBCR\Factory_Adverts_130\Base");
50
+ });
libs/factory/adverts/includes/class-base.php CHANGED
@@ -1,319 +1,319 @@
1
- <?php
2
-
3
- namespace WBCR\Factory_Adverts_117;
4
-
5
- // Exit if accessed directly
6
- if ( ! defined( 'ABSPATH' ) ) {
7
- exit;
8
- }
9
-
10
- /**
11
- * Base class for adverts module.
12
- *
13
- * Contains methods for retrieving banner data for a specific position.
14
- * With this class user cat get advert content for a specific position.
15
- * This class use functional design pattern.
16
- *
17
- * @author Alexander Vitkalov <nechin.va@gmail.com>
18
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
- *
20
- * @since 1.0.0 Added
21
- * @package factory-adverts
22
- * @copyright (c) 2019 Webcraftic Ltd
23
- */
24
- class Base {
25
-
26
- /**
27
- * Экзепляр плагина с которым взаимодействует этот модуль
28
- *
29
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
- * @since 1.0.1
31
- * @var \Wbcr_Factory439_Plugin
32
- */
33
- private $plugin;
34
-
35
- /*
36
- * Contain array data with the plugin information and the module settings.
37
- * Mainly used to get the name of the plugin and how to get the adverts blocks.
38
- *
39
- * @since 1.0.0 Added
40
- *
41
- * @var array Example: array(
42
- * 'dashboard_widget' => true,
43
- * 'right_sidebar' => true,
44
- * 'notice' => true,
45
- * ...
46
- * )
47
- *
48
- */
49
- private $settings = [];
50
-
51
- /**
52
- * Экземпляр класса для работы API CreativeMotion
53
- *
54
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
- * @since 1.0.1
56
- * @var \WBCR\Factory_Adverts_117\Creative_Motion_API
57
- */
58
- private $api;
59
-
60
- /**
61
- * Сохраняем уже полученные данные, для объектного кеширования
62
- *
63
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
64
- * @since 1.0.1
65
- * @var array
66
- */
67
- private $placements = [];
68
-
69
- /**
70
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
71
- * @since 1.0.1
72
- * @var array
73
- */
74
- private $errors = [];
75
-
76
- /**
77
- * Wbcr_Factory_Adinserter constructor.
78
- *
79
- * - Store plugin information and settings.
80
- * - Add filter and actions.
81
- * - Include dashboard widget.
82
- *
83
- * @since 1.0.0 Added
84
- *
85
- * @param \Wbcr_Factory439_Plugin $plugin
86
- */
87
- public function __construct( \Wbcr_Factory439_Plugin $plugin, $settings ) {
88
- $this->plugin = $plugin;
89
-
90
- $this->settings = wp_parse_args( $settings, [
91
- 'dashboard_widget' => false, // show dashboard widget (default: false)
92
- 'right_sidebar' => false, // show adverts sidebar (default: false)
93
- 'notice' => false, // show notice message (default: false),
94
- 'business_suggetion' => false,
95
- 'support' => false
96
- ] );
97
-
98
- $this->api = new Creative_Motion_API( $this->plugin );
99
-
100
- add_filter( 'wbcr/factory/pages/impressive/widgets', [ $this, 'register_plugin_widgets' ], 10, 3 );
101
- add_action( 'wbcr/factory/admin_notices', [ $this, 'register_plugin_notice' ], 10, 2 );
102
- add_action( 'current_screen', [ $this, 'register_dashboard_widget' ], 10, 2 );
103
- }
104
-
105
- /**
106
- * Directly get advert content for selected position.
107
- *
108
- * @since 1.0.1 Rename method. Content should now be printed.
109
- * @since 1.0.0 Added
110
- *
111
- * @param string $position Custom position name
112
- *
113
- * @return void
114
- */
115
- public function render_placement( $position = 'right_sidebar' ) {
116
- $content = '';
117
-
118
- if ( $position ) {
119
- $content = $this->get_content( $position );
120
- }
121
-
122
- echo $content;
123
- }
124
-
125
- /**
126
- * Register widgets.
127
- *
128
- * Depending on the settings, register new widgets.
129
- *
130
- * @since 1.0.0 Added
131
- *
132
- * @param array $widgets Already existing registered widgets
133
- * @param string $position Position for the widget
134
- * @param string $plugin Plugin object for which the hook is run
135
- *
136
- * @return array array(
137
- * 'adverts_widget' => '<p></p>',
138
- * 'business_suggetion' => '<p></p>',
139
- * 'support' => '<p></p>',
140
- * ...
141
- * )
142
- */
143
- public function register_plugin_widgets( $widgets, $position, $plugin ) {
144
- if ( $plugin->getPluginName() == $this->plugin->getPluginName() && 'right' == $position ) {
145
-
146
- if ( $this->settings['right_sidebar'] ) {
147
- $content = $this->get_content( 'right_sidebar' );
148
- $widgets['adverts_widget'] = $content;
149
-
150
- if ( empty( $widgets['adverts_widget'] ) ) {
151
- if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
152
- $debug_message = '<div style="background: #fff4f1;padding: 10px;color: #a58074;">';
153
- $debug_message .= $this->get_debug_message( 'right_sidebar' );
154
- $debug_message .= '</div>';
155
-
156
- $widgets['adverts_widget'] = $debug_message;
157
- } else {
158
- unset( $widgets['adverts_widget'] );
159
- }
160
- }
161
- }
162
-
163
- if ( $this->settings['business_suggetion'] ) {
164
- $content = $this->get_content( 'business_suggetion' );
165
-
166
- if ( ! empty( $content ) ) {
167
- $widgets['business_suggetion'] = $content;
168
- }
169
- }
170
-
171
- if ( $this->settings['support'] ) {
172
- $content = $this->get_content( 'support' );
173
-
174
- if ( ! empty( $content ) ) {
175
- $widgets['support'] = $content;
176
- }
177
- }
178
- }
179
-
180
- return $widgets;
181
- }
182
-
183
- /**
184
- * Регистрирует уведомление для текущего плагина
185
- *
186
- * Мы добавляем уведомления в массив всех уведомлений плагина с ключем 'adverts_notice',
187
- * то есть если другие плагины, тоже добавят свои рекламные уведомления, они просто
188
- * будут перезаписывать друг друга, в итоге будет отображено только одно рекламное
189
- * уведомеление. Это нужно для того, чтобы ограничить пользователя от спама.
190
- *
191
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
192
- *
193
- * @since 1.0.1 Переделан полностью под интферфейс фреймворка. Используем встроенную систему уведомлений.
194
- * @since 1.0.0 Added
195
- *
196
- * @param array $notices Массив со списком всех уведомлений, которые будут напечатыны в админ панели
197
- * @param string $plugin_name Имя плагина, передано для того, чтобы выводить уведомления условно, только для конкретного плагина
198
- */
199
- public function register_plugin_notice( $notices, $plugin_name ) {
200
- if ( $plugin_name !== $this->plugin->getPluginName() ) {
201
- return $notices;
202
- }
203
-
204
- if ( $this->settings['notice'] ) {
205
- $notice_content = $this->get_content( 'notice' );
206
-
207
- if ( empty( $notice_content ) ) {
208
- # Информация для отладки
209
- if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
210
- $debug_message = $this->get_debug_message( 'notice' );
211
-
212
- $notices['adverts_notice'] = [
213
- 'id' => 'adverts_debug',
214
- 'type' => 'error',
215
- 'dismissible' => false,
216
- 'dismiss_expires' => 0,
217
- 'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $debug_message . '</p>'
218
- ];
219
- }
220
-
221
- return $notices;
222
- }
223
-
224
- $hash = md5( $notice_content );
225
-
226
- $notices['adverts_notice'] = [
227
- 'id' => 'adverts_' . $hash,
228
- 'type' => 'success',
229
- 'dismissible' => true,
230
- 'dismiss_expires' => 0,
231
- 'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $notice_content . '</p>'
232
- ];
233
- }
234
-
235
- return $notices;
236
- }
237
-
238
- /**
239
- * Include dashboard widget
240
- *
241
- * Include functionality the output of the widget on the dashboard.
242
- * Only one dashboard widget must be shown for some plugins with this setting (dashboard_widget).
243
- *
244
- * @since 1.0.0 Added
245
- */
246
- public function register_dashboard_widget() {
247
- if ( $this->settings['dashboard_widget'] && current_user_can( 'manage_options' ) ) {
248
- $current_screen = get_current_screen();
249
-
250
- if ( ! in_array( $current_screen->id, [ 'dashboard', 'dashboard-network' ] ) ) {
251
- return;
252
- }
253
-
254
- $content = $this->get_content( 'dashboard_widget' );
255
-
256
- if ( empty( $content ) && defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
257
- $content = $this->get_debug_message( 'dashboard_widget' );
258
- }
259
-
260
- require_once FACTORY_ADVERTS_117_DIR . '/includes/class-dashboard-widget.php';
261
- new Dashboard_Widget( $this->plugin, $content );
262
- }
263
- }
264
-
265
- /**
266
- * Позволяет получить сообщение об ошибках
267
- *
268
- * Метод проверяет последние ошибки, которые могли произойти в результате api запроса.
269
- * Если ошибки есть, он выводит предупреждение и список последних ошибок. Если ошибок нет,
270
- * метод вернет просто предупреждение, что реклама не настроена.
271
- *
272
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
273
- * @since 1.0.1
274
- *
275
- * @param string $position Position for the widget
276
- *
277
- * @return string Возвращает сообщение с последниеми ошибками для отладки
278
- */
279
- private function get_debug_message( $position ) {
280
- $debug_massage = 'Plugin ads not configured or server unavailable. See full error report below.<br>';
281
-
282
- if ( isset( $this->errors[ $position ] ) && ! empty( $this->errors ) ) {
283
- $debug_massage .= '<b>Last errors:</b><br>';
284
- foreach ( $this->errors[ $position ] as $error_code => $error_message ) {
285
- $debug_massage .= 'Code: ' . $error_code . ' Error: ' . $error_message . '<br>';
286
- }
287
- }
288
-
289
- return $debug_massage;
290
- }
291
-
292
- /**
293
- * Get advert content for selected position.
294
- *
295
- * @since 1.0.1 Полностью переписан
296
- * @since 1.0.0 Added
297
- *
298
- * @param string $position The position for advert
299
- *
300
- * @return string
301
- */
302
- private function get_content( $position ) {
303
- if ( isset( $this->placements[ $position ] ) ) {
304
- return $this->placements[ $position ];
305
- }
306
-
307
- $content = $this->api->get_content( $position );
308
-
309
- if ( is_wp_error( $content ) ) {
310
- $this->errors[ $position ][ $content->get_error_code() ] = $content->get_error_message();
311
-
312
- return null;
313
- }
314
-
315
- $this->placements[ $position ] = $content;
316
-
317
- return $content;
318
- }
319
- }
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Adverts_130;
4
+
5
+ // Exit if accessed directly
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit;
8
+ }
9
+
10
+ /**
11
+ * Base class for adverts module.
12
+ *
13
+ * Contains methods for retrieving banner data for a specific position.
14
+ * With this class user cat get advert content for a specific position.
15
+ * This class use functional design pattern.
16
+ *
17
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
18
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
+ *
20
+ * @since 1.0.0 Added
21
+ * @package factory-adverts
22
+ * @copyright (c) 2019 Webcraftic Ltd
23
+ */
24
+ class Base {
25
+
26
+ /**
27
+ * Экзепляр плагина с которым взаимодействует этот модуль
28
+ *
29
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
+ * @since 1.0.1
31
+ * @var \Wbcr_Factory453_Plugin
32
+ */
33
+ private $plugin;
34
+
35
+ /*
36
+ * Contain array data with the plugin information and the module settings.
37
+ * Mainly used to get the name of the plugin and how to get the adverts blocks.
38
+ *
39
+ * @since 1.0.0 Added
40
+ *
41
+ * @var array Example: array(
42
+ * 'dashboard_widget' => true,
43
+ * 'right_sidebar' => true,
44
+ * 'notice' => true,
45
+ * ...
46
+ * )
47
+ *
48
+ */
49
+ private $settings = [];
50
+
51
+ /**
52
+ * Экземпляр класса для работы API CreativeMotion
53
+ *
54
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
+ * @since 1.0.1
56
+ * @var \WBCR\Factory_Adverts_130\Creative_Motion_API
57
+ */
58
+ private $api;
59
+
60
+ /**
61
+ * Сохраняем уже полученные данные, для объектного кеширования
62
+ *
63
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
64
+ * @since 1.0.1
65
+ * @var array
66
+ */
67
+ private $placements = [];
68
+
69
+ /**
70
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
71
+ * @since 1.0.1
72
+ * @var array
73
+ */
74
+ private $errors = [];
75
+
76
+ /**
77
+ * Wbcr_Factory_Adinserter constructor.
78
+ *
79
+ * - Store plugin information and settings.
80
+ * - Add filter and actions.
81
+ * - Include dashboard widget.
82
+ *
83
+ * @since 1.0.0 Added
84
+ *
85
+ * @param \Wbcr_Factory453_Plugin $plugin
86
+ */
87
+ public function __construct( \Wbcr_Factory453_Plugin $plugin, $settings ) {
88
+ $this->plugin = $plugin;
89
+
90
+ $this->settings = wp_parse_args( $settings, [
91
+ 'dashboard_widget' => false, // show dashboard widget (default: false)
92
+ 'right_sidebar' => false, // show adverts sidebar (default: false)
93
+ 'notice' => false, // show notice message (default: false),
94
+ 'business_suggetion' => false,
95
+ 'support' => false
96
+ ] );
97
+
98
+ $this->api = new Creative_Motion_API( $this->plugin );
99
+
100
+ add_filter( 'wbcr/factory/pages/impressive/widgets', [ $this, 'register_plugin_widgets' ], 10, 3 );
101
+ add_action( 'wbcr/factory/admin_notices', [ $this, 'register_plugin_notice' ], 10, 2 );
102
+ add_action( 'current_screen', [ $this, 'register_dashboard_widget' ], 10, 2 );
103
+ }
104
+
105
+ /**
106
+ * Directly get advert content for selected position.
107
+ *
108
+ * @since 1.0.1 Rename method. Content should now be printed.
109
+ * @since 1.0.0 Added
110
+ *
111
+ * @param string $position Custom position name
112
+ *
113
+ * @return void
114
+ */
115
+ public function render_placement( $position = 'right_sidebar' ) {
116
+ $content = '';
117
+
118
+ if ( $position ) {
119
+ $content = $this->get_content( $position );
120
+ }
121
+
122
+ echo $content;
123
+ }
124
+
125
+ /**
126
+ * Register widgets.
127
+ *
128
+ * Depending on the settings, register new widgets.
129
+ *
130
+ * @since 1.0.0 Added
131
+ *
132
+ * @param array $widgets Already existing registered widgets
133
+ * @param string $position Position for the widget
134
+ * @param string $plugin Plugin object for which the hook is run
135
+ *
136
+ * @return array array(
137
+ * 'adverts_widget' => '<p></p>',
138
+ * 'business_suggetion' => '<p></p>',
139
+ * 'support' => '<p></p>',
140
+ * ...
141
+ * )
142
+ */
143
+ public function register_plugin_widgets( $widgets, $position, $plugin ) {
144
+ if ( $plugin->getPluginName() == $this->plugin->getPluginName() && 'right' == $position ) {
145
+
146
+ if ( $this->settings['right_sidebar'] ) {
147
+ $content = $this->get_content( 'right_sidebar' );
148
+ $widgets['adverts_widget'] = $content;
149
+
150
+ if ( empty( $widgets['adverts_widget'] ) ) {
151
+ if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
152
+ $debug_message = '<div style="background: #fff4f1;padding: 10px;color: #a58074;">';
153
+ $debug_message .= $this->get_debug_message( 'right_sidebar' );
154
+ $debug_message .= '</div>';
155
+
156
+ $widgets['adverts_widget'] = $debug_message;
157
+ } else {
158
+ unset( $widgets['adverts_widget'] );
159
+ }
160
+ }
161
+ }
162
+
163
+ if ( $this->settings['business_suggetion'] ) {
164
+ $content = $this->get_content( 'business_suggetion' );
165
+
166
+ if ( ! empty( $content ) ) {
167
+ $widgets['business_suggetion'] = $content;
168
+ }
169
+ }
170
+
171
+ if ( $this->settings['support'] ) {
172
+ $content = $this->get_content( 'support' );
173
+
174
+ if ( ! empty( $content ) ) {
175
+ $widgets['support'] = $content;
176
+ }
177
+ }
178
+ }
179
+
180
+ return $widgets;
181
+ }
182
+
183
+ /**
184
+ * Регистрирует уведомление для текущего плагина
185
+ *
186
+ * Мы добавляем уведомления в массив всех уведомлений плагина с ключем 'adverts_notice',
187
+ * то есть если другие плагины, тоже добавят свои рекламные уведомления, они просто
188
+ * будут перезаписывать друг друга, в итоге будет отображено только одно рекламное
189
+ * уведомеление. Это нужно для того, чтобы ограничить пользователя от спама.
190
+ *
191
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
192
+ *
193
+ * @since 1.0.1 Переделан полностью под интферфейс фреймворка. Используем встроенную систему уведомлений.
194
+ * @since 1.0.0 Added
195
+ *
196
+ * @param array $notices Массив со списком всех уведомлений, которые будут напечатыны в админ панели
197
+ * @param string $plugin_name Имя плагина, передано для того, чтобы выводить уведомления условно, только для конкретного плагина
198
+ */
199
+ public function register_plugin_notice( $notices, $plugin_name ) {
200
+ if ( $plugin_name !== $this->plugin->getPluginName() ) {
201
+ return $notices;
202
+ }
203
+
204
+ if ( $this->settings['notice'] ) {
205
+ $notice_content = $this->get_content( 'notice' );
206
+
207
+ if ( empty( $notice_content ) ) {
208
+ # Информация для отладки
209
+ if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
210
+ $debug_message = $this->get_debug_message( 'notice' );
211
+
212
+ $notices['adverts_notice'] = [
213
+ 'id' => 'adverts_debug',
214
+ 'type' => 'error',
215
+ 'dismissible' => false,
216
+ 'dismiss_expires' => 0,
217
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $debug_message . '</p>'
218
+ ];
219
+ }
220
+
221
+ return $notices;
222
+ }
223
+
224
+ $hash = md5( $notice_content );
225
+
226
+ $notices['adverts_notice'] = [
227
+ 'id' => 'adverts_' . $hash,
228
+ 'type' => 'success',
229
+ 'dismissible' => true,
230
+ 'dismiss_expires' => 0,
231
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $notice_content . '</p>'
232
+ ];
233
+ }
234
+
235
+ return $notices;
236
+ }
237
+
238
+ /**
239
+ * Include dashboard widget
240
+ *
241
+ * Include functionality the output of the widget on the dashboard.
242
+ * Only one dashboard widget must be shown for some plugins with this setting (dashboard_widget).
243
+ *
244
+ * @since 1.0.0 Added
245
+ */
246
+ public function register_dashboard_widget() {
247
+ if ( $this->settings['dashboard_widget'] && current_user_can( 'manage_options' ) ) {
248
+ $current_screen = get_current_screen();
249
+
250
+ if ( ! in_array( $current_screen->id, [ 'dashboard', 'dashboard-network' ] ) ) {
251
+ return;
252
+ }
253
+
254
+ $content = $this->get_content( 'dashboard_widget' );
255
+
256
+ if ( empty( $content ) && defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
257
+ $content = $this->get_debug_message( 'dashboard_widget' );
258
+ }
259
+
260
+ require_once FACTORY_ADVERTS_130_DIR . '/includes/class-dashboard-widget.php';
261
+ new Dashboard_Widget( $this->plugin, $content );
262
+ }
263
+ }
264
+
265
+ /**
266
+ * Позволяет получить сообщение об ошибках
267
+ *
268
+ * Метод проверяет последние ошибки, которые могли произойти в результате api запроса.
269
+ * Если ошибки есть, он выводит предупреждение и список последних ошибок. Если ошибок нет,
270
+ * метод вернет просто предупреждение, что реклама не настроена.
271
+ *
272
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
273
+ * @since 1.0.1
274
+ *
275
+ * @param string $position Position for the widget
276
+ *
277
+ * @return string Возвращает сообщение с последниеми ошибками для отладки
278
+ */
279
+ private function get_debug_message( $position ) {
280
+ $debug_massage = 'Plugin ads not configured or server unavailable. See full error report below.<br>';
281
+
282
+ if ( isset( $this->errors[ $position ] ) && ! empty( $this->errors ) ) {
283
+ $debug_massage .= '<b>Last errors:</b><br>';
284
+ foreach ( $this->errors[ $position ] as $error_code => $error_message ) {
285
+ $debug_massage .= 'Code: ' . $error_code . ' Error: ' . $error_message . '<br>';
286
+ }
287
+ }
288
+
289
+ return $debug_massage;
290
+ }
291
+
292
+ /**
293
+ * Get advert content for selected position.
294
+ *
295
+ * @since 1.0.1 Полностью переписан
296
+ * @since 1.0.0 Added
297
+ *
298
+ * @param string $position The position for advert
299
+ *
300
+ * @return string
301
+ */
302
+ private function get_content( $position ) {
303
+ if ( isset( $this->placements[ $position ] ) ) {
304
+ return $this->placements[ $position ];
305
+ }
306
+
307
+ $content = $this->api->get_content( $position );
308
+
309
+ if ( is_wp_error( $content ) ) {
310
+ $this->errors[ $position ][ $content->get_error_code() ] = $content->get_error_message();
311
+
312
+ return null;
313
+ }
314
+
315
+ $this->placements[ $position ] = $content;
316
+
317
+ return $content;
318
+ }
319
+ }
libs/factory/adverts/includes/class-dashboard-widget.php CHANGED
@@ -1,125 +1,125 @@
1
- <?php
2
-
3
- namespace WBCR\Factory_Adverts_117;
4
-
5
- // Exit if accessed directly
6
- if ( ! defined( 'ABSPATH' ) ) {
7
- exit;
8
- }
9
-
10
- /**
11
- * Adverts Dashboard Widget.
12
- *
13
- * Adds a widget with a banner or a list of news.
14
- *
15
- * @author Alexander Vitkalov <nechin.va@gmail.com>
16
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
- *
18
- * @since 1.0.0 Added
19
- * @package factory-adverts
20
- * @copyright (c) 2019 Webcraftic Ltd
21
- */
22
- class Dashboard_Widget {
23
-
24
- /**
25
- * Контент, который должен быть напечатан внутри дашбоард виджета
26
- *
27
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
28
- * @since 1.0.1
29
- * @var string
30
- */
31
- private $content;
32
-
33
- /**
34
- * Экзепляр плагина с которым взаимодействует этот модуль
35
- *
36
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
- * @since 1.0.1
38
- * @var \Wbcr_Factory439_Plugin
39
- */
40
- private $plugin;
41
-
42
- /**
43
- * Dashboard_Widget constructor.
44
- *
45
- * Call parent constructor. Registration hooks.
46
- *
47
- * @since 1.0.0 Added
48
- *
49
- * @param \Wbcr_Factory439_Plugin $plugin
50
- * @param string $content
51
- */
52
- public function __construct( \Wbcr_Factory439_Plugin $plugin, $content ) {
53
-
54
- $this->plugin = $plugin;
55
- $this->content = $content;
56
-
57
- if ( ! empty( $this->content ) ) {
58
- if ( $this->plugin->isNetworkActive() && $this->plugin->isNetworkAdmin() ) {
59
- add_action( 'wp_network_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
60
-
61
- return;
62
- }
63
-
64
- add_action( 'wp_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
65
- }
66
- }
67
-
68
- /**
69
- * Add the News widget to the dashboard.
70
- *
71
- * @since 1.0.0 Added
72
- */
73
- public function add_dashboard_widgets() {
74
- $widget_id = 'wbcr-factory-adverts-widget';
75
-
76
- wp_add_dashboard_widget( $widget_id, $this->plugin->getPluginTitle() . ' News', [
77
- $this,
78
- 'print_widget_content'
79
- ] );
80
-
81
- $this->sort_dashboard_widgets( $widget_id );
82
- }
83
-
84
- /**
85
- * Create the function to output the contents of the Dashboard Widget.
86
- *
87
- * @since 1.0.0 Added
88
- */
89
- public function print_widget_content() {
90
- ?>
91
- <div class="wordpress-news hide-if-no-js">
92
- <div class="rss-widget">
93
- <?php echo $this->content; ?>
94
- </div>
95
- </div>
96
- <?php
97
-
98
- }
99
-
100
- /**
101
- * Сортируем виджеты на странице дашбоард
102
- *
103
- * Виджеты должны быть в таком порядке, чтобы наш виджет был выше всех.
104
- *
105
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
106
- * @author Alexander Vitkalov <nechin.va@gmail.com>
107
- *
108
- * @since 1.0.2 Добавлена поддержка мультисайтов
109
- * @since 1.0.0 Добавлен
110
- *
111
- * @param string $widget_id ID нашего виджета
112
- */
113
- private function sort_dashboard_widgets( $widget_id ) {
114
- global $wp_meta_boxes;
115
-
116
- $location = $this->plugin->isNetworkAdmin() ? 'dashboard-network' : 'dashboard';
117
-
118
- $normal_core = $wp_meta_boxes[ $location ]['normal']['core'];
119
- $widget_backup = [ $widget_id => $normal_core[ $widget_id ] ];
120
- unset( $normal_core[ $widget_id ] );
121
- $sorted_core = array_merge( $widget_backup, $normal_core );
122
-
123
- $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_core;
124
- }
125
- }
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Adverts_130;
4
+
5
+ // Exit if accessed directly
6
+ if ( ! defined( 'ABSPATH' ) ) {
7
+ exit;
8
+ }
9
+
10
+ /**
11
+ * Adverts Dashboard Widget.
12
+ *
13
+ * Adds a widget with a banner or a list of news.
14
+ *
15
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
16
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
+ *
18
+ * @since 1.0.0 Added
19
+ * @package factory-adverts
20
+ * @copyright (c) 2019 Webcraftic Ltd
21
+ */
22
+ class Dashboard_Widget {
23
+
24
+ /**
25
+ * Контент, который должен быть напечатан внутри дашбоард виджета
26
+ *
27
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
28
+ * @since 1.0.1
29
+ * @var string
30
+ */
31
+ private $content;
32
+
33
+ /**
34
+ * Экзепляр плагина с которым взаимодействует этот модуль
35
+ *
36
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
+ * @since 1.0.1
38
+ * @var \Wbcr_Factory453_Plugin
39
+ */
40
+ private $plugin;
41
+
42
+ /**
43
+ * Dashboard_Widget constructor.
44
+ *
45
+ * Call parent constructor. Registration hooks.
46
+ *
47
+ * @since 1.0.0 Added
48
+ *
49
+ * @param \Wbcr_Factory453_Plugin $plugin
50
+ * @param string $content
51
+ */
52
+ public function __construct( \Wbcr_Factory453_Plugin $plugin, $content ) {
53
+
54
+ $this->plugin = $plugin;
55
+ $this->content = $content;
56
+
57
+ if ( ! empty( $this->content ) ) {
58
+ if ( $this->plugin->isNetworkActive() && $this->plugin->isNetworkAdmin() ) {
59
+ add_action( 'wp_network_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
60
+
61
+ return;
62
+ }
63
+
64
+ add_action( 'wp_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Add the News widget to the dashboard.
70
+ *
71
+ * @since 1.0.0 Added
72
+ */
73
+ public function add_dashboard_widgets() {
74
+ $widget_id = 'wbcr-factory-adverts-widget';
75
+
76
+ wp_add_dashboard_widget( $widget_id, $this->plugin->getPluginTitle() . ' News', [
77
+ $this,
78
+ 'print_widget_content'
79
+ ] );
80
+
81
+ $this->sort_dashboard_widgets( $widget_id );
82
+ }
83
+
84
+ /**
85
+ * Create the function to output the contents of the Dashboard Widget.
86
+ *
87
+ * @since 1.0.0 Added
88
+ */
89
+ public function print_widget_content() {
90
+ ?>
91
+ <div class="wordpress-news hide-if-no-js">
92
+ <div class="rss-widget">
93
+ <?php echo $this->content; ?>
94
+ </div>
95
+ </div>
96
+ <?php
97
+
98
+ }
99
+
100
+ /**
101
+ * Сортируем виджеты на странице дашбоард
102
+ *
103
+ * Виджеты должны быть в таком порядке, чтобы наш виджет был выше всех.
104
+ *
105
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
106
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
107
+ *
108
+ * @since 1.0.2 Добавлена поддержка мультисайтов
109
+ * @since 1.0.0 Добавлен
110
+ *
111
+ * @param string $widget_id ID нашего виджета
112
+ */
113
+ private function sort_dashboard_widgets( $widget_id ) {
114
+ global $wp_meta_boxes;
115
+
116
+ $location = $this->plugin->isNetworkAdmin() ? 'dashboard-network' : 'dashboard';
117
+
118
+ $normal_core = $wp_meta_boxes[ $location ]['normal']['core'];
119
+ $widget_backup = [ $widget_id => $normal_core[ $widget_id ] ];
120
+ unset( $normal_core[ $widget_id ] );
121
+ $sorted_core = array_merge( $widget_backup, $normal_core );
122
+
123
+ $wp_meta_boxes['dashboard']['normal']['core'] = $sorted_core;
124
+ }
125
+ }
libs/factory/adverts/includes/class-rest-request.php CHANGED
@@ -1,217 +1,217 @@
1
- <?php
2
-
3
- namespace WBCR\Factory_Adverts_117;
4
-
5
- // Exit if accessed directly
6
- if( !defined('ABSPATH') ) {
7
- exit;
8
- }
9
-
10
- /**
11
- * Factory request class.
12
- *
13
- * Performs a server request, retrieves banner data and stores it in the cache.
14
- *
15
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
- * @author Alexander Vitkalov <nechin.va@gmail.com>
17
- *
18
- * @since 1.0.1 Изменил имя класса и доработал его.
19
- * @since 1.0.0 Added
20
- *
21
- * @package factory-adverts
22
- * @copyright (c) 2019 Webcraftic Ltd
23
- */
24
- class Creative_Motion_API {
25
-
26
- /**
27
- * Rest request url.
28
- *
29
- * Define rest request url for rest request to remote server.
30
- *
31
- * @since 1.2.1
32
- */
33
- const SERVER_URL = 'https://api.cm-wp.com';
34
-
35
- /**
36
- * Rest route path.
37
- *
38
- * Define rest route path for rest request.
39
- *
40
- * @since 1.0.0
41
- */
42
- const REST_ROUTE = '/adverds/v1/advt';
43
-
44
- /**
45
- * Интервал между запросами по умолчанию
46
- *
47
- * Значение в часах.
48
- *
49
- * @since 1.0.1
50
- */
51
- const DEFAULT_REQUESTS_INTERVAL = 24;
52
-
53
- /**
54
- * Интервал между запросами, если сервер недоступен
55
- *
56
- * Значение в часах.
57
- *
58
- * @since 1.0.1
59
- */
60
- const SERVER_UNAVAILABLE_INTERVAL = 4;
61
-
62
-
63
- /**
64
- * Экзепляр плагина с которым взаимодействует этот модуль
65
- *
66
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
- * @since 1.0.1
68
- * @var \Wbcr_Factory439_Plugin
69
- */
70
- private $plugin;
71
-
72
-
73
- /**
74
- * Request constructor.
75
- *
76
- * Variable initialization.
77
- *
78
- * @param \Wbcr_Factory439_Plugin $plugin_name
79
- * @since 1.0.0 Added
80
- *
81
- */
82
- public function __construct(\Wbcr_Factory439_Plugin $plugin)
83
- {
84
- $this->plugin = $plugin;
85
- }
86
-
87
- /**
88
- * Get adverts content.
89
- *
90
- * @param $position
91
- *
92
- * @return string|\WP_Error
93
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
94
- * @since 1.0.1
95
- *
96
- */
97
- public function get_content($position)
98
- {
99
- $data = $this->get_cache($position);
100
-
101
- if( is_wp_error($data) ) {
102
- return $data;
103
- }
104
-
105
- return strip_tags($data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>');
106
- }
107
-
108
- /**
109
- * Get data from cache.
110
- *
111
- * If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
112
- *
113
- * @return mixed array(
114
- * 'plugin' => 'wbcr_insert_php',
115
- * 'content' => '<p></p>',
116
- * 'expires' => 1563542199,
117
- * );
118
- * @since 1.0.1 Полностью переписан, с перехватом api ошибок
119
- * @since 1.0.0 Added
120
- *
121
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
122
- *
123
- */
124
- private function get_cache($position)
125
- {
126
-
127
- if( defined('FACTORY_ADVERTS_DEBUG') && FACTORY_ADVERTS_DEBUG ) {
128
- return $this->do_api_request($position);
129
- }
130
-
131
- $key = $this->plugin->getPrefix() . md5($position . 'adverts_transient_');
132
-
133
- if( 'ru_RU' === get_locale() ) {
134
- $key .= 'ru_';
135
- }
136
-
137
- $cached = get_transient($key);
138
-
139
- if( $cached !== false ) {
140
- if( isset($cached['error_code']) && isset($cached['error']) ) {
141
- return new \WP_Error($cached['error_code'], $cached['error']);
142
- }
143
-
144
- return $cached;
145
- }
146
-
147
- $data = $this->do_api_request($position);
148
-
149
- if( is_wp_error($data) ) {
150
- set_transient($key, [
151
- 'error' => $data->get_error_message(),
152
- 'error_code' => $data->get_error_code()
153
- ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS);
154
-
155
- return $data;
156
- }
157
-
158
- set_transient($key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS);
159
-
160
- return $data;
161
- }
162
-
163
- /**
164
- * Performs rest api request.
165
- *
166
- * In some case on the server (Apache) in the .htaccess must be set
167
- * RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
168
- *
169
- * @return mixed array(
170
- * 'plugin' => 'wbcr_insert_php',
171
- * 'content' => '<p></p>',
172
- * 'expires' => 1563542199,
173
- * );
174
- * @since 1.0.0 Added
175
- *
176
- * @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
177
- */
178
- private function do_api_request($position)
179
- {
180
- $default_result = [
181
- 'content' => '',
182
- 'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
183
- ];
184
-
185
- $url = untrailingslashit(self::SERVER_URL) . '/wp-json' . self::REST_ROUTE;
186
-
187
- $ads_ID = $this->plugin->getPluginName();
188
-
189
- if( 'ru_RU' === get_locale() ) {
190
- $ads_ID .= '-ru';
191
- }
192
-
193
- $url = add_query_arg([
194
- 'plugin' => $ads_ID,
195
- 'position' => $position,
196
- 'plugin_title' => $this->plugin->getPluginTitle(),
197
- 'lang' => get_locale()
198
- ], $url);
199
-
200
- $response = wp_remote_get($url);
201
-
202
- $code = wp_remote_retrieve_response_code($response);
203
- $body = wp_remote_retrieve_body($response);
204
-
205
- $data = @json_decode($body, true);
206
-
207
- if( is_wp_error($response) ) {
208
- return $response;
209
- }
210
-
211
- if( 200 !== $code ) {
212
- return new \WP_Error('http_request_error', 'Failed request to the remote server. Code: ' . $code);
213
- }
214
-
215
- return wp_parse_args($data, $default_result);
216
- }
217
- }
1
+ <?php
2
+
3
+ namespace WBCR\Factory_Adverts_130;
4
+
5
+ // Exit if accessed directly
6
+ if( !defined('ABSPATH') ) {
7
+ exit;
8
+ }
9
+
10
+ /**
11
+ * Factory request class.
12
+ *
13
+ * Performs a server request, retrieves banner data and stores it in the cache.
14
+ *
15
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
+ * @author Alexander Vitkalov <nechin.va@gmail.com>
17
+ *
18
+ * @since 1.0.1 Изменил имя класса и доработал его.
19
+ * @since 1.0.0 Added
20
+ *
21
+ * @package factory-adverts
22
+ * @copyright (c) 2019 Webcraftic Ltd
23
+ */
24
+ class Creative_Motion_API {
25
+
26
+ /**
27
+ * Rest request url.
28
+ *
29
+ * Define rest request url for rest request to remote server.
30
+ *
31
+ * @since 1.2.1
32
+ */
33
+ const SERVER_URL = 'https://api.cm-wp.com';
34
+
35
+ /**
36
+ * Rest route path.
37
+ *
38
+ * Define rest route path for rest request.
39
+ *
40
+ * @since 1.0.0
41
+ */
42
+ const REST_ROUTE = '/adverds/v1/advt';
43
+
44
+ /**
45
+ * Интервал между запросами по умолчанию
46
+ *
47
+ * Значение в часах.
48
+ *
49
+ * @since 1.0.1
50
+ */
51
+ const DEFAULT_REQUESTS_INTERVAL = 24;
52
+
53
+ /**
54
+ * Интервал между запросами, если сервер недоступен
55
+ *
56
+ * Значение в часах.
57
+ *
58
+ * @since 1.0.1
59
+ */
60
+ const SERVER_UNAVAILABLE_INTERVAL = 4;
61
+
62
+
63
+ /**
64
+ * Экзепляр плагина с которым взаимодействует этот модуль
65
+ *
66
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
+ * @since 1.0.1
68
+ * @var \Wbcr_Factory453_Plugin
69
+ */
70
+ private $plugin;
71
+
72
+
73
+ /**
74
+ * Request constructor.
75
+ *
76
+ * Variable initialization.
77
+ *
78
+ * @param \Wbcr_Factory453_Plugin $plugin_name
79
+ * @since 1.0.0 Added
80
+ *
81
+ */
82
+ public function __construct(\Wbcr_Factory453_Plugin $plugin)
83
+ {
84
+ $this->plugin = $plugin;
85
+ }
86
+
87
+ /**
88
+ * Get adverts content.
89
+ *
90
+ * @param $position
91
+ *
92
+ * @return string|\WP_Error
93
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
94
+ * @since 1.0.1
95
+ *
96
+ */
97
+ public function get_content($position)
98
+ {
99
+ $data = $this->get_cache($position);
100
+
101
+ if( is_wp_error($data) ) {
102
+ return $data;
103
+ }
104
+
105
+ return strip_tags($data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>');
106
+ }
107
+
108
+ /**
109
+ * Get data from cache.
110
+ *
111
+ * If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
112
+ *
113
+ * @return mixed array(
114
+ * 'plugin' => 'wbcr_insert_php',
115
+ * 'content' => '<p></p>',
116
+ * 'expires' => 1563542199,
117
+ * );
118
+ * @since 1.0.1 Полностью переписан, с перехватом api ошибок
119
+ * @since 1.0.0 Added
120
+ *
121
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
122
+ *
123
+ */
124
+ private function get_cache($position)
125
+ {
126
+
127
+ if( defined('FACTORY_ADVERTS_DEBUG') && FACTORY_ADVERTS_DEBUG ) {
128
+ return $this->do_api_request($position);
129
+ }
130
+
131
+ $key = $this->plugin->getPrefix() . md5($position . 'adverts_transient_');
132
+
133
+ if( 'ru_RU' === get_locale() ) {
134
+ $key .= 'ru_';
135
+ }
136
+
137
+ $cached = get_transient($key);
138
+
139
+ if( $cached !== false ) {
140
+ if( isset($cached['error_code']) && isset($cached['error']) ) {
141
+ return new \WP_Error($cached['error_code'], $cached['error']);
142
+ }
143
+
144
+ return $cached;
145
+ }
146
+
147
+ $data = $this->do_api_request($position);
148
+
149
+ if( is_wp_error($data) ) {
150
+ set_transient($key, [
151
+ 'error' => $data->get_error_message(),
152
+ 'error_code' => $data->get_error_code()
153
+ ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS);
154
+
155
+ return $data;
156
+ }
157
+
158
+ set_transient($key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS);
159
+
160
+ return $data;
161
+ }
162
+
163
+ /**
164
+ * Performs rest api request.
165
+ *
166
+ * In some case on the server (Apache) in the .htaccess must be set
167
+ * RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
168
+ *
169
+ * @return mixed array(
170
+ * 'plugin' => 'wbcr_insert_php',
171
+ * 'content' => '<p></p>',
172
+ * 'expires' => 1563542199,
173
+ * );
174
+ * @since 1.0.0 Added
175
+ *
176
+ * @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
177
+ */
178
+ private function do_api_request($position)
179
+ {
180
+ $default_result = [
181
+ 'content' => '',
182
+ 'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
183
+ ];
184
+
185
+ $url = untrailingslashit(self::SERVER_URL) . '/wp-json' . self::REST_ROUTE;
186
+
187
+ $ads_ID = $this->plugin->getPluginName();
188
+
189
+ if( 'ru_RU' === get_locale() ) {
190
+ $ads_ID .= '-ru';
191
+ }
192
+
193
+ $url = add_query_arg([
194
+ 'plugin' => $ads_ID,
195
+ 'position' => $position,
196
+ 'plugin_title' => $this->plugin->getPluginTitle(),
197
+ 'lang' => get_locale()
198
+ ], $url);
199
+
200
+ $response = wp_remote_get($url);
201
+
202
+ $code = wp_remote_retrieve_response_code($response);
203
+ $body = wp_remote_retrieve_body($response);
204
+
205
+ $data = @json_decode($body, true);
206
+
207
+ if( is_wp_error($response) ) {
208
+ return $response;
209
+ }
210
+
211
+ if( 200 !== $code ) {
212
+ return new \WP_Error('http_request_error', 'Failed request to the remote server. Code: ' . $code);
213
+ }
214
+
215
+ return wp_parse_args($data, $default_result);
216
+ }
217
+ }
libs/factory/adverts/includes/index.php CHANGED
@@ -1,2 +1,2 @@
1
- <?php
2
- // Silence is golden.
1
+ <?php
2
+ // Silence is golden.
libs/factory/adverts/index.php CHANGED
@@ -1,2 +1,2 @@
1
- <?php
2
- // Silence is golden.
1
+ <?php
2
+ // Silence is golden.
libs/factory/adverts/langs/{wbcr_factory_adverts_117-ru_RU.mo → wbcr_factory_adverts_130-ru_RU.mo} RENAMED
File without changes
libs/factory/adverts/langs/{wbcr_factory_adverts_117-ru_RU.po → wbcr_factory_adverts_130-ru_RU.po} RENAMED
@@ -1,83 +1,83 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: factory_forms\n"
4
- "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
- "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
- "Last-Translator: \n"
7
- "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
- "Language: ru_RU\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 2.1.1\n"
13
- "X-Poedit-Basepath: ..\n"
14
- "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
- "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
- "X-Poedit-SourceCharset: UTF-8\n"
17
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
- "X-Poedit-SearchPath-0: .\n"
19
-
20
- #: includes/check-compatibility.php:80
21
- msgid "warning"
22
- msgstr "предупреждение"
23
-
24
- #: includes/check-compatibility.php:82
25
- #, php-format
26
- msgid "The %s plugin has stopped."
27
- msgstr "Работа плагина %s была остановлена."
28
-
29
- #: includes/check-compatibility.php:83
30
- msgid "Possible reasons:"
31
- msgstr "Возможные причины:"
32
-
33
- #: includes/check-compatibility.php:89
34
- #, php-format
35
- msgid "You need to update the PHP version to %s or higher!"
36
- msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
-
38
- #: includes/check-compatibility.php:94
39
- #, php-format
40
- msgid "You need to update WordPress to %s or higher!"
41
- msgstr "Вам нужно обновить WordPress до %s или выше!"
42
-
43
- #: includes/functions.php:132
44
- #, php-format
45
- msgid ""
46
- "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
- msgstr ""
48
- "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
- "Wordpress! Используйте %3$s."
50
-
51
- #: includes/functions.php:134
52
- #, php-format
53
- msgid ""
54
- "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
- "available."
56
- msgstr ""
57
- "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
- "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
-
60
- #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
- msgid ""
62
- "You are trying to call this earlier than the plugin menu will be registered."
63
- msgstr ""
64
- "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
-
66
- #: includes/plugin.class.php:220
67
- msgid ""
68
- "You are trying to get a link to a page that does not have multisite mode. "
69
- "Clicking this link will lead the user to a non-existent page."
70
- msgstr ""
71
- "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
- "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
- "к несуществующей странице."
74
-
75
- #: includes/plugin.class.php:222
76
- msgid ""
77
- "Trying to get a link to an unregistered page. You are trying to call this "
78
- "earlier than the plugin menu will be registered."
79
- msgstr ""
80
- "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
- "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
-
83
-
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: factory_forms\n"
4
+ "POT-Creation-Date: 2018-10-16 22:44+0300\n"
5
+ "PO-Revision-Date: 2018-10-16 22:45+0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
8
+ "Language: ru_RU\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 2.1.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
15
+ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: includes/check-compatibility.php:80
21
+ msgid "warning"
22
+ msgstr "предупреждение"
23
+
24
+ #: includes/check-compatibility.php:82
25
+ #, php-format
26
+ msgid "The %s plugin has stopped."
27
+ msgstr "Работа плагина %s была остановлена."
28
+
29
+ #: includes/check-compatibility.php:83
30
+ msgid "Possible reasons:"
31
+ msgstr "Возможные причины:"
32
+
33
+ #: includes/check-compatibility.php:89
34
+ #, php-format
35
+ msgid "You need to update the PHP version to %s or higher!"
36
+ msgstr "Вам нужно обновить версию PHP до %s или выше!"
37
+
38
+ #: includes/check-compatibility.php:94
39
+ #, php-format
40
+ msgid "You need to update WordPress to %s or higher!"
41
+ msgstr "Вам нужно обновить WordPress до %s или выше!"
42
+
43
+ #: includes/functions.php:132
44
+ #, php-format
45
+ msgid ""
46
+ "%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
47
+ msgstr ""
48
+ "%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
49
+ "Wordpress! Используйте %3$s."
50
+
51
+ #: includes/functions.php:134
52
+ #, php-format
53
+ msgid ""
54
+ "%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
55
+ "available."
56
+ msgstr ""
57
+ "%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
58
+ "начиная с версии %2$s , в настоящее время доступных альтернатив нет."
59
+
60
+ #: includes/plugin.class.php:202 includes/plugin.class.php:237
61
+ msgid ""
62
+ "You are trying to call this earlier than the plugin menu will be registered."
63
+ msgstr ""
64
+ "Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
65
+
66
+ #: includes/plugin.class.php:220
67
+ msgid ""
68
+ "You are trying to get a link to a page that does not have multisite mode. "
69
+ "Clicking this link will lead the user to a non-existent page."
70
+ msgstr ""
71
+ "Вы пытаетесь получить ссылку на страницу, которая не имеет "
72
+ "многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
73
+ "к несуществующей странице."
74
+
75
+ #: includes/plugin.class.php:222
76
+ msgid ""
77
+ "Trying to get a link to an unregistered page. You are trying to call this "
78
+ "earlier than the plugin menu will be registered."
79
+ msgstr ""
80
+ "Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
81
+ "вызвать это раньше, чем будет зарегистрировано меню плагина."
82
+
83
+
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-439 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-439 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-439 .factory-accordion-item{display:none}.factory-bootstrap-439 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-439 .factory-accordion>h3.active:hover{cursor:default}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-454 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-454 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-454 .factory-accordion-item{display:none}.factory-bootstrap-454 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-454 .factory-accordion>h3.active:hover{cursor:default}
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css CHANGED
@@ -1,25 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 article,.factory-bootstrap-439 aside,.factory-bootstrap-439 details,.factory-bootstrap-439 figcaption,.factory-bootstrap-439 figure,.factory-bootstrap-439 footer,.factory-bootstrap-439 header,.factory-bootstrap-439 hgroup,.factory-bootstrap-439 main,.factory-bootstrap-439 nav,.factory-bootstrap-439 section,.factory-bootstrap-439 summary{display:block}.factory-bootstrap-439 audio,.factory-bootstrap-439 canvas,.factory-bootstrap-439 video{display:inline-block}.factory-bootstrap-439 audio:not([controls]){display:none;height:0}.factory-bootstrap-439 [hidden],.factory-bootstrap-439 template{display:none}.factory-bootstrap-439 body{margin:0}.factory-bootstrap-439 a{background:0 0}.factory-bootstrap-439 a:focus{outline:thin dotted}.factory-bootstrap-439 a:active,.factory-bootstrap-439 a:hover{outline:0}.factory-bootstrap-439 h1{margin:.67em 0}.factory-bootstrap-439 b,.factory-bootstrap-439 strong{font-weight:700}.factory-bootstrap-439 dfn{font-style:italic}.factory-bootstrap-439 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-439 mark{color:#000;background:#ff0}.factory-bootstrap-439 code,.factory-bootstrap-439 kbd,.factory-bootstrap-439 pre,.factory-bootstrap-439 samp{font-size:1em}.factory-bootstrap-439 pre{white-space:pre-wrap}.factory-bootstrap-439 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-439 sub,.factory-bootstrap-439 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-439 sup{top:-.5em}.factory-bootstrap-439 sub{bottom:-.25em}.factory-bootstrap-439 img{border:0}.factory-bootstrap-439 svg:not(:root){overflow:hidden}.factory-bootstrap-439 figure{margin:0}.factory-bootstrap-439 button,.factory-bootstrap-439 input,.factory-bootstrap-439 select,.factory-bootstrap-439 textarea{margin:0}.factory-bootstrap-439 button,.factory-bootstrap-439 select{text-transform:none}.factory-bootstrap-439 select{padding-right:4px!important}.factory-bootstrap-439 button,.factory-bootstrap-439 input[type=reset],.factory-bootstrap-439 input[type=submit],html .factory-bootstrap-439 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-439 button[disabled],html .factory-bootstrap-439 input[disabled]{cursor:default}.factory-bootstrap-439 input[type=checkbox],.factory-bootstrap-439 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-439 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-439 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-439 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-439 button::-moz-focus-inner,.factory-bootstrap-439 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-439 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-439 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-439 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-439 a,.factory-bootstrap-439 a:visited{text-decoration:underline}.factory-bootstrap-439 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-439 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-439 a[href^="javascript:"]:after,.factory-bootstrap-439 a[href^="#"]:after{content:""}.factory-bootstrap-439 blockquote,.factory-bootstrap-439 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-439 thead{display:table-header-group}.factory-bootstrap-439 img,.factory-bootstrap-439 tr{page-break-inside:avoid}.factory-bootstrap-439 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-439 h2,.factory-bootstrap-439 h3,.factory-bootstrap-439 p{orphans:3;widows:3}.factory-bootstrap-439 h2,.factory-bootstrap-439 h3{page-break-after:avoid}.factory-bootstrap-439 select{background:#fff!important}.factory-bootstrap-439 .navbar{display:none}.factory-bootstrap-439 .table td,.factory-bootstrap-439 .table th{background-color:#fff!important}.factory-bootstrap-439 .btn>.caret,.factory-bootstrap-439 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-439 .label{border:1px solid #000}.factory-bootstrap-439 .table{border-collapse:collapse!important}.factory-bootstrap-439 .table-bordered td,.factory-bootstrap-439 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-439 *,.factory-bootstrap-439 :after,.factory-bootstrap-439 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-439{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-439 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-439 button,.factory-bootstrap-439 input,.factory-bootstrap-439 select,.factory-bootstrap-439 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-439 img{vertical-align:middle}.factory-bootstrap-439 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-439 .img-rounded{border-radius:6px}.factory-bootstrap-439 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-439 .img-circle{border-radius:50%}.factory-bootstrap-439 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-439 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-439 .h1,.factory-bootstrap-439 .h2,.factory-bootstrap-439 .h3,.factory-bootstrap-439 .h4,.factory-bootstrap-439 .h5,.factory-bootstrap-439 .h6,.factory-bootstrap-439 h1,.factory-bootstrap-439 h2,.factory-bootstrap-439 h3,.factory-bootstrap-439 h4,.factory-bootstrap-439 h5,.factory-bootstrap-439 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-439 .h1 .small,.factory-bootstrap-439 .h1 small,.factory-bootstrap-439 .h2 .small,.factory-bootstrap-439 .h2 small,.factory-bootstrap-439 .h3 .small,.factory-bootstrap-439 .h3 small,.factory-bootstrap-439 .h4 .small,.factory-bootstrap-439 .h4 small,.factory-bootstrap-439 .h5 .small,.factory-bootstrap-439 .h5 small,.factory-bootstrap-439 .h6 .small,.factory-bootstrap-439 .h6 small,.factory-bootstrap-439 h1 .small,.factory-bootstrap-439 h1 small,.factory-bootstrap-439 h2 .small,.factory-bootstrap-439 h2 small,.factory-bootstrap-439 h3 .small,.factory-bootstrap-439 h3 small,.factory-bootstrap-439 h4 .small,.factory-bootstrap-439 h4 small,.factory-bootstrap-439 h5 .small,.factory-bootstrap-439 h5 small,.factory-bootstrap-439 h6 .small,.factory-bootstrap-439 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-439 h1,.factory-bootstrap-439 h2,.factory-bootstrap-439 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-439 h1 .small,.factory-bootstrap-439 h1 small,.factory-bootstrap-439 h2 .small,.factory-bootstrap-439 h2 small,.factory-bootstrap-439 h3 .small,.factory-bootstrap-439 h3 small{font-size:65%}.factory-bootstrap-439 h4,.factory-bootstrap-439 h5,.factory-bootstrap-439 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-439 h4 .small,.factory-bootstrap-439 h4 small,.factory-bootstrap-439 h5 .small,.factory-bootstrap-439 h5 small,.factory-bootstrap-439 h6 .small,.factory-bootstrap-439 h6 small{font-size:75%}.factory-bootstrap-439 .h1,.factory-bootstrap-439 h1{font-size:36px}.factory-bootstrap-439 .h2,.factory-bootstrap-439 h2{font-size:30px}.factory-bootstrap-439 .h3,.factory-bootstrap-439 h3{font-size:24px}.factory-bootstrap-439 .h4,.factory-bootstrap-439 h4{font-size:18px}.factory-bootstrap-439 .h5,.factory-bootstrap-439 h5{font-size:14px}.factory-bootstrap-439 .h6,.factory-bootstrap-439 h6{font-size:12px}.factory-bootstrap-439 p{margin:0 0 10px}.factory-bootstrap-439 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-439 .small,.factory-bootstrap-439 small{font-size:85%}.factory-bootstrap-439 cite{font-style:normal}.factory-bootstrap-439 .text-muted{color:#999}.factory-bootstrap-439 .text-primary{color:#428bca}.factory-bootstrap-439 .text-primary:hover{color:#3071a9}.factory-bootstrap-439 .text-warning{color:#8a6d3b}.factory-bootstrap-439 .text-warning:hover{color:#66512c}.factory-bootstrap-439 .text-danger{color:#a94442}.factory-bootstrap-439 .text-danger:hover{color:#843534}.factory-bootstrap-439 .text-success{color:#3c763d}.factory-bootstrap-439 .text-success:hover{color:#2b542c}.factory-bootstrap-439 .text-info{color:#31708f}.factory-bootstrap-439 .text-info:hover{color:#245269}.factory-bootstrap-439 .text-left{text-align:left}.factory-bootstrap-439 .text-right{text-align:right}.factory-bootstrap-439 .text-center{text-align:center}.factory-bootstrap-439 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-439 ol,.factory-bootstrap-439 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-439 ol ol,.factory-bootstrap-439 ol ul,.factory-bootstrap-439 ul ol,.factory-bootstrap-439 ul ul{margin-bottom:0}.factory-bootstrap-439 .list-inline,.factory-bootstrap-439 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-439 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-439 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-439 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-439 dd,.factory-bootstrap-439 dt{line-height:1.428571429}.factory-bootstrap-439 dt{font-weight:700}.factory-bootstrap-439 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-439 abbr[data-original-title],.factory-bootstrap-439 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-439 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-439 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-439 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-439 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-439 blockquote .small,.factory-bootstrap-439 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-439 blockquote .small:before,.factory-bootstrap-439 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-439 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-439 blockquote.pull-right .small,.factory-bootstrap-439 blockquote.pull-right p,.factory-bootstrap-439 blockquote.pull-right small{text-align:right}.factory-bootstrap-439 blockquote.pull-right .small:before,.factory-bootstrap-439 blockquote.pull-right small:before{content:''}.factory-bootstrap-439 blockquote.pull-right .small:after,.factory-bootstrap-439 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-439 blockquote:after,.factory-bootstrap-439 blockquote:before{content:""}.factory-bootstrap-439 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-439 code,.factory-bootstrap-439 kbd,.factory-bootstrap-439 pre,.factory-bootstrap-439 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-439 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-439 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-439 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-439 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-439 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-439 .container:after,.factory-bootstrap-439 .container:before{display:table;content:" "}.factory-bootstrap-439 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-439 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-439 .row:after,.factory-bootstrap-439 .row:before{display:table;content:" "}.factory-bootstrap-439 .row:after{clear:both}.factory-bootstrap-439 .col-lg-1,.factory-bootstrap-439 .col-lg-10,.factory-bootstrap-439 .col-lg-11,.factory-bootstrap-439 .col-lg-12,.factory-bootstrap-439 .col-lg-2,.factory-bootstrap-439 .col-lg-3,.factory-bootstrap-439 .col-lg-4,.factory-bootstrap-439 .col-lg-5,.factory-bootstrap-439 .col-lg-6,.factory-bootstrap-439 .col-lg-7,.factory-bootstrap-439 .col-lg-8,.factory-bootstrap-439 .col-lg-9,.factory-bootstrap-439 .col-md-1,.factory-bootstrap-439 .col-md-10,.factory-bootstrap-439 .col-md-11,.factory-bootstrap-439 .col-md-12,.factory-bootstrap-439 .col-md-2,.factory-bootstrap-439 .col-md-3,.factory-bootstrap-439 .col-md-4,.factory-bootstrap-439 .col-md-5,.factory-bootstrap-439 .col-md-6,.factory-bootstrap-439 .col-md-7,.factory-bootstrap-439 .col-md-8,.factory-bootstrap-439 .col-md-9,.factory-bootstrap-439 .col-sm-1,.factory-bootstrap-439 .col-sm-10,.factory-bootstrap-439 .col-sm-11,.factory-bootstrap-439 .col-sm-12,.factory-bootstrap-439 .col-sm-2,.factory-bootstrap-439 .col-sm-3,.factory-bootstrap-439 .col-sm-4,.factory-bootstrap-439 .col-sm-5,.factory-bootstrap-439 .col-sm-6,.factory-bootstrap-439 .col-sm-7,.factory-bootstrap-439 .col-sm-8,.factory-bootstrap-439 .col-sm-9,.factory-bootstrap-439 .col-xs-1,.factory-bootstrap-439 .col-xs-10,.factory-bootstrap-439 .col-xs-11,.factory-bootstrap-439 .col-xs-12,.factory-bootstrap-439 .col-xs-2,.factory-bootstrap-439 .col-xs-3,.factory-bootstrap-439 .col-xs-4,.factory-bootstrap-439 .col-xs-5,.factory-bootstrap-439 .col-xs-6,.factory-bootstrap-439 .col-xs-7,.factory-bootstrap-439 .col-xs-8,.factory-bootstrap-439 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-439 .col-xs-1,.factory-bootstrap-439 .col-xs-10,.factory-bootstrap-439 .col-xs-11,.factory-bootstrap-439 .col-xs-12,.factory-bootstrap-439 .col-xs-2,.factory-bootstrap-439 .col-xs-3,.factory-bootstrap-439 .col-xs-4,.factory-bootstrap-439 .col-xs-5,.factory-bootstrap-439 .col-xs-6,.factory-bootstrap-439 .col-xs-7,.factory-bootstrap-439 .col-xs-8,.factory-bootstrap-439 .col-xs-9{float:left}.factory-bootstrap-439 .col-xs-12{width:100%}.factory-bootstrap-439 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-439 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-439 .col-xs-9{width:75%}.factory-bootstrap-439 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-439 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-439 .col-xs-6{width:50%}.factory-bootstrap-439 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-439 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-439 .col-xs-3{width:25%}.factory-bootstrap-439 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-439 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-439 .col-xs-pull-12{right:100%}.factory-bootstrap-439 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-439 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-439 .col-xs-pull-9{right:75%}.factory-bootstrap-439 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-439 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-439 .col-xs-pull-6{right:50%}.factory-bootstrap-439 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-439 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-439 .col-xs-pull-3{right:25%}.factory-bootstrap-439 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-439 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-439 .col-xs-pull-0{right:0}.factory-bootstrap-439 .col-xs-push-12{left:100%}.factory-bootstrap-439 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-439 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-439 .col-xs-push-9{left:75%}.factory-bootstrap-439 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-439 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-439 .col-xs-push-6{left:50%}.factory-bootstrap-439 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-439 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-439 .col-xs-push-3{left:25%}.factory-bootstrap-439 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-439 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-439 .col-xs-push-0{left:0}.factory-bootstrap-439 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-439 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-439 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-439 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-439 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-439 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-439 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-439 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-439 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-439 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-439 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-439 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-439 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-439 table{max-width:100%;background-color:transparent}.factory-bootstrap-439 th{text-align:left}.factory-bootstrap-439 .table{width:100%;margin-bottom:20px}.factory-bootstrap-439 .table>tbody>tr>td,.factory-bootstrap-439 .table>tbody>tr>th,.factory-bootstrap-439 .table>tfoot>tr>td,.factory-bootstrap-439 .table>tfoot>tr>th,.factory-bootstrap-439 .table>thead>tr>td,.factory-bootstrap-439 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-439 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-439 .table>caption+thead>tr:first-child>td,.factory-bootstrap-439 .table>caption+thead>tr:first-child>th,.factory-bootstrap-439 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-439 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-439 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-439 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-439 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-439 .table .table{background-color:#fff}.factory-bootstrap-439 .table-condensed>tbody>tr>td,.factory-bootstrap-439 .table-condensed>tbody>tr>th,.factory-bootstrap-439 .table-condensed>tfoot>tr>td,.factory-bootstrap-439 .table-condensed>tfoot>tr>th,.factory-bootstrap-439 .table-condensed>thead>tr>td,.factory-bootstrap-439 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-439 .table-bordered,.factory-bootstrap-439 .table-bordered>tbody>tr>td,.factory-bootstrap-439 .table-bordered>tbody>tr>th,.factory-bootstrap-439 .table-bordered>tfoot>tr>td,.factory-bootstrap-439 .table-bordered>tfoot>tr>th,.factory-bootstrap-439 .table-bordered>thead>tr>td,.factory-bootstrap-439 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-439 .table-bordered>thead>tr>td,.factory-bootstrap-439 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-439 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-439 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-439 .table-hover>tbody>tr:hover>td,.factory-bootstrap-439 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-439 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-439 table td[class*=col-],.factory-bootstrap-439 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-439 .table>tbody>.active>td,.factory-bootstrap-439 .table>tbody>.active>th,.factory-bootstrap-439 .table>tbody>tr>.active,.factory-bootstrap-439 .table>tfoot>.active>td,.factory-bootstrap-439 .table>tfoot>.active>th,.factory-bootstrap-439 .table>tfoot>tr>.active,.factory-bootstrap-439 .table>thead>.active>td,.factory-bootstrap-439 .table>thead>.active>th,.factory-bootstrap-439 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-439 .table-hover>tbody>.active:hover>td,.factory-bootstrap-439 .table-hover>tbody>.active:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-439 .table>tbody>.success>td,.factory-bootstrap-439 .table>tbody>.success>th,.factory-bootstrap-439 .table>tbody>tr>.success,.factory-bootstrap-439 .table>tfoot>.success>td,.factory-bootstrap-439 .table>tfoot>.success>th,.factory-bootstrap-439 .table>tfoot>tr>.success,.factory-bootstrap-439 .table>thead>.success>td,.factory-bootstrap-439 .table>thead>.success>th,.factory-bootstrap-439 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-439 .table-hover>tbody>.success:hover>td,.factory-bootstrap-439 .table-hover>tbody>.success:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-439 .table>tbody>.danger>td,.factory-bootstrap-439 .table>tbody>.danger>th,.factory-bootstrap-439 .table>tbody>tr>.danger,.factory-bootstrap-439 .table>tfoot>.danger>td,.factory-bootstrap-439 .table>tfoot>.danger>th,.factory-bootstrap-439 .table>tfoot>tr>.danger,.factory-bootstrap-439 .table>thead>.danger>td,.factory-bootstrap-439 .table>thead>.danger>th,.factory-bootstrap-439 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-439 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-439 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-439 .table>tbody>.warning>td,.factory-bootstrap-439 .table>tbody>.warning>th,.factory-bootstrap-439 .table>tbody>tr>.warning,.factory-bootstrap-439 .table>tfoot>.warning>td,.factory-bootstrap-439 .table>tfoot>.warning>th,.factory-bootstrap-439 .table>tfoot>tr>.warning,.factory-bootstrap-439 .table>thead>.warning>td,.factory-bootstrap-439 .table>thead>.warning>th,.factory-bootstrap-439 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-439 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-439 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-439 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-439 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-439 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-439 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-439 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-439 input[type=checkbox],.factory-bootstrap-439 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-439 input[type=file]{display:block}.factory-bootstrap-439 select[multiple],.factory-bootstrap-439 select[size]{height:auto}.factory-bootstrap-439 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-439 input[type=checkbox]:focus,.factory-bootstrap-439 input[type=file]:focus,.factory-bootstrap-439 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-439 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-439 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-439 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-439 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-439 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-439 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-439 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-439 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-439 .form-control[disabled],.factory-bootstrap-439 .form-control[readonly],.factory-bootstrap-439 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-439 textarea.form-control{height:auto}.factory-bootstrap-439 .form-group{margin-bottom:15px}.factory-bootstrap-439 .checkbox,.factory-bootstrap-439 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-439 .checkbox label,.factory-bootstrap-439 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-439 .checkbox input[type=checkbox],.factory-bootstrap-439 .checkbox-inline input[type=checkbox],.factory-bootstrap-439 .radio input[type=radio],.factory-bootstrap-439 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-439 .checkbox+.checkbox,.factory-bootstrap-439 .radio+.radio{margin-top:-5px}.factory-bootstrap-439 .checkbox-inline,.factory-bootstrap-439 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-439 .checkbox-inline+.checkbox-inline,.factory-bootstrap-439 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-439 .checkbox-inline[disabled],.factory-bootstrap-439 .checkbox[disabled],.factory-bootstrap-439 .radio-inline[disabled],.factory-bootstrap-439 .radio[disabled],.factory-bootstrap-439 fieldset[disabled] .checkbox,.factory-bootstrap-439 fieldset[disabled] .checkbox-inline,.factory-bootstrap-439 fieldset[disabled] .radio,.factory-bootstrap-439 fieldset[disabled] .radio-inline,.factory-bootstrap-439 fieldset[disabled] input[type=checkbox],.factory-bootstrap-439 fieldset[disabled] input[type=radio],.factory-bootstrap-439 input[type=checkbox][disabled],.factory-bootstrap-439 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-439 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-439 textarea.input-sm{height:auto}.factory-bootstrap-439 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-439 textarea.input-lg{height:auto}.factory-bootstrap-439 .has-warning .checkbox,.factory-bootstrap-439 .has-warning .checkbox-inline,.factory-bootstrap-439 .has-warning .control-label,.factory-bootstrap-439 .has-warning .help-block,.factory-bootstrap-439 .has-warning .radio,.factory-bootstrap-439 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-439 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-439 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-439 .has-error .checkbox,.factory-bootstrap-439 .has-error .checkbox-inline,.factory-bootstrap-439 .has-error .control-label,.factory-bootstrap-439 .has-error .help-block,.factory-bootstrap-439 .has-error .radio,.factory-bootstrap-439 .has-error .radio-inline{color:#a94442}.factory-bootstrap-439 .controls{display:block}.factory-bootstrap-439 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-439 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-439 .has-success .checkbox,.factory-bootstrap-439 .has-success .checkbox-inline,.factory-bootstrap-439 .has-success .control-label,.factory-bootstrap-439 .has-success .help-block,.factory-bootstrap-439 .has-success .radio,.factory-bootstrap-439 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-439 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-439 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-439 .form-control-static{margin-bottom:0}.factory-bootstrap-439 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-439 .form-horizontal .checkbox,.factory-bootstrap-439 .form-horizontal .checkbox-inline,.factory-bootstrap-439 .form-horizontal .control-label,.factory-bootstrap-439 .form-horizontal .radio,.factory-bootstrap-439 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-439 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-439 .form-horizontal .checkbox,.factory-bootstrap-439 .form-horizontal .radio{min-height:27px}.factory-bootstrap-439 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-439 .form-horizontal .form-group:after,.factory-bootstrap-439 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-439 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-439 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-439 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-439 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-439 .btn{text-decoration:none}.factory-bootstrap-439 .btn:focus,.factory-bootstrap-439 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-439 .btn.disabled,.factory-bootstrap-439 .btn[disabled],.factory-bootstrap-439 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active,.factory-bootstrap-439 .btn-default:focus,.factory-bootstrap-439 .btn-default:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-439 .btn-default.disabled,.factory-bootstrap-439 .btn-default.disabled.active,.factory-bootstrap-439 .btn-default.disabled:active,.factory-bootstrap-439 .btn-default.disabled:focus,.factory-bootstrap-439 .btn-default.disabled:hover,.factory-bootstrap-439 .btn-default[disabled],.factory-bootstrap-439 .btn-default[disabled].active,.factory-bootstrap-439 .btn-default[disabled]:active,.factory-bootstrap-439 .btn-default[disabled]:focus,.factory-bootstrap-439 .btn-default[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-default,.factory-bootstrap-439 fieldset[disabled] .btn-default.active,.factory-bootstrap-439 fieldset[disabled] .btn-default:active,.factory-bootstrap-439 fieldset[disabled] .btn-default:focus,.factory-bootstrap-439 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-439 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active,.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-439 .btn-primary.disabled,.factory-bootstrap-439 .btn-primary.disabled.active,.factory-bootstrap-439 .btn-primary.disabled:active,.factory-bootstrap-439 .btn-primary.disabled:focus,.factory-bootstrap-439 .btn-primary.disabled:hover,.factory-bootstrap-439 .btn-primary[disabled],.factory-bootstrap-439 .btn-primary[disabled].active,.factory-bootstrap-439 .btn-primary[disabled]:active,.factory-bootstrap-439 .btn-primary[disabled]:focus,.factory-bootstrap-439 .btn-primary[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-primary,.factory-bootstrap-439 fieldset[disabled] .btn-primary.active,.factory-bootstrap-439 fieldset[disabled] .btn-primary:active,.factory-bootstrap-439 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-439 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-439 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-439 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active,.factory-bootstrap-439 .btn-warning:focus,.factory-bootstrap-439 .btn-warning:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-439 .btn-warning.disabled,.factory-bootstrap-439 .btn-warning.disabled.active,.factory-bootstrap-439 .btn-warning.disabled:active,.factory-bootstrap-439 .btn-warning.disabled:focus,.factory-bootstrap-439 .btn-warning.disabled:hover,.factory-bootstrap-439 .btn-warning[disabled],.factory-bootstrap-439 .btn-warning[disabled].active,.factory-bootstrap-439 .btn-warning[disabled]:active,.factory-bootstrap-439 .btn-warning[disabled]:focus,.factory-bootstrap-439 .btn-warning[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-warning,.factory-bootstrap-439 fieldset[disabled] .btn-warning.active,.factory-bootstrap-439 fieldset[disabled] .btn-warning:active,.factory-bootstrap-439 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-439 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-439 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-439 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active,.factory-bootstrap-439 .btn-success:focus,.factory-bootstrap-439 .btn-success:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-439 .btn-success.disabled,.factory-bootstrap-439 .btn-success.disabled.active,.factory-bootstrap-439 .btn-success.disabled:active,.factory-bootstrap-439 .btn-success.disabled:focus,.factory-bootstrap-439 .btn-success.disabled:hover,.factory-bootstrap-439 .btn-success[disabled],.factory-bootstrap-439 .btn-success[disabled].active,.factory-bootstrap-439 .btn-success[disabled]:active,.factory-bootstrap-439 .btn-success[disabled]:focus,.factory-bootstrap-439 .btn-success[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-success,.factory-bootstrap-439 fieldset[disabled] .btn-success.active,.factory-bootstrap-439 fieldset[disabled] .btn-success:active,.factory-bootstrap-439 fieldset[disabled] .btn-success:focus,.factory-bootstrap-439 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-439 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-439 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active,.factory-bootstrap-439 .btn-info:focus,.factory-bootstrap-439 .btn-info:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active,.factory-bootstrap-439 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-439 .btn-info.disabled,.factory-bootstrap-439 .btn-info.disabled.active,.factory-bootstrap-439 .btn-info.disabled:active,.factory-bootstrap-439 .btn-info.disabled:focus,.factory-bootstrap-439 .btn-info.disabled:hover,.factory-bootstrap-439 .btn-info[disabled],.factory-bootstrap-439 .btn-info[disabled].active,.factory-bootstrap-439 .btn-info[disabled]:active,.factory-bootstrap-439 .btn-info[disabled]:focus,.factory-bootstrap-439 .btn-info[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-info,.factory-bootstrap-439 fieldset[disabled] .btn-info.active,.factory-bootstrap-439 fieldset[disabled] .btn-info:active,.factory-bootstrap-439 fieldset[disabled] .btn-info:focus,.factory-bootstrap-439 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-439 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-439 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-439 .btn-link,.factory-bootstrap-439 .btn-link:active,.factory-bootstrap-439 .btn-link[disabled],.factory-bootstrap-439 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .btn-link,.factory-bootstrap-439 .btn-link:active,.factory-bootstrap-439 .btn-link:focus,.factory-bootstrap-439 .btn-link:hover{border-color:transparent}.factory-bootstrap-439 .btn-link:focus,.factory-bootstrap-439 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-439 .btn-link[disabled]:focus,.factory-bootstrap-439 .btn-link[disabled]:hover,.factory-bootstrap-439 fieldset[disabled] .btn-link:focus,.factory-bootstrap-439 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-439 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-439 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-439 input[type=button].btn-block,.factory-bootstrap-439 input[type=reset].btn-block,.factory-bootstrap-439 input[type=submit].btn-block{width:100%}.factory-bootstrap-439 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-439 .fade.in{opacity:1}.factory-bootstrap-439 .collapse{display:none}.factory-bootstrap-439 .collapse.in{display:block}.factory-bootstrap-439 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-439 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-439 .glyphicon:empty{width:1em}.factory-bootstrap-439 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-439 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-439 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-439 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-439 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-439 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-439 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-439 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-439 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-439 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-439 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-439 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-439 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-439 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-439 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-439 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-439 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-439 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-439 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-439 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-439 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-439 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-439 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-439 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-439 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-439 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-439 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-439 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-439 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-439 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-439 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-439 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-439 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-439 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-439 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-439 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-439 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-439 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-439 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-439 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-439 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-439 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-439 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-439 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-439 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-439 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-439 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-439 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-439 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-439 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-439 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-439 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-439 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-439 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-439 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-439 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-439 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-439 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-439 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-439 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-439 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-439 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-439 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-439 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-439 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-439 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-439 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-439 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-439 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-439 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-439 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-439 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-439 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-439 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-439 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-439 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-439 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-439 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-439 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-439 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-439 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-439 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-439 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-439 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-439 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-439 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-439 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-439 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-439 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-439 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-439 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-439 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-439 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-439 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-439 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-439 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-439 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-439 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-439 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-439 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-439 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-439 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-439 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-439 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-439 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-439 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-439 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-439 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-439 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-439 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-439 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-439 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-439 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-439 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-439 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-439 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-439 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-439 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-439 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-439 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-439 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-439 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-439 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-439 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-439 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-439 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-439 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-439 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-439 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-439 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-439 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-439 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-439 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-439 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-439 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-439 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-439 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-439 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-439 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-439 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-439 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-439 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-439 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-439 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-439 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-439 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-439 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-439 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-439 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-439 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-439 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-439 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-439 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-439 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-439 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-439 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-439 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-439 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-439 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-439 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-439 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-439 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-439 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-439 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-439 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-439 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-439 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-439 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-439 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-439 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-439 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-439 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-439 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-439 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-439 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-439 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-439 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-439 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-439 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-439 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-439 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-439 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-439 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-439 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-439 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-439 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-439 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-439 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-439 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-439 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-439 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-439 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-439 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-439 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-439 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-439 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-439 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-439 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-439 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-439 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-439 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-439 .dropdown{position:relative}.factory-bootstrap-439 .dropdown-toggle:focus{outline:0}.factory-bootstrap-439 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-439 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-439 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-439 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-439 .dropdown-menu>li>a:focus,.factory-bootstrap-439 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-439 .dropdown-menu>.active>a,.factory-bootstrap-439 .dropdown-menu>.active>a:focus,.factory-bootstrap-439 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-439 .dropdown-menu>.disabled>a,.factory-bootstrap-439 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-439 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-439 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-439 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .open>.dropdown-menu{display:block}.factory-bootstrap-439 .open>a{outline:0}.factory-bootstrap-439 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-439 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-439 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-439 .dropup .caret,.factory-bootstrap-439 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-439 .dropup .dropdown-menu,.factory-bootstrap-439 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-439 .btn-group,.factory-bootstrap-439 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-439 .btn-group-vertical>.btn,.factory-bootstrap-439 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-439 .btn-group-vertical>.btn.active,.factory-bootstrap-439 .btn-group-vertical>.btn:active,.factory-bootstrap-439 .btn-group-vertical>.btn:focus,.factory-bootstrap-439 .btn-group-vertical>.btn:hover,.factory-bootstrap-439 .btn-group>.btn.active,.factory-bootstrap-439 .btn-group>.btn:active,.factory-bootstrap-439 .btn-group>.btn:focus,.factory-bootstrap-439 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-439 .btn-group-vertical>.btn:focus,.factory-bootstrap-439 .btn-group>.btn:focus{outline:0}.factory-bootstrap-439 .btn-group .btn+.btn,.factory-bootstrap-439 .btn-group .btn+.btn-group,.factory-bootstrap-439 .btn-group .btn-group+.btn,.factory-bootstrap-439 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-439 .btn-toolbar:after,.factory-bootstrap-439 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-439 .btn-toolbar:after{clear:both}.factory-bootstrap-439 .btn-toolbar .btn-group{float:left}.factory-bootstrap-439 .btn-toolbar>.btn+.btn,.factory-bootstrap-439 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-439 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-439 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-439 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-439 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-439 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-439 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-439 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .btn-group>.btn-group{float:left}.factory-bootstrap-439 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-439 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-439 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-439 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .btn-group .dropdown-toggle:active,.factory-bootstrap-439 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-439 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-439 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-439 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-439 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-439 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-439 .btn .caret{margin-left:0}.factory-bootstrap-439 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-439 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-439 .btn-group-vertical>.btn,.factory-bootstrap-439 .btn-group-vertical>.btn-group,.factory-bootstrap-439 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-439 .btn-group-vertical>.btn-group:after,.factory-bootstrap-439 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-439 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-439 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-439 .btn-group-vertical>.btn+.btn,.factory-bootstrap-439 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-439 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-439 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-439 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-439 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-439 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-439 .btn-group-justified>.btn,.factory-bootstrap-439 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-439 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-439 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-439 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-439 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-439 .input-group-lg>.form-control,.factory-bootstrap-439 .input-group-lg>.input-group-addon,.factory-bootstrap-439 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-439 select.input-group-lg>.form-control,.factory-bootstrap-439 select.input-group-lg>.input-group-addon,.factory-bootstrap-439 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-439 textarea.input-group-lg>.form-control,.factory-bootstrap-439 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-439 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-439 .input-group-sm>.form-control,.factory-bootstrap-439 .input-group-sm>.input-group-addon,.factory-bootstrap-439 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-439 select.input-group-sm>.form-control,.factory-bootstrap-439 select.input-group-sm>.input-group-addon,.factory-bootstrap-439 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-439 textarea.input-group-sm>.form-control,.factory-bootstrap-439 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-439 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-439 .input-group .form-control,.factory-bootstrap-439 .input-group-addon,.factory-bootstrap-439 .input-group-btn{display:table-cell}.factory-bootstrap-439 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-439 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-439 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-439 .input-group-addon,.factory-bootstrap-439 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-439 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-439 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-439 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-439 .input-group-addon input[type=checkbox],.factory-bootstrap-439 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-439 .input-group .form-control:first-child,.factory-bootstrap-439 .input-group-addon:first-child,.factory-bootstrap-439 .input-group-btn:first-child>.btn,.factory-bootstrap-439 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-439 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-439 .input-group-addon:first-child{border-right:0}.factory-bootstrap-439 .input-group .form-control:last-child,.factory-bootstrap-439 .input-group-addon:last-child,.factory-bootstrap-439 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-439 .input-group-btn:last-child>.btn,.factory-bootstrap-439 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .input-group-addon:last-child{border-left:0}.factory-bootstrap-439 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-439 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-439 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-439 .input-group-btn>.btn{position:relative}.factory-bootstrap-439 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-439 .input-group-btn>.btn:active,.factory-bootstrap-439 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-439 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-439 .nav:after,.factory-bootstrap-439 .nav:before{display:table;content:" "}.factory-bootstrap-439 .nav:after{clear:both}.factory-bootstrap-439 .nav>li{position:relative;display:block}.factory-bootstrap-439 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-439 .nav>li>a:focus,.factory-bootstrap-439 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-439 .nav>li.disabled>a{color:#999}.factory-bootstrap-439 .nav>li.disabled>a:focus,.factory-bootstrap-439 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-439 .nav .open>a,.factory-bootstrap-439 .nav .open>a:focus,.factory-bootstrap-439 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-439 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-439 .nav>li>a>img{max-width:none}.factory-bootstrap-439 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-439 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-439 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-439 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-439 .nav-tabs>li.active>a,.factory-bootstrap-439 .nav-tabs>li.active>a:focus,.factory-bootstrap-439 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-439 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-439 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-439 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-439 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-439 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-439 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-439 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-439 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-439 .nav-pills>li{float:left}.factory-bootstrap-439 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-439 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-439 .nav-pills>li.active>a,.factory-bootstrap-439 .nav-pills>li.active>a:focus,.factory-bootstrap-439 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-439 .nav-stacked>li{float:none}.factory-bootstrap-439 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-439 .nav-justified{width:100%}.factory-bootstrap-439 .nav-justified>li{float:none}.factory-bootstrap-439 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-439 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-439 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-439 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-439 .nav-tabs-justified>.active>a,.factory-bootstrap-439 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-439 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-439 .tab-content>.tab-pane{display:none}.factory-bootstrap-439 .tab-content>.active{display:block}.factory-bootstrap-439 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-439 .navbar:after,.factory-bootstrap-439 .navbar:before{display:table;content:" "}.factory-bootstrap-439 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-439 .navbar-header:after,.factory-bootstrap-439 .navbar-header:before{display:table;content:" "}.factory-bootstrap-439 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-439 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-439 .navbar-collapse:after,.factory-bootstrap-439 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-439 .navbar-collapse:after{clear:both}.factory-bootstrap-439 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-439 .container>.navbar-collapse,.factory-bootstrap-439 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-439 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-439 .navbar-fixed-bottom,.factory-bootstrap-439 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-439 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-439 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-439 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-439 .navbar-brand:focus,.factory-bootstrap-439 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-439 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-439 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-439 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-439 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-439 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-439 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-439 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-439 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-439 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-439 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-439 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-439 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-439 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-439 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-439 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-439 .navbar-default .navbar-brand:focus,.factory-bootstrap-439 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-439 .navbar-default .navbar-nav>li>a,.factory-bootstrap-439 .navbar-default .navbar-text{color:#777}.factory-bootstrap-439 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-439 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-439 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-439 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-439 .navbar-default .navbar-toggle:focus,.factory-bootstrap-439 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-439 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-439 .navbar-default .navbar-collapse,.factory-bootstrap-439 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-439 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-439 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-439 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-439 .navbar-default .navbar-link{color:#777}.factory-bootstrap-439 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-439 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-439 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-439 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-439 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-439 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-439 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-439 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-439 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-439 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-439 .navbar-inverse .navbar-collapse,.factory-bootstrap-439 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-439 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-439 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-439 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-439 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-439 .breadcrumb>li{display:inline-block}.factory-bootstrap-439 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-439 .breadcrumb>.active{color:#999}.factory-bootstrap-439 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-439 .pagination>li{display:inline}.factory-bootstrap-439 .pagination>li>a,.factory-bootstrap-439 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-439 .pagination>li:first-child>a,.factory-bootstrap-439 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-439 .pagination>li:last-child>a,.factory-bootstrap-439 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-439 .pagination>li>a:focus,.factory-bootstrap-439 .pagination>li>a:hover,.factory-bootstrap-439 .pagination>li>span:focus,.factory-bootstrap-439 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-439 .pagination>.disabled>a,.factory-bootstrap-439 .pagination>.disabled>a:focus,.factory-bootstrap-439 .pagination>.disabled>a:hover,.factory-bootstrap-439 .pagination>.disabled>span,.factory-bootstrap-439 .pagination>.disabled>span:focus,.factory-bootstrap-439 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-439 .pagination-lg>li>a,.factory-bootstrap-439 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-439 .pagination-lg>li:first-child>a,.factory-bootstrap-439 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-439 .pagination-lg>li:last-child>a,.factory-bootstrap-439 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-439 .pagination-sm>li>a,.factory-bootstrap-439 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-439 .pagination-sm>li:first-child>a,.factory-bootstrap-439 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-439 .pagination-sm>li:last-child>a,.factory-bootstrap-439 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-439 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-439 .pager:after,.factory-bootstrap-439 .pager:before{display:table;content:" "}.factory-bootstrap-439 .pager:after{clear:both}.factory-bootstrap-439 .pager li{display:inline}.factory-bootstrap-439 .pager li>a,.factory-bootstrap-439 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-439 .pager li>a:focus,.factory-bootstrap-439 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-439 .pager .next>a,.factory-bootstrap-439 .pager .next>span{float:right}.factory-bootstrap-439 .pager .previous>a,.factory-bootstrap-439 .pager .previous>span{float:left}.factory-bootstrap-439 .pager .disabled>a,.factory-bootstrap-439 .pager .disabled>a:focus,.factory-bootstrap-439 .pager .disabled>a:hover,.factory-bootstrap-439 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-439 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-439 .label[href]:focus,.factory-bootstrap-439 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-439 .label:empty{display:none}.factory-bootstrap-439 .btn .label{position:relative;top:-1px}.factory-bootstrap-439 .label-default{background-color:#999}.factory-bootstrap-439 .label-default[href]:focus,.factory-bootstrap-439 .label-default[href]:hover{background-color:gray}.factory-bootstrap-439 .label-primary{background-color:#428bca}.factory-bootstrap-439 .label-primary[href]:focus,.factory-bootstrap-439 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-439 .label-success{background-color:#5cb85c}.factory-bootstrap-439 .label-success[href]:focus,.factory-bootstrap-439 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-439 .label-info{background-color:#5bc0de}.factory-bootstrap-439 .label-info[href]:focus,.factory-bootstrap-439 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-439 .label-warning{background-color:#f0ad4e}.factory-bootstrap-439 .label-warning[href]:focus,.factory-bootstrap-439 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-439 .label-danger{background-color:#d9534f}.factory-bootstrap-439 .label-danger[href]:focus,.factory-bootstrap-439 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-439 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-439 .badge:empty{display:none}.factory-bootstrap-439 .btn .badge{position:relative;top:-1px}.factory-bootstrap-439 a.badge:focus,.factory-bootstrap-439 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-439 .nav-pills>.active>a>.badge,.factory-bootstrap-439 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-439 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-439 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-439 .jumbotron .h1,.factory-bootstrap-439 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-439 .jumbotron p{line-height:1.4}.factory-bootstrap-439 .container .jumbotron{border-radius:6px}.factory-bootstrap-439 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-439 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-439 .thumbnail a>img,.factory-bootstrap-439 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-439 a.thumbnail.active,.factory-bootstrap-439 a.thumbnail:focus,.factory-bootstrap-439 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-439 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-439 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-439 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-439 .alert .alert-link{font-weight:700}.factory-bootstrap-439 .alert>p,.factory-bootstrap-439 .alert>ul{margin-bottom:0}.factory-bootstrap-439 .alert>p+p{margin-top:5px}.factory-bootstrap-439 .alert-dismissable{padding-right:35px}.factory-bootstrap-439 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-439 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-439 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-439 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-439 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-439 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-439 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-439 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-439 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-439 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-439 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-439 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-439 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-439 .media,.factory-bootstrap-439 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-439 .media,.factory-bootstrap-439 .media .media{margin-top:15px}.factory-bootstrap-439 .media:first-child{margin-top:0}.factory-bootstrap-439 .media-object{display:block}.factory-bootstrap-439 .media-heading{margin:0 0 5px}.factory-bootstrap-439 .media>.pull-left{margin-right:10px}.factory-bootstrap-439 .media>.pull-right{margin-left:10px}.factory-bootstrap-439 .media-list{padding-left:0;list-style:none}.factory-bootstrap-439 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-439 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-439 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-439 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-439 .list-group-item>.badge{float:right}.factory-bootstrap-439 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-439 a.list-group-item{color:#555}.factory-bootstrap-439 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-439 a.list-group-item:focus,.factory-bootstrap-439 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-439 a.list-group-item.active,.factory-bootstrap-439 a.list-group-item.active:focus,.factory-bootstrap-439 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-439 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-439 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-439 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-439 a.list-group-item.active .list-group-item-text,.factory-bootstrap-439 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-439 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-439 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-439 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-439 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-439 .panel-body{padding:15px}.factory-bootstrap-439 .panel-body:after,.factory-bootstrap-439 .panel-body:before{display:table;content:" "}.factory-bootstrap-439 .panel-body:after{clear:both}.factory-bootstrap-439 .panel>.list-group{margin-bottom:0}.factory-bootstrap-439 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-439 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-439 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-439 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-439 .panel>.table,.factory-bootstrap-439 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-439 .panel>.panel-body+.table,.factory-bootstrap-439 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-439 .panel>.table>tbody:first-child td,.factory-bootstrap-439 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-439 .panel>.table-bordered,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-439 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-439 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-439 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-439 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-439 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-439 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-439 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-439 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-439 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-439 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-439 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-439 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-439 .panel-title>a{color:inherit}.factory-bootstrap-439 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-439 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-439 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-439 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-439 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-439 .panel-group .panel-footer{border-top:0}.factory-bootstrap-439 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-439 .panel-default{border-color:#ddd}.factory-bootstrap-439 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-439 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-439 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-439 .panel-primary{border-color:#428bca}.factory-bootstrap-439 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-439 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-439 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-439 .panel-success{border-color:#d6e9c6}.factory-bootstrap-439 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-439 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-439 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-439 .panel-warning{border-color:#faebcc}.factory-bootstrap-439 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-439 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-439 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-439 .panel-danger{border-color:#ebccd1}.factory-bootstrap-439 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-439 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-439 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-439 .panel-info{border-color:#bce8f1}.factory-bootstrap-439 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-439 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-439 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-439 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-439 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-439 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-439 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-439 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-439 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-439 .close:focus,.factory-bootstrap-439 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-439 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-439 .modal-open{overflow:hidden}.factory-bootstrap-439 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-439 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-439 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-439 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-439 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-439 .modal-backdrop,.factory-bootstrap-439-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-439 .modal-backdrop.fade,.factory-bootstrap-439-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-439 .modal-backdrop.in,.factory-bootstrap-439-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-439 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-439 .modal-header .close{margin-top:-2px}.factory-bootstrap-439 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-439 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-439 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-439 .modal-footer:after,.factory-bootstrap-439 .modal-footer:before{display:table;content:" "}.factory-bootstrap-439 .modal-footer:after{clear:both}.factory-bootstrap-439 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-439 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-439 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-439 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-439 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-439 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-439 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-439 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-439 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-439 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-439 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-439 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-439 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-439 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-439 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-439 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-439 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-439 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-439 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-439 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-439 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-439 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-439 .popover.top{margin-top:-10px}.factory-bootstrap-439 .popover.right{margin-left:10px}.factory-bootstrap-439 .popover.bottom{margin-top:10px}.factory-bootstrap-439 .popover.left{margin-left:-10px}.factory-bootstrap-439 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-439 .popover-content{padding:9px 14px}.factory-bootstrap-439 .popover .arrow,.factory-bootstrap-439 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-439 .popover .arrow{border-width:11px}.factory-bootstrap-439 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-439 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-439 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-439 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-439 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-439 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-439 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-439 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-439 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-439 .carousel{position:relative}.factory-bootstrap-439 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-439 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-439 .carousel-inner>.item>a>img,.factory-bootstrap-439 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-439 .carousel-inner>.active,.factory-bootstrap-439 .carousel-inner>.next,.factory-bootstrap-439 .carousel-inner>.prev{display:block}.factory-bootstrap-439 .carousel-inner>.active{left:0}.factory-bootstrap-439 .carousel-inner>.next,.factory-bootstrap-439 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-439 .carousel-inner>.next{left:100%}.factory-bootstrap-439 .carousel-inner>.prev{left:-100%}.factory-bootstrap-439 .carousel-inner>.next.left,.factory-bootstrap-439 .carousel-inner>.prev.right{left:0}.factory-bootstrap-439 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-439 .carousel-inner>.active.right{left:100%}.factory-bootstrap-439 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-439 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-439 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-439 .carousel-control:focus,.factory-bootstrap-439 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-439 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-439 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-439 .carousel-control .icon-next,.factory-bootstrap-439 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-439 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-439 .carousel-control .icon-prev{left:50%}.factory-bootstrap-439 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-439 .carousel-control .icon-next{right:50%}.factory-bootstrap-439 .carousel-control .icon-next,.factory-bootstrap-439 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-439 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-439 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-439 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-439 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-439 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-439 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-439 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-439 .clearfix:after,.factory-bootstrap-439 .clearfix:before{display:table;content:" "}.factory-bootstrap-439 .clearfix:after{clear:both}.factory-bootstrap-439 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-439 .pull-right{float:right!important}.factory-bootstrap-439 .pull-left{float:left!important}.factory-bootstrap-439 .hide{display:none!important}.factory-bootstrap-439 .show{display:block!important}.factory-bootstrap-439 .invisible{visibility:hidden}.factory-bootstrap-439 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-439 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-439 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-439 .visible-lg,.factory-bootstrap-439 .visible-md,.factory-bootstrap-439 .visible-sm,.factory-bootstrap-439 .visible-xs,.factory-bootstrap-439 td.visible-lg,.factory-bootstrap-439 td.visible-md,.factory-bootstrap-439 td.visible-sm,.factory-bootstrap-439 td.visible-xs,.factory-bootstrap-439 th.visible-lg,.factory-bootstrap-439 th.visible-md,.factory-bootstrap-439 th.visible-sm,.factory-bootstrap-439 th.visible-xs,.factory-bootstrap-439 tr.visible-lg,.factory-bootstrap-439 tr.visible-md,.factory-bootstrap-439 tr.visible-sm,.factory-bootstrap-439 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-439 .hidden-xs{display:block!important}.factory-bootstrap-439 table.hidden-xs{display:table}.factory-bootstrap-439 tr.hidden-xs{display:table-row!important}.factory-bootstrap-439 td.hidden-xs,.factory-bootstrap-439 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-439 .hidden-sm{display:block!important}.factory-bootstrap-439 table.hidden-sm{display:table}.factory-bootstrap-439 tr.hidden-sm{display:table-row!important}.factory-bootstrap-439 td.hidden-sm,.factory-bootstrap-439 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-439 .hidden-md{display:block!important}.factory-bootstrap-439 table.hidden-md{display:table}.factory-bootstrap-439 tr.hidden-md{display:table-row!important}.factory-bootstrap-439 td.hidden-md,.factory-bootstrap-439 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-439 .hidden-lg{display:block!important}.factory-bootstrap-439 table.hidden-lg{display:table}.factory-bootstrap-439 tr.hidden-lg{display:table-row!important}.factory-bootstrap-439 td.hidden-lg,.factory-bootstrap-439 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-439 .hidden-lg.hidden-xs,.factory-bootstrap-439 td.hidden-lg.hidden-xs,.factory-bootstrap-439 th.hidden-lg.hidden-xs,.factory-bootstrap-439 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-439 .hidden-lg.hidden-sm,.factory-bootstrap-439 td.hidden-lg.hidden-sm,.factory-bootstrap-439 th.hidden-lg.hidden-sm,.factory-bootstrap-439 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-439 .hidden-lg.hidden-md,.factory-bootstrap-439 td.hidden-lg.hidden-md,.factory-bootstrap-439 th.hidden-lg.hidden-md,.factory-bootstrap-439 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-439 .hidden-lg,.factory-bootstrap-439 td.hidden-lg,.factory-bootstrap-439 th.hidden-lg,.factory-bootstrap-439 tr.hidden-lg{display:none!important}}.factory-bootstrap-439 .visible-print,.factory-bootstrap-439 td.visible-print,.factory-bootstrap-439 th.visible-print,.factory-bootstrap-439 tr.visible-print{display:none!important}@media print{.factory-bootstrap-439 .visible-print{display:block!important}.factory-bootstrap-439 table.visible-print{display:table}.factory-bootstrap-439 tr.visible-print{display:table-row!important}.factory-bootstrap-439 td.visible-print,.factory-bootstrap-439 th.visible-print{display:table-cell!important}.factory-bootstrap-439 .hidden-print,.factory-bootstrap-439 td.hidden-print,.factory-bootstrap-439 th.hidden-print,.factory-bootstrap-439 tr.hidden-print{display:none!important}}/*!
12
- * Factory Default Bootstrap Theme
13
- *
14
- * The code is based on Bootstrap v2.1.1
15
- *
16
- * Bootstrap v3.0.3 (http://getbootstrap.com)
17
- * Copyright 2013 Twitter, Inc.
18
- * Licensed under http://www.apache.org/licenses/LICENSE-2.0
19
- *
20
- * @author Paul Kashtanoff <paul@byonepress.com>
21
- * @copyright (c) 2013, OnePress Ltd
22
- *
23
- * @package factory-bootstrap
24
- * @since 1.0.0
25
- */.factory-bootstrap-439 .btn-danger,.factory-bootstrap-439 .btn-default,.factory-bootstrap-439 .btn-info,.factory-bootstrap-439 .btn-primary,.factory-bootstrap-439 .btn-success,.factory-bootstrap-439 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-439 .btn-danger.active,.factory-bootstrap-439 .btn-danger:active,.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active,.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active,.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active,.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active,.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-439 .btn.active,.factory-bootstrap-439 .btn:active{background-image:none}.factory-bootstrap-439 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-439 .btn-default.active,.factory-bootstrap-439 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-439 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-439 .btn-gold:focus,.factory-bootstrap-439 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-439 .btn-gold.active,.factory-bootstrap-439 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-439 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-439 .btn-primary.active,.factory-bootstrap-439 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-439 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .btn-success:focus,.factory-bootstrap-439 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-439 .btn-success.active,.factory-bootstrap-439 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-439 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .btn-warning:focus,.factory-bootstrap-439 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-439 .btn-warning.active,.factory-bootstrap-439 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-439 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-439 .btn-danger.active,.factory-bootstrap-439 .btn-danger:active,.factory-bootstrap-439 .btn-danger:focus,.factory-bootstrap-439 .btn-danger:hover,.factory-bootstrap-439 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-439 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .btn-info:focus,.factory-bootstrap-439 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-439 .btn-info.active,.factory-bootstrap-439 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-439 .img-thumbnail,.factory-bootstrap-439 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-439 .dropdown-menu>li>a:focus,.factory-bootstrap-439 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-439 .dropdown-menu>.active>a,.factory-bootstrap-439 .dropdown-menu>.active>a:focus,.factory-bootstrap-439 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-439 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-439 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-439 .navbar-brand,.factory-bootstrap-439 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-439 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-439 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-439 .navbar-inverse .navbar-brand,.factory-bootstrap-439 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-439 .navbar-fixed-bottom,.factory-bootstrap-439 .navbar-fixed-top,.factory-bootstrap-439 .navbar-static-top{border-radius:0}.factory-bootstrap-439 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-439 .alert .actions{padding-top:10px}.factory-bootstrap-439 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-439 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-439 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-439 .alert-normal,.factory-bootstrap-439 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-439 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-439 .alert-danger a:not(.btn),.factory-bootstrap-439 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-439 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-439 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-439 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-439 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-439 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-439 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-439 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-439 .list-group-item.active,.factory-bootstrap-439 .list-group-item.active:focus,.factory-bootstrap-439 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-439 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-439 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-439 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-439 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-439 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-439 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-439 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-439 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-439 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-439 .factory-hidden{display:none}.factory-bootstrap-439 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 article,.factory-bootstrap-454 aside,.factory-bootstrap-454 details,.factory-bootstrap-454 figcaption,.factory-bootstrap-454 figure,.factory-bootstrap-454 footer,.factory-bootstrap-454 header,.factory-bootstrap-454 hgroup,.factory-bootstrap-454 main,.factory-bootstrap-454 nav,.factory-bootstrap-454 section,.factory-bootstrap-454 summary{display:block}.factory-bootstrap-454 audio,.factory-bootstrap-454 canvas,.factory-bootstrap-454 video{display:inline-block}.factory-bootstrap-454 audio:not([controls]){display:none;height:0}.factory-bootstrap-454 [hidden],.factory-bootstrap-454 template{display:none}.factory-bootstrap-454 body{margin:0}.factory-bootstrap-454 a{background:0 0}.factory-bootstrap-454 a:focus{outline:thin dotted}.factory-bootstrap-454 a:active,.factory-bootstrap-454 a:hover{outline:0}.factory-bootstrap-454 h1{margin:.67em 0}.factory-bootstrap-454 b,.factory-bootstrap-454 strong{font-weight:700}.factory-bootstrap-454 dfn{font-style:italic}.factory-bootstrap-454 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-454 mark{color:#000;background:#ff0}.factory-bootstrap-454 code,.factory-bootstrap-454 kbd,.factory-bootstrap-454 pre,.factory-bootstrap-454 samp{font-size:1em}.factory-bootstrap-454 pre{white-space:pre-wrap}.factory-bootstrap-454 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-454 sub,.factory-bootstrap-454 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-454 sup{top:-.5em}.factory-bootstrap-454 sub{bottom:-.25em}.factory-bootstrap-454 img{border:0}.factory-bootstrap-454 svg:not(:root){overflow:hidden}.factory-bootstrap-454 figure{margin:0}.factory-bootstrap-454 button,.factory-bootstrap-454 input,.factory-bootstrap-454 select,.factory-bootstrap-454 textarea{margin:0}.factory-bootstrap-454 button,.factory-bootstrap-454 select{text-transform:none}.factory-bootstrap-454 select{padding-right:4px!important}.factory-bootstrap-454 button,.factory-bootstrap-454 input[type=reset],.factory-bootstrap-454 input[type=submit],html .factory-bootstrap-454 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-454 button[disabled],html .factory-bootstrap-454 input[disabled]{cursor:default}.factory-bootstrap-454 input[type=checkbox],.factory-bootstrap-454 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-454 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-454 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-454 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-454 button::-moz-focus-inner,.factory-bootstrap-454 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-454 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-454 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-454 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-454 a,.factory-bootstrap-454 a:visited{text-decoration:underline}.factory-bootstrap-454 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-454 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-454 a[href^="javascript:"]:after,.factory-bootstrap-454 a[href^="#"]:after{content:""}.factory-bootstrap-454 blockquote,.factory-bootstrap-454 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-454 thead{display:table-header-group}.factory-bootstrap-454 img,.factory-bootstrap-454 tr{page-break-inside:avoid}.factory-bootstrap-454 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-454 h2,.factory-bootstrap-454 h3,.factory-bootstrap-454 p{orphans:3;widows:3}.factory-bootstrap-454 h2,.factory-bootstrap-454 h3{page-break-after:avoid}.factory-bootstrap-454 select{background:#fff!important}.factory-bootstrap-454 .navbar{display:none}.factory-bootstrap-454 .table td,.factory-bootstrap-454 .table th{background-color:#fff!important}.factory-bootstrap-454 .btn>.caret,.factory-bootstrap-454 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-454 .label{border:1px solid #000}.factory-bootstrap-454 .table{border-collapse:collapse!important}.factory-bootstrap-454 .table-bordered td,.factory-bootstrap-454 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-454 *,.factory-bootstrap-454 :after,.factory-bootstrap-454 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-454{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-454 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-454 button,.factory-bootstrap-454 input,.factory-bootstrap-454 select,.factory-bootstrap-454 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-454 img{vertical-align:middle}.factory-bootstrap-454 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-454 .img-rounded{border-radius:6px}.factory-bootstrap-454 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-454 .img-circle{border-radius:50%}.factory-bootstrap-454 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-454 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-454 .h1,.factory-bootstrap-454 .h2,.factory-bootstrap-454 .h3,.factory-bootstrap-454 .h4,.factory-bootstrap-454 .h5,.factory-bootstrap-454 .h6,.factory-bootstrap-454 h1,.factory-bootstrap-454 h2,.factory-bootstrap-454 h3,.factory-bootstrap-454 h4,.factory-bootstrap-454 h5,.factory-bootstrap-454 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-454 .h1 .small,.factory-bootstrap-454 .h1 small,.factory-bootstrap-454 .h2 .small,.factory-bootstrap-454 .h2 small,.factory-bootstrap-454 .h3 .small,.factory-bootstrap-454 .h3 small,.factory-bootstrap-454 .h4 .small,.factory-bootstrap-454 .h4 small,.factory-bootstrap-454 .h5 .small,.factory-bootstrap-454 .h5 small,.factory-bootstrap-454 .h6 .small,.factory-bootstrap-454 .h6 small,.factory-bootstrap-454 h1 .small,.factory-bootstrap-454 h1 small,.factory-bootstrap-454 h2 .small,.factory-bootstrap-454 h2 small,.factory-bootstrap-454 h3 .small,.factory-bootstrap-454 h3 small,.factory-bootstrap-454 h4 .small,.factory-bootstrap-454 h4 small,.factory-bootstrap-454 h5 .small,.factory-bootstrap-454 h5 small,.factory-bootstrap-454 h6 .small,.factory-bootstrap-454 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-454 h1,.factory-bootstrap-454 h2,.factory-bootstrap-454 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-454 h1 .small,.factory-bootstrap-454 h1 small,.factory-bootstrap-454 h2 .small,.factory-bootstrap-454 h2 small,.factory-bootstrap-454 h3 .small,.factory-bootstrap-454 h3 small{font-size:65%}.factory-bootstrap-454 h4,.factory-bootstrap-454 h5,.factory-bootstrap-454 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-454 h4 .small,.factory-bootstrap-454 h4 small,.factory-bootstrap-454 h5 .small,.factory-bootstrap-454 h5 small,.factory-bootstrap-454 h6 .small,.factory-bootstrap-454 h6 small{font-size:75%}.factory-bootstrap-454 .h1,.factory-bootstrap-454 h1{font-size:36px}.factory-bootstrap-454 .h2,.factory-bootstrap-454 h2{font-size:30px}.factory-bootstrap-454 .h3,.factory-bootstrap-454 h3{font-size:24px}.factory-bootstrap-454 .h4,.factory-bootstrap-454 h4{font-size:18px}.factory-bootstrap-454 .h5,.factory-bootstrap-454 h5{font-size:14px}.factory-bootstrap-454 .h6,.factory-bootstrap-454 h6{font-size:12px}.factory-bootstrap-454 p{margin:0 0 10px}.factory-bootstrap-454 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-454 .small,.factory-bootstrap-454 small{font-size:85%}.factory-bootstrap-454 cite{font-style:normal}.factory-bootstrap-454 .text-muted{color:#999}.factory-bootstrap-454 .text-primary{color:#428bca}.factory-bootstrap-454 .text-primary:hover{color:#3071a9}.factory-bootstrap-454 .text-warning{color:#8a6d3b}.factory-bootstrap-454 .text-warning:hover{color:#66512c}.factory-bootstrap-454 .text-danger{color:#a94442}.factory-bootstrap-454 .text-danger:hover{color:#843534}.factory-bootstrap-454 .text-success{color:#3c763d}.factory-bootstrap-454 .text-success:hover{color:#2b542c}.factory-bootstrap-454 .text-info{color:#31708f}.factory-bootstrap-454 .text-info:hover{color:#245269}.factory-bootstrap-454 .text-left{text-align:left}.factory-bootstrap-454 .text-right{text-align:right}.factory-bootstrap-454 .text-center{text-align:center}.factory-bootstrap-454 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-454 ol,.factory-bootstrap-454 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-454 ol ol,.factory-bootstrap-454 ol ul,.factory-bootstrap-454 ul ol,.factory-bootstrap-454 ul ul{margin-bottom:0}.factory-bootstrap-454 .list-inline,.factory-bootstrap-454 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-454 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-454 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-454 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-454 dd,.factory-bootstrap-454 dt{line-height:1.428571429}.factory-bootstrap-454 dt{font-weight:700}.factory-bootstrap-454 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-454 abbr[data-original-title],.factory-bootstrap-454 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-454 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-454 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-454 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-454 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-454 blockquote .small,.factory-bootstrap-454 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-454 blockquote .small:before,.factory-bootstrap-454 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-454 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-454 blockquote.pull-right .small,.factory-bootstrap-454 blockquote.pull-right p,.factory-bootstrap-454 blockquote.pull-right small{text-align:right}.factory-bootstrap-454 blockquote.pull-right .small:before,.factory-bootstrap-454 blockquote.pull-right small:before{content:''}.factory-bootstrap-454 blockquote.pull-right .small:after,.factory-bootstrap-454 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-454 blockquote:after,.factory-bootstrap-454 blockquote:before{content:""}.factory-bootstrap-454 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-454 code,.factory-bootstrap-454 kbd,.factory-bootstrap-454 pre,.factory-bootstrap-454 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-454 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-454 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-454 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-454 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-454 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-454 .container:after,.factory-bootstrap-454 .container:before{display:table;content:" "}.factory-bootstrap-454 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-454 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-454 .row:after,.factory-bootstrap-454 .row:before{display:table;content:" "}.factory-bootstrap-454 .row:after{clear:both}.factory-bootstrap-454 .col-lg-1,.factory-bootstrap-454 .col-lg-10,.factory-bootstrap-454 .col-lg-11,.factory-bootstrap-454 .col-lg-12,.factory-bootstrap-454 .col-lg-2,.factory-bootstrap-454 .col-lg-3,.factory-bootstrap-454 .col-lg-4,.factory-bootstrap-454 .col-lg-5,.factory-bootstrap-454 .col-lg-6,.factory-bootstrap-454 .col-lg-7,.factory-bootstrap-454 .col-lg-8,.factory-bootstrap-454 .col-lg-9,.factory-bootstrap-454 .col-md-1,.factory-bootstrap-454 .col-md-10,.factory-bootstrap-454 .col-md-11,.factory-bootstrap-454 .col-md-12,.factory-bootstrap-454 .col-md-2,.factory-bootstrap-454 .col-md-3,.factory-bootstrap-454 .col-md-4,.factory-bootstrap-454 .col-md-5,.factory-bootstrap-454 .col-md-6,.factory-bootstrap-454 .col-md-7,.factory-bootstrap-454 .col-md-8,.factory-bootstrap-454 .col-md-9,.factory-bootstrap-454 .col-sm-1,.factory-bootstrap-454 .col-sm-10,.factory-bootstrap-454 .col-sm-11,.factory-bootstrap-454 .col-sm-12,.factory-bootstrap-454 .col-sm-2,.factory-bootstrap-454 .col-sm-3,.factory-bootstrap-454 .col-sm-4,.factory-bootstrap-454 .col-sm-5,.factory-bootstrap-454 .col-sm-6,.factory-bootstrap-454 .col-sm-7,.factory-bootstrap-454 .col-sm-8,.factory-bootstrap-454 .col-sm-9,.factory-bootstrap-454 .col-xs-1,.factory-bootstrap-454 .col-xs-10,.factory-bootstrap-454 .col-xs-11,.factory-bootstrap-454 .col-xs-12,.factory-bootstrap-454 .col-xs-2,.factory-bootstrap-454 .col-xs-3,.factory-bootstrap-454 .col-xs-4,.factory-bootstrap-454 .col-xs-5,.factory-bootstrap-454 .col-xs-6,.factory-bootstrap-454 .col-xs-7,.factory-bootstrap-454 .col-xs-8,.factory-bootstrap-454 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-454 .col-xs-1,.factory-bootstrap-454 .col-xs-10,.factory-bootstrap-454 .col-xs-11,.factory-bootstrap-454 .col-xs-12,.factory-bootstrap-454 .col-xs-2,.factory-bootstrap-454 .col-xs-3,.factory-bootstrap-454 .col-xs-4,.factory-bootstrap-454 .col-xs-5,.factory-bootstrap-454 .col-xs-6,.factory-bootstrap-454 .col-xs-7,.factory-bootstrap-454 .col-xs-8,.factory-bootstrap-454 .col-xs-9{float:left}.factory-bootstrap-454 .col-xs-12{width:100%}.factory-bootstrap-454 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-454 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-454 .col-xs-9{width:75%}.factory-bootstrap-454 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-454 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-454 .col-xs-6{width:50%}.factory-bootstrap-454 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-454 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-454 .col-xs-3{width:25%}.factory-bootstrap-454 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-454 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-454 .col-xs-pull-12{right:100%}.factory-bootstrap-454 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-454 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-454 .col-xs-pull-9{right:75%}.factory-bootstrap-454 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-454 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-454 .col-xs-pull-6{right:50%}.factory-bootstrap-454 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-454 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-454 .col-xs-pull-3{right:25%}.factory-bootstrap-454 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-454 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-454 .col-xs-pull-0{right:0}.factory-bootstrap-454 .col-xs-push-12{left:100%}.factory-bootstrap-454 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-454 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-454 .col-xs-push-9{left:75%}.factory-bootstrap-454 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-454 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-454 .col-xs-push-6{left:50%}.factory-bootstrap-454 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-454 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-454 .col-xs-push-3{left:25%}.factory-bootstrap-454 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-454 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-454 .col-xs-push-0{left:0}.factory-bootstrap-454 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-454 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-454 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-454 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-454 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-454 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-454 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-454 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-454 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-454 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-454 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-454 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-454 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-454 table{max-width:100%;background-color:transparent}.factory-bootstrap-454 th{text-align:left}.factory-bootstrap-454 .table{width:100%;margin-bottom:20px}.factory-bootstrap-454 .table>tbody>tr>td,.factory-bootstrap-454 .table>tbody>tr>th,.factory-bootstrap-454 .table>tfoot>tr>td,.factory-bootstrap-454 .table>tfoot>tr>th,.factory-bootstrap-454 .table>thead>tr>td,.factory-bootstrap-454 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-454 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-454 .table>caption+thead>tr:first-child>td,.factory-bootstrap-454 .table>caption+thead>tr:first-child>th,.factory-bootstrap-454 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-454 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-454 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-454 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-454 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-454 .table .table{background-color:#fff}.factory-bootstrap-454 .table-condensed>tbody>tr>td,.factory-bootstrap-454 .table-condensed>tbody>tr>th,.factory-bootstrap-454 .table-condensed>tfoot>tr>td,.factory-bootstrap-454 .table-condensed>tfoot>tr>th,.factory-bootstrap-454 .table-condensed>thead>tr>td,.factory-bootstrap-454 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-454 .table-bordered,.factory-bootstrap-454 .table-bordered>tbody>tr>td,.factory-bootstrap-454 .table-bordered>tbody>tr>th,.factory-bootstrap-454 .table-bordered>tfoot>tr>td,.factory-bootstrap-454 .table-bordered>tfoot>tr>th,.factory-bootstrap-454 .table-bordered>thead>tr>td,.factory-bootstrap-454 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-454 .table-bordered>thead>tr>td,.factory-bootstrap-454 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-454 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-454 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-454 .table-hover>tbody>tr:hover>td,.factory-bootstrap-454 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-454 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-454 table td[class*=col-],.factory-bootstrap-454 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-454 .table>tbody>.active>td,.factory-bootstrap-454 .table>tbody>.active>th,.factory-bootstrap-454 .table>tbody>tr>.active,.factory-bootstrap-454 .table>tfoot>.active>td,.factory-bootstrap-454 .table>tfoot>.active>th,.factory-bootstrap-454 .table>tfoot>tr>.active,.factory-bootstrap-454 .table>thead>.active>td,.factory-bootstrap-454 .table>thead>.active>th,.factory-bootstrap-454 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-454 .table-hover>tbody>.active:hover>td,.factory-bootstrap-454 .table-hover>tbody>.active:hover>th,.factory-bootstrap-454 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-454 .table>tbody>.success>td,.factory-bootstrap-454 .table>tbody>.success>th,.factory-bootstrap-454 .table>tbody>tr>.success,.factory-bootstrap-454 .table>tfoot>.success>td,.factory-bootstrap-454 .table>tfoot>.success>th,.factory-bootstrap-454 .table>tfoot>tr>.success,.factory-bootstrap-454 .table>thead>.success>td,.factory-bootstrap-454 .table>thead>.success>th,.factory-bootstrap-454 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-454 .table-hover>tbody>.success:hover>td,.factory-bootstrap-454 .table-hover>tbody>.success:hover>th,.factory-bootstrap-454 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-454 .table>tbody>.danger>td,.factory-bootstrap-454 .table>tbody>.danger>th,.factory-bootstrap-454 .table>tbody>tr>.danger,.factory-bootstrap-454 .table>tfoot>.danger>td,.factory-bootstrap-454 .table>tfoot>.danger>th,.factory-bootstrap-454 .table>tfoot>tr>.danger,.factory-bootstrap-454 .table>thead>.danger>td,.factory-bootstrap-454 .table>thead>.danger>th,.factory-bootstrap-454 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-454 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-454 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-454 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-454 .table>tbody>.warning>td,.factory-bootstrap-454 .table>tbody>.warning>th,.factory-bootstrap-454 .table>tbody>tr>.warning,.factory-bootstrap-454 .table>tfoot>.warning>td,.factory-bootstrap-454 .table>tfoot>.warning>th,.factory-bootstrap-454 .table>tfoot>tr>.warning,.factory-bootstrap-454 .table>thead>.warning>td,.factory-bootstrap-454 .table>thead>.warning>th,.factory-bootstrap-454 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-454 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-454 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-454 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-454 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-454 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-454 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-454 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-454 input[type=checkbox],.factory-bootstrap-454 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-454 input[type=file]{display:block}.factory-bootstrap-454 select[multiple],.factory-bootstrap-454 select[size]{height:auto}.factory-bootstrap-454 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-454 input[type=checkbox]:focus,.factory-bootstrap-454 input[type=file]:focus,.factory-bootstrap-454 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-454 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-454 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-454 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-454 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-454 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-454 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-454 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-454 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-454 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-454 .form-control[disabled],.factory-bootstrap-454 .form-control[readonly],.factory-bootstrap-454 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-454 textarea.form-control{height:auto}.factory-bootstrap-454 .form-group{margin-bottom:15px}.factory-bootstrap-454 .checkbox,.factory-bootstrap-454 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-454 .checkbox label,.factory-bootstrap-454 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-454 .checkbox input[type=checkbox],.factory-bootstrap-454 .checkbox-inline input[type=checkbox],.factory-bootstrap-454 .radio input[type=radio],.factory-bootstrap-454 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-454 .checkbox+.checkbox,.factory-bootstrap-454 .radio+.radio{margin-top:-5px}.factory-bootstrap-454 .checkbox-inline,.factory-bootstrap-454 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-454 .checkbox-inline+.checkbox-inline,.factory-bootstrap-454 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-454 .checkbox-inline[disabled],.factory-bootstrap-454 .checkbox[disabled],.factory-bootstrap-454 .radio-inline[disabled],.factory-bootstrap-454 .radio[disabled],.factory-bootstrap-454 fieldset[disabled] .checkbox,.factory-bootstrap-454 fieldset[disabled] .checkbox-inline,.factory-bootstrap-454 fieldset[disabled] .radio,.factory-bootstrap-454 fieldset[disabled] .radio-inline,.factory-bootstrap-454 fieldset[disabled] input[type=checkbox],.factory-bootstrap-454 fieldset[disabled] input[type=radio],.factory-bootstrap-454 input[type=checkbox][disabled],.factory-bootstrap-454 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-454 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-454 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-454 textarea.input-sm{height:auto}.factory-bootstrap-454 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-454 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-454 textarea.input-lg{height:auto}.factory-bootstrap-454 .has-warning .checkbox,.factory-bootstrap-454 .has-warning .checkbox-inline,.factory-bootstrap-454 .has-warning .control-label,.factory-bootstrap-454 .has-warning .help-block,.factory-bootstrap-454 .has-warning .radio,.factory-bootstrap-454 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-454 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-454 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-454 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-454 .has-error .checkbox,.factory-bootstrap-454 .has-error .checkbox-inline,.factory-bootstrap-454 .has-error .control-label,.factory-bootstrap-454 .has-error .help-block,.factory-bootstrap-454 .has-error .radio,.factory-bootstrap-454 .has-error .radio-inline{color:#a94442}.factory-bootstrap-454 .controls{display:block}.factory-bootstrap-454 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-454 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-454 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-454 .has-success .checkbox,.factory-bootstrap-454 .has-success .checkbox-inline,.factory-bootstrap-454 .has-success .control-label,.factory-bootstrap-454 .has-success .help-block,.factory-bootstrap-454 .has-success .radio,.factory-bootstrap-454 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-454 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-454 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-454 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-454 .form-control-static{margin-bottom:0}.factory-bootstrap-454 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-454 .form-horizontal .checkbox,.factory-bootstrap-454 .form-horizontal .checkbox-inline,.factory-bootstrap-454 .form-horizontal .control-label,.factory-bootstrap-454 .form-horizontal .radio,.factory-bootstrap-454 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-454 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-454 .form-horizontal .checkbox,.factory-bootstrap-454 .form-horizontal .radio{min-height:27px}.factory-bootstrap-454 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-454 .form-horizontal .form-group:after,.factory-bootstrap-454 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-454 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-454 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-454 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-454 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-454 .btn{text-decoration:none}.factory-bootstrap-454 .btn:focus,.factory-bootstrap-454 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-454 .btn.disabled,.factory-bootstrap-454 .btn[disabled],.factory-bootstrap-454 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-454 .btn-default.active,.factory-bootstrap-454 .btn-default:active,.factory-bootstrap-454 .btn-default:focus,.factory-bootstrap-454 .btn-default:hover,.factory-bootstrap-454 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-454 .btn-default.active,.factory-bootstrap-454 .btn-default:active,.factory-bootstrap-454 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-454 .btn-default.disabled,.factory-bootstrap-454 .btn-default.disabled.active,.factory-bootstrap-454 .btn-default.disabled:active,.factory-bootstrap-454 .btn-default.disabled:focus,.factory-bootstrap-454 .btn-default.disabled:hover,.factory-bootstrap-454 .btn-default[disabled],.factory-bootstrap-454 .btn-default[disabled].active,.factory-bootstrap-454 .btn-default[disabled]:active,.factory-bootstrap-454 .btn-default[disabled]:focus,.factory-bootstrap-454 .btn-default[disabled]:hover,.factory-bootstrap-454 fieldset[disabled] .btn-default,.factory-bootstrap-454 fieldset[disabled] .btn-default.active,.factory-bootstrap-454 fieldset[disabled] .btn-default:active,.factory-bootstrap-454 fieldset[disabled] .btn-default:focus,.factory-bootstrap-454 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-454 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-454 .btn-primary.active,.factory-bootstrap-454 .btn-primary:active,.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover,.factory-bootstrap-454 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-454 .btn-primary.active,.factory-bootstrap-454 .btn-primary:active,.factory-bootstrap-454 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-454 .btn-primary.disabled,.factory-bootstrap-454 .btn-primary.disabled.active,.factory-bootstrap-454 .btn-primary.disabled:active,.factory-bootstrap-454 .btn-primary.disabled:focus,.factory-bootstrap-454 .btn-primary.disabled:hover,.factory-bootstrap-454 .btn-primary[disabled],.factory-bootstrap-454 .btn-primary[disabled].active,.factory-bootstrap-454 .btn-primary[disabled]:active,.factory-bootstrap-454 .btn-primary[disabled]:focus,.factory-bootstrap-454 .btn-primary[disabled]:hover,.factory-bootstrap-454 fieldset[disabled] .btn-primary,.factory-bootstrap-454 fieldset[disabled] .btn-primary.active,.factory-bootstrap-454 fieldset[disabled] .btn-primary:active,.factory-bootstrap-454 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-454 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-454 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-454 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-454 .btn-warning.active,.factory-bootstrap-454 .btn-warning:active,.factory-bootstrap-454 .btn-warning:focus,.factory-bootstrap-454 .btn-warning:hover,.factory-bootstrap-454 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-454 .btn-warning.active,.factory-bootstrap-454 .btn-warning:active,.factory-bootstrap-454 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-454 .btn-warning.disabled,.factory-bootstrap-454 .btn-warning.disabled.active,.factory-bootstrap-454 .btn-warning.disabled:active,.factory-bootstrap-454 .btn-warning.disabled:focus,.factory-bootstrap-454 .btn-warning.disabled:hover,.factory-bootstrap-454 .btn-warning[disabled],.factory-bootstrap-454 .btn-warning[disabled].active,.factory-bootstrap-454 .btn-warning[disabled]:active,.factory-bootstrap-454 .btn-warning[disabled]:focus,.factory-bootstrap-454 .btn-warning[disabled]:hover,.factory-bootstrap-454 fieldset[disabled] .btn-warning,.factory-bootstrap-454 fieldset[disabled] .btn-warning.active,.factory-bootstrap-454 fieldset[disabled] .btn-warning:active,.factory-bootstrap-454 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-454 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-454 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-454 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-454 .btn-success.active,.factory-bootstrap-454 .btn-success:active,.factory-bootstrap-454 .btn-success:focus,.factory-bootstrap-454 .btn-success:hover,.factory-bootstrap-454 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-454 .btn-success.active,.factory-bootstrap-454 .btn-success:active,.factory-bootstrap-454 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-454 .btn-success.disabled,.factory-bootstrap-454 .btn-success.disabled.active,.factory-bootstrap-454 .btn-success.disabled:active,.factory-bootstrap-454 .btn-success.disabled:focus,.factory-bootstrap-454 .btn-success.disabled:hover,.factory-bootstrap-454 .btn-success[disabled],.factory-bootstrap-454 .btn-success[disabled].active,.factory-bootstrap-454 .btn-success[disabled]:active,.factory-bootstrap-454 .btn-success[disabled]:focus,.factory-bootstrap-454 .btn-success[disabled]:hover,.factory-bootstrap-454 fieldset[disabled] .btn-success,.factory-bootstrap-454 fieldset[disabled] .btn-success.active,.factory-bootstrap-454 fieldset[disabled] .btn-success:active,.factory-bootstrap-454 fieldset[disabled] .btn-success:focus,.factory-bootstrap-454 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-454 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-454 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-454 .btn-info.active,.factory-bootstrap-454 .btn-info:active,.factory-bootstrap-454 .btn-info:focus,.factory-bootstrap-454 .btn-info:hover,.factory-bootstrap-454 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-454 .btn-info.active,.factory-bootstrap-454 .btn-info:active,.factory-bootstrap-454 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-454 .btn-info.disabled,.factory-bootstrap-454 .btn-info.disabled.active,.factory-bootstrap-454 .btn-info.disabled:active,.factory-bootstrap-454 .btn-info.disabled:focus,.factory-bootstrap-454 .btn-info.disabled:hover,.factory-bootstrap-454 .btn-info[disabled],.factory-bootstrap-454 .btn-info[disabled].active,.factory-bootstrap-454 .btn-info[disabled]:active,.factory-bootstrap-454 .btn-info[disabled]:focus,.factory-bootstrap-454 .btn-info[disabled]:hover,.factory-bootstrap-454 fieldset[disabled] .btn-info,.factory-bootstrap-454 fieldset[disabled] .btn-info.active,.factory-bootstrap-454 fieldset[disabled] .btn-info:active,.factory-bootstrap-454 fieldset[disabled] .btn-info:focus,.factory-bootstrap-454 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-454 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-454 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-454 .btn-link,.factory-bootstrap-454 .btn-link:active,.factory-bootstrap-454 .btn-link[disabled],.factory-bootstrap-454 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-454 .btn-link,.factory-bootstrap-454 .btn-link:active,.factory-bootstrap-454 .btn-link:focus,.factory-bootstrap-454 .btn-link:hover{border-color:transparent}.factory-bootstrap-454 .btn-link:focus,.factory-bootstrap-454 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-454 .btn-link[disabled]:focus,.factory-bootstrap-454 .btn-link[disabled]:hover,.factory-bootstrap-454 fieldset[disabled] .btn-link:focus,.factory-bootstrap-454 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-454 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-454 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-454 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-454 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-454 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-454 input[type=button].btn-block,.factory-bootstrap-454 input[type=reset].btn-block,.factory-bootstrap-454 input[type=submit].btn-block{width:100%}.factory-bootstrap-454 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-454 .fade.in{opacity:1}.factory-bootstrap-454 .collapse{display:none}.factory-bootstrap-454 .collapse.in{display:block}.factory-bootstrap-454 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-454 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-454 .glyphicon:empty{width:1em}.factory-bootstrap-454 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-454 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-454 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-454 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-454 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-454 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-454 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-454 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-454 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-454 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-454 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-454 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-454 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-454 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-454 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-454 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-454 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-454 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-454 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-454 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-454 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-454 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-454 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-454 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-454 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-454 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-454 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-454 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-454 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-454 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-454 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-454 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-454 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-454 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-454 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-454 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-454 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-454 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-454 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-454 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-454 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-454 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-454 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-454 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-454 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-454 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-454 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-454 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-454 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-454 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-454 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-454 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-454 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-454 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-454 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-454 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-454 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-454 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-454 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-454 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-454 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-454 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-454 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-454 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-454 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-454 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-454 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-454 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-454 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-454 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-454 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-454 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-454 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-454 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-454 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-454 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-454 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-454 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-454 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-454 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-454 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-454 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-454 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-454 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-454 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-454 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-454 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-454 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-454 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-454 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-454 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-454 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-454 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-454 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-454 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-454 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-454 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-454 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-454 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-454 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-454 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-454 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-454 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-454 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-454 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-454 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-454 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-454 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-454 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-454 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-454 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-454 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-454 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-454 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-454 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-454 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-454 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-454 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-454 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-454 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-454 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-454 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-454 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-454 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-454 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-454 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-454 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-454 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-454 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-454 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-454 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-454 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-454 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-454 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-454 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-454 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-454 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-454 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-454 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-454 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-454 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-454 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-454 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-454 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-454 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-454 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-454 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-454 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-454 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-454 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-454 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-454 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-454 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-454 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-454 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-454 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-454 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-454 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-454 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-454 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-454 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-454 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-454 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-454 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-454 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-454 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-454 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-454 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-454 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-454 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-454 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-454 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-454 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-454 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-454 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-454 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-454 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-454 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-454 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-454 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-454 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-454 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-454 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-454 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-454 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-454 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-454 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-454 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-454 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-454 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-454 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-454 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-454 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-454 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-454 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-454 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-454 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-454 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-454 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-454 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-454 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-454 .dropdown{position:relative}.factory-bootstrap-454 .dropdown-toggle:focus{outline:0}.factory-bootstrap-454 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-454 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-454 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-454 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-454 .dropdown-menu>li>a:focus,.factory-bootstrap-454 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-454 .dropdown-menu>.active>a,.factory-bootstrap-454 .dropdown-menu>.active>a:focus,.factory-bootstrap-454 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-454 .dropdown-menu>.disabled>a,.factory-bootstrap-454 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-454 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-454 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-454 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-454 .open>.dropdown-menu{display:block}.factory-bootstrap-454 .open>a{outline:0}.factory-bootstrap-454 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-454 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-454 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-454 .dropup .caret,.factory-bootstrap-454 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-454 .dropup .dropdown-menu,.factory-bootstrap-454 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-454 .btn-group,.factory-bootstrap-454 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-454 .btn-group-vertical>.btn,.factory-bootstrap-454 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-454 .btn-group-vertical>.btn.active,.factory-bootstrap-454 .btn-group-vertical>.btn:active,.factory-bootstrap-454 .btn-group-vertical>.btn:focus,.factory-bootstrap-454 .btn-group-vertical>.btn:hover,.factory-bootstrap-454 .btn-group>.btn.active,.factory-bootstrap-454 .btn-group>.btn:active,.factory-bootstrap-454 .btn-group>.btn:focus,.factory-bootstrap-454 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-454 .btn-group-vertical>.btn:focus,.factory-bootstrap-454 .btn-group>.btn:focus{outline:0}.factory-bootstrap-454 .btn-group .btn+.btn,.factory-bootstrap-454 .btn-group .btn+.btn-group,.factory-bootstrap-454 .btn-group .btn-group+.btn,.factory-bootstrap-454 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-454 .btn-toolbar:after,.factory-bootstrap-454 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-454 .btn-toolbar:after{clear:both}.factory-bootstrap-454 .btn-toolbar .btn-group{float:left}.factory-bootstrap-454 .btn-toolbar>.btn+.btn,.factory-bootstrap-454 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-454 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-454 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-454 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-454 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-454 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-454 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-454 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .btn-group>.btn-group{float:left}.factory-bootstrap-454 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-454 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-454 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-454 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .btn-group .dropdown-toggle:active,.factory-bootstrap-454 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-454 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-454 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-454 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-454 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-454 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-454 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-454 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-454 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-454 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-454 .btn .caret{margin-left:0}.factory-bootstrap-454 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-454 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-454 .btn-group-vertical>.btn,.factory-bootstrap-454 .btn-group-vertical>.btn-group,.factory-bootstrap-454 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-454 .btn-group-vertical>.btn-group:after,.factory-bootstrap-454 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-454 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-454 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-454 .btn-group-vertical>.btn+.btn,.factory-bootstrap-454 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-454 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-454 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-454 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-454 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-454 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-454 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-454 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-454 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-454 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-454 .btn-group-justified>.btn,.factory-bootstrap-454 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-454 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-454 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-454 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-454 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-454 .input-group-lg>.form-control,.factory-bootstrap-454 .input-group-lg>.input-group-addon,.factory-bootstrap-454 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-454 select.input-group-lg>.form-control,.factory-bootstrap-454 select.input-group-lg>.input-group-addon,.factory-bootstrap-454 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-454 textarea.input-group-lg>.form-control,.factory-bootstrap-454 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-454 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-454 .input-group-sm>.form-control,.factory-bootstrap-454 .input-group-sm>.input-group-addon,.factory-bootstrap-454 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-454 select.input-group-sm>.form-control,.factory-bootstrap-454 select.input-group-sm>.input-group-addon,.factory-bootstrap-454 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-454 textarea.input-group-sm>.form-control,.factory-bootstrap-454 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-454 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-454 .input-group .form-control,.factory-bootstrap-454 .input-group-addon,.factory-bootstrap-454 .input-group-btn{display:table-cell}.factory-bootstrap-454 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-454 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-454 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-454 .input-group-addon,.factory-bootstrap-454 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-454 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-454 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-454 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-454 .input-group-addon input[type=checkbox],.factory-bootstrap-454 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-454 .input-group .form-control:first-child,.factory-bootstrap-454 .input-group-addon:first-child,.factory-bootstrap-454 .input-group-btn:first-child>.btn,.factory-bootstrap-454 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-454 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-454 .input-group-addon:first-child{border-right:0}.factory-bootstrap-454 .input-group .form-control:last-child,.factory-bootstrap-454 .input-group-addon:last-child,.factory-bootstrap-454 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-454 .input-group-btn:last-child>.btn,.factory-bootstrap-454 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .input-group-addon:last-child{border-left:0}.factory-bootstrap-454 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-454 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-454 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-454 .input-group-btn>.btn{position:relative}.factory-bootstrap-454 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-454 .input-group-btn>.btn:active,.factory-bootstrap-454 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-454 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-454 .nav:after,.factory-bootstrap-454 .nav:before{display:table;content:" "}.factory-bootstrap-454 .nav:after{clear:both}.factory-bootstrap-454 .nav>li{position:relative;display:block}.factory-bootstrap-454 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-454 .nav>li>a:focus,.factory-bootstrap-454 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-454 .nav>li.disabled>a{color:#999}.factory-bootstrap-454 .nav>li.disabled>a:focus,.factory-bootstrap-454 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-454 .nav .open>a,.factory-bootstrap-454 .nav .open>a:focus,.factory-bootstrap-454 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-454 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-454 .nav>li>a>img{max-width:none}.factory-bootstrap-454 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-454 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-454 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-454 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-454 .nav-tabs>li.active>a,.factory-bootstrap-454 .nav-tabs>li.active>a:focus,.factory-bootstrap-454 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-454 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-454 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-454 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-454 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-454 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-454 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-454 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-454 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-454 .nav-pills>li{float:left}.factory-bootstrap-454 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-454 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-454 .nav-pills>li.active>a,.factory-bootstrap-454 .nav-pills>li.active>a:focus,.factory-bootstrap-454 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-454 .nav-stacked>li{float:none}.factory-bootstrap-454 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-454 .nav-justified{width:100%}.factory-bootstrap-454 .nav-justified>li{float:none}.factory-bootstrap-454 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-454 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-454 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-454 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-454 .nav-tabs-justified>.active>a,.factory-bootstrap-454 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-454 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-454 .tab-content>.tab-pane{display:none}.factory-bootstrap-454 .tab-content>.active{display:block}.factory-bootstrap-454 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-454 .navbar:after,.factory-bootstrap-454 .navbar:before{display:table;content:" "}.factory-bootstrap-454 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-454 .navbar-header:after,.factory-bootstrap-454 .navbar-header:before{display:table;content:" "}.factory-bootstrap-454 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-454 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-454 .navbar-collapse:after,.factory-bootstrap-454 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-454 .navbar-collapse:after{clear:both}.factory-bootstrap-454 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-454 .container>.navbar-collapse,.factory-bootstrap-454 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-454 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-454 .navbar-fixed-bottom,.factory-bootstrap-454 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-454 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-454 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-454 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-454 .navbar-brand:focus,.factory-bootstrap-454 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-454 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-454 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-454 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-454 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-454 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-454 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-454 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-454 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-454 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-454 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-454 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-454 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-454 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-454 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-454 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-454 .navbar-default .navbar-brand:focus,.factory-bootstrap-454 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-454 .navbar-default .navbar-nav>li>a,.factory-bootstrap-454 .navbar-default .navbar-text{color:#777}.factory-bootstrap-454 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-454 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-454 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-454 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-454 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-454 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-454 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-454 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-454 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-454 .navbar-default .navbar-toggle:focus,.factory-bootstrap-454 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-454 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-454 .navbar-default .navbar-collapse,.factory-bootstrap-454 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-454 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-454 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-454 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-454 .navbar-default .navbar-link{color:#777}.factory-bootstrap-454 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-454 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-454 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-454 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-454 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-454 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-454 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-454 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-454 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-454 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-454 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-454 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-454 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-454 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-454 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-454 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-454 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-454 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-454 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-454 .navbar-inverse .navbar-collapse,.factory-bootstrap-454 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-454 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-454 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-454 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-454 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-454 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-454 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-454 .breadcrumb>li{display:inline-block}.factory-bootstrap-454 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-454 .breadcrumb>.active{color:#999}.factory-bootstrap-454 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-454 .pagination>li{display:inline}.factory-bootstrap-454 .pagination>li>a,.factory-bootstrap-454 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-454 .pagination>li:first-child>a,.factory-bootstrap-454 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-454 .pagination>li:last-child>a,.factory-bootstrap-454 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-454 .pagination>li>a:focus,.factory-bootstrap-454 .pagination>li>a:hover,.factory-bootstrap-454 .pagination>li>span:focus,.factory-bootstrap-454 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-454 .pagination>.disabled>a,.factory-bootstrap-454 .pagination>.disabled>a:focus,.factory-bootstrap-454 .pagination>.disabled>a:hover,.factory-bootstrap-454 .pagination>.disabled>span,.factory-bootstrap-454 .pagination>.disabled>span:focus,.factory-bootstrap-454 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-454 .pagination-lg>li>a,.factory-bootstrap-454 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-454 .pagination-lg>li:first-child>a,.factory-bootstrap-454 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-454 .pagination-lg>li:last-child>a,.factory-bootstrap-454 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-454 .pagination-sm>li>a,.factory-bootstrap-454 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-454 .pagination-sm>li:first-child>a,.factory-bootstrap-454 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-454 .pagination-sm>li:last-child>a,.factory-bootstrap-454 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-454 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-454 .pager:after,.factory-bootstrap-454 .pager:before{display:table;content:" "}.factory-bootstrap-454 .pager:after{clear:both}.factory-bootstrap-454 .pager li{display:inline}.factory-bootstrap-454 .pager li>a,.factory-bootstrap-454 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-454 .pager li>a:focus,.factory-bootstrap-454 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-454 .pager .next>a,.factory-bootstrap-454 .pager .next>span{float:right}.factory-bootstrap-454 .pager .previous>a,.factory-bootstrap-454 .pager .previous>span{float:left}.factory-bootstrap-454 .pager .disabled>a,.factory-bootstrap-454 .pager .disabled>a:focus,.factory-bootstrap-454 .pager .disabled>a:hover,.factory-bootstrap-454 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-454 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-454 .label[href]:focus,.factory-bootstrap-454 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-454 .label:empty{display:none}.factory-bootstrap-454 .btn .label{position:relative;top:-1px}.factory-bootstrap-454 .label-default{background-color:#999}.factory-bootstrap-454 .label-default[href]:focus,.factory-bootstrap-454 .label-default[href]:hover{background-color:gray}.factory-bootstrap-454 .label-primary{background-color:#428bca}.factory-bootstrap-454 .label-primary[href]:focus,.factory-bootstrap-454 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-454 .label-success{background-color:#5cb85c}.factory-bootstrap-454 .label-success[href]:focus,.factory-bootstrap-454 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-454 .label-info{background-color:#5bc0de}.factory-bootstrap-454 .label-info[href]:focus,.factory-bootstrap-454 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-454 .label-warning{background-color:#f0ad4e}.factory-bootstrap-454 .label-warning[href]:focus,.factory-bootstrap-454 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-454 .label-danger{background-color:#d9534f}.factory-bootstrap-454 .label-danger[href]:focus,.factory-bootstrap-454 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-454 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-454 .badge:empty{display:none}.factory-bootstrap-454 .btn .badge{position:relative;top:-1px}.factory-bootstrap-454 a.badge:focus,.factory-bootstrap-454 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-454 .nav-pills>.active>a>.badge,.factory-bootstrap-454 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-454 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-454 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-454 .jumbotron .h1,.factory-bootstrap-454 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-454 .jumbotron p{line-height:1.4}.factory-bootstrap-454 .container .jumbotron{border-radius:6px}.factory-bootstrap-454 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-454 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-454 .thumbnail a>img,.factory-bootstrap-454 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-454 a.thumbnail.active,.factory-bootstrap-454 a.thumbnail:focus,.factory-bootstrap-454 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-454 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-454 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-454 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-454 .alert .alert-link{font-weight:700}.factory-bootstrap-454 .alert>p,.factory-bootstrap-454 .alert>ul{margin-bottom:0}.factory-bootstrap-454 .alert>p+p{margin-top:5px}.factory-bootstrap-454 .alert-dismissable{padding-right:35px}.factory-bootstrap-454 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-454 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-454 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-454 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-454 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-454 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-454 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-454 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-454 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-454 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-454 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-454 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-454 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-454 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-454 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-454 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-454 .media,.factory-bootstrap-454 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-454 .media,.factory-bootstrap-454 .media .media{margin-top:15px}.factory-bootstrap-454 .media:first-child{margin-top:0}.factory-bootstrap-454 .media-object{display:block}.factory-bootstrap-454 .media-heading{margin:0 0 5px}.factory-bootstrap-454 .media>.pull-left{margin-right:10px}.factory-bootstrap-454 .media>.pull-right{margin-left:10px}.factory-bootstrap-454 .media-list{padding-left:0;list-style:none}.factory-bootstrap-454 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-454 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-454 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-454 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-454 .list-group-item>.badge{float:right}.factory-bootstrap-454 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-454 a.list-group-item{color:#555}.factory-bootstrap-454 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-454 a.list-group-item:focus,.factory-bootstrap-454 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-454 a.list-group-item.active,.factory-bootstrap-454 a.list-group-item.active:focus,.factory-bootstrap-454 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-454 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-454 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-454 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-454 a.list-group-item.active .list-group-item-text,.factory-bootstrap-454 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-454 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-454 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-454 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-454 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-454 .panel-body{padding:15px}.factory-bootstrap-454 .panel-body:after,.factory-bootstrap-454 .panel-body:before{display:table;content:" "}.factory-bootstrap-454 .panel-body:after{clear:both}.factory-bootstrap-454 .panel>.list-group{margin-bottom:0}.factory-bootstrap-454 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-454 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-454 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-454 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-454 .panel>.table,.factory-bootstrap-454 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-454 .panel>.panel-body+.table,.factory-bootstrap-454 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-454 .panel>.table>tbody:first-child td,.factory-bootstrap-454 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-454 .panel>.table-bordered,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-454 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-454 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-454 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-454 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-454 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-454 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-454 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-454 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-454 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-454 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-454 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-454 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-454 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-454 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-454 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-454 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-454 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-454 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-454 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-454 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-454 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-454 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-454 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-454 .panel-title>a{color:inherit}.factory-bootstrap-454 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-454 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-454 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-454 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-454 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-454 .panel-group .panel-footer{border-top:0}.factory-bootstrap-454 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-454 .panel-default{border-color:#ddd}.factory-bootstrap-454 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-454 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-454 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-454 .panel-primary{border-color:#428bca}.factory-bootstrap-454 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-454 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-454 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-454 .panel-success{border-color:#d6e9c6}.factory-bootstrap-454 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-454 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-454 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-454 .panel-warning{border-color:#faebcc}.factory-bootstrap-454 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-454 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-454 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-454 .panel-danger{border-color:#ebccd1}.factory-bootstrap-454 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-454 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-454 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-454 .panel-info{border-color:#bce8f1}.factory-bootstrap-454 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-454 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-454 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-454 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-454 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-454 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-454 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-454 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-454 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-454 .close:focus,.factory-bootstrap-454 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-454 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-454 .modal-open{overflow:hidden}.factory-bootstrap-454 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-454 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-454 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-454 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-454 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-454 .modal-backdrop,.factory-bootstrap-454-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-454 .modal-backdrop.fade,.factory-bootstrap-454-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-454 .modal-backdrop.in,.factory-bootstrap-454-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-454 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-454 .modal-header .close{margin-top:-2px}.factory-bootstrap-454 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-454 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-454 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-454 .modal-footer:after,.factory-bootstrap-454 .modal-footer:before{display:table;content:" "}.factory-bootstrap-454 .modal-footer:after{clear:both}.factory-bootstrap-454 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-454 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-454 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-454 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-454 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-454 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-454 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-454 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-454 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-454 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-454 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-454 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-454 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-454 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-454 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-454 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-454 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-454 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-454 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-454 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-454 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-454 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-454 .popover.top{margin-top:-10px}.factory-bootstrap-454 .popover.right{margin-left:10px}.factory-bootstrap-454 .popover.bottom{margin-top:10px}.factory-bootstrap-454 .popover.left{margin-left:-10px}.factory-bootstrap-454 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-454 .popover-content{padding:9px 14px}.factory-bootstrap-454 .popover .arrow,.factory-bootstrap-454 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-454 .popover .arrow{border-width:11px}.factory-bootstrap-454 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-454 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-454 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-454 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-454 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-454 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-454 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-454 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-454 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-454 .carousel{position:relative}.factory-bootstrap-454 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-454 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-454 .carousel-inner>.item>a>img,.factory-bootstrap-454 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-454 .carousel-inner>.active,.factory-bootstrap-454 .carousel-inner>.next,.factory-bootstrap-454 .carousel-inner>.prev{display:block}.factory-bootstrap-454 .carousel-inner>.active{left:0}.factory-bootstrap-454 .carousel-inner>.next,.factory-bootstrap-454 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-454 .carousel-inner>.next{left:100%}.factory-bootstrap-454 .carousel-inner>.prev{left:-100%}.factory-bootstrap-454 .carousel-inner>.next.left,.factory-bootstrap-454 .carousel-inner>.prev.right{left:0}.factory-bootstrap-454 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-454 .carousel-inner>.active.right{left:100%}.factory-bootstrap-454 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-454 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-454 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-454 .carousel-control:focus,.factory-bootstrap-454 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-454 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-454 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-454 .carousel-control .icon-next,.factory-bootstrap-454 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-454 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-454 .carousel-control .icon-prev{left:50%}.factory-bootstrap-454 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-454 .carousel-control .icon-next{right:50%}.factory-bootstrap-454 .carousel-control .icon-next,.factory-bootstrap-454 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-454 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-454 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-454 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-454 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-454 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-454 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-454 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-454 .clearfix:after,.factory-bootstrap-454 .clearfix:before{display:table;content:" "}.factory-bootstrap-454 .clearfix:after{clear:both}.factory-bootstrap-454 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-454 .pull-right{float:right!important}.factory-bootstrap-454 .pull-left{float:left!important}.factory-bootstrap-454 .hide{display:none!important}.factory-bootstrap-454 .show{display:block!important}.factory-bootstrap-454 .invisible{visibility:hidden}.factory-bootstrap-454 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-454 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-454 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-454 .visible-lg,.factory-bootstrap-454 .visible-md,.factory-bootstrap-454 .visible-sm,.factory-bootstrap-454 .visible-xs,.factory-bootstrap-454 td.visible-lg,.factory-bootstrap-454 td.visible-md,.factory-bootstrap-454 td.visible-sm,.factory-bootstrap-454 td.visible-xs,.factory-bootstrap-454 th.visible-lg,.factory-bootstrap-454 th.visible-md,.factory-bootstrap-454 th.visible-sm,.factory-bootstrap-454 th.visible-xs,.factory-bootstrap-454 tr.visible-lg,.factory-bootstrap-454 tr.visible-md,.factory-bootstrap-454 tr.visible-sm,.factory-bootstrap-454 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-454 .hidden-xs{display:block!important}.factory-bootstrap-454 table.hidden-xs{display:table}.factory-bootstrap-454 tr.hidden-xs{display:table-row!important}.factory-bootstrap-454 td.hidden-xs,.factory-bootstrap-454 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-454 .hidden-sm{display:block!important}.factory-bootstrap-454 table.hidden-sm{display:table}.factory-bootstrap-454 tr.hidden-sm{display:table-row!important}.factory-bootstrap-454 td.hidden-sm,.factory-bootstrap-454 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-454 .hidden-md{display:block!important}.factory-bootstrap-454 table.hidden-md{display:table}.factory-bootstrap-454 tr.hidden-md{display:table-row!important}.factory-bootstrap-454 td.hidden-md,.factory-bootstrap-454 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-454 .hidden-lg{display:block!important}.factory-bootstrap-454 table.hidden-lg{display:table}.factory-bootstrap-454 tr.hidden-lg{display:table-row!important}.factory-bootstrap-454 td.hidden-lg,.factory-bootstrap-454 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-454 .hidden-lg.hidden-xs,.factory-bootstrap-454 td.hidden-lg.hidden-xs,.factory-bootstrap-454 th.hidden-lg.hidden-xs,.factory-bootstrap-454 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-454 .hidden-lg.hidden-sm,.factory-bootstrap-454 td.hidden-lg.hidden-sm,.factory-bootstrap-454 th.hidden-lg.hidden-sm,.factory-bootstrap-454 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-454 .hidden-lg.hidden-md,.factory-bootstrap-454 td.hidden-lg.hidden-md,.factory-bootstrap-454 th.hidden-lg.hidden-md,.factory-bootstrap-454 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-454 .hidden-lg,.factory-bootstrap-454 td.hidden-lg,.factory-bootstrap-454 th.hidden-lg,.factory-bootstrap-454 tr.hidden-lg{display:none!important}}.factory-bootstrap-454 .visible-print,.factory-bootstrap-454 td.visible-print,.factory-bootstrap-454 th.visible-print,.factory-bootstrap-454 tr.visible-print{display:none!important}@media print{.factory-bootstrap-454 .visible-print{display:block!important}.factory-bootstrap-454 table.visible-print{display:table}.factory-bootstrap-454 tr.visible-print{display:table-row!important}.factory-bootstrap-454 td.visible-print,.factory-bootstrap-454 th.visible-print{display:table-cell!important}.factory-bootstrap-454 .hidden-print,.factory-bootstrap-454 td.hidden-print,.factory-bootstrap-454 th.hidden-print,.factory-bootstrap-454 tr.hidden-print{display:none!important}}.factory-bootstrap-454 .btn-danger,.factory-bootstrap-454 .btn-default,.factory-bootstrap-454 .btn-info,.factory-bootstrap-454 .btn-primary,.factory-bootstrap-454 .btn-success,.factory-bootstrap-454 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-454 .btn-danger.active,.factory-bootstrap-454 .btn-danger:active,.factory-bootstrap-454 .btn-default.active,.factory-bootstrap-454 .btn-default:active,.factory-bootstrap-454 .btn-info.active,.factory-bootstrap-454 .btn-info:active,.factory-bootstrap-454 .btn-primary.active,.factory-bootstrap-454 .btn-primary:active,.factory-bootstrap-454 .btn-success.active,.factory-bootstrap-454 .btn-success:active,.factory-bootstrap-454 .btn-warning.active,.factory-bootstrap-454 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-454 .btn.active,.factory-bootstrap-454 .btn:active{background-image:none}.factory-bootstrap-454 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-454 .btn-default.active,.factory-bootstrap-454 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-454 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-454 .btn-gold:focus,.factory-bootstrap-454 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-454 .btn-gold.active,.factory-bootstrap-454 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-454 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-454 .btn-primary.active,.factory-bootstrap-454 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-454 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-454 .btn-success:focus,.factory-bootstrap-454 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-454 .btn-success.active,.factory-bootstrap-454 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-454 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-454 .btn-warning:focus,.factory-bootstrap-454 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-454 .btn-warning.active,.factory-bootstrap-454 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-454 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-454 .btn-danger.active,.factory-bootstrap-454 .btn-danger:active,.factory-bootstrap-454 .btn-danger:focus,.factory-bootstrap-454 .btn-danger:hover,.factory-bootstrap-454 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-454 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-454 .btn-info:focus,.factory-bootstrap-454 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-454 .btn-info.active,.factory-bootstrap-454 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-454 .img-thumbnail,.factory-bootstrap-454 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-454 .dropdown-menu>li>a:focus,.factory-bootstrap-454 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-454 .dropdown-menu>.active>a,.factory-bootstrap-454 .dropdown-menu>.active>a:focus,.factory-bootstrap-454 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-454 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-454 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-454 .navbar-brand,.factory-bootstrap-454 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-454 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-454 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-454 .navbar-inverse .navbar-brand,.factory-bootstrap-454 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-454 .navbar-fixed-bottom,.factory-bootstrap-454 .navbar-fixed-top,.factory-bootstrap-454 .navbar-static-top{border-radius:0}.factory-bootstrap-454 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-454 .alert .actions{padding-top:10px}.factory-bootstrap-454 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-454 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-454 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-454 .alert-normal,.factory-bootstrap-454 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-454 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-454 .alert-danger a:not(.btn),.factory-bootstrap-454 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-454 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-454 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-454 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-454 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-454 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-454 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-454 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-454 .list-group-item.active,.factory-bootstrap-454 .list-group-item.active:focus,.factory-bootstrap-454 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-454 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-454 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-454 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-454 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-454 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-454 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-454 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-454 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-454 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-454 .factory-hidden{display:none}.factory-bootstrap-454 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/bootstrap/assets/css-min/bootstrap.datepicker.min.css CHANGED
@@ -1,17 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- /*!
12
- * Datepicker for Bootstrap v1.5.0-dev (https://github.com/eternicode/bootstrap-datepicker)
13
- *
14
- * Copyright 2012 Stefan Petre
15
- * Improvements by Andrew Rowls
16
- * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
17
- */.datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-top:before{top:-7px}.datepicker-dropdown.datepicker-orient-top:after{top:-6px}.datepicker-dropdown.datepicker-orient-bottom:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-bottom:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker>div{display:none}.datepicker.days .datepicker-days,.datepicker.months .datepicker-months,.datepicker.years .datepicker-years{display:block}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:0}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:focus,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:focus,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:focus,.datepicker table tr td.today:hover:hover,.open .dropdown-toggle.datepicker table tr td.today,.open .dropdown-toggle.datepicker table tr td.today.disabled,.open .dropdown-toggle.datepicker table tr td.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.today:hover{color:#000;background-color:#ffcd70;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active,.open .dropdown-toggle.datepicker table tr td.today,.open .dropdown-toggle.datepicker table tr td.today.disabled,.open .dropdown-toggle.datepicker table tr td.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.today:hover{background-image:none}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled.disabled.active,.datepicker table tr td.today.disabled.disabled:active,.datepicker table tr td.today.disabled.disabled:focus,.datepicker table tr td.today.disabled.disabled:hover,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover.disabled.active,.datepicker table tr td.today.disabled:hover.disabled:active,.datepicker table tr td.today.disabled:hover.disabled:focus,.datepicker table tr td.today.disabled:hover.disabled:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled:hover[disabled].active,.datepicker table tr td.today.disabled:hover[disabled]:active,.datepicker table tr td.today.disabled:hover[disabled]:focus,.datepicker table tr td.today.disabled:hover[disabled]:hover,.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled[disabled].active,.datepicker table tr td.today.disabled[disabled]:active,.datepicker table tr td.today.disabled[disabled]:focus,.datepicker table tr td.today.disabled[disabled]:hover,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover.disabled.active,.datepicker table tr td.today:hover.disabled:active,.datepicker table tr td.today:hover.disabled:focus,.datepicker table tr td.today:hover.disabled:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today:hover[disabled].active,.datepicker table tr td.today:hover[disabled]:active,.datepicker table tr td.today:hover[disabled]:focus,.datepicker table tr td.today:hover[disabled]:hover,.datepicker table tr td.today[disabled],.datepicker table tr td.today[disabled].active,.datepicker table tr td.today[disabled]:active,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today,fieldset[disabled] .datepicker table tr td.today.active,fieldset[disabled] .datepicker table tr td.today.disabled,fieldset[disabled] .datepicker table tr td.today.disabled.active,fieldset[disabled] .datepicker table tr td.today.disabled:active,fieldset[disabled] .datepicker table tr td.today.disabled:focus,fieldset[disabled] .datepicker table tr td.today.disabled:hover,fieldset[disabled] .datepicker table tr td.today.disabled:hover.active,fieldset[disabled] .datepicker table tr td.today.disabled:hover:active,fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.today:active,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover,fieldset[disabled] .datepicker table tr td.today:hover.active,fieldset[disabled] .datepicker table tr td.today:hover:active,fieldset[disabled] .datepicker table tr td.today:hover:focus,fieldset[disabled] .datepicker table tr td.today:hover:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{color:#000;background-color:#f7ca77;border-color:#f1a417;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:focus,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:focus,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:focus,.datepicker table tr td.range.today:hover:hover,.open .dropdown-toggle.datepicker table tr td.range.today,.open .dropdown-toggle.datepicker table tr td.range.today.disabled,.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.range.today:hover{color:#000;background-color:#f4bb51;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active,.open .dropdown-toggle.datepicker table tr td.range.today,.open .dropdown-toggle.datepicker table tr td.range.today.disabled,.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.range.today:hover{background-image:none}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled.disabled.active,.datepicker table tr td.range.today.disabled.disabled:active,.datepicker table tr td.range.today.disabled.disabled:focus,.datepicker table tr td.range.today.disabled.disabled:hover,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover.disabled.active,.datepicker table tr td.range.today.disabled:hover.disabled:active,.datepicker table tr td.range.today.disabled:hover.disabled:focus,.datepicker table tr td.range.today.disabled:hover.disabled:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled:hover[disabled].active,.datepicker table tr td.range.today.disabled:hover[disabled]:active,.datepicker table tr td.range.today.disabled:hover[disabled]:focus,.datepicker table tr td.range.today.disabled:hover[disabled]:hover,.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today.disabled[disabled].active,.datepicker table tr td.range.today.disabled[disabled]:active,.datepicker table tr td.range.today.disabled[disabled]:focus,.datepicker table tr td.range.today.disabled[disabled]:hover,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover.disabled.active,.datepicker table tr td.range.today:hover.disabled:active,.datepicker table tr td.range.today:hover.disabled:focus,.datepicker table tr td.range.today:hover.disabled:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today:hover[disabled].active,.datepicker table tr td.range.today:hover[disabled]:active,.datepicker table tr td.range.today:hover[disabled]:focus,.datepicker table tr td.range.today:hover[disabled]:hover,.datepicker table tr td.range.today[disabled],.datepicker table tr td.range.today[disabled].active,.datepicker table tr td.range.today[disabled]:active,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today,fieldset[disabled] .datepicker table tr td.range.today.active,fieldset[disabled] .datepicker table tr td.range.today.disabled,fieldset[disabled] .datepicker table tr td.range.today.disabled.active,fieldset[disabled] .datepicker table tr td.range.today.disabled:active,fieldset[disabled] .datepicker table tr td.range.today.disabled:focus,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.range.today:active,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover,fieldset[disabled] .datepicker table tr td.range.today:hover.active,fieldset[disabled] .datepicker table tr td.range.today:hover:active,fieldset[disabled] .datepicker table tr td.range.today:hover:focus,fieldset[disabled] .datepicker table tr td.range.today:hover:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#999;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:focus,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected:active,.datepicker table tr td.selected:focus,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:focus,.datepicker table tr td.selected:hover:hover,.open .dropdown-toggle.datepicker table tr td.selected,.open .dropdown-toggle.datepicker table tr td.selected.disabled,.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover,.open .dropdown-toggle.datepicker table tr td.selected:hover{color:#fff;background-color:#858585;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active,.open .dropdown-toggle.datepicker table tr td.selected,.open .dropdown-toggle.datepicker table tr td.selected.disabled,.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover,.open .dropdown-toggle.datepicker table tr td.selected:hover{background-image:none}.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled.disabled.active,.datepicker table tr td.selected.disabled.disabled:active,.datepicker table tr td.selected.disabled.disabled:focus,.datepicker table tr td.selected.disabled.disabled:hover,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover.disabled.active,.datepicker table tr td.selected.disabled:hover.disabled:active,.datepicker table tr td.selected.disabled:hover.disabled:focus,.datepicker table tr td.selected.disabled:hover.disabled:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled:hover[disabled].active,.datepicker table tr td.selected.disabled:hover[disabled]:active,.datepicker table tr td.selected.disabled:hover[disabled]:focus,.datepicker table tr td.selected.disabled:hover[disabled]:hover,.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected.disabled[disabled].active,.datepicker table tr td.selected.disabled[disabled]:active,.datepicker table tr td.selected.disabled[disabled]:focus,.datepicker table tr td.selected.disabled[disabled]:hover,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover.disabled.active,.datepicker table tr td.selected:hover.disabled:active,.datepicker table tr td.selected:hover.disabled:focus,.datepicker table tr td.selected:hover.disabled:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected:hover[disabled].active,.datepicker table tr td.selected:hover[disabled]:active,.datepicker table tr td.selected:hover[disabled]:focus,.datepicker table tr td.selected:hover[disabled]:hover,.datepicker table tr td.selected[disabled],.datepicker table tr td.selected[disabled].active,.datepicker table tr td.selected[disabled]:active,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected,fieldset[disabled] .datepicker table tr td.selected.active,fieldset[disabled] .datepicker table tr td.selected.disabled,fieldset[disabled] .datepicker table tr td.selected.disabled.active,fieldset[disabled] .datepicker table tr td.selected.disabled:active,fieldset[disabled] .datepicker table tr td.selected.disabled:focus,fieldset[disabled] .datepicker table tr td.selected.disabled:hover,fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.selected:active,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover,fieldset[disabled] .datepicker table tr td.selected:hover.active,fieldset[disabled] .datepicker table tr td.selected:hover:active,fieldset[disabled] .datepicker table tr td.selected:hover:focus,fieldset[disabled] .datepicker table tr td.selected:hover:hover{background-color:#999;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#428bca;border-color:#357ebd;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:focus,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:focus,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:focus,.datepicker table tr td.active:hover:hover,.open .dropdown-toggle.datepicker table tr td.active,.open .dropdown-toggle.datepicker table tr td.active.disabled,.open .dropdown-toggle.datepicker table tr td.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td.active:hover{color:#fff;background-color:#3276b1;border-color:#285e8e}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active,.open .dropdown-toggle.datepicker table tr td.active,.open .dropdown-toggle.datepicker table tr td.active.disabled,.open .dropdown-toggle.datepicker table tr td.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td.active:hover{background-image:none}.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled.disabled.active,.datepicker table tr td.active.disabled.disabled:active,.datepicker table tr td.active.disabled.disabled:focus,.datepicker table tr td.active.disabled.disabled:hover,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover.disabled.active,.datepicker table tr td.active.disabled:hover.disabled:active,.datepicker table tr td.active.disabled:hover.disabled:focus,.datepicker table tr td.active.disabled:hover.disabled:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled:hover[disabled].active,.datepicker table tr td.active.disabled:hover[disabled]:active,.datepicker table tr td.active.disabled:hover[disabled]:focus,.datepicker table tr td.active.disabled:hover[disabled]:hover,.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active.disabled[disabled].active,.datepicker table tr td.active.disabled[disabled]:active,.datepicker table tr td.active.disabled[disabled]:focus,.datepicker table tr td.active.disabled[disabled]:hover,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover.disabled.active,.datepicker table tr td.active:hover.disabled:active,.datepicker table tr td.active:hover.disabled:focus,.datepicker table tr td.active:hover.disabled:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active:hover[disabled].active,.datepicker table tr td.active:hover[disabled]:active,.datepicker table tr td.active:hover[disabled]:focus,.datepicker table tr td.active:hover[disabled]:hover,.datepicker table tr td.active[disabled],.datepicker table tr td.active[disabled].active,.datepicker table tr td.active[disabled]:active,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active,fieldset[disabled] .datepicker table tr td.active.active,fieldset[disabled] .datepicker table tr td.active.disabled,fieldset[disabled] .datepicker table tr td.active.disabled.active,fieldset[disabled] .datepicker table tr td.active.disabled:active,fieldset[disabled] .datepicker table tr td.active.disabled:focus,fieldset[disabled] .datepicker table tr td.active.disabled:hover,fieldset[disabled] .datepicker table tr td.active.disabled:hover.active,fieldset[disabled] .datepicker table tr td.active.disabled:hover:active,fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.active:active,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover,fieldset[disabled] .datepicker table tr td.active:hover.active,fieldset[disabled] .datepicker table tr td.active:hover:active,fieldset[disabled] .datepicker table tr td.active:hover:focus,fieldset[disabled] .datepicker table tr td.active:hover:hover{background-color:#428bca;border-color:#357ebd}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#428bca;border-color:#357ebd;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:focus,.datepicker table tr td span.active:hover:hover,.open .dropdown-toggle.datepicker table tr td span.active,.open .dropdown-toggle.datepicker table tr td span.active.disabled,.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td span.active:hover{color:#fff;background-color:#3276b1;border-color:#285e8e}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.open .dropdown-toggle.datepicker table tr td span.active,.open .dropdown-toggle.datepicker table tr td span.active.disabled,.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td span.active:hover{background-image:none}.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled.disabled.active,.datepicker table tr td span.active.disabled.disabled:active,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover.disabled.active,.datepicker table tr td span.active.disabled:hover.disabled:active,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled:hover[disabled].active,.datepicker table tr td span.active.disabled:hover[disabled]:active,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled[disabled].active,.datepicker table tr td span.active.disabled[disabled]:active,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover.disabled.active,.datepicker table tr td span.active:hover.disabled:active,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active:hover[disabled].active,.datepicker table tr td span.active:hover[disabled]:active,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active[disabled].active,.datepicker table tr td span.active[disabled]:active,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active,fieldset[disabled] .datepicker table tr td span.active.active,fieldset[disabled] .datepicker table tr td span.active.disabled,fieldset[disabled] .datepicker table tr td span.active.disabled.active,fieldset[disabled] .datepicker table tr td span.active.disabled:active,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active:active,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.active,fieldset[disabled] .datepicker table tr td span.active:hover:active,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#428bca;border-color:#357ebd}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker tfoot tr th,.datepicker thead tr:first-child th{cursor:pointer}.datepicker tfoot tr th:hover,.datepicker thead tr:first-child th:hover{background:#eee}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker thead tr:first-child .cw{cursor:default;background-color:transparent}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;font-weight:400;line-height:1.42857143;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:solid #ccc;border-width:1px 0;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;color:#333;font-size:13px;line-height:1.42857143}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .datepicker{border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker.datepicker-rtl{direction:rtl}.datepicker.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-top:before{top:-7px}.datepicker-dropdown.datepicker-orient-top:after{top:-6px}.datepicker-dropdown.datepicker-orient-bottom:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-bottom:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker>div{display:none}.datepicker.days .datepicker-days,.datepicker.months .datepicker-months,.datepicker.years .datepicker-years{display:block}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker table tr td,.datepicker table tr th{text-align:center;width:30px;height:30px;border-radius:4px;border:0}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{color:#000;background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:focus,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today:active,.datepicker table tr td.today:focus,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:focus,.datepicker table tr td.today:hover:hover,.open .dropdown-toggle.datepicker table tr td.today,.open .dropdown-toggle.datepicker table tr td.today.disabled,.open .dropdown-toggle.datepicker table tr td.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.today:hover{color:#000;background-color:#ffcd70;border-color:#f59e00}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active,.open .dropdown-toggle.datepicker table tr td.today,.open .dropdown-toggle.datepicker table tr td.today.disabled,.open .dropdown-toggle.datepicker table tr td.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.today:hover{background-image:none}.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled.disabled.active,.datepicker table tr td.today.disabled.disabled:active,.datepicker table tr td.today.disabled.disabled:focus,.datepicker table tr td.today.disabled.disabled:hover,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:focus,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover.disabled.active,.datepicker table tr td.today.disabled:hover.disabled:active,.datepicker table tr td.today.disabled:hover.disabled:focus,.datepicker table tr td.today.disabled:hover.disabled:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled:hover[disabled].active,.datepicker table tr td.today.disabled:hover[disabled]:active,.datepicker table tr td.today.disabled:hover[disabled]:focus,.datepicker table tr td.today.disabled:hover[disabled]:hover,.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today.disabled[disabled].active,.datepicker table tr td.today.disabled[disabled]:active,.datepicker table tr td.today.disabled[disabled]:focus,.datepicker table tr td.today.disabled[disabled]:hover,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover.disabled.active,.datepicker table tr td.today:hover.disabled:active,.datepicker table tr td.today:hover.disabled:focus,.datepicker table tr td.today:hover.disabled:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today:hover[disabled].active,.datepicker table tr td.today:hover[disabled]:active,.datepicker table tr td.today:hover[disabled]:focus,.datepicker table tr td.today:hover[disabled]:hover,.datepicker table tr td.today[disabled],.datepicker table tr td.today[disabled].active,.datepicker table tr td.today[disabled]:active,.datepicker table tr td.today[disabled]:focus,.datepicker table tr td.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.today,fieldset[disabled] .datepicker table tr td.today.active,fieldset[disabled] .datepicker table tr td.today.disabled,fieldset[disabled] .datepicker table tr td.today.disabled.active,fieldset[disabled] .datepicker table tr td.today.disabled:active,fieldset[disabled] .datepicker table tr td.today.disabled:focus,fieldset[disabled] .datepicker table tr td.today.disabled:hover,fieldset[disabled] .datepicker table tr td.today.disabled:hover.active,fieldset[disabled] .datepicker table tr td.today.disabled:hover:active,fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.today:active,fieldset[disabled] .datepicker table tr td.today:focus,fieldset[disabled] .datepicker table tr td.today:hover,fieldset[disabled] .datepicker table tr td.today:hover.active,fieldset[disabled] .datepicker table tr td.today:hover:active,fieldset[disabled] .datepicker table tr td.today:hover:focus,fieldset[disabled] .datepicker table tr td.today:hover:hover{background-color:#ffdb99;border-color:#ffb733}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{color:#000;background-color:#f7ca77;border-color:#f1a417;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:focus,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:focus,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:focus,.datepicker table tr td.range.today:hover:hover,.open .dropdown-toggle.datepicker table tr td.range.today,.open .dropdown-toggle.datepicker table tr td.range.today.disabled,.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.range.today:hover{color:#000;background-color:#f4bb51;border-color:#bf800c}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active,.open .dropdown-toggle.datepicker table tr td.range.today,.open .dropdown-toggle.datepicker table tr td.range.today.disabled,.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover,.open .dropdown-toggle.datepicker table tr td.range.today:hover{background-image:none}.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled.disabled.active,.datepicker table tr td.range.today.disabled.disabled:active,.datepicker table tr td.range.today.disabled.disabled:focus,.datepicker table tr td.range.today.disabled.disabled:hover,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:focus,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover.disabled.active,.datepicker table tr td.range.today.disabled:hover.disabled:active,.datepicker table tr td.range.today.disabled:hover.disabled:focus,.datepicker table tr td.range.today.disabled:hover.disabled:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled:hover[disabled].active,.datepicker table tr td.range.today.disabled:hover[disabled]:active,.datepicker table tr td.range.today.disabled:hover[disabled]:focus,.datepicker table tr td.range.today.disabled:hover[disabled]:hover,.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today.disabled[disabled].active,.datepicker table tr td.range.today.disabled[disabled]:active,.datepicker table tr td.range.today.disabled[disabled]:focus,.datepicker table tr td.range.today.disabled[disabled]:hover,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover.disabled.active,.datepicker table tr td.range.today:hover.disabled:active,.datepicker table tr td.range.today:hover.disabled:focus,.datepicker table tr td.range.today:hover.disabled:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today:hover[disabled].active,.datepicker table tr td.range.today:hover[disabled]:active,.datepicker table tr td.range.today:hover[disabled]:focus,.datepicker table tr td.range.today:hover[disabled]:hover,.datepicker table tr td.range.today[disabled],.datepicker table tr td.range.today[disabled].active,.datepicker table tr td.range.today[disabled]:active,.datepicker table tr td.range.today[disabled]:focus,.datepicker table tr td.range.today[disabled]:hover,fieldset[disabled] .datepicker table tr td.range.today,fieldset[disabled] .datepicker table tr td.range.today.active,fieldset[disabled] .datepicker table tr td.range.today.disabled,fieldset[disabled] .datepicker table tr td.range.today.disabled.active,fieldset[disabled] .datepicker table tr td.range.today.disabled:active,fieldset[disabled] .datepicker table tr td.range.today.disabled:focus,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.range.today:active,fieldset[disabled] .datepicker table tr td.range.today:focus,fieldset[disabled] .datepicker table tr td.range.today:hover,fieldset[disabled] .datepicker table tr td.range.today:hover.active,fieldset[disabled] .datepicker table tr td.range.today:hover:active,fieldset[disabled] .datepicker table tr td.range.today:hover:focus,fieldset[disabled] .datepicker table tr td.range.today:hover:hover{background-color:#f7ca77;border-color:#f1a417}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{color:#fff;background-color:#999;border-color:#555;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:focus,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected:active,.datepicker table tr td.selected:focus,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:focus,.datepicker table tr td.selected:hover:hover,.open .dropdown-toggle.datepicker table tr td.selected,.open .dropdown-toggle.datepicker table tr td.selected.disabled,.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover,.open .dropdown-toggle.datepicker table tr td.selected:hover{color:#fff;background-color:#858585;border-color:#373737}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active,.open .dropdown-toggle.datepicker table tr td.selected,.open .dropdown-toggle.datepicker table tr td.selected.disabled,.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover,.open .dropdown-toggle.datepicker table tr td.selected:hover{background-image:none}.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled.disabled.active,.datepicker table tr td.selected.disabled.disabled:active,.datepicker table tr td.selected.disabled.disabled:focus,.datepicker table tr td.selected.disabled.disabled:hover,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:focus,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover.disabled.active,.datepicker table tr td.selected.disabled:hover.disabled:active,.datepicker table tr td.selected.disabled:hover.disabled:focus,.datepicker table tr td.selected.disabled:hover.disabled:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled:hover[disabled].active,.datepicker table tr td.selected.disabled:hover[disabled]:active,.datepicker table tr td.selected.disabled:hover[disabled]:focus,.datepicker table tr td.selected.disabled:hover[disabled]:hover,.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected.disabled[disabled].active,.datepicker table tr td.selected.disabled[disabled]:active,.datepicker table tr td.selected.disabled[disabled]:focus,.datepicker table tr td.selected.disabled[disabled]:hover,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover.disabled.active,.datepicker table tr td.selected:hover.disabled:active,.datepicker table tr td.selected:hover.disabled:focus,.datepicker table tr td.selected:hover.disabled:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected:hover[disabled].active,.datepicker table tr td.selected:hover[disabled]:active,.datepicker table tr td.selected:hover[disabled]:focus,.datepicker table tr td.selected:hover[disabled]:hover,.datepicker table tr td.selected[disabled],.datepicker table tr td.selected[disabled].active,.datepicker table tr td.selected[disabled]:active,.datepicker table tr td.selected[disabled]:focus,.datepicker table tr td.selected[disabled]:hover,fieldset[disabled] .datepicker table tr td.selected,fieldset[disabled] .datepicker table tr td.selected.active,fieldset[disabled] .datepicker table tr td.selected.disabled,fieldset[disabled] .datepicker table tr td.selected.disabled.active,fieldset[disabled] .datepicker table tr td.selected.disabled:active,fieldset[disabled] .datepicker table tr td.selected.disabled:focus,fieldset[disabled] .datepicker table tr td.selected.disabled:hover,fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.selected:active,fieldset[disabled] .datepicker table tr td.selected:focus,fieldset[disabled] .datepicker table tr td.selected:hover,fieldset[disabled] .datepicker table tr td.selected:hover.active,fieldset[disabled] .datepicker table tr td.selected:hover:active,fieldset[disabled] .datepicker table tr td.selected:hover:focus,fieldset[disabled] .datepicker table tr td.selected:hover:hover{background-color:#999;border-color:#555}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{color:#fff;background-color:#428bca;border-color:#357ebd;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:focus,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active:active,.datepicker table tr td.active:focus,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:focus,.datepicker table tr td.active:hover:hover,.open .dropdown-toggle.datepicker table tr td.active,.open .dropdown-toggle.datepicker table tr td.active.disabled,.open .dropdown-toggle.datepicker table tr td.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td.active:hover{color:#fff;background-color:#3276b1;border-color:#285e8e}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active,.open .dropdown-toggle.datepicker table tr td.active,.open .dropdown-toggle.datepicker table tr td.active.disabled,.open .dropdown-toggle.datepicker table tr td.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td.active:hover{background-image:none}.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled.disabled.active,.datepicker table tr td.active.disabled.disabled:active,.datepicker table tr td.active.disabled.disabled:focus,.datepicker table tr td.active.disabled.disabled:hover,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:focus,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover.disabled.active,.datepicker table tr td.active.disabled:hover.disabled:active,.datepicker table tr td.active.disabled:hover.disabled:focus,.datepicker table tr td.active.disabled:hover.disabled:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled:hover[disabled].active,.datepicker table tr td.active.disabled:hover[disabled]:active,.datepicker table tr td.active.disabled:hover[disabled]:focus,.datepicker table tr td.active.disabled:hover[disabled]:hover,.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active.disabled[disabled].active,.datepicker table tr td.active.disabled[disabled]:active,.datepicker table tr td.active.disabled[disabled]:focus,.datepicker table tr td.active.disabled[disabled]:hover,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover.disabled.active,.datepicker table tr td.active:hover.disabled:active,.datepicker table tr td.active:hover.disabled:focus,.datepicker table tr td.active:hover.disabled:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active:hover[disabled].active,.datepicker table tr td.active:hover[disabled]:active,.datepicker table tr td.active:hover[disabled]:focus,.datepicker table tr td.active:hover[disabled]:hover,.datepicker table tr td.active[disabled],.datepicker table tr td.active[disabled].active,.datepicker table tr td.active[disabled]:active,.datepicker table tr td.active[disabled]:focus,.datepicker table tr td.active[disabled]:hover,fieldset[disabled] .datepicker table tr td.active,fieldset[disabled] .datepicker table tr td.active.active,fieldset[disabled] .datepicker table tr td.active.disabled,fieldset[disabled] .datepicker table tr td.active.disabled.active,fieldset[disabled] .datepicker table tr td.active.disabled:active,fieldset[disabled] .datepicker table tr td.active.disabled:focus,fieldset[disabled] .datepicker table tr td.active.disabled:hover,fieldset[disabled] .datepicker table tr td.active.disabled:hover.active,fieldset[disabled] .datepicker table tr td.active.disabled:hover:active,fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td.active:active,fieldset[disabled] .datepicker table tr td.active:focus,fieldset[disabled] .datepicker table tr td.active:hover,fieldset[disabled] .datepicker table tr td.active:hover.active,fieldset[disabled] .datepicker table tr td.active:hover:active,fieldset[disabled] .datepicker table tr td.active:hover:focus,fieldset[disabled] .datepicker table tr td.active:hover:hover{background-color:#428bca;border-color:#357ebd}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;border-radius:4px}.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{color:#fff;background-color:#428bca;border-color:#357ebd;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:focus,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active:active,.datepicker table tr td span.active:focus,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:focus,.datepicker table tr td span.active:hover:hover,.open .dropdown-toggle.datepicker table tr td span.active,.open .dropdown-toggle.datepicker table tr td span.active.disabled,.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td span.active:hover{color:#fff;background-color:#3276b1;border-color:#285e8e}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active,.open .dropdown-toggle.datepicker table tr td span.active,.open .dropdown-toggle.datepicker table tr td span.active.disabled,.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,.open .dropdown-toggle.datepicker table tr td span.active:hover{background-image:none}.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled.disabled.active,.datepicker table tr td span.active.disabled.disabled:active,.datepicker table tr td span.active.disabled.disabled:focus,.datepicker table tr td span.active.disabled.disabled:hover,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:focus,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover.disabled.active,.datepicker table tr td span.active.disabled:hover.disabled:active,.datepicker table tr td span.active.disabled:hover.disabled:focus,.datepicker table tr td span.active.disabled:hover.disabled:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled:hover[disabled].active,.datepicker table tr td span.active.disabled:hover[disabled]:active,.datepicker table tr td span.active.disabled:hover[disabled]:focus,.datepicker table tr td span.active.disabled:hover[disabled]:hover,.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active.disabled[disabled].active,.datepicker table tr td span.active.disabled[disabled]:active,.datepicker table tr td span.active.disabled[disabled]:focus,.datepicker table tr td span.active.disabled[disabled]:hover,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover.disabled.active,.datepicker table tr td span.active:hover.disabled:active,.datepicker table tr td span.active:hover.disabled:focus,.datepicker table tr td span.active:hover.disabled:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active:hover[disabled].active,.datepicker table tr td span.active:hover[disabled]:active,.datepicker table tr td span.active:hover[disabled]:focus,.datepicker table tr td span.active:hover[disabled]:hover,.datepicker table tr td span.active[disabled],.datepicker table tr td span.active[disabled].active,.datepicker table tr td span.active[disabled]:active,.datepicker table tr td span.active[disabled]:focus,.datepicker table tr td span.active[disabled]:hover,fieldset[disabled] .datepicker table tr td span.active,fieldset[disabled] .datepicker table tr td span.active.active,fieldset[disabled] .datepicker table tr td span.active.disabled,fieldset[disabled] .datepicker table tr td span.active.disabled.active,fieldset[disabled] .datepicker table tr td span.active.disabled:active,fieldset[disabled] .datepicker table tr td span.active.disabled:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover,fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,fieldset[disabled] .datepicker table tr td span.active:active,fieldset[disabled] .datepicker table tr td span.active:focus,fieldset[disabled] .datepicker table tr td span.active:hover,fieldset[disabled] .datepicker table tr td span.active:hover.active,fieldset[disabled] .datepicker table tr td span.active:hover:active,fieldset[disabled] .datepicker table tr td span.active:hover:focus,fieldset[disabled] .datepicker table tr td span.active:hover:hover{background-color:#428bca;border-color:#357ebd}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker tfoot tr th,.datepicker thead tr:first-child th{cursor:pointer}.datepicker tfoot tr th:hover,.datepicker thead tr:first-child th:hover{background:#eee}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.datepicker thead tr:first-child .cw{cursor:default;background-color:transparent}.input-group.date .input-group-addon{cursor:pointer}.input-daterange{width:100%}.input-daterange input{text-align:center}.input-daterange input:first-child{border-radius:3px 0 0 3px}.input-daterange input:last-child{border-radius:0 3px 3px 0}.input-daterange .input-group-addon{width:auto;min-width:16px;padding:4px 5px;font-weight:400;line-height:1.42857143;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:solid #ccc;border-width:1px 0;margin-left:-5px;margin-right:-5px}.datepicker.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;float:left;display:none;min-width:160px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:5px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;*border-right-width:2px;*border-bottom-width:2px;color:#333;font-size:13px;line-height:1.42857143}.datepicker.datepicker-inline td,.datepicker.datepicker-inline th,.datepicker.dropdown-menu td,.datepicker.dropdown-menu th{padding:0 5px}
 
 
 
 
 
 
libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-439 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-439 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-439 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-439 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-439 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-439 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-439 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-439 .factory-form-group legend+.control-group{margin-top:0}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-454 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-454 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-454 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-454 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-454 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-454 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-454 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-454 .factory-form-group legend+.control-group{margin-top:0}
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:focus,.factory-bootstrap-439 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-439 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-439 .btn-primary:disabled,.factory-bootstrap-439 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-439 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-439 .pagination>.active>a,.factory-bootstrap-439 .pagination>.active>a:focus,.factory-bootstrap-439 .pagination>.active>a:hover,.factory-bootstrap-439 .pagination>.active>span,.factory-bootstrap-439 .pagination>.active>span:focus,.factory-bootstrap-439 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:focus,.factory-bootstrap-454 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-454 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-454 .btn-primary:disabled,.factory-bootstrap-454 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-454 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-454 .pagination>.active>a,.factory-bootstrap-454 .pagination>.active>a:focus,.factory-bootstrap-454 .pagination>.active>a:hover,.factory-bootstrap-454 .pagination>.active>span,.factory-bootstrap-454 .pagination>.active>span:focus,.factory-bootstrap-454 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- #side-sortables .factory-bootstrap-439 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-439 .factory-checkbox-disabled button,.factory-bootstrap-439 .factory-checkbox-disabled input{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-439 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-439 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-439 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-439 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-439 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-439 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ #side-sortables .factory-bootstrap-454 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-454 .factory-checkbox-disabled button,.factory-bootstrap-454 .factory-checkbox-disabled input{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-454 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-454 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-454 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-454 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-454 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-454 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
libs/factory/bootstrap/assets/css-min/control.dropdown.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-439 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-439 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-439 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-439 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-454 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-454 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-454 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-454 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-454 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-454 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-454 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-439 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-439 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-439 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-439 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-439 .factory-mtextbox-add-item{display:block;margin-top:10px}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-454 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-454 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-454 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-454 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-454 .factory-mtextbox-add-item{display:block;margin-top:10px}
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css CHANGED
@@ -1,11 +1,11 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
-
11
- .factory-bootstrap-439 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-439 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-439 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-439 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-439 .factory-tab .factory-more-link-hide:hover{color:#999}
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+
11
+ .factory-bootstrap-454 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-454 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-454 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-454 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-454 .factory-tab .factory-more-link-hide:hover{color:#999}
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js CHANGED
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
- +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap439_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap439_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap454_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap454_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
libs/factory/bootstrap/assets/js-min/bootstrap.tooltip.min.js CHANGED
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
  +function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this},a(function(){a('[data-toggle="factory-tooltip"]').tooltip({html:!0})})}(jQuery);
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
  +function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this},a(function(){a('[data-toggle="factory-tooltip"]').tooltip({html:!0})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.checkbox.min.js CHANGED
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
- !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap439_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap439_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-439 .factory-checkbox.factory-buttons-way").factoryBootstrap439_checkboxControl()})}(jQuery);
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.prop("checked",!0),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.prop("checked",!1),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&a(m).val(l[m])}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap454_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap454_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-454 .factory-checkbox.factory-buttons-way").factoryBootstrap454_checkboxControl(),a(".factory-bootstrap-454 .factory-checkbox").not(".factory-buttons-way").click(function(){a(this).prop("checked")?a(this).val(1):a(this).val(0)})})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js CHANGED
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap439_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap439_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-439 .factory-dropdown").factoryBootstrap439_dropdownControl()})}(jQuery);
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap454_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap454_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-454 .factory-dropdown").factoryBootstrap454_dropdownControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.list.min.js CHANGED
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap439_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap439_listControl.Constructor=b,a(function(){a(".factory-bootstrap-439 .factory-list").factoryBootstrap439_listControl()})}(jQuery);
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap454_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap454_listControl.Constructor=b,a(function(){a(".factory-bootstrap-454 .factory-list").factoryBootstrap454_listControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js CHANGED
@@ -1,10 +1,10 @@
1
- /*!
2
- * Bootstrap generator - v1.0.1, 2020-11-08
3
- * Webcraftic factory build
4
- *
5
- * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
- * Site: http://webcraftic.com
7
- * Support: http://webcraftic.com/contact-us/
8
- */
9
-
10
- !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap439_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-439 .factory-multiple-textbox-group").factoryBootstrap439_MultipleTextboxControl()})}(jQuery);
1
+ /*!
2
+ * Bootstrap generator - v1.0.1, 2021-11-19
3
+ * Webcraftic factory build
4
+ *
5
+ * Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
6
+ * Site: http://webcraftic.com
7
+ * Support: http://webcraftic.com/contact-us/
8
+ */
9
+
10
+ !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap454_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-454 .factory-multiple-textbox-group").factoryBootstrap454_MultipleTextboxControl()})}(jQuery);
libs/factory/bootstrap/boot.php CHANGED
@@ -1,46 +1,46 @@
1
- <?php
2
- /**
3
- * Factory Bootstrap
4
- *
5
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
- * @since 1.0.0
7
- * @package factory-bootstrap
8
- * @copyright (c) 2018, Webcraftic Ltd
9
- *
10
- */
11
-
12
- // Exit if accessed directly
13
- if( !defined('ABSPATH') ) {
14
- exit;
15
- }
16
-
17
- // module provides function only for the admin area
18
- if( !is_admin() ) {
19
- return;
20
- }
21
-
22
- if( defined('FACTORY_BOOTSTRAP_439_LOADED') ) {
23
- return;
24
- }
25
-
26
- define('FACTORY_BOOTSTRAP_439_VERSION', '4.3.9');
27
- define('FACTORY_BOOTSTRAP_439_LOADED', true);
28
-
29
- if( !defined('FACTORY_FLAT_ADMIN') ) {
30
- define('FACTORY_FLAT_ADMIN', true);
31
- }
32
-
33
- define('FACTORY_BOOTSTRAP_439_DIR', dirname(__FILE__));
34
- define('FACTORY_BOOTSTRAP_439_URL', plugins_url(null, __FILE__));
35
-
36
- require_once(FACTORY_BOOTSTRAP_439_DIR . '/includes/functions.php');
37
-
38
- /**
39
- * @param Wbcr_Factory439_Plugin $plugin
40
- */
41
- add_action('wbcr_factory_bootstrap_439_plugin_created', function ($plugin) {
42
- $manager = new Wbcr_FactoryBootstrap439_Manager($plugin);
43
- $plugin->setBootstap($manager);
44
- });
45
-
46
-
1
+ <?php
2
+ /**
3
+ * Factory Bootstrap
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
+ * @since 1.0.0
7
+ * @package factory-bootstrap
8
+ * @copyright (c) 2018, Webcraftic Ltd
9
+ *
10
+ */
11
+
12
+ // Exit if accessed directly
13
+ if( !defined('ABSPATH') ) {
14
+ exit;
15
+ }
16
+
17
+ // module provides function only for the admin area
18
+ if( !is_admin() ) {
19
+ return;
20
+ }
21
+
22
+ if( defined('FACTORY_BOOTSTRAP_454_LOADED') ) {
23
+ return;
24
+ }
25
+
26
+ define('FACTORY_BOOTSTRAP_454_VERSION', '4.5.4');
27
+ define('FACTORY_BOOTSTRAP_454_LOADED', true);
28
+
29
+ if( !defined('FACTORY_FLAT_ADMIN') ) {
30
+ define('FACTORY_FLAT_ADMIN', true);
31
+ }
32
+
33
+ define('FACTORY_BOOTSTRAP_454_DIR', dirname(__FILE__));
34
+ define('FACTORY_BOOTSTRAP_454_URL', plugins_url(null, __FILE__));
35
+
36
+ require_once(FACTORY_BOOTSTRAP_454_DIR . '/includes/functions.php');
37
+
38
+ /**
39
+ * @param Wbcr_Factory453_Plugin $plugin
40
+ */
41
+ add_action('wbcr_factory_bootstrap_454_plugin_created', function ($plugin) {
42
+ $manager = new Wbcr_FactoryBootstrap454_Manager($plugin);
43
+ $plugin->setBootstap($manager);
44
+ });
45
+
46
+
libs/factory/bootstrap/includes/functions.php CHANGED
@@ -1,236 +1,242 @@
1
- <?php
2
- /**
3
- * This file manages assets of the Factory Bootstap.
4
- *
5
- * @author Alex Kovalev <alex@byonepress.com>
6
- * @author Paul Kashtanoff <paul@byonepress.com>
7
- * @since 1.0.0
8
- * @package factory-bootstrap
9
- * @copyright (c) 2018, OnePress Ltd
10
- *
11
- */
12
-
13
- // Exit if accessed directly
14
- if ( ! defined( 'ABSPATH' ) ) {
15
- exit;
16
- }
17
-
18
- /**
19
- * The Bootstrap Manager class.
20
- *
21
- * @since 3.2.0
22
- */
23
- class Wbcr_FactoryBootstrap439_Manager {
24
-
25
- /**
26
- * A plugin for which the manager was created.
27
- *
28
- * @since 3.2.0
29
- * @var Wbcr_Factory439_Plugin
30
- */
31
- public $plugin;
32
-
33
- /**
34
- * Contains scripts to include.
35
- *
36
- * @since 3.2.0
37
- * @var string[]
38
- */
39
- public $scripts = [];
40
-
41
- /**
42
- * Contains styles to include.
43
- *
44
- * @since 3.2.0
45
- * @var string[]
46
- */
47
- public $styles = [];
48
-
49
- /**
50
- * Createas a new instance of the license api for a given plugin.
51
- *
52
- * @since 1.0.0
53
- */
54
- public function __construct( Wbcr_Factory439_Plugin $plugin ) {
55
- $this->plugin = $plugin;
56
-
57
- add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
58
- add_filter( 'admin_body_class', [ $this, 'adminBodyClass' ] );
59
- }
60
-
61
- /**
62
- * Includes the Bootstrap scripts.
63
- *
64
- * @since 3.2.0
65
- *
66
- * @param array|string $scripts
67
- */
68
- public function enqueueScript( $scripts ) {
69
- if ( is_array( $scripts ) ) {
70
- foreach ( $scripts as $script ) {
71
- if ( ! in_array( $script, $this->scripts ) ) {
72
- $this->scripts[] = $script;
73
- }
74
- }
75
- } else {
76
- if ( ! in_array( $scripts, $this->scripts ) ) {
77
- $this->scripts[] = $scripts;
78
- }
79
- }
80
- }
81
-
82
- /**
83
- * * Includes the Bootstrap styles.
84
- *
85
- * @since 3.2.0
86
- *
87
- * @param array|string $styles
88
- */
89
- public function enqueueStyle( $styles ) {
90
-
91
- if ( is_array( $styles ) ) {
92
- foreach ( $styles as $style ) {
93
- if ( ! in_array( $style, $this->styles ) ) {
94
- $this->styles[] = $style;
95
- }
96
- }
97
- } else {
98
- if ( ! in_array( $styles, $this->styles ) ) {
99
- $this->styles[] = $styles;
100
- }
101
- }
102
- }
103
-
104
- /**
105
- * Loads Bootstrap assets.
106
- *
107
- * @since 3.2.0
108
- * @return void
109
- * @see admin_enqueue_scripts
110
- *
111
- */
112
- public function loadAssets( $hook ) {
113
-
114
- do_action( 'wbcr_factory_439_bootstrap_enqueue_scripts', $hook );
115
- do_action( 'wbcr_factory_439_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
-
117
- $dependencies = [];
118
- if ( ! empty( $this->scripts ) ) {
119
- $dependencies[] = 'jquery';
120
- $dependencies[] = 'jquery-ui-core';
121
- $dependencies[] = 'jquery-ui-widget';
122
- }
123
-
124
- foreach ( $this->scripts as $script ) {
125
- switch ( $script ) {
126
- case 'plugin.iris':
127
- $dependencies[] = 'jquery-ui-widget';
128
- $dependencies[] = 'jquery-ui-slider';
129
- $dependencies[] = 'jquery-ui-draggable';
130
- break;
131
- }
132
- }
133
-
134
- if ( ! empty( $this->scripts ) ) {
135
- $this->enqueueScripts( $this->scripts, 'js', $dependencies );
136
- }
137
- if ( ! empty( $this->styles ) ) {
138
- $this->enqueueScripts( $this->styles, 'css', $dependencies );
139
- }
140
- }
141
-
142
- /**
143
- * @param array $scripts
144
- * @param string $type
145
- * @param array $dependencies
146
- */
147
- protected function enqueueScripts( array $scripts, $type, array $dependencies ) {
148
-
149
- $is_first = true;
150
-
151
- /**
152
- * Sets permission for file caching and combining into one file.
153
- *
154
- * @since 4.1.0
155
- */
156
- $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
157
-
158
- $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
159
- $cache_dir_path = FACTORY_BOOTSTRAP_439_DIR . '/assets/cache/';
160
- $cache_dir_url = FACTORY_BOOTSTRAP_439_URL . '/assets/cache/';
161
-
162
- $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
163
- $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
164
-
165
- if ( $cache_enable && file_exists( $cache_filepath ) ) {
166
- if ( $type == 'js' ) {
167
- wp_enqueue_script( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, $dependencies, $this->plugin->getPluginVersion() );
168
- } else {
169
- wp_enqueue_style( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, [], $this->plugin->getPluginVersion() );
170
- }
171
- } else {
172
- $cache_dir_exists = false;
173
- if ( ! file_exists( $cache_dir_path ) ) {
174
- if ( @mkdir( $cache_dir_path, 0755 ) && wp_is_writable( $cache_dir_path ) ) {
175
- $cache_dir_exists = true;
176
- }
177
- } else {
178
- if ( wp_is_writable( $cache_dir_path ) ) {
179
- $cache_dir_exists = true;
180
- }
181
- }
182
-
183
- $concat_files = [];
184
- foreach ( $scripts as $script_to_load ) {
185
- $script_to_load = sanitize_text_field( $script_to_load );
186
- if ( $cache_enable && $cache_dir_exists ) {
187
- $fname = FACTORY_BOOTSTRAP_439_DIR . "/assets/$type-min/$script_to_load.min." . $type;
188
- if ( file_exists( $fname ) ) {
189
- $f = @fopen( $fname, 'r' );
190
- $concat_files[] = @fread( $f, filesize( $fname ) );
191
- @fclose( $f );
192
- }
193
- } else {
194
- if ( $type == 'js' ) {
195
- wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_439_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
196
- } else {
197
- wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_439_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
198
- }
199
- $is_first = false;
200
- }
201
- }
202
-
203
- if ( $cache_enable && $cache_dir_exists && ! empty( $concat_files ) ) {
204
-
205
- $cf = @fopen( $cache_filepath, 'w' );
206
- $write_content = implode( PHP_EOL, $concat_files );
207
- @fwrite( $cf, $write_content );
208
- @fclose( $cf );
209
- chmod( $cache_filepath, 0755 );
210
-
211
- if ( file_exists( $cache_filepath ) ) {
212
- if ( $type == 'js' ) {
213
- wp_enqueue_script( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, $dependencies, $this->plugin->getPluginVersion() );
214
- } else {
215
- wp_enqueue_style( 'wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, [], $this->plugin->getPluginVersion() );
216
- }
217
- }
218
- }
219
- }
220
- }
221
-
222
- /**
223
- * Adds the body classes: 'factory-flat or 'factory-volumetric'.
224
- *
225
- * @since 3.2.0
226
- *
227
- * @param string $classes
228
- *
229
- * @return string
230
- */
231
- public function adminBodyClass( $classes ) {
232
- $classes .= FACTORY_FLAT_ADMIN ? ' factory-flat ' : ' factory-volumetric ';
233
-
234
- return $classes;
235
- }
236
- }
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This file manages assets of the Factory Bootstap.
4
+ *
5
+ * @author Alex Kovalev <alex@byonepress.com>
6
+ * @author Paul Kashtanoff <paul@byonepress.com>
7
+ * @since 1.0.0
8
+ * @package factory-bootstrap
9
+ * @copyright (c) 2018, OnePress Ltd
10
+ *
11
+ */
12
+
13
+ // Exit if accessed directly
14
+ if( !defined('ABSPATH') ) {
15
+ exit;
16
+ }
17
+
18
+ /**
19
+ * The Bootstrap Manager class.
20
+ *
21
+ * @since 3.2.0
22
+ */
23
+ class Wbcr_FactoryBootstrap454_Manager {
24
+
25
+ /**
26
+ * A plugin for which the manager was created.
27
+ *
28
+ * @since 3.2.0
29
+ * @var Wbcr_Factory453_Plugin
30
+ */
31
+ public $plugin;
32
+
33
+ /**
34
+ * Contains scripts to include.
35
+ *
36
+ * @since 3.2.0
37
+ * @var string[]
38
+ */
39
+ public $scripts = [];
40
+
41
+ /**
42
+ * Contains styles to include.
43
+ *
44
+ * @since 3.2.0
45
+ * @var string[]
46
+ */
47
+ public $styles = [];
48
+
49
+ /**
50
+ * Createas a new instance of the license api for a given plugin.
51
+ *
52
+ * @since 1.0.0
53
+ */
54
+ public function __construct(Wbcr_Factory453_Plugin $plugin)
55
+ {
56
+ $this->plugin = $plugin;
57
+
58
+ add_action('admin_enqueue_scripts', [$this, 'loadAssets']);
59
+ add_filter('admin_body_class', [$this, 'adminBodyClass']);
60
+ }
61
+
62
+ /**
63
+ * Includes the Bootstrap scripts.
64
+ *
65
+ * @param array|string $scripts
66
+ * @since 3.2.0
67
+ *
68
+ */
69
+ public function enqueueScript($scripts)
70
+ {
71
+ if( is_array($scripts) ) {
72
+ foreach($scripts as $script) {
73
+ if( !in_array($script, $this->scripts) ) {
74
+ $this->scripts[] = $script;
75
+ }
76
+ }
77
+ } else {
78
+ if( !in_array($scripts, $this->scripts) ) {
79
+ $this->scripts[] = $scripts;
80
+ }
81
+ }
82
+ }
83
+
84
+ /**
85
+ * * Includes the Bootstrap styles.
86
+ *
87
+ * @param array|string $styles
88
+ * @since 3.2.0
89
+ *
90
+ */
91
+ public function enqueueStyle($styles)
92
+ {
93
+
94
+ if( is_array($styles) ) {
95
+ foreach($styles as $style) {
96
+ if( !in_array($style, $this->styles) ) {
97
+ $this->styles[] = $style;
98
+ }
99
+ }
100
+ } else {
101
+ if( !in_array($styles, $this->styles) ) {
102
+ $this->styles[] = $styles;
103
+ }
104
+ }
105
+ }
106
+
107
+ /**
108
+ * Loads Bootstrap assets.
109
+ *
110
+ * @return void
111
+ * @since 3.2.0
112
+ * @see admin_enqueue_scripts
113
+ *
114
+ */
115
+ public function loadAssets($hook)
116
+ {
117
+
118
+ do_action('wbcr_factory_453_bootstrap_enqueue_scripts', $hook);
119
+ do_action('wbcr_factory_453_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook);
120
+
121
+ $dependencies = [];
122
+ if( !empty($this->scripts) ) {
123
+ $dependencies[] = 'jquery';
124
+ $dependencies[] = 'jquery-ui-core';
125
+ $dependencies[] = 'jquery-ui-widget';
126
+ }
127
+
128
+ foreach($this->scripts as $script) {
129
+ switch( $script ) {
130
+ case 'plugin.iris':
131
+ $dependencies[] = 'jquery-ui-widget';
132
+ $dependencies[] = 'jquery-ui-slider';
133
+ $dependencies[] = 'jquery-ui-draggable';
134
+ break;
135
+ }
136
+ }
137
+
138
+ if( !empty($this->scripts) ) {
139
+ $this->enqueueScripts($this->scripts, 'js', $dependencies);
140
+ }
141
+ if( !empty($this->styles) ) {
142
+ $this->enqueueScripts($this->styles, 'css', $dependencies);
143
+ }
144
+ }
145
+
146
+ /**
147
+ * @param array $scripts
148
+ * @param string $type
149
+ * @param array $dependencies
150
+ */
151
+ protected function enqueueScripts(array $scripts, $type, array $dependencies)
152
+ {
153
+
154
+ $is_first = true;
155
+
156
+ /**
157
+ * Sets permission for file caching and combining into one file.
158
+ *
159
+ * @since 4.1.0
160
+ */
161
+ $cache_enable = apply_filters('wbcr/factory/bootstrap/cache_enable', true);
162
+
163
+ $cache_id = md5(implode(',', $this->scripts) . $type . $this->plugin->getPluginVersion());
164
+ $cache_dir_path = FACTORY_BOOTSTRAP_454_DIR . '/assets/cache/';
165
+ $cache_dir_url = FACTORY_BOOTSTRAP_454_URL . '/assets/cache/';
166
+
167
+ $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
168
+ $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
169
+
170
+ if( $cache_enable && file_exists($cache_filepath) ) {
171
+ if( $type == 'js' ) {
172
+ wp_enqueue_script('wbcr-factory-bootstrap-cached', $cache_fileurl, $dependencies, $this->plugin->getPluginVersion());
173
+ } else {
174
+ wp_enqueue_style('wbcr-factory-bootstrap-cached', $cache_fileurl, [], $this->plugin->getPluginVersion());
175
+ }
176
+ } else {
177
+ $cache_dir_exists = false;
178
+ if( !file_exists($cache_dir_path) ) {
179
+ if( @mkdir($cache_dir_path, 0755) && wp_is_writable($cache_dir_path) ) {
180
+ $cache_dir_exists = true;
181
+ }
182
+ } else {
183
+ if( wp_is_writable($cache_dir_path) ) {
184
+ $cache_dir_exists = true;
185
+ }
186
+ }
187
+
188
+ $concat_files = [];
189
+ foreach($scripts as $script_to_load) {
190
+ $script_to_load = sanitize_text_field($script_to_load);
191
+ if( $cache_enable && $cache_dir_exists ) {
192
+ $fname = FACTORY_BOOTSTRAP_454_DIR . "/assets/$type-min/$script_to_load.min." . $type;
193
+ if( file_exists($fname) ) {
194
+ $f = @fopen($fname, 'r');
195
+ $concat_files[] = @fread($f, filesize($fname));
196
+ @fclose($f);
197
+ }
198
+ } else {
199
+ if( $type == 'js' ) {
200
+ wp_enqueue_script(md5($script_to_load), FACTORY_BOOTSTRAP_454_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion());
201
+ } else {
202
+ wp_enqueue_style(md5($script_to_load), FACTORY_BOOTSTRAP_454_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion());
203
+ }
204
+ $is_first = false;
205
+ }
206
+ }
207
+
208
+ if( $cache_enable && $cache_dir_exists && !empty($concat_files) ) {
209
+
210
+ $cf = @fopen($cache_filepath, 'w');
211
+ $write_content = implode(PHP_EOL, $concat_files);
212
+ @fwrite($cf, $write_content);
213
+ @fclose($cf);
214
+ chmod($cache_filepath, 0755);
215
+
216
+ if( file_exists($cache_filepath) ) {
217
+ if( $type == 'js' ) {
218
+ wp_enqueue_script('wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, $dependencies, $this->plugin->getPluginVersion());
219
+ } else {
220
+ wp_enqueue_style('wbcr-factory-bootstrap-' . $cache_id, $cache_fileurl, [], $this->plugin->getPluginVersion());
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
226
+
227
+ /**
228
+ * Adds the body classes: 'factory-flat or 'factory-volumetric'.
229
+ *
230
+ * @param string $classes
231
+ *
232
+ * @return string
233
+ * @since 3.2.0
234
+ *
235
+ */
236
+ public function adminBodyClass($classes)
237
+ {
238
+ $classes .= FACTORY_FLAT_ADMIN ? ' factory-flat ' : ' factory-volumetric ';
239
+
240
+ return $classes;
241
+ }
242
+ }
libs/factory/bootstrap/includes/index.php CHANGED
@@ -1,2 +1,2 @@
1
- <?php
2
  // Silence is golden.
1
+ <?php
2
  // Silence is golden.
libs/factory/bootstrap/index.php CHANGED
@@ -1,2 +1,2 @@
1
- <?php
2
  // Silence is golden.
1
+ <?php
2
  // Silence is golden.
libs/factory/bootstrap/package-lock.json CHANGED
@@ -1,1810 +1,1810 @@
1
- {
2
- "name": "bootstrap-generator",
3
- "version": "1.0.1",
4
- "lockfileVersion": 1,
5
- "requires": true,
6
- "dependencies": {
7
- "abbrev": {
8
- "version": "1.1.1",
9
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
10
- "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg="
11
- },
12
- "amdefine": {
13
- "version": "1.0.1",
14
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
15
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
16
- "dev": true
17
- },
18
- "argparse": {
19
- "version": "0.1.16",
20
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
21
- "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
22
- "dev": true,
23
- "requires": {
24
- "underscore": "~1.7.0",
25
- "underscore.string": "~2.4.0"
26
- },
27
- "dependencies": {
28
- "underscore.string": {
29
- "version": "2.4.0",
30
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
31
- "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
32
- "dev": true
33
- }
34
- }
35
- },
36
- "arr-diff": {
37
- "version": "4.0.0",
38
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
39
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
40
- },
41
- "arr-flatten": {
42
- "version": "1.1.0",
43
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
44
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
45
- },
46
- "arr-union": {
47
- "version": "3.1.0",
48
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
49
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
50
- },
51
- "array-each": {
52
- "version": "1.0.1",
53
- "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
54
- "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
55
- },
56
- "array-slice": {
57
- "version": "1.1.0",
58
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
59
- "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
60
- },
61
- "array-unique": {
62
- "version": "0.3.2",
63
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
64
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
65
- },
66
- "assign-symbols": {
67
- "version": "1.0.0",
68
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
69
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
70
- },
71
- "async": {
72
- "version": "0.1.22",
73
- "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
74
- "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
75
- "dev": true
76
- },
77
- "atob": {
78
- "version": "2.1.2",
79
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
80
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
81
- },
82
- "base": {
83
- "version": "0.11.2",
84
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
85
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
86
- "requires": {
87
- "cache-base": "^1.0.1",
88
- "class-utils": "^0.3.5",
89
- "component-emitter": "^1.2.1",
90
- "define-property": "^1.0.0",
91
- "isobject": "^3.0.1",
92
- "mixin-deep": "^1.2.0",
93
- "pascalcase": "^0.1.1"
94
- },
95
- "dependencies": {
96
- "define-property": {
97
- "version": "1.0.0",
98
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
99
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
100
- "requires": {
101
- "is-descriptor": "^1.0.0"
102
- }
103
- },
104
- "is-accessor-descriptor": {
105
- "version": "1.0.0",
106
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
107
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
108
- "requires": {
109
- "kind-of": "^6.0.0"
110
- }
111
- },
112
- "is-data-descriptor": {
113
- "version": "1.0.0",
114
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
115
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
116
- "requires": {
117
- "kind-of": "^6.0.0"
118
- }
119
- },
120
- "is-descriptor": {
121
- "version": "1.0.2",
122
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
123
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
124
- "requires": {
125
- "is-accessor-descriptor": "^1.0.0",
126
- "is-data-descriptor": "^1.0.0",
127
- "kind-of": "^6.0.2"
128
- }
129
- }
130
- }
131
- },
132
- "braces": {
133
- "version": "2.3.2",
134
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
135
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
136
- "requires": {
137
- "arr-flatten": "^1.1.0",
138
- "array-unique": "^0.3.2",
139
- "extend-shallow": "^2.0.1",
140
- "fill-range": "^4.0.0",
141
- "isobject": "^3.0.1",
142
- "repeat-element": "^1.1.2",
143
- "snapdragon": "^0.8.1",
144
- "snapdragon-node": "^2.0.1",
145
- "split-string": "^3.0.2",
146
- "to-regex": "^3.0.1"
147
- },
148
- "dependencies": {
149
- "extend-shallow": {
150
- "version": "2.0.1",
151
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
152
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
153
- "requires": {
154
- "is-extendable": "^0.1.0"
155
- }
156
- }
157
- }
158
- },
159
- "cache-base": {
160
- "version": "1.0.1",
161
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
162
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
163
- "requires": {
164
- "collection-visit": "^1.0.0",
165
- "component-emitter": "^1.2.1",
166
- "get-value": "^2.0.6",
167
- "has-value": "^1.0.0",
168
- "isobject": "^3.0.1",
169
- "set-value": "^2.0.0",
170
- "to-object-path": "^0.3.0",
171
- "union-value": "^1.0.0",
172
- "unset-value": "^1.0.0"
173
- }
174
- },
175
- "camelcase": {
176
- "version": "1.2.1",
177
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
178
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
179
- "dev": true
180
- },
181
- "class-utils": {
182
- "version": "0.3.6",
183
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
184
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
185
- "requires": {
186
- "arr-union": "^3.1.0",
187
- "define-property": "^0.2.5",
188
- "isobject": "^3.0.0",
189
- "static-extend": "^0.1.1"
190
- },
191
- "dependencies": {
192
- "define-property": {
193
- "version": "0.2.5",
194
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
195
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
196
- "requires": {
197
- "is-descriptor": "^0.1.0"
198
- }
199
- }
200
- }
201
- },
202
- "clean-css": {
203
- "version": "2.0.8",
204
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.0.8.tgz",
205
- "integrity": "sha1-6TfN/cxXgaAIF67EB56Fs+wVeiA=",
206
- "dev": true,
207
- "requires": {
208
- "commander": "2.0.x"
209
- }
210
- },
211
- "cli": {
212
- "version": "0.4.5",
213
- "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz",
214
- "integrity": "sha1-ePlIXNFhtWbppsctcXDEJw6B22E=",
215
- "dev": true,
216
- "requires": {
217
- "glob": ">= 3.1.4"
218
- }
219
- },
220
- "coffee-script": {
221
- "version": "1.3.3",
222
- "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
223
- "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
224
- "dev": true
225
- },
226
- "collection-visit": {
227
- "version": "1.0.0",
228
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
229
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
230
- "requires": {
231
- "map-visit": "^1.0.0",
232
- "object-visit": "^1.0.0"
233
- }
234
- },
235
- "colors": {
236
- "version": "0.6.2",
237
- "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
238
- "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
239
- "dev": true
240
- },
241
- "commander": {
242
- "version": "2.0.0",
243
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz",
244
- "integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=",
245
- "dev": true
246
- },
247
- "component-emitter": {
248
- "version": "1.3.0",
249
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
250
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
251
- },
252
- "console-browserify": {
253
- "version": "0.1.6",
254
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz",
255
- "integrity": "sha1-0SijwLuINQ61YmxufHGm8P1ImDw=",
256
- "dev": true
257
- },
258
- "copy-descriptor": {
259
- "version": "0.1.1",
260
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
261
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
262
- },
263
- "dateformat": {
264
- "version": "1.0.2-1.2.3",
265
- "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
266
- "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
267
- "dev": true
268
- },
269
- "debug": {
270
- "version": "2.6.9",
271
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
272
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
273
- "requires": {
274
- "ms": "2.0.0"
275
- }
276
- },
277
- "decamelize": {
278
- "version": "1.2.0",
279
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
280
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
281
- "dev": true
282
- },
283
- "decode-uri-component": {
284
- "version": "0.2.0",
285
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
286
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
287
- },
288
- "define-property": {
289
- "version": "2.0.2",
290
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
291
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
292
- "requires": {
293
- "is-descriptor": "^1.0.2",
294
- "isobject": "^3.0.1"
295
- },
296
- "dependencies": {
297
- "is-accessor-descriptor": {
298
- "version": "1.0.0",
299
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
300
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
301
- "requires": {
302
- "kind-of": "^6.0.0"
303
- }
304
- },
305
- "is-data-descriptor": {
306
- "version": "1.0.0",
307
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
308
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
309
- "requires": {
310
- "kind-of": "^6.0.0"
311
- }
312
- },
313
- "is-descriptor": {
314
- "version": "1.0.2",
315
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
316
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
317
- "requires": {
318
- "is-accessor-descriptor": "^1.0.0",
319
- "is-data-descriptor": "^1.0.0",
320
- "kind-of": "^6.0.2"
321
- }
322
- }
323
- }
324
- },
325
- "detect-file": {
326
- "version": "1.0.0",
327
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
328
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
329
- },
330
- "esprima": {
331
- "version": "1.0.4",
332
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
333
- "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
334
- "dev": true
335
- },
336
- "eventemitter2": {
337
- "version": "0.4.14",
338
- "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
339
- "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
340
- "dev": true
341
- },
342
- "exit": {
343
- "version": "0.1.2",
344
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
345
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
346
- "dev": true
347
- },
348
- "expand-brackets": {
349
- "version": "2.1.4",
350
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
351
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
352
- "requires": {
353
- "debug": "^2.3.3",
354
- "define-property": "^0.2.5",
355
- "extend-shallow": "^2.0.1",
356
- "posix-character-classes": "^0.1.0",
357
- "regex-not": "^1.0.0",
358
- "snapdragon": "^0.8.1",
359
- "to-regex": "^3.0.1"
360
- },
361
- "dependencies": {
362
- "define-property": {
363
- "version": "0.2.5",
364
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
365
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
366
- "requires": {
367
- "is-descriptor": "^0.1.0"
368
- }
369
- },
370
- "extend-shallow": {
371
- "version": "2.0.1",
372
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
373
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
374
- "requires": {
375
- "is-extendable": "^0.1.0"
376
- }
377
- }
378
- }
379
- },
380
- "expand-tilde": {
381
- "version": "2.0.2",
382
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
383
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
384
- "requires": {
385
- "homedir-polyfill": "^1.0.1"
386
- }
387
- },
388
- "extend": {
389
- "version": "3.0.2",
390
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
391
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
392
- },
393
- "extend-shallow": {
394
- "version": "3.0.2",
395
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
396
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
397
- "requires": {
398
- "assign-symbols": "^1.0.0",
399
- "is-extendable": "^1.0.1"
400
- },
401
- "dependencies": {
402
- "is-extendable": {
403
- "version": "1.0.1",
404
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
405
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
406
- "requires": {
407
- "is-plain-object": "^2.0.4"
408
- }
409
- }
410
- }
411
- },
412
- "extglob": {
413
- "version": "2.0.4",
414
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
415
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
416
- "requires": {
417
- "array-unique": "^0.3.2",
418
- "define-property": "^1.0.0",
419
- "expand-brackets": "^2.1.4",
420
- "extend-shallow": "^2.0.1",
421
- "fragment-cache": "^0.2.1",
422
- "regex-not": "^1.0.0",
423
- "snapdragon": "^0.8.1",
424
- "to-regex": "^3.0.1"
425
- },
426
- "dependencies": {
427
- "define-property": {
428
- "version": "1.0.0",
429
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
430
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
431
- "requires": {
432
- "is-descriptor": "^1.0.0"
433
- }
434
- },
435
- "extend-shallow": {
436
- "version": "2.0.1",
437
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
438
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
439
- "requires": {
440
- "is-extendable": "^0.1.0"
441
- }
442
- },
443
- "is-accessor-descriptor": {
444
- "version": "1.0.0",
445
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
446
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
447
- "requires": {
448
- "kind-of": "^6.0.0"
449
- }
450
- },
451
- "is-data-descriptor": {
452
- "version": "1.0.0",
453
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
454
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
455
- "requires": {
456
- "kind-of": "^6.0.0"
457
- }
458
- },
459
- "is-descriptor": {
460
- "version": "1.0.2",
461
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
462
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
463
- "requires": {
464
- "is-accessor-descriptor": "^1.0.0",
465
- "is-data-descriptor": "^1.0.0",
466
- "kind-of": "^6.0.2"
467
- }
468
- }
469
- }
470
- },
471
- "fill-range": {
472
- "version": "4.0.0",
473
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
474
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
475
- "requires": {
476
- "extend-shallow": "^2.0.1",
477
- "is-number": "^3.0.0",
478
- "repeat-string": "^1.6.1",
479
- "to-regex-range": "^2.1.0"
480
- },
481
- "dependencies": {
482
- "extend-shallow": {
483
- "version": "2.0.1",
484
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
485
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
486
- "requires": {
487
- "is-extendable": "^0.1.0"
488
- }
489
- }
490
- }
491
- },
492
- "findup-sync": {
493
- "version": "0.1.3",
494
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
495
- "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
496
- "dev": true,
497
- "requires": {
498
- "glob": "~3.2.9",
499
- "lodash": "~2.4.1"
500
- },
501
- "dependencies": {
502
- "glob": {
503
- "version": "3.2.11",
504
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
505
- "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
506
- "dev": true,
507
- "requires": {
508
- "inherits": "2",
509
- "minimatch": "0.3"
510
- }
511
- },
512
- "lodash": {
513
- "version": "2.4.2",
514
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
515
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
516
- "dev": true
517
- },
518
- "minimatch": {
519
- "version": "0.3.0",
520
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
521
- "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
522
- "dev": true,
523
- "requires": {
524
- "lru-cache": "2",
525
- "sigmund": "~1.0.0"
526
- }
527
- }
528
- }
529
- },
530
- "fined": {
531
- "version": "1.2.0",
532
- "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
533
- "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
534
- "requires": {
535
- "expand-tilde": "^2.0.2",
536
- "is-plain-object": "^2.0.3",
537
- "object.defaults": "^1.1.0",
538
- "object.pick": "^1.2.0",
539
- "parse-filepath": "^1.0.1"
540
- }
541
- },
542
- "flagged-respawn": {
543
- "version": "1.0.1",
544
- "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
545
- "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
546
- },
547
- "for-in": {
548
- "version": "1.0.2",
549
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
550
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
551
- },
552
- "for-own": {
553
- "version": "1.0.0",
554
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
555
- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
556
- "requires": {
557
- "for-in": "^1.0.1"
558
- }
559
- },
560
- "fragment-cache": {
561
- "version": "0.2.1",
562
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
563
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
564
- "requires": {
565
- "map-cache": "^0.2.2"
566
- }
567
- },
568
- "function-bind": {
569
- "version": "1.1.1",
570
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
571
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
572
- },
573
- "get-value": {
574
- "version": "2.0.6",
575
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
576
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
577
- },
578
- "getobject": {
579
- "version": "0.1.0",
580
- "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
581
- "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
582
- "dev": true
583
- },
584
- "glob": {
585
- "version": "3.1.21",
586
- "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
587
- "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
588
- "dev": true,
589
- "requires": {
590
- "graceful-fs": "~1.2.0",
591
- "inherits": "1",
592
- "minimatch": "~0.2.11"
593
- },
594
- "dependencies": {
595
- "inherits": {
596
- "version": "1.0.2",
597
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
598
- "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
599
- "dev": true
600
- }
601
- }
602
- },
603
- "global-modules": {
604
- "version": "1.0.0",
605
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
606
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
607
- "requires": {
608
- "global-prefix": "^1.0.1",
609
- "is-windows": "^1.0.1",
610
- "resolve-dir": "^1.0.0"
611
- }
612
- },
613
- "global-prefix": {
614
- "version": "1.0.2",
615
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
616
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
617
- "requires": {
618
- "expand-tilde": "^2.0.2",
619
- "homedir-polyfill": "^1.0.1",
620
- "ini": "^1.3.4",
621
- "is-windows": "^1.0.1",
622
- "which": "^1.2.14"
623
- },
624
- "dependencies": {
625
- "which": {
626
- "version": "1.3.1",
627
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
628
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
629
- "requires": {
630
- "isexe": "^2.0.0"
631
- }
632
- }
633
- }
634
- },
635
- "graceful-fs": {
636
- "version": "1.2.3",
637
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
638
- "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
639
- "dev": true
640
- },
641
- "grunt": {
642
- "version": "0.4.5",
643
- "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
644
- "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
645
- "dev": true,
646
- "requires": {
647
- "async": "~0.1.22",
648
- "coffee-script": "~1.3.3",
649
- "colors": "~0.6.2",
650
- "dateformat": "1.0.2-1.2.3",
651
- "eventemitter2": "~0.4.13",
652
- "exit": "~0.1.1",
653
- "findup-sync": "~0.1.2",
654
- "getobject": "~0.1.0",
655
- "glob": "~3.1.21",
656
- "grunt-legacy-log": "~0.1.0",
657
- "grunt-legacy-util": "~0.2.0",
658
- "hooker": "~0.2.3",
659
- "iconv-lite": "~0.2.11",
660
- "js-yaml": "~2.0.5",
661
- "lodash": "~0.9.2",
662
- "minimatch": "~0.2.12",
663
- "nopt": "~1.0.10",
664
- "rimraf": "~2.2.8",
665
- "underscore.string": "~2.2.1",
666
- "which": "~1.0.5"
667
- }
668
- },
669
- "grunt-cli": {
670
- "version": "1.3.2",
671
- "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
672
- "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
673
- "requires": {
674
- "grunt-known-options": "~1.1.0",
675
- "interpret": "~1.1.0",
676
- "liftoff": "~2.5.0",
677
- "nopt": "~4.0.1",
678
- "v8flags": "~3.1.1"
679
- },
680
- "dependencies": {
681
- "nopt": {
682
- "version": "4.0.3",
683
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
684
- "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
685
- "requires": {
686
- "abbrev": "1",
687
- "osenv": "^0.1.4"
688
- }
689
- }
690
- }
691
- },
692
- "grunt-contrib-clean": {
693
- "version": "0.5.0",
694
- "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz",
695
- "integrity": "sha1-9T397ghJsce0Dp67umn0jExgecU=",
696
- "dev": true,
697
- "requires": {
698
- "rimraf": "~2.2.1"
699
- }
700
- },
701
- "grunt-contrib-concat": {
702
- "version": "0.3.0",
703
- "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.3.0.tgz",
704
- "integrity": "sha1-SPoNQzbSm2U62CJaa9b4VrRIPjI=",
705
- "dev": true
706
- },
707
- "grunt-contrib-copy": {
708
- "version": "0.5.0",
709
- "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz",
710
- "integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=",
711
- "dev": true
712
- },
713
- "grunt-contrib-cssmin": {
714
- "version": "0.7.0",
715
- "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz",
716
- "integrity": "sha1-pXNenx0mMUnkn+A1KU5CnYxnC6s=",
717
- "dev": true,
718
- "requires": {
719
- "clean-css": "~2.0.0",
720
- "grunt-lib-contrib": "~0.6.0"
721
- }
722
- },
723
- "grunt-contrib-jshint": {
724
- "version": "0.6.5",
725
- "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.5.tgz",
726
- "integrity": "sha1-OvtGdnRTZMxKGe7nk0wOBgCLVm4=",
727
- "dev": true,
728
- "requires": {
729
- "jshint": "~2.1.10"
730
- }
731
- },
732
- "grunt-contrib-uglify": {
733
- "version": "0.2.7",
734
- "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz",
735
- "integrity": "sha1-5r2lHgxAoUWfbOrUI8Ze/XJaG/c=",
736
- "dev": true,
737
- "requires": {
738
- "grunt-lib-contrib": "~0.6.1",
739
- "uglify-js": "~2.4.0"
740
- }
741
- },
742
- "grunt-known-options": {
743
- "version": "1.1.1",
744
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
745
- "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ=="
746
- },
747
- "grunt-legacy-log": {
748
- "version": "0.1.3",
749
- "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
750
- "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
751
- "dev": true,
752
- "requires": {
753
- "colors": "~0.6.2",
754
- "grunt-legacy-log-utils": "~0.1.1",
755
- "hooker": "~0.2.3",
756
- "lodash": "~2.4.1",
757
- "underscore.string": "~2.3.3"
758
- },
759
- "dependencies": {
760
- "lodash": {
761
- "version": "2.4.2",
762
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
763
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
764
- "dev": true
765
- },
766
- "underscore.string": {
767
- "version": "2.3.3",
768
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
769
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
770
- "dev": true
771
- }
772
- }
773
- },
774
- "grunt-legacy-log-utils": {
775
- "version": "0.1.1",
776
- "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
777
- "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
778
- "dev": true,
779
- "requires": {
780
- "colors": "~0.6.2",
781
- "lodash": "~2.4.1",
782
- "underscore.string": "~2.3.3"
783
- },
784
- "dependencies": {
785
- "lodash": {
786
- "version": "2.4.2",
787
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
788
- "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
789
- "dev": true
790
- },
791
- "underscore.string": {
792
- "version": "2.3.3",
793
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
794
- "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
795
- "dev": true
796
- }
797
- }
798
- },
799
- "grunt-legacy-util": {
800
- "version": "0.2.0",
801
- "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
802
- "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
803
- "dev": true,
804
- "requires": {
805
- "async": "~0.1.22",
806
- "exit": "~0.1.1",
807
- "getobject": "~0.1.0",
808
- "hooker": "~0.2.3",
809
- "lodash": "~0.9.2",
810
- "underscore.string": "~2.2.1",
811
- "which": "~1.0.5"
812
- }
813
- },
814
- "grunt-lib-contrib": {
815
- "version": "0.6.1",
816
- "resolved": "https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz",
817
- "integrity": "sha1-P1att9oG6BR5XuJBWw6+X7iQPrs=",
818
- "dev": true,
819
- "requires": {
820
- "zlib-browserify": "0.0.1"
821
- }
822
- },
823
- "grunt-preprocess": {
824
- "version": "4.2.0",
825
- "resolved": "https://registry.npmjs.org/grunt-preprocess/-/grunt-preprocess-4.2.0.tgz",
826
- "integrity": "sha1-SJUTzet1A1NEmn9lbVAXWvc/FfY=",
827
- "dev": true,
828
- "requires": {
829
- "preprocess": "~2.3.1"
830
- }
831
- },
832
- "has": {
833
- "version": "1.0.3",
834
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
835
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
836
- "requires": {
837
- "function-bind": "^1.1.1"
838
- }
839
- },
840
- "has-value": {
841
- "version": "1.0.0",
842
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
843
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
844
- "requires": {
845
- "get-value": "^2.0.6",
846
- "has-values": "^1.0.0",
847
- "isobject": "^3.0.0"
848
- }
849
- },
850
- "has-values": {
851
- "version": "1.0.0",
852
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
853
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
854
- "requires": {
855
- "is-number": "^3.0.0",
856
- "kind-of": "^4.0.0"
857
- },
858
- "dependencies": {
859
- "kind-of": {
860
- "version": "4.0.0",
861
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
862
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
863
- "requires": {
864
- "is-buffer": "^1.1.5"
865
- }
866
- }
867
- }
868
- },
869
- "homedir-polyfill": {
870
- "version": "1.0.3",
871
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
872
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
873
- "requires": {
874
- "parse-passwd": "^1.0.0"
875
- }
876
- },
877
- "hooker": {
878
- "version": "0.2.3",
879
- "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
880
- "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
881
- "dev": true
882
- },
883
- "iconv-lite": {
884
- "version": "0.2.11",
885
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
886
- "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
887
- "dev": true
888
- },
889
- "inherits": {
890
- "version": "2.0.3",
891
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
892
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
893
- "dev": true
894
- },
895
- "ini": {
896
- "version": "1.3.5",
897
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
898
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
899
- },
900
- "interpret": {
901
- "version": "1.1.0",
902
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
903
- "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
904
- },
905
- "is-absolute": {
906
- "version": "1.0.0",
907
- "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
908
- "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
909
- "requires": {
910
- "is-relative": "^1.0.0",
911
- "is-windows": "^1.0.1"
912
- }
913
- },
914
- "is-accessor-descriptor": {
915
- "version": "0.1.6",
916
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
917
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
918
- "requires": {
919
- "kind-of": "^3.0.2"
920
- },
921
- "dependencies": {
922
- "kind-of": {
923
- "version": "3.2.2",
924
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
925
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
926
- "requires": {
927
- "is-buffer": "^1.1.5"
928
- }
929
- }
930
- }
931
- },
932
- "is-buffer": {
933
- "version": "1.1.6",
934
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
935
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
936
- },
937
- "is-core-module": {
938
- "version": "2.1.0",
939
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
940
- "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
941
- "requires": {
942
- "has": "^1.0.3"
943
- }
944
- },
945
- "is-data-descriptor": {
946
- "version": "0.1.4",
947
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
948
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
949
- "requires": {
950
- "kind-of": "^3.0.2"
951
- },
952
- "dependencies": {
953
- "kind-of": {
954
- "version": "3.2.2",
955
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
956
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
957
- "requires": {
958
- "is-buffer": "^1.1.5"
959
- }
960
- }
961
- }
962
- },
963
- "is-descriptor": {
964
- "version": "0.1.6",
965
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
966
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
967
- "requires": {
968
- "is-accessor-descriptor": "^0.1.6",
969
- "is-data-descriptor": "^0.1.4",
970
- "kind-of": "^5.0.0"
971
- },
972
- "dependencies": {
973
- "kind-of": {
974
- "version": "5.1.0",
975
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
976
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
977
- }
978
- }
979
- },
980
- "is-extendable": {
981
- "version": "0.1.1",
982
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
983
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
984
- },
985
- "is-extglob": {
986
- "version": "2.1.1",
987
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
988
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
989
- },
990
- "is-glob": {
991
- "version": "3.1.0",
992
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
993
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
994
- "requires": {
995
- "is-extglob": "^2.1.0"
996
- }
997
- },
998
- "is-number": {
999
- "version": "3.0.0",
1000
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1001
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1002
- "requires": {
1003
- "kind-of": "^3.0.2"
1004
- },
1005
- "dependencies": {
1006
- "kind-of": {
1007
- "version": "3.2.2",
1008
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1009
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1010
- "requires": {
1011
- "is-buffer": "^1.1.5"
1012
- }
1013
- }
1014
- }
1015
- },
1016
- "is-plain-object": {
1017
- "version": "2.0.4",
1018
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1019
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1020
- "requires": {
1021
- "isobject": "^3.0.1"
1022
- }
1023
- },
1024
- "is-relative": {
1025
- "version": "1.0.0",
1026
- "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
1027
- "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
1028
- "requires": {
1029
- "is-unc-path": "^1.0.0"
1030
- }
1031
- },
1032
- "is-unc-path": {
1033
- "version": "1.0.0",
1034
- "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
1035
- "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
1036
- "requires": {
1037
- "unc-path-regex": "^0.1.2"
1038
- }
1039
- },
1040
- "is-windows": {
1041
- "version": "1.0.2",
1042
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1043
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
1044
- },
1045
- "isarray": {
1046
- "version": "1.0.0",
1047
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1048
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1049
- },
1050
- "isexe": {
1051
- "version": "2.0.0",
1052
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1053
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
1054
- },
1055
- "isobject": {
1056
- "version": "3.0.1",
1057
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1058
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
1059
- },
1060
- "js-yaml": {
1061
- "version": "2.0.5",
1062
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
1063
- "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
1064
- "dev": true,
1065
- "requires": {
1066
- "argparse": "~ 0.1.11",
1067
- "esprima": "~ 1.0.2"
1068
- }
1069
- },
1070
- "jshint": {
1071
- "version": "2.1.11",
1072
- "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz",
1073
- "integrity": "sha1-61EI/vm6Xd67gwmD9XLSQuSeP5Y=",
1074
- "dev": true,
1075
- "requires": {
1076
- "cli": "0.4.x",
1077
- "console-browserify": "0.1.x",
1078
- "minimatch": "0.x.x",
1079
- "shelljs": "0.1.x",
1080
- "underscore": "1.4.x"
1081
- },
1082
- "dependencies": {
1083
- "underscore": {
1084
- "version": "1.4.4",
1085
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
1086
- "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",
1087
- "dev": true
1088
- }
1089
- }
1090
- },
1091
- "kind-of": {
1092
- "version": "6.0.3",
1093
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1094
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
1095
- },
1096
- "liftoff": {
1097
- "version": "2.5.0",
1098
- "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
1099
- "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
1100
- "requires": {
1101
- "extend": "^3.0.0",
1102
- "findup-sync": "^2.0.0",
1103
- "fined": "^1.0.1",
1104
- "flagged-respawn": "^1.0.0",
1105
- "is-plain-object": "^2.0.4",
1106
- "object.map": "^1.0.0",
1107
- "rechoir": "^0.6.2",
1108
- "resolve": "^1.1.7"
1109
- },
1110
- "dependencies": {
1111
- "findup-sync": {
1112
- "version": "2.0.0",
1113
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
1114
- "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
1115
- "requires": {
1116
- "detect-file": "^1.0.0",
1117
- "is-glob": "^3.1.0",
1118
- "micromatch": "^3.0.4",
1119
- "resolve-dir": "^1.0.1"
1120
- }
1121
- }
1122
- }
1123
- },
1124
- "lodash": {
1125
- "version": "0.9.2",
1126
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
1127
- "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
1128
- "dev": true
1129
- },
1130
- "lru-cache": {
1131
- "version": "2.7.3",
1132
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
1133
- "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
1134
- "dev": true
1135
- },
1136
- "make-iterator": {
1137
- "version": "1.0.1",
1138
- "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
1139
- "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
1140
- "requires": {
1141
- "kind-of": "^6.0.2"
1142
- }
1143
- },
1144
- "map-cache": {
1145
- "version": "0.2.2",
1146
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1147
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
1148
- },
1149
- "map-visit": {
1150
- "version": "1.0.0",
1151
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1152
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1153
- "requires": {
1154
- "object-visit": "^1.0.0"
1155
- }
1156
- },
1157
- "micromatch": {
1158
- "version": "3.1.10",
1159
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1160
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1161
- "requires": {
1162
- "arr-diff": "^4.0.0",
1163
- "array-unique": "^0.3.2",
1164
- "braces": "^2.3.1",
1165
- "define-property": "^2.0.2",
1166
- "extend-shallow": "^3.0.2",
1167
- "extglob": "^2.0.4",
1168
- "fragment-cache": "^0.2.1",
1169
- "kind-of": "^6.0.2",
1170
- "nanomatch": "^1.2.9",
1171
- "object.pick": "^1.3.0",
1172
- "regex-not": "^1.0.0",
1173
- "snapdragon": "^0.8.1",
1174
- "to-regex": "^3.0.2"
1175
- }
1176
- },
1177
- "minimatch": {
1178
- "version": "0.2.14",
1179
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
1180
- "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
1181
- "dev": true,
1182
- "requires": {
1183
- "lru-cache": "2",
1184
- "sigmund": "~1.0.0"
1185
- }
1186
- },
1187
- "mixin-deep": {
1188
- "version": "1.3.2",
1189
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1190
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1191
- "requires": {
1192
- "for-in": "^1.0.2",
1193
- "is-extendable": "^1.0.1"
1194
- },
1195
- "dependencies": {
1196
- "is-extendable": {
1197
- "version": "1.0.1",
1198
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1199
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1200
- "requires": {
1201
- "is-plain-object": "^2.0.4"
1202
- }
1203
- }
1204
- }
1205
- },
1206
- "ms": {
1207
- "version": "2.0.0",
1208
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1209
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1210
- },
1211
- "nanomatch": {
1212
- "version": "1.2.13",
1213
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1214
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1215
- "requires": {
1216
- "arr-diff": "^4.0.0",
1217
- "array-unique": "^0.3.2",
1218
- "define-property": "^2.0.2",
1219
- "extend-shallow": "^3.0.2",
1220
- "fragment-cache": "^0.2.1",
1221
- "is-windows": "^1.0.2",
1222
- "kind-of": "^6.0.2",
1223
- "object.pick": "^1.3.0",
1224
- "regex-not": "^1.0.0",
1225
- "snapdragon": "^0.8.1",
1226
- "to-regex": "^3.0.1"
1227
- }
1228
- },
1229
- "nopt": {
1230
- "version": "1.0.10",
1231
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
1232
- "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
1233
- "dev": true,
1234
- "requires": {
1235
- "abbrev": "1"
1236
- }
1237
- },
1238
- "object-copy": {
1239
- "version": "0.1.0",
1240
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1241
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1242
- "requires": {
1243
- "copy-descriptor": "^0.1.0",
1244
- "define-property": "^0.2.5",
1245
- "kind-of": "^3.0.3"
1246
- },
1247
- "dependencies": {
1248
- "define-property": {
1249
- "version": "0.2.5",
1250
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1251
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1252
- "requires": {
1253
- "is-descriptor": "^0.1.0"
1254
- }
1255
- },
1256
- "kind-of": {
1257
- "version": "3.2.2",
1258
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1259
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1260
- "requires": {
1261
- "is-buffer": "^1.1.5"
1262
- }
1263
- }
1264
- }
1265
- },
1266
- "object-visit": {
1267
- "version": "1.0.1",
1268
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
1269
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
1270
- "requires": {
1271
- "isobject": "^3.0.0"
1272
- }
1273
- },
1274
- "object.defaults": {
1275
- "version": "1.1.0",
1276
- "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
1277
- "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
1278
- "requires": {
1279
- "array-each": "^1.0.1",
1280
- "array-slice": "^1.0.0",
1281
- "for-own": "^1.0.0",
1282
- "isobject": "^3.0.0"
1283
- }
1284
- },
1285
- "object.map": {
1286
- "version": "1.0.1",
1287
- "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
1288
- "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
1289
- "requires": {
1290
- "for-own": "^1.0.0",
1291
- "make-iterator": "^1.0.0"
1292
- }
1293
- },
1294
- "object.pick": {
1295
- "version": "1.3.0",
1296
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
1297
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
1298
- "requires": {
1299
- "isobject": "^3.0.1"
1300
- }
1301
- },
1302
- "os-homedir": {
1303
- "version": "1.0.2",
1304
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1305
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
1306
- },
1307
- "os-tmpdir": {
1308
- "version": "1.0.2",
1309
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1310
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
1311
- },
1312
- "osenv": {
1313
- "version": "0.1.5",
1314
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
1315
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
1316
- "requires": {
1317
- "os-homedir": "^1.0.0",
1318
- "os-tmpdir": "^1.0.0"
1319
- }
1320
- },
1321
- "parse-filepath": {
1322
- "version": "1.0.2",
1323
- "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
1324
- "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
1325
- "requires": {
1326
- "is-absolute": "^1.0.0",
1327
- "map-cache": "^0.2.0",
1328
- "path-root": "^0.1.1"
1329
- }
1330
- },
1331
- "parse-passwd": {
1332
- "version": "1.0.0",
1333
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
1334
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
1335
- },
1336
- "pascalcase": {
1337
- "version": "0.1.1",
1338
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
1339
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
1340
- },
1341
- "path-parse": {
1342
- "version": "1.0.6",
1343
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1344
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
1345
- },
1346
- "path-root": {
1347
- "version": "0.1.1",
1348
- "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
1349
- "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
1350
- "requires": {
1351
- "path-root-regex": "^0.1.0"
1352
- }
1353
- },
1354
- "path-root-regex": {
1355
- "version": "0.1.2",
1356
- "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
1357
- "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
1358
- },
1359
- "posix-character-classes": {
1360
- "version": "0.1.1",
1361
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
1362
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
1363
- },
1364
- "preprocess": {
1365
- "version": "2.3.1",
1366
- "resolved": "https://registry.npmjs.org/preprocess/-/preprocess-2.3.1.tgz",
1367
- "integrity": "sha1-vaMCLmI+m1mdTAgoGG2FvZ8SxQA=",
1368
- "dev": true
1369
- },
1370
- "rechoir": {
1371
- "version": "0.6.2",
1372
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
1373
- "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
1374
- "requires": {
1375
- "resolve": "^1.1.6"
1376
- }
1377
- },
1378
- "regex-not": {
1379
- "version": "1.0.2",
1380
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
1381
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
1382
- "requires": {
1383
- "extend-shallow": "^3.0.2",
1384
- "safe-regex": "^1.1.0"
1385
- }
1386
- },
1387
- "repeat-element": {
1388
- "version": "1.1.3",
1389
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1390
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
1391
- },
1392
- "repeat-string": {
1393
- "version": "1.6.1",
1394
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1395
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
1396
- },
1397
- "resolve": {
1398
- "version": "1.18.1",
1399
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
1400
- "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
1401
- "requires": {
1402
- "is-core-module": "^2.0.0",
1403
- "path-parse": "^1.0.6"
1404
- }
1405
- },
1406
- "resolve-dir": {
1407
- "version": "1.0.1",
1408
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
1409
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
1410
- "requires": {
1411
- "expand-tilde": "^2.0.0",
1412
- "global-modules": "^1.0.0"
1413
- }
1414
- },
1415
- "resolve-url": {
1416
- "version": "0.2.1",
1417
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1418
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
1419
- },
1420
- "ret": {
1421
- "version": "0.1.15",
1422
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
1423
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
1424
- },
1425
- "rimraf": {
1426
- "version": "2.2.8",
1427
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
1428
- "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
1429
- "dev": true
1430
- },
1431
- "safe-regex": {
1432
- "version": "1.1.0",
1433
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
1434
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
1435
- "requires": {
1436
- "ret": "~0.1.10"
1437
- }
1438
- },
1439
- "set-value": {
1440
- "version": "2.0.1",
1441
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
1442
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
1443
- "requires": {
1444
- "extend-shallow": "^2.0.1",
1445
- "is-extendable": "^0.1.1",
1446
- "is-plain-object": "^2.0.3",
1447
- "split-string": "^3.0.1"
1448
- },
1449
- "dependencies": {
1450
- "extend-shallow": {
1451
- "version": "2.0.1",
1452
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1453
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1454
- "requires": {
1455
- "is-extendable": "^0.1.0"
1456
- }
1457
- }
1458
- }
1459
- },
1460
- "shelljs": {
1461
- "version": "0.1.4",
1462
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz",
1463
- "integrity": "sha1-37vnjVbDwBaNL7eeEOzR28sH7A4=",
1464
- "dev": true
1465
- },
1466
- "sigmund": {
1467
- "version": "1.0.1",
1468
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
1469
- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
1470
- "dev": true
1471
- },
1472
- "snapdragon": {
1473
- "version": "0.8.2",
1474
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
1475
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
1476
- "requires": {
1477
- "base": "^0.11.1",
1478
- "debug": "^2.2.0",
1479
- "define-property": "^0.2.5",
1480
- "extend-shallow": "^2.0.1",
1481
- "map-cache": "^0.2.2",
1482
- "source-map": "^0.5.6",
1483
- "source-map-resolve": "^0.5.0",
1484
- "use": "^3.1.0"
1485
- },
1486
- "dependencies": {
1487
- "define-property": {
1488
- "version": "0.2.5",
1489
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1490
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1491
- "requires": {
1492
- "is-descriptor": "^0.1.0"
1493
- }
1494
- },
1495
- "extend-shallow": {
1496
- "version": "2.0.1",
1497
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1498
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1499
- "requires": {
1500
- "is-extendable": "^0.1.0"
1501
- }
1502
- },
1503
- "source-map": {
1504
- "version": "0.5.7",
1505
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1506
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
1507
- }
1508
- }
1509
- },
1510
- "snapdragon-node": {
1511
- "version": "2.1.1",
1512
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
1513
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
1514
- "requires": {
1515
- "define-property": "^1.0.0",
1516
- "isobject": "^3.0.0",
1517
- "snapdragon-util": "^3.0.1"
1518
- },
1519
- "dependencies": {
1520
- "define-property": {
1521
- "version": "1.0.0",
1522
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1523
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1524
- "requires": {
1525
- "is-descriptor": "^1.0.0"
1526
- }
1527
- },
1528
- "is-accessor-descriptor": {
1529
- "version": "1.0.0",
1530
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1531
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1532
- "requires": {
1533
- "kind-of": "^6.0.0"
1534
- }
1535
- },
1536
- "is-data-descriptor": {
1537
- "version": "1.0.0",
1538
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1539
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1540
- "requires": {
1541
- "kind-of": "^6.0.0"
1542
- }
1543
- },
1544
- "is-descriptor": {
1545
- "version": "1.0.2",
1546
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1547
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1548
- "requires": {
1549
- "is-accessor-descriptor": "^1.0.0",
1550
- "is-data-descriptor": "^1.0.0",
1551
- "kind-of": "^6.0.2"
1552
- }
1553
- }
1554
- }
1555
- },
1556
- "snapdragon-util": {
1557
- "version": "3.0.1",
1558
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
1559
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
1560
- "requires": {
1561
- "kind-of": "^3.2.0"
1562
- },
1563
- "dependencies": {
1564
- "kind-of": {
1565
- "version": "3.2.2",
1566
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1567
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1568
- "requires": {
1569
- "is-buffer": "^1.1.5"
1570
- }
1571
- }
1572
- }
1573
- },
1574
- "source-map": {
1575
- "version": "0.1.34",
1576
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
1577
- "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
1578
- "dev": true,
1579
- "requires": {
1580
- "amdefine": ">=0.0.4"
1581
- }
1582
- },
1583
- "source-map-resolve": {
1584
- "version": "0.5.3",
1585
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
1586
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
1587
- "requires": {
1588
- "atob": "^2.1.2",
1589
- "decode-uri-component": "^0.2.0",
1590
- "resolve-url": "^0.2.1",
1591
- "source-map-url": "^0.4.0",
1592
- "urix": "^0.1.0"
1593
- }
1594
- },
1595
- "source-map-url": {
1596
- "version": "0.4.0",
1597
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
1598
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
1599
- },
1600
- "split-string": {
1601
- "version": "3.1.0",
1602
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
1603
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
1604
- "requires": {
1605
- "extend-shallow": "^3.0.0"
1606
- }
1607
- },
1608
- "static-extend": {
1609
- "version": "0.1.2",
1610
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
1611
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
1612
- "requires": {
1613
- "define-property": "^0.2.5",
1614
- "object-copy": "^0.1.0"
1615
- },
1616
- "dependencies": {
1617
- "define-property": {
1618
- "version": "0.2.5",
1619
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1620
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1621
- "requires": {
1622
- "is-descriptor": "^0.1.0"
1623
- }
1624
- }
1625
- }
1626
- },
1627
- "to-object-path": {
1628
- "version": "0.3.0",
1629
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
1630
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
1631
- "requires": {
1632
- "kind-of": "^3.0.2"
1633
- },
1634
- "dependencies": {
1635
- "kind-of": {
1636
- "version": "3.2.2",
1637
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1638
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1639
- "requires": {
1640
- "is-buffer": "^1.1.5"
1641
- }
1642
- }
1643
- }
1644
- },
1645
- "to-regex": {
1646
- "version": "3.0.2",
1647
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
1648
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
1649
- "requires": {
1650
- "define-property": "^2.0.2",
1651
- "extend-shallow": "^3.0.2",
1652
- "regex-not": "^1.0.2",
1653
- "safe-regex": "^1.1.0"
1654
- }
1655
- },
1656
- "to-regex-range": {
1657
- "version": "2.1.1",
1658
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
1659
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
1660
- "requires": {
1661
- "is-number": "^3.0.0",
1662
- "repeat-string": "^1.6.1"
1663
- }
1664
- },
1665
- "uglify-js": {
1666
- "version": "2.4.24",
1667
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
1668
- "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
1669
- "dev": true,
1670
- "requires": {
1671
- "async": "~0.2.6",
1672
- "source-map": "0.1.34",
1673
- "uglify-to-browserify": "~1.0.0",
1674
- "yargs": "~3.5.4"
1675
- },
1676
- "dependencies": {
1677
- "async": {
1678
- "version": "0.2.10",
1679
- "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
1680
- "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
1681
- "dev": true
1682
- }
1683
- }
1684
- },
1685
- "uglify-to-browserify": {
1686
- "version": "1.0.2",
1687
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
1688
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
1689
- "dev": true
1690
- },
1691
- "unc-path-regex": {
1692
- "version": "0.1.2",
1693
- "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
1694
- "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
1695
- },
1696
- "underscore": {
1697
- "version": "1.7.0",
1698
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
1699
- "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
1700
- "dev": true
1701
- },
1702
- "underscore.string": {
1703
- "version": "2.2.1",
1704
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
1705
- "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
1706
- "dev": true
1707
- },
1708
- "union-value": {
1709
- "version": "1.0.1",
1710
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
1711
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
1712
- "requires": {
1713
- "arr-union": "^3.1.0",
1714
- "get-value": "^2.0.6",
1715
- "is-extendable": "^0.1.1",
1716
- "set-value": "^2.0.1"
1717
- }
1718
- },
1719
- "unset-value": {
1720
- "version": "1.0.0",
1721
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
1722
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
1723
- "requires": {
1724
- "has-value": "^0.3.1",
1725
- "isobject": "^3.0.0"
1726
- },
1727
- "dependencies": {
1728
- "has-value": {
1729
- "version": "0.3.1",
1730
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
1731
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
1732
- "requires": {
1733
- "get-value": "^2.0.3",
1734
- "has-values": "^0.1.4",
1735
- "isobject": "^2.0.0"
1736
- },
1737
- "dependencies": {
1738
- "isobject": {
1739
- "version": "2.1.0",
1740
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1741
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1742
- "requires": {
1743
- "isarray": "1.0.0"
1744
- }
1745
- }
1746
- }
1747
- },
1748
- "has-values": {
1749
- "version": "0.1.4",
1750
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
1751
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
1752
- }
1753
- }
1754
- },
1755
- "urix": {
1756
- "version": "0.1.0",
1757
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
1758
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
1759
- },
1760
- "use": {
1761
- "version": "3.1.1",
1762
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
1763
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
1764
- },
1765
- "v8flags": {
1766
- "version": "3.1.3",
1767
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
1768
- "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
1769
- "requires": {
1770
- "homedir-polyfill": "^1.0.1"
1771
- }
1772
- },
1773
- "which": {
1774
- "version": "1.0.9",
1775
- "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
1776
- "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
1777
- "dev": true
1778
- },
1779
- "window-size": {
1780
- "version": "0.1.0",
1781
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
1782
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
1783
- "dev": true
1784
- },
1785
- "wordwrap": {
1786
- "version": "0.0.2",
1787
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
1788
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
1789
- "dev": true
1790
- },
1791
- "yargs": {
1792
- "version": "3.5.4",
1793
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
1794
- "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
1795
- "dev": true,
1796
- "requires": {
1797
- "camelcase": "^1.0.2",
1798
- "decamelize": "^1.0.0",
1799
- "window-size": "0.1.0",
1800
- "wordwrap": "0.0.2"
1801
- }
1802
- },
1803
- "zlib-browserify": {
1804
- "version": "0.0.1",
1805
- "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz",
1806
- "integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=",
1807
- "dev": true
1808
- }
1809
- }
1810
- }
1
+ {
2
+ "name": "bootstrap-generator",
3
+ "version": "1.0.1",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "abbrev": {
8
+ "version": "1.1.1",
9
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
10
+ "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg="
11
+ },
12
+ "amdefine": {
13
+ "version": "1.0.1",
14
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
15
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
16
+ "dev": true
17
+ },
18
+ "argparse": {
19
+ "version": "0.1.16",
20
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
21
+ "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
22
+ "dev": true,
23
+ "requires": {
24
+ "underscore": "~1.7.0",
25
+ "underscore.string": "~2.4.0"
26
+ },
27
+ "dependencies": {
28
+ "underscore.string": {
29
+ "version": "2.4.0",
30
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
31
+ "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
32
+ "dev": true
33
+ }
34
+ }
35
+ },
36
+ "arr-diff": {
37
+ "version": "4.0.0",
38
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
39
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
40
+ },
41
+ "arr-flatten": {
42
+ "version": "1.1.0",
43
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
44
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
45
+ },
46
+ "arr-union": {
47
+ "version": "3.1.0",
48
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
49
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
50
+ },
51
+ "array-each": {
52
+ "version": "1.0.1",
53
+ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
54
+ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
55
+ },
56
+ "array-slice": {
57
+ "version": "1.1.0",
58
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
59
+ "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
60
+ },
61
+ "array-unique": {
62
+ "version": "0.3.2",
63
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
64
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
65
+ },
66
+ "assign-symbols": {
67
+ "version": "1.0.0",
68
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
69
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
70
+ },
71
+ "async": {
72
+ "version": "0.1.22",
73
+ "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
74
+ "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
75
+ "dev": true
76
+ },
77
+ "atob": {
78
+ "version": "2.1.2",
79
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
80
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
81
+ },
82
+ "base": {
83
+ "version": "0.11.2",
84
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
85
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
86
+ "requires": {
87
+ "cache-base": "^1.0.1",
88
+ "class-utils": "^0.3.5",
89
+ "component-emitter": "^1.2.1",
90
+ "define-property": "^1.0.0",
91
+ "isobject": "^3.0.1",
92
+ "mixin-deep": "^1.2.0",
93
+ "pascalcase": "^0.1.1"
94
+ },
95
+ "dependencies": {
96
+ "define-property": {
97
+ "version": "1.0.0",
98
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
99
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
100
+ "requires": {
101
+ "is-descriptor": "^1.0.0"
102
+ }
103
+ },
104
+ "is-accessor-descriptor": {
105
+ "version": "1.0.0",
106
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
107
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
108
+ "requires": {
109
+ "kind-of": "^6.0.0"
110
+ }
111
+ },
112
+ "is-data-descriptor": {
113
+ "version": "1.0.0",
114
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
115
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
116
+ "requires": {
117
+ "kind-of": "^6.0.0"
118
+ }
119
+ },
120
+ "is-descriptor": {
121
+ "version": "1.0.2",
122
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
123
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
124
+ "requires": {
125
+ "is-accessor-descriptor": "^1.0.0",
126
+ "is-data-descriptor": "^1.0.0",
127
+ "kind-of": "^6.0.2"
128
+ }
129
+ }
130
+ }
131
+ },
132
+ "braces": {
133
+ "version": "2.3.2",
134
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
135
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
136
+ "requires": {
137
+ "arr-flatten": "^1.1.0",
138
+ "array-unique": "^0.3.2",
139
+ "extend-shallow": "^2.0.1",
140
+ "fill-range": "^4.0.0",
141
+ "isobject": "^3.0.1",
142
+ "repeat-element": "^1.1.2",
143
+ "snapdragon": "^0.8.1",
144
+ "snapdragon-node": "^2.0.1",
145
+ "split-string": "^3.0.2",
146
+ "to-regex": "^3.0.1"
147
+ },
148
+ "dependencies": {
149
+ "extend-shallow": {
150
+ "version": "2.0.1",
151
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
152
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
153
+ "requires": {
154
+ "is-extendable": "^0.1.0"
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "cache-base": {
160
+ "version": "1.0.1",
161
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
162
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
163
+ "requires": {
164
+ "collection-visit": "^1.0.0",
165
+ "component-emitter": "^1.2.1",
166
+ "get-value": "^2.0.6",
167
+ "has-value": "^1.0.0",
168
+ "isobject": "^3.0.1",
169
+ "set-value": "^2.0.0",
170
+ "to-object-path": "^0.3.0",
171
+ "union-value": "^1.0.0",
172
+ "unset-value": "^1.0.0"
173
+ }
174
+ },
175
+ "camelcase": {
176
+ "version": "1.2.1",
177
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
178
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
179
+ "dev": true
180
+ },
181
+ "class-utils": {
182
+ "version": "0.3.6",
183
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
184
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
185
+ "requires": {
186
+ "arr-union": "^3.1.0",
187
+ "define-property": "^0.2.5",
188
+ "isobject": "^3.0.0",
189
+ "static-extend": "^0.1.1"
190
+ },
191
+ "dependencies": {
192
+ "define-property": {
193
+ "version": "0.2.5",
194
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
195
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
196
+ "requires": {
197
+ "is-descriptor": "^0.1.0"
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "clean-css": {
203
+ "version": "2.0.8",
204
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.0.8.tgz",
205
+ "integrity": "sha1-6TfN/cxXgaAIF67EB56Fs+wVeiA=",
206
+ "dev": true,
207
+ "requires": {
208
+ "commander": "2.0.x"
209
+ }
210
+ },
211
+ "cli": {
212
+ "version": "0.4.5",
213
+ "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.5.tgz",
214
+ "integrity": "sha1-ePlIXNFhtWbppsctcXDEJw6B22E=",
215
+ "dev": true,
216
+ "requires": {
217
+ "glob": ">= 3.1.4"
218
+ }
219
+ },
220
+ "coffee-script": {
221
+ "version": "1.3.3",
222
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
223
+ "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
224
+ "dev": true
225
+ },
226
+ "collection-visit": {
227
+ "version": "1.0.0",
228
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
229
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
230
+ "requires": {
231
+ "map-visit": "^1.0.0",
232
+ "object-visit": "^1.0.0"
233
+ }
234
+ },
235
+ "colors": {
236
+ "version": "0.6.2",
237
+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
238
+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
239
+ "dev": true
240
+ },
241
+ "commander": {
242
+ "version": "2.0.0",
243
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz",
244
+ "integrity": "sha1-0bhvkB+LZL2UG96tr5JFMDk76Sg=",
245
+ "dev": true
246
+ },
247
+ "component-emitter": {
248
+ "version": "1.3.0",
249
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
250
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
251
+ },
252
+ "console-browserify": {
253
+ "version": "0.1.6",
254
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz",
255
+ "integrity": "sha1-0SijwLuINQ61YmxufHGm8P1ImDw=",
256
+ "dev": true
257
+ },
258
+ "copy-descriptor": {
259
+ "version": "0.1.1",
260
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
261
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
262
+ },
263
+ "dateformat": {
264
+ "version": "1.0.2-1.2.3",
265
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
266
+ "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
267
+ "dev": true
268
+ },
269
+ "debug": {
270
+ "version": "2.6.9",
271
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
272
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
273
+ "requires": {
274
+ "ms": "2.0.0"
275
+ }
276
+ },
277
+ "decamelize": {
278
+ "version": "1.2.0",
279
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
280
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
281
+ "dev": true
282
+ },
283
+ "decode-uri-component": {
284
+ "version": "0.2.0",
285
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
286
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
287
+ },
288
+ "define-property": {
289
+ "version": "2.0.2",
290
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
291
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
292
+ "requires": {
293
+ "is-descriptor": "^1.0.2",
294
+ "isobject": "^3.0.1"
295
+ },
296
+ "dependencies": {
297
+ "is-accessor-descriptor": {
298
+ "version": "1.0.0",
299
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
300
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
301
+ "requires": {
302
+ "kind-of": "^6.0.0"
303
+ }
304
+ },
305
+ "is-data-descriptor": {
306
+ "version": "1.0.0",
307
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
308
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
309
+ "requires": {
310
+ "kind-of": "^6.0.0"
311
+ }
312
+ },
313
+ "is-descriptor": {
314
+ "version": "1.0.2",
315
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
316
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
317
+ "requires": {
318
+ "is-accessor-descriptor": "^1.0.0",
319
+ "is-data-descriptor": "^1.0.0",
320
+ "kind-of": "^6.0.2"
321
+ }
322
+ }
323
+ }
324
+ },
325
+ "detect-file": {
326
+ "version": "1.0.0",
327
+ "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
328
+ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
329
+ },
330
+ "esprima": {
331
+ "version": "1.0.4",
332
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
333
+ "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
334
+ "dev": true
335
+ },
336
+ "eventemitter2": {
337
+ "version": "0.4.14",
338
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
339
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
340
+ "dev": true
341
+ },
342
+ "exit": {
343
+ "version": "0.1.2",
344
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
345
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
346
+ "dev": true
347
+ },
348
+ "expand-brackets": {
349
+ "version": "2.1.4",
350
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
351
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
352
+ "requires": {
353
+ "debug": "^2.3.3",
354
+ "define-property": "^0.2.5",
355
+ "extend-shallow": "^2.0.1",
356
+ "posix-character-classes": "^0.1.0",
357
+ "regex-not": "^1.0.0",
358
+ "snapdragon": "^0.8.1",
359
+ "to-regex": "^3.0.1"
360
+ },
361
+ "dependencies": {
362
+ "define-property": {
363
+ "version": "0.2.5",
364
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
365
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
366
+ "requires": {
367
+ "is-descriptor": "^0.1.0"
368
+ }
369
+ },
370
+ "extend-shallow": {
371
+ "version": "2.0.1",
372
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
373
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
374
+ "requires": {
375
+ "is-extendable": "^0.1.0"
376
+ }
377
+ }
378
+ }
379
+ },
380
+ "expand-tilde": {
381
+ "version": "2.0.2",
382
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
383
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
384
+ "requires": {
385
+ "homedir-polyfill": "^1.0.1"
386
+ }
387
+ },
388
+ "extend": {
389
+ "version": "3.0.2",
390
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
391
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
392
+ },
393
+ "extend-shallow": {
394
+ "version": "3.0.2",
395
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
396
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
397
+ "requires": {
398
+ "assign-symbols": "^1.0.0",
399
+ "is-extendable": "^1.0.1"
400
+ },
401
+ "dependencies": {
402
+ "is-extendable": {
403
+ "version": "1.0.1",
404
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
405
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
406
+ "requires": {
407
+ "is-plain-object": "^2.0.4"
408
+ }
409
+ }
410
+ }
411
+ },
412
+ "extglob": {
413
+ "version": "2.0.4",
414
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
415
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
416
+ "requires": {
417
+ "array-unique": "^0.3.2",
418
+ "define-property": "^1.0.0",
419
+ "expand-brackets": "^2.1.4",
420
+ "extend-shallow": "^2.0.1",
421
+ "fragment-cache": "^0.2.1",
422
+ "regex-not": "^1.0.0",
423
+ "snapdragon": "^0.8.1",
424
+ "to-regex": "^3.0.1"
425
+ },
426
+ "dependencies": {
427
+ "define-property": {
428
+ "version": "1.0.0",
429
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
430
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
431
+ "requires": {
432
+ "is-descriptor": "^1.0.0"
433
+ }
434
+ },
435
+ "extend-shallow": {
436
+ "version": "2.0.1",
437
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
438
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
439
+ "requires": {
440
+ "is-extendable": "^0.1.0"
441
+ }
442
+ },
443
+ "is-accessor-descriptor": {
444
+ "version": "1.0.0",
445
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
446
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
447
+ "requires": {
448
+ "kind-of": "^6.0.0"
449
+ }
450
+ },
451
+ "is-data-descriptor": {
452
+ "version": "1.0.0",
453
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
454
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
455
+ "requires": {
456
+ "kind-of": "^6.0.0"
457
+ }
458
+ },
459
+ "is-descriptor": {
460
+ "version": "1.0.2",
461
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
462
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
463
+ "requires": {
464
+ "is-accessor-descriptor": "^1.0.0",
465
+ "is-data-descriptor": "^1.0.0",
466
+ "kind-of": "^6.0.2"
467
+ }
468
+ }
469
+ }
470
+ },
471
+ "fill-range": {
472
+ "version": "4.0.0",
473
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
474
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
475
+ "requires": {
476
+ "extend-shallow": "^2.0.1",
477
+ "is-number": "^3.0.0",
478
+ "repeat-string": "^1.6.1",
479
+ "to-regex-range": "^2.1.0"
480
+ },
481
+ "dependencies": {
482
+ "extend-shallow": {
483
+ "version": "2.0.1",
484
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
485
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
486
+ "requires": {
487
+ "is-extendable": "^0.1.0"
488
+ }
489
+ }
490
+ }
491
+ },
492
+ "findup-sync": {
493
+ "version": "0.1.3",
494
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
495
+ "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
496
+ "dev": true,
497
+ "requires": {
498
+ "glob": "~3.2.9",
499
+ "lodash": "~2.4.1"
500
+ },
501
+ "dependencies": {
502
+ "glob": {
503
+ "version": "3.2.11",
504
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
505
+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
506
+ "dev": true,
507
+ "requires": {
508
+ "inherits": "2",
509
+ "minimatch": "0.3"
510
+ }
511
+ },
512
+ "lodash": {
513
+ "version": "2.4.2",
514
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
515
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
516
+ "dev": true
517
+ },
518
+ "minimatch": {
519
+ "version": "0.3.0",
520
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
521
+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
522
+ "dev": true,
523
+ "requires": {
524
+ "lru-cache": "2",
525
+ "sigmund": "~1.0.0"
526
+ }
527
+ }
528
+ }
529
+ },
530
+ "fined": {
531
+ "version": "1.2.0",
532
+ "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
533
+ "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
534
+ "requires": {
535
+ "expand-tilde": "^2.0.2",
536
+ "is-plain-object": "^2.0.3",
537
+ "object.defaults": "^1.1.0",
538
+ "object.pick": "^1.2.0",
539
+ "parse-filepath": "^1.0.1"
540
+ }
541
+ },
542
+ "flagged-respawn": {
543
+ "version": "1.0.1",
544
+ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
545
+ "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
546
+ },
547
+ "for-in": {
548
+ "version": "1.0.2",
549
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
550
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
551
+ },
552
+ "for-own": {
553
+ "version": "1.0.0",
554
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
555
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
556
+ "requires": {
557
+ "for-in": "^1.0.1"
558
+ }
559
+ },
560
+ "fragment-cache": {
561
+ "version": "0.2.1",
562
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
563
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
564
+ "requires": {
565
+ "map-cache": "^0.2.2"
566
+ }
567
+ },
568
+ "function-bind": {
569
+ "version": "1.1.1",
570
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
571
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
572
+ },
573
+ "get-value": {
574
+ "version": "2.0.6",
575
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
576
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
577
+ },
578
+ "getobject": {
579
+ "version": "0.1.0",
580
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
581
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
582
+ "dev": true
583
+ },
584
+ "glob": {
585
+ "version": "3.1.21",
586
+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
587
+ "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
588
+ "dev": true,
589
+ "requires": {
590
+ "graceful-fs": "~1.2.0",
591
+ "inherits": "1",
592
+ "minimatch": "~0.2.11"
593
+ },
594
+ "dependencies": {
595
+ "inherits": {
596
+ "version": "1.0.2",
597
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
598
+ "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
599
+ "dev": true
600
+ }
601
+ }
602
+ },
603
+ "global-modules": {
604
+ "version": "1.0.0",
605
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
606
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
607
+ "requires": {
608
+ "global-prefix": "^1.0.1",
609
+ "is-windows": "^1.0.1",
610
+ "resolve-dir": "^1.0.0"
611
+ }
612
+ },
613
+ "global-prefix": {
614
+ "version": "1.0.2",
615
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
616
+ "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
617
+ "requires": {
618
+ "expand-tilde": "^2.0.2",
619
+ "homedir-polyfill": "^1.0.1",
620
+ "ini": "^1.3.4",
621
+ "is-windows": "^1.0.1",
622
+ "which": "^1.2.14"
623
+ },
624
+ "dependencies": {
625
+ "which": {
626
+ "version": "1.3.1",
627
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
628
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
629
+ "requires": {
630
+ "isexe": "^2.0.0"
631
+ }
632
+ }
633
+ }
634
+ },
635
+ "graceful-fs": {
636
+ "version": "1.2.3",
637
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
638
+ "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
639
+ "dev": true
640
+ },
641
+ "grunt": {
642
+ "version": "0.4.5",
643
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
644
+ "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
645
+ "dev": true,
646
+ "requires": {
647
+ "async": "~0.1.22",
648
+ "coffee-script": "~1.3.3",
649
+ "colors": "~0.6.2",
650
+ "dateformat": "1.0.2-1.2.3",
651
+ "eventemitter2": "~0.4.13",
652
+ "exit": "~0.1.1",
653
+ "findup-sync": "~0.1.2",
654
+ "getobject": "~0.1.0",
655
+ "glob": "~3.1.21",
656
+ "grunt-legacy-log": "~0.1.0",
657
+ "grunt-legacy-util": "~0.2.0",
658
+ "hooker": "~0.2.3",
659
+ "iconv-lite": "~0.2.11",
660
+ "js-yaml": "~2.0.5",
661
+ "lodash": "~0.9.2",
662
+ "minimatch": "~0.2.12",
663
+ "nopt": "~1.0.10",
664
+ "rimraf": "~2.2.8",
665
+ "underscore.string": "~2.2.1",
666
+ "which": "~1.0.5"
667
+ }
668
+ },
669
+ "grunt-cli": {
670
+ "version": "1.3.2",
671
+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
672
+ "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
673
+ "requires": {
674
+ "grunt-known-options": "~1.1.0",
675
+ "interpret": "~1.1.0",
676
+ "liftoff": "~2.5.0",
677
+ "nopt": "~4.0.1",
678
+ "v8flags": "~3.1.1"
679
+ },
680
+ "dependencies": {
681
+ "nopt": {
682
+ "version": "4.0.3",
683
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
684
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
685
+ "requires": {
686
+ "abbrev": "1",
687
+ "osenv": "^0.1.4"
688
+ }
689
+ }
690
+ }
691
+ },
692
+ "grunt-contrib-clean": {
693
+ "version": "0.5.0",
694
+ "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz",
695
+ "integrity": "sha1-9T397ghJsce0Dp67umn0jExgecU=",
696
+ "dev": true,
697
+ "requires": {
698
+ "rimraf": "~2.2.1"
699
+ }
700
+ },
701
+ "grunt-contrib-concat": {
702
+ "version": "0.3.0",
703
+ "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.3.0.tgz",
704
+ "integrity": "sha1-SPoNQzbSm2U62CJaa9b4VrRIPjI=",
705
+ "dev": true
706
+ },
707
+ "grunt-contrib-copy": {
708
+ "version": "0.5.0",
709
+ "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz",
710
+ "integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=",
711
+ "dev": true
712
+ },
713
+ "grunt-contrib-cssmin": {
714
+ "version": "0.7.0",
715
+ "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.7.0.tgz",
716
+ "integrity": "sha1-pXNenx0mMUnkn+A1KU5CnYxnC6s=",
717
+ "dev": true,
718
+ "requires": {
719
+ "clean-css": "~2.0.0",
720
+ "grunt-lib-contrib": "~0.6.0"
721
+ }
722
+ },
723
+ "grunt-contrib-jshint": {
724
+ "version": "0.6.5",
725
+ "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.6.5.tgz",
726
+ "integrity": "sha1-OvtGdnRTZMxKGe7nk0wOBgCLVm4=",
727
+ "dev": true,
728
+ "requires": {
729
+ "jshint": "~2.1.10"
730
+ }
731
+ },
732
+ "grunt-contrib-uglify": {
733
+ "version": "0.2.7",
734
+ "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.7.tgz",
735
+ "integrity": "sha1-5r2lHgxAoUWfbOrUI8Ze/XJaG/c=",
736
+ "dev": true,
737
+ "requires": {
738
+ "grunt-lib-contrib": "~0.6.1",
739
+ "uglify-js": "~2.4.0"
740
+ }
741
+ },
742
+ "grunt-known-options": {
743
+ "version": "1.1.1",
744
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
745
+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ=="
746
+ },
747
+ "grunt-legacy-log": {
748
+ "version": "0.1.3",
749
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
750
+ "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
751
+ "dev": true,
752
+ "requires": {
753
+ "colors": "~0.6.2",
754
+ "grunt-legacy-log-utils": "~0.1.1",
755
+ "hooker": "~0.2.3",
756
+ "lodash": "~2.4.1",
757
+ "underscore.string": "~2.3.3"
758
+ },
759
+ "dependencies": {
760
+ "lodash": {
761
+ "version": "2.4.2",
762
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
763
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
764
+ "dev": true
765
+ },
766
+ "underscore.string": {
767
+ "version": "2.3.3",
768
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
769
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
770
+ "dev": true
771
+ }
772
+ }
773
+ },
774
+ "grunt-legacy-log-utils": {
775
+ "version": "0.1.1",
776
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
777
+ "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
778
+ "dev": true,
779
+ "requires": {
780
+ "colors": "~0.6.2",
781
+ "lodash": "~2.4.1",
782
+ "underscore.string": "~2.3.3"
783
+ },
784
+ "dependencies": {
785
+ "lodash": {
786
+ "version": "2.4.2",
787
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
788
+ "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
789
+ "dev": true
790
+ },
791
+ "underscore.string": {
792
+ "version": "2.3.3",
793
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
794
+ "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
795
+ "dev": true
796
+ }
797
+ }
798
+ },
799
+ "grunt-legacy-util": {
800
+ "version": "0.2.0",
801
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
802
+ "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
803
+ "dev": true,
804
+ "requires": {
805
+ "async": "~0.1.22",
806
+ "exit": "~0.1.1",
807
+ "getobject": "~0.1.0",
808
+ "hooker": "~0.2.3",
809
+ "lodash": "~0.9.2",
810
+ "underscore.string": "~2.2.1",
811
+ "which": "~1.0.5"
812
+ }
813
+ },
814
+ "grunt-lib-contrib": {
815
+ "version": "0.6.1",
816
+ "resolved": "https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz",
817
+ "integrity": "sha1-P1att9oG6BR5XuJBWw6+X7iQPrs=",
818
+ "dev": true,
819
+ "requires": {
820
+ "zlib-browserify": "0.0.1"
821
+ }
822
+ },
823
+ "grunt-preprocess": {
824
+ "version": "4.2.0",
825
+ "resolved": "https://registry.npmjs.org/grunt-preprocess/-/grunt-preprocess-4.2.0.tgz",
826
+ "integrity": "sha1-SJUTzet1A1NEmn9lbVAXWvc/FfY=",
827
+ "dev": true,
828
+ "requires": {
829
+ "preprocess": "~2.3.1"
830
+ }
831
+ },
832
+ "has": {
833
+ "version": "1.0.3",
834
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
835
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
836
+ "requires": {
837
+ "function-bind": "^1.1.1"
838
+ }
839
+ },
840
+ "has-value": {
841
+ "version": "1.0.0",
842
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
843
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
844
+ "requires": {
845
+ "get-value": "^2.0.6",
846
+ "has-values": "^1.0.0",
847
+ "isobject": "^3.0.0"
848
+ }
849
+ },
850
+ "has-values": {
851
+ "version": "1.0.0",
852
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
853
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
854
+ "requires": {
855
+ "is-number": "^3.0.0",
856
+ "kind-of": "^4.0.0"
857
+ },
858
+ "dependencies": {
859
+ "kind-of": {
860
+ "version": "4.0.0",
861
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
862
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
863
+ "requires": {
864
+ "is-buffer": "^1.1.5"
865
+ }
866
+ }
867
+ }
868
+ },
869
+ "homedir-polyfill": {
870
+ "version": "1.0.3",
871
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
872
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
873
+ "requires": {
874
+ "parse-passwd": "^1.0.0"
875
+ }
876
+ },
877
+ "hooker": {
878
+ "version": "0.2.3",
879
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
880
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
881
+ "dev": true
882
+ },
883
+ "iconv-lite": {
884
+ "version": "0.2.11",
885
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
886
+ "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
887
+ "dev": true
888
+ },
889
+ "inherits": {
890
+ "version": "2.0.3",
891
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
892
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
893
+ "dev": true
894
+ },
895
+ "ini": {
896
+ "version": "1.3.5",
897
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
898
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
899
+ },
900
+ "interpret": {
901
+ "version": "1.1.0",
902
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
903
+ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
904
+ },
905
+ "is-absolute": {
906
+ "version": "1.0.0",
907
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
908
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
909
+ "requires": {
910
+ "is-relative": "^1.0.0",
911
+ "is-windows": "^1.0.1"
912
+ }
913
+ },
914
+ "is-accessor-descriptor": {
915
+ "version": "0.1.6",
916
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
917
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
918
+ "requires": {
919
+ "kind-of": "^3.0.2"
920
+ },
921
+ "dependencies": {
922
+ "kind-of": {
923
+ "version": "3.2.2",
924
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
925
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
926
+ "requires": {
927
+ "is-buffer": "^1.1.5"
928
+ }
929
+ }
930
+ }
931
+ },
932
+ "is-buffer": {
933
+ "version": "1.1.6",
934
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
935
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
936
+ },
937
+ "is-core-module": {
938
+ "version": "2.1.0",
939
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
940
+ "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
941
+ "requires": {
942
+ "has": "^1.0.3"
943
+ }
944
+ },
945
+ "is-data-descriptor": {
946
+ "version": "0.1.4",
947
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
948
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
949
+ "requires": {
950
+ "kind-of": "^3.0.2"
951
+ },
952
+ "dependencies": {
953
+ "kind-of": {
954
+ "version": "3.2.2",
955
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
956
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
957
+ "requires": {
958
+ "is-buffer": "^1.1.5"
959
+ }
960
+ }
961
+ }
962
+ },
963
+ "is-descriptor": {
964
+ "version": "0.1.6",
965
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
966
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
967
+ "requires": {
968
+ "is-accessor-descriptor": "^0.1.6",
969
+ "is-data-descriptor": "^0.1.4",
970
+ "kind-of": "^5.0.0"
971
+ },
972
+ "dependencies": {
973
+ "kind-of": {
974
+ "version": "5.1.0",
975
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
976
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
977
+ }
978
+ }
979
+ },
980
+ "is-extendable": {
981
+ "version": "0.1.1",
982
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
983
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
984
+ },
985
+ "is-extglob": {
986
+ "version": "2.1.1",
987
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
988
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
989
+ },
990
+ "is-glob": {
991
+ "version": "3.1.0",
992
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
993
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
994
+ "requires": {
995
+ "is-extglob": "^2.1.0"
996
+ }
997
+ },
998
+ "is-number": {
999
+ "version": "3.0.0",
1000
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1001
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1002
+ "requires": {
1003
+ "kind-of": "^3.0.2"
1004
+ },
1005
+ "dependencies": {
1006
+ "kind-of": {
1007
+ "version": "3.2.2",
1008
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1009
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1010
+ "requires": {
1011
+ "is-buffer": "^1.1.5"
1012
+ }
1013
+ }
1014
+ }
1015
+ },
1016
+ "is-plain-object": {
1017
+ "version": "2.0.4",
1018
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1019
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1020
+ "requires": {
1021
+ "isobject": "^3.0.1"
1022
+ }
1023
+ },
1024
+ "is-relative": {
1025
+ "version": "1.0.0",
1026
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
1027
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
1028
+ "requires": {
1029
+ "is-unc-path": "^1.0.0"
1030
+ }
1031
+ },
1032
+ "is-unc-path": {
1033
+ "version": "1.0.0",
1034
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
1035
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
1036
+ "requires": {
1037
+ "unc-path-regex": "^0.1.2"
1038
+ }
1039
+ },
1040
+ "is-windows": {
1041
+ "version": "1.0.2",
1042
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1043
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
1044
+ },
1045
+ "isarray": {
1046
+ "version": "1.0.0",
1047
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1048
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1049
+ },
1050
+ "isexe": {
1051
+ "version": "2.0.0",
1052
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1053
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
1054
+ },
1055
+ "isobject": {
1056
+ "version": "3.0.1",
1057
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1058
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
1059
+ },
1060
+ "js-yaml": {
1061
+ "version": "2.0.5",
1062
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
1063
+ "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
1064
+ "dev": true,
1065
+ "requires": {
1066
+ "argparse": "~ 0.1.11",
1067
+ "esprima": "~ 1.0.2"
1068
+ }
1069
+ },
1070
+ "jshint": {
1071
+ "version": "2.1.11",
1072
+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.1.11.tgz",
1073
+ "integrity": "sha1-61EI/vm6Xd67gwmD9XLSQuSeP5Y=",
1074
+ "dev": true,
1075
+ "requires": {
1076
+ "cli": "0.4.x",
1077
+ "console-browserify": "0.1.x",
1078
+ "minimatch": "0.x.x",
1079
+ "shelljs": "0.1.x",
1080
+ "underscore": "1.4.x"
1081
+ },
1082
+ "dependencies": {
1083
+ "underscore": {
1084
+ "version": "1.4.4",
1085
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",
1086
+ "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",
1087
+ "dev": true
1088
+ }
1089
+ }
1090
+ },
1091
+ "kind-of": {
1092
+ "version": "6.0.3",
1093
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1094
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
1095
+ },
1096
+ "liftoff": {
1097
+ "version": "2.5.0",
1098
+ "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
1099
+ "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
1100
+ "requires": {
1101
+ "extend": "^3.0.0",
1102
+ "findup-sync": "^2.0.0",
1103
+ "fined": "^1.0.1",
1104
+ "flagged-respawn": "^1.0.0",
1105
+ "is-plain-object": "^2.0.4",
1106
+ "object.map": "^1.0.0",
1107
+ "rechoir": "^0.6.2",
1108
+ "resolve": "^1.1.7"
1109
+ },
1110
+ "dependencies": {
1111
+ "findup-sync": {
1112
+ "version": "2.0.0",
1113
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
1114
+ "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
1115
+ "requires": {
1116
+ "detect-file": "^1.0.0",
1117
+ "is-glob": "^3.1.0",
1118
+ "micromatch": "^3.0.4",
1119
+ "resolve-dir": "^1.0.1"
1120
+ }
1121
+ }
1122
+ }
1123
+ },
1124
+ "lodash": {
1125
+ "version": "0.9.2",
1126
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
1127
+ "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
1128
+ "dev": true
1129
+ },
1130
+ "lru-cache": {
1131
+ "version": "2.7.3",
1132
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
1133
+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
1134
+ "dev": true
1135
+ },
1136
+ "make-iterator": {
1137
+ "version": "1.0.1",
1138
+ "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
1139
+ "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
1140
+ "requires": {
1141
+ "kind-of": "^6.0.2"
1142
+ }
1143
+ },
1144
+ "map-cache": {
1145
+ "version": "0.2.2",
1146
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1147
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
1148
+ },
1149
+ "map-visit": {
1150
+ "version": "1.0.0",
1151
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1152
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1153
+ "requires": {
1154
+ "object-visit": "^1.0.0"
1155
+ }
1156
+ },
1157
+ "micromatch": {
1158
+ "version": "3.1.10",
1159
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1160
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1161
+ "requires": {
1162
+ "arr-diff": "^4.0.0",
1163
+ "array-unique": "^0.3.2",
1164
+ "braces": "^2.3.1",
1165
+ "define-property": "^2.0.2",
1166
+ "extend-shallow": "^3.0.2",
1167
+ "extglob": "^2.0.4",
1168
+ "fragment-cache": "^0.2.1",
1169
+ "kind-of": "^6.0.2",
1170
+ "nanomatch": "^1.2.9",
1171
+ "object.pick": "^1.3.0",
1172
+ "regex-not": "^1.0.0",
1173
+ "snapdragon": "^0.8.1",
1174
+ "to-regex": "^3.0.2"
1175
+ }
1176
+ },
1177
+ "minimatch": {
1178
+ "version": "0.2.14",
1179
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
1180
+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
1181
+ "dev": true,
1182
+ "requires": {
1183
+ "lru-cache": "2",
1184
+ "sigmund": "~1.0.0"
1185
+ }
1186
+ },
1187
+ "mixin-deep": {
1188
+ "version": "1.3.2",
1189
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1190
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1191
+ "requires": {
1192
+ "for-in": "^1.0.2",
1193
+ "is-extendable": "^1.0.1"
1194
+ },
1195
+ "dependencies": {
1196
+ "is-extendable": {
1197
+ "version": "1.0.1",
1198
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1199
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1200
+ "requires": {
1201
+ "is-plain-object": "^2.0.4"
1202
+ }
1203
+ }
1204
+ }
1205
+ },
1206
+ "ms": {
1207
+ "version": "2.0.0",
1208
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1209
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1210
+ },
1211
+ "nanomatch": {
1212
+ "version": "1.2.13",
1213
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1214
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1215
+ "requires": {
1216
+ "arr-diff": "^4.0.0",
1217
+ "array-unique": "^0.3.2",
1218
+ "define-property": "^2.0.2",
1219
+ "extend-shallow": "^3.0.2",
1220
+ "fragment-cache": "^0.2.1",
1221
+ "is-windows": "^1.0.2",
1222
+ "kind-of": "^6.0.2",
1223
+ "object.pick": "^1.3.0",
1224
+ "regex-not": "^1.0.0",
1225
+ "snapdragon": "^0.8.1",
1226
+ "to-regex": "^3.0.1"
1227
+ }
1228
+ },
1229
+ "nopt": {
1230
+ "version": "1.0.10",
1231
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
1232
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
1233
+ "dev": true,
1234
+ "requires": {
1235
+ "abbrev": "1"
1236
+ }
1237
+ },
1238
+ "object-copy": {
1239
+ "version": "0.1.0",
1240
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1241
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1242
+ "requires": {
1243
+ "copy-descriptor": "^0.1.0",
1244
+ "define-property": "^0.2.5",
1245
+ "kind-of": "^3.0.3"
1246
+ },
1247
+ "dependencies": {
1248
+ "define-property": {
1249
+ "version": "0.2.5",
1250
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1251
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1252
+ "requires": {
1253
+ "is-descriptor": "^0.1.0"
1254
+ }
1255
+ },
1256
+ "kind-of": {
1257
+ "version": "3.2.2",
1258
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1259
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1260
+ "requires": {
1261
+ "is-buffer": "^1.1.5"
1262
+ }
1263
+ }
1264
+ }
1265
+ },
1266
+ "object-visit": {
1267
+ "version": "1.0.1",
1268
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
1269
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
1270
+ "requires": {
1271
+ "isobject": "^3.0.0"
1272
+ }
1273
+ },
1274
+ "object.defaults": {
1275
+ "version": "1.1.0",
1276
+ "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
1277
+ "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
1278
+ "requires": {
1279
+ "array-each": "^1.0.1",
1280
+ "array-slice": "^1.0.0",
1281
+ "for-own": "^1.0.0",
1282
+ "isobject": "^3.0.0"
1283
+ }
1284
+ },
1285
+ "object.map": {
1286
+ "version": "1.0.1",
1287
+ "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
1288
+ "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
1289
+ "requires": {
1290
+ "for-own": "^1.0.0",
1291
+ "make-iterator": "^1.0.0"
1292
+ }
1293
+ },
1294
+ "object.pick": {
1295
+ "version": "1.3.0",
1296
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
1297
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
1298
+ "requires": {
1299
+ "isobject": "^3.0.1"
1300
+ }
1301
+ },
1302
+ "os-homedir": {
1303
+ "version": "1.0.2",
1304
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1305
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
1306
+ },
1307
+ "os-tmpdir": {
1308
+ "version": "1.0.2",
1309
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1310
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
1311
+ },
1312
+ "osenv": {
1313
+ "version": "0.1.5",
1314
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
1315
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
1316
+ "requires": {
1317
+ "os-homedir": "^1.0.0",
1318
+ "os-tmpdir": "^1.0.0"
1319
+ }
1320
+ },
1321
+ "parse-filepath": {
1322
+ "version": "1.0.2",
1323
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
1324
+ "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
1325
+ "requires": {
1326
+ "is-absolute": "^1.0.0",
1327
+ "map-cache": "^0.2.0",
1328
+ "path-root": "^0.1.1"
1329
+ }
1330
+ },
1331
+ "parse-passwd": {
1332
+ "version": "1.0.0",
1333
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
1334
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
1335
+ },
1336
+ "pascalcase": {
1337
+ "version": "0.1.1",
1338
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
1339
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
1340
+ },
1341
+ "path-parse": {
1342
+ "version": "1.0.6",
1343
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1344
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
1345
+ },
1346
+ "path-root": {
1347
+ "version": "0.1.1",
1348
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
1349
+ "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
1350
+ "requires": {
1351
+ "path-root-regex": "^0.1.0"
1352
+ }
1353
+ },
1354
+ "path-root-regex": {
1355
+ "version": "0.1.2",
1356
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
1357
+ "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
1358
+ },
1359
+ "posix-character-classes": {
1360
+ "version": "0.1.1",
1361
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
1362
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
1363
+ },
1364
+ "preprocess": {
1365
+ "version": "2.3.1",
1366
+ "resolved": "https://registry.npmjs.org/preprocess/-/preprocess-2.3.1.tgz",
1367
+ "integrity": "sha1-vaMCLmI+m1mdTAgoGG2FvZ8SxQA=",
1368
+ "dev": true
1369
+ },
1370
+ "rechoir": {
1371
+ "version": "0.6.2",
1372
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
1373
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
1374
+ "requires": {
1375
+ "resolve": "^1.1.6"
1376
+ }
1377
+ },
1378
+ "regex-not": {
1379
+ "version": "1.0.2",
1380
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
1381
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
1382
+ "requires": {
1383
+ "extend-shallow": "^3.0.2",
1384
+ "safe-regex": "^1.1.0"
1385
+ }
1386
+ },
1387
+ "repeat-element": {
1388
+ "version": "1.1.3",
1389
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1390
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
1391
+ },
1392
+ "repeat-string": {
1393
+ "version": "1.6.1",
1394
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1395
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
1396
+ },
1397
+ "resolve": {
1398
+ "version": "1.18.1",
1399
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
1400
+ "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
1401
+ "requires": {
1402
+ "is-core-module": "^2.0.0",
1403
+ "path-parse": "^1.0.6"
1404
+ }
1405
+ },
1406
+ "resolve-dir": {
1407
+ "version": "1.0.1",
1408
+ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
1409
+ "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
1410
+ "requires": {
1411
+ "expand-tilde": "^2.0.0",
1412
+ "global-modules": "^1.0.0"
1413
+ }
1414
+ },
1415
+ "resolve-url": {
1416
+ "version": "0.2.1",
1417
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1418
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
1419
+ },
1420
+ "ret": {
1421
+ "version": "0.1.15",
1422
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
1423
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
1424
+ },
1425
+ "rimraf": {
1426
+ "version": "2.2.8",
1427
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
1428
+ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
1429
+ "dev": true
1430
+ },
1431
+ "safe-regex": {
1432
+ "version": "1.1.0",
1433
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
1434
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
1435
+ "requires": {
1436
+ "ret": "~0.1.10"
1437
+ }
1438
+ },
1439
+ "set-value": {
1440
+ "version": "2.0.1",
1441
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
1442
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
1443
+ "requires": {
1444
+ "extend-shallow": "^2.0.1",
1445
+ "is-extendable": "^0.1.1",
1446
+ "is-plain-object": "^2.0.3",
1447
+ "split-string": "^3.0.1"
1448
+ },
1449
+ "dependencies": {
1450
+ "extend-shallow": {
1451
+ "version": "2.0.1",
1452
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1453
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1454
+ "requires": {
1455
+ "is-extendable": "^0.1.0"
1456
+ }
1457
+ }
1458
+ }
1459
+ },
1460
+ "shelljs": {
1461
+ "version": "0.1.4",
1462
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz",
1463
+ "integrity": "sha1-37vnjVbDwBaNL7eeEOzR28sH7A4=",
1464
+ "dev": true
1465
+ },
1466
+ "sigmund": {
1467
+ "version": "1.0.1",
1468
+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
1469
+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
1470
+ "dev": true
1471
+ },
1472
+ "snapdragon": {
1473
+ "version": "0.8.2",
1474
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
1475
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
1476
+ "requires": {
1477
+ "base": "^0.11.1",
1478
+ "debug": "^2.2.0",
1479
+ "define-property": "^0.2.5",
1480
+ "extend-shallow": "^2.0.1",
1481
+ "map-cache": "^0.2.2",
1482
+ "source-map": "^0.5.6",
1483
+ "source-map-resolve": "^0.5.0",
1484
+ "use": "^3.1.0"
1485
+ },
1486
+ "dependencies": {
1487
+ "define-property": {
1488
+ "version": "0.2.5",
1489
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1490
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1491
+ "requires": {
1492
+ "is-descriptor": "^0.1.0"
1493
+ }
1494
+ },
1495
+ "extend-shallow": {
1496
+ "version": "2.0.1",
1497
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1498
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1499
+ "requires": {
1500
+ "is-extendable": "^0.1.0"
1501
+ }
1502
+ },
1503
+ "source-map": {
1504
+ "version": "0.5.7",
1505
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1506
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
1507
+ }
1508
+ }
1509
+ },
1510
+ "snapdragon-node": {
1511
+ "version": "2.1.1",
1512
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
1513
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
1514
+ "requires": {
1515
+ "define-property": "^1.0.0",
1516
+ "isobject": "^3.0.0",
1517
+ "snapdragon-util": "^3.0.1"
1518
+ },
1519
+ "dependencies": {
1520
+ "define-property": {
1521
+ "version": "1.0.0",
1522
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1523
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1524
+ "requires": {
1525
+ "is-descriptor": "^1.0.0"
1526
+ }
1527
+ },
1528
+ "is-accessor-descriptor": {
1529
+ "version": "1.0.0",
1530
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1531
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1532
+ "requires": {
1533
+ "kind-of": "^6.0.0"
1534
+ }
1535
+ },
1536
+ "is-data-descriptor": {
1537
+ "version": "1.0.0",
1538
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1539
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1540
+ "requires": {
1541
+ "kind-of": "^6.0.0"
1542
+ }
1543
+ },
1544
+ "is-descriptor": {
1545
+ "version": "1.0.2",
1546
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1547
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1548
+ "requires": {
1549
+ "is-accessor-descriptor": "^1.0.0",
1550
+ "is-data-descriptor": "^1.0.0",
1551
+ "kind-of": "^6.0.2"
1552
+ }
1553
+ }
1554
+ }
1555
+ },
1556
+ "snapdragon-util": {
1557
+ "version": "3.0.1",
1558
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
1559
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
1560
+ "requires": {
1561
+ "kind-of": "^3.2.0"
1562
+ },
1563
+ "dependencies": {
1564
+ "kind-of": {
1565
+ "version": "3.2.2",
1566
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1567
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1568
+ "requires": {
1569
+ "is-buffer": "^1.1.5"
1570
+ }
1571
+ }
1572
+ }
1573
+ },
1574
+ "source-map": {
1575
+ "version": "0.1.34",
1576
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
1577
+ "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
1578
+ "dev": true,
1579
+ "requires": {
1580
+ "amdefine": ">=0.0.4"
1581
+ }
1582
+ },
1583
+ "source-map-resolve": {
1584
+ "version": "0.5.3",
1585
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
1586
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
1587
+ "requires": {
1588
+ "atob": "^2.1.2",
1589
+ "decode-uri-component": "^0.2.0",
1590
+ "resolve-url": "^0.2.1",
1591
+ "source-map-url": "^0.4.0",
1592
+ "urix": "^0.1.0"
1593
+ }
1594
+ },
1595
+ "source-map-url": {
1596
+ "version": "0.4.0",
1597
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
1598
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
1599
+ },
1600
+ "split-string": {
1601
+ "version": "3.1.0",
1602
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
1603
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
1604
+ "requires": {
1605
+ "extend-shallow": "^3.0.0"
1606
+ }
1607
+ },
1608
+ "static-extend": {
1609
+ "version": "0.1.2",
1610
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
1611
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
1612
+ "requires": {
1613
+ "define-property": "^0.2.5",
1614
+ "object-copy": "^0.1.0"
1615
+ },
1616
+ "dependencies": {
1617
+ "define-property": {
1618
+ "version": "0.2.5",
1619
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1620
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1621
+ "requires": {
1622
+ "is-descriptor": "^0.1.0"
1623
+ }
1624
+ }
1625
+ }
1626
+ },
1627
+ "to-object-path": {
1628
+ "version": "0.3.0",
1629
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
1630
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
1631
+ "requires": {
1632
+ "kind-of": "^3.0.2"
1633
+ },
1634
+ "dependencies": {
1635
+ "kind-of": {
1636
+ "version": "3.2.2",
1637
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1638
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1639
+ "requires": {
1640
+ "is-buffer": "^1.1.5"
1641
+ }
1642
+ }
1643
+ }
1644
+ },
1645
+ "to-regex": {
1646
+ "version": "3.0.2",
1647
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
1648
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
1649
+ "requires": {
1650
+ "define-property": "^2.0.2",
1651
+ "extend-shallow": "^3.0.2",
1652
+ "regex-not": "^1.0.2",
1653
+ "safe-regex": "^1.1.0"
1654
+ }
1655
+ },
1656
+ "to-regex-range": {
1657
+ "version": "2.1.1",
1658
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
1659
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
1660
+ "requires": {
1661
+ "is-number": "^3.0.0",
1662
+ "repeat-string": "^1.6.1"
1663
+ }
1664
+ },
1665
+ "uglify-js": {
1666
+ "version": "2.4.24",
1667
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
1668
+ "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
1669
+ "dev": true,
1670
+ "requires": {
1671
+ "async": "~0.2.6",
1672
+ "source-map": "0.1.34",
1673
+ "uglify-to-browserify": "~1.0.0",
1674
+ "yargs": "~3.5.4"
1675
+ },
1676
+ "dependencies": {
1677
+ "async": {
1678
+ "version": "0.2.10",
1679
+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
1680
+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
1681
+ "dev": true
1682
+ }
1683
+ }
1684
+ },
1685
+ "uglify-to-browserify": {
1686
+ "version": "1.0.2",
1687
+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
1688
+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
1689
+ "dev": true
1690
+ },
1691
+ "unc-path-regex": {
1692
+ "version": "0.1.2",
1693
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
1694
+ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
1695
+ },
1696
+ "underscore": {
1697
+ "version": "1.7.0",
1698
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
1699
+ "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
1700
+ "dev": true
1701
+ },
1702
+ "underscore.string": {
1703
+ "version": "2.2.1",
1704
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
1705
+ "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
1706
+ "dev": true
1707
+ },
1708
+ "union-value": {
1709
+ "version": "1.0.1",
1710
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
1711
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
1712
+ "requires": {
1713
+ "arr-union": "^3.1.0",
1714
+ "get-value": "^2.0.6",
1715
+ "is-extendable": "^0.1.1",
1716
+ "set-value": "^2.0.1"
1717
+ }
1718
+ },
1719
+ "unset-value": {
1720
+ "version": "1.0.0",
1721
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
1722
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
1723
+ "requires": {
1724
+ "has-value": "^0.3.1",
1725
+ "isobject": "^3.0.0"
1726
+ },
1727
+ "dependencies": {
1728
+ "has-value": {
1729
+ "version": "0.3.1",
1730
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
1731
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
1732
+ "requires": {
1733
+ "get-value": "^2.0.3",
1734
+ "has-values": "^0.1.4",
1735
+ "isobject": "^2.0.0"
1736
+ },
1737
+ "dependencies": {
1738
+ "isobject": {
1739
+ "version": "2.1.0",
1740
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1741
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1742
+ "requires": {
1743
+ "isarray": "1.0.0"
1744
+ }
1745
+ }
1746
+ }
1747
+ },
1748
+ "has-values": {
1749
+ "version": "0.1.4",
1750
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
1751
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
1752
+ }
1753
+ }
1754
+ },
1755
+ "urix": {
1756
+ "version": "0.1.0",
1757
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
1758
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
1759
+ },
1760
+ "use": {
1761
+ "version": "3.1.1",
1762
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
1763
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
1764
+ },
1765
+ "v8flags": {
1766
+ "version": "3.1.3",
1767
+ "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
1768
+ "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
1769
+ "requires": {
1770
+ "homedir-polyfill": "^1.0.1"
1771
+ }
1772
+ },
1773
+ "which": {
1774
+ "version": "1.0.9",
1775
+ "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
1776
+ "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
1777
+ "dev": true
1778
+ },
1779
+ "window-size": {
1780
+ "version": "0.1.0",
1781
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
1782
+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
1783
+ "dev": true
1784
+ },
1785
+ "wordwrap": {
1786
+ "version": "0.0.2",
1787
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
1788
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
1789
+ "dev": true
1790
+ },
1791
+ "yargs": {
1792
+ "version": "3.5.4",
1793
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
1794
+ "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
1795
+ "dev": true,
1796
+ "requires": {
1797
+ "camelcase": "^1.0.2",
1798
+ "decamelize": "^1.0.0",
1799
+ "window-size": "0.1.0",
1800
+ "wordwrap": "0.0.2"
1801
+ }
1802
+ },
1803
+ "zlib-browserify": {
1804
+ "version": "0.0.1",
1805
+ "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz",
1806
+ "integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=",
1807
+ "dev": true
1808
+ }
1809
+ }
1810
+ }
libs/factory/clearfy/assets/css/clearfy-base.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["clearfy-base.less"],"names":[],"mappings":";;;;;;;AAoCA;;;AAAA,KAoBE,iDACE,kBAAiB,8BAA8B;EAnB/C,qBAAA;EACA,kBAAA;EACA,SAAS,KAAT;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,eAAA;EACA,cAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,SAAA;EACA,WAAA;EACA,WAAA;EACA,WAAA;;AAjBJ,KAoBE,iDAKE;EACE,kBAAA;;AA1BN,KAoBE,iDAKE,8CAGE;EACE,gBAAA;;AA7BR,KAoBE,iDAKE,8CAOE;EACE,0BAAA;EACA,gBAAA;EACA,aAAA;;AAnCR,KAoBE,iDAKE,8CAaE;EACE,qBAAA;EAlEN,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,sCAAA;EACA,2CAAA;EACA,8CAAA;;AACA,KA+BA,iDAKE,8CAaE,+BAjDH;EACC,4CAAA;EACA,iDAAA;EACA,oDAAA;;AAEF,KA0BA,iDAKE,8CAaE,+BA5CH;EACC,aAAA;EACA,SAAA;;AAIJ,KAoBE,iDAKE,8CAkBE;EACE,qBAAA;EAvEN,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,yCAAA;EACA,8CAAA;EACA,iDAAA;;AACA,KA+BA,iDAKE,8CAkBE,+BAtDH;EACC,+CAAA;EACA,oDAAA;EACA,uDAAA;;AAEF,KA0BA,iDAKE,8CAkBE,+BAjDH;EACC,aAAA;EACA,SAAA;;AAIJ,KAoBE,iDA6BE,oCACE;EACE,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,0BAAA;;AAtDR,KAoBE,iDA6BE,oCACE,yCAME;EACE,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,gCAAA;EACA,cAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,yBAAA;;AAjEV,KAoBE,iDA6BE,oCACE,yCAkBE;EAEE,kBAAA;EACA,mBAAA;;AAvEV,KAoBE,iDA6BE,oCACE,yCAkBE,GAKE;EACE,eAAA;EACA,YAAA;EACA,kBAAA;;AAKA,KA7DV,iDA6BE,oCACE,yCAkBE,GAKE,GAQG;EACC,SAAS,GAAT;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,6BAAA;EACA,OAAA;EACA,kBAAA;EACA,mBAAmB,aAAnB;EACA,gBAAgB,aAAhB;EACA,cAAc,aAAd;EACA,WAAW,aAAX;;AA7Fd,KAoBE,iDA6BE,oCACE,yCAiDE;EACE,cAAA;EA/HR,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,sCAAA;EACA,2CAAA;EACA,8CAAA;;AACA,KA+BA,iDA6BE,oCACE,yCAiDE,+BA9GL;EACC,4CAAA;EACA,iDAAA;EACA,oDAAA;;AAEF,KA0BA,iDA6BE,oCACE,yCAiDE,+BAzGL;EACC,aAAA;EACA,SAAA;;AAIJ,KA6GE;EACE,wBAAA;EACA,oCAAA;EACA,kBAAA;;AAGA,KANF,+BAMG;EACC,iBAAA;EACA,cAAA;EACA,WAAA;EACA,kBAAA;EACA,6BAAA;EACA,kBAAA;EACA,yBAAA;EACA,sBAAA;EACA,cAAA;;AAGF,KAlBF,+BAkBG;EACC,cAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,SAAA;EACA,WAAA;;AAEA,KA7BJ,+BAkBG,QAWE;AAAS,KA7Bd,+BAkBG,QAWY;EACT,mCAAA;EACA,aAAA;;AAIJ,KAnCF,+BAmCG;EACC,iBAAA;;AAGF,KAvCF,+BAuCG;EACC,aAAA;EACA,kBAAA;EACA,gBAAA;;AAIF,KA9CF,+BA8CG;EACC,mBAAA;EACA,cAAA;;AAGF,KAnDF,+BAmDG;EACC,mBAAA;;AAGF,KAvDF,+BAuDG;EACC,mBAAA;;AAGF,KA3DF,+BA2DG;EACC,kBAAA;;AAGF,KA/DF,+BA+DG;EACC,mBAAA;EACA,cAAA;EACA,eAAA;;AAKN,mBAAsC;EACpC,KACE,iDACE;IACE,kBAAA;;EAHN,KACE,iDAKE,oCACE;IACE,aAAA;;EARR,KACE,iDAKE,oCACE,yCAGE;IACE,gBAAA;IACA,eAAA;IACA,eAAA;IACA,gBAAA;;EAdV,KACE,iDAKE,oCACE,yCAUE;IACE,mBAAA;;EAlBV,KACE,iDAKE,oCACE,yCAUE,GAGE;IACE,eAAA;IACA,YAAA;IACA,kBAAA;;EAEA,KAxBV,iDAKE,oCACE,yCAUE,GAGE,GAKG;IACC,YAAA;IACA,aAAA;IACA,6BAAA;IACA,OAAA;IACA,kBAAA;;EA9Bd,KACE,iDAKE,oCACE,yCA4BE;IACE,gBAAA;IACA,iBAAA;IACA,eAAA;IACA,iBAAA;IACA,kBAAA;IACA,uBAAA;IACA,0BAAA","file":"clearfy-base.css"}
 
libs/factory/clearfy/assets/css/components.css DELETED
@@ -1,140 +0,0 @@
1
- /**
2
- * Page components
3
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
4
- * @copyright Alex Kovalev 30.09.2017
5
- */
6
- #WBCR .wbc-factory-clearfy-230-components {
7
- padding: 0 20px 20px;
8
- text-align: center;
9
- }
10
- #WBCR .wbc-factory-clearfy-230-components .plugin-card {
11
- position: relative;
12
- display: inline-block;
13
- width: 32.7%;
14
- height: 250px;
15
- margin-left: 0;
16
- margin-right: 0;
17
- text-align: left;
18
- float: none;
19
- vertical-align: top;
20
- }
21
- #WBCR .wbc-factory-clearfy-230-components .plugin-card:first-child {
22
- margin-left: 0;
23
- }
24
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-bottom {
25
- position: absolute;
26
- bottom: 0;
27
- right: 0;
28
- left: 0;
29
- }
30
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-top {
31
- min-height: 163px;
32
- }
33
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .desc,
34
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .name {
35
- margin-right: 0 !important;
36
- }
37
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .name h3 {
38
- font-size: 17px;
39
- margin-top: 0 !important;
40
- }
41
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .install-now {
42
- float: right;
43
- }
44
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .delete-now {
45
- float: right;
46
- margin-left: 5px;
47
- }
48
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .delete-now .dashicons,
49
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .delete-now .dashicons-before:before {
50
- font-size: 16px !important;
51
- line-height: 1.5 !important;
52
- color: #62696f;
53
- }
54
- #WBCR .wbc-factory-clearfy-230-components .plugin-card a.open-plugin-details-modal {
55
- color: #5c5d5f;
56
- text-decoration: none;
57
- font-weight: 600;
58
- font-size: 15px;
59
- }
60
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-premium-ribbon {
61
- position: absolute;
62
- bottom: 60px;
63
- right: 0;
64
- height: 30px;
65
- width: 120px;
66
- border-radius: 3px 0 0 3px;
67
- background-color: #f7dea9;
68
- color: #67532f;
69
- text-align: center;
70
- font-size: 12px;
71
- font-weight: 600;
72
- line-height: 2.4;
73
- text-transform: uppercase;
74
- z-index: 1;
75
- }
76
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-free-ribbon {
77
- position: absolute;
78
- bottom: 60px;
79
- right: 0;
80
- height: 30px;
81
- width: 120px;
82
- border-radius: 3px 0 0 3px;
83
- background-color: #cccccc;
84
- color: #6b6b6b;
85
- text-align: center;
86
- font-size: 12px;
87
- font-weight: 600;
88
- line-height: 2.4;
89
- text-transform: uppercase;
90
- z-index: 1;
91
- }
92
- #WBCR .wbc-factory-clearfy-230-components .plugin-card .plugin-card-freemium-ribbon {
93
- position: absolute;
94
- bottom: 60px;
95
- right: 0;
96
- height: 30px;
97
- width: 120px;
98
- border-radius: 3px 0 0 3px;
99
- background-color: #cae2b3;
100
- color: #546742;
101
- text-align: center;
102
- font-size: 12px;
103
- font-weight: 600;
104
- line-height: 2.4;
105
- text-transform: uppercase;
106
- z-index: 1;
107
- }
108
- #WBCR .wbc-factory-clearfy-230-components .plugin-card.premium {
109
- border-color: #e8d7b2;
110
- background-color: #fff9eb;
111
- }
112
- #WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive {
113
- background-color: #f1f1f1;
114
- }
115
- #WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive a.open-plugin-details-modal {
116
- color: #ababab;
117
- text-decoration: none;
118
- font-weight: 600;
119
- font-size: 15px;
120
- }
121
- #WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive .plugin-icon {
122
- opacity: 0.3;
123
- }
124
- #WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive .desc {
125
- color: #afafaf;
126
- }
127
- #WBCR .wbc-factory-clearfy-230-components .plugin-card.plugin-status-deactive.premium {
128
- background-color: #f9f2f1;
129
- }
130
- @media screen and (max-width: 1750px) {
131
- #WBCR .wbc-factory-clearfy-230-components .plugin-card {
132
- width: 49%;
133
- }
134
- }
135
- @media screen and (max-width: 1350px) {
136
- #WBCR .wbc-factory-clearfy-230-components .plugin-card {
137
- width: 100%;
138
- }
139
- }
140
- /*# sourceMappingURL=components.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/assets/css/components.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["components.less"],"names":[],"mappings":";;;;;AAMA,KAkBE;EACE,oBAAA;EACA,kBAAA;;AApBJ,KAkBE,oCAIE;EACE,kBAAA;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,cAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;;AAEA,KAfJ,oCAIE,aAWG;EACC,cAAA;;AAlCR,KAkBE,oCAIE,aAeE;EACE,kBAAA;EACA,SAAA;EACA,QAAA;EACA,OAAA;;AAzCR,KAkBE,oCAIE,aAsBE;EACE,iBAAA;;AA7CR,KAkBE,oCAIE,aA0BE;AAhDN,KAkBE,oCAIE,aA0BS;EACL,0BAAA;;AAjDR,KAkBE,oCAIE,aA8BE,MACE;EACE,eAAA;EACA,wBAAA;;AAvDV,KAkBE,oCAIE,aAqCE;EACE,YAAA;;AA5DR,KAkBE,oCAIE,aAyCE;EACE,YAAA;EACA,gBAAA;;AAjER,KAkBE,oCAIE,aAyCE,YAIE;AAnER,KAkBE,oCAIE,aAyCE,YAIc,kBAAiB;EAC3B,0BAAA;EACA,gBAAA;EACA,cAAA;;AAtEV,KAkBE,oCAIE,aAoDE,EAAC;EACC,cAAA;EACA,qBAAA;EACA,gBAAA;EACA,eAAA;;AA9ER,KAkBE,oCAIE,aA4DE;EAhFF,kBAAA;EACA,YAAA;EACA,QAAA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,yBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,UAAA;;AAfJ,KAkBE,oCAIE,aAiEE;EArFF,kBAAA;EACA,YAAA;EACA,QAAA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,yBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,UAAA;;AAfJ,KAkBE,oCAIE,aAsEE;EA1FF,kBAAA;EACA,YAAA;EACA,QAAA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,yBAAA;EACA,cAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,yBAAA;EACA,UAAA;;AAiFE,KA9EJ,oCAIE,aA0EG;EACC,qBAAA;EACA,yBAAA;;AAGF,KAnFJ,oCAIE,aA+EG;EACC,yBAAA;;AADF,KAnFJ,oCAIE,aA+EG,uBAIC,EAAC;EACC,cAAA;EACA,qBAAA;EACA,gBAAA;EACA,eAAA;;AARJ,KAnFJ,oCAIE,aA+EG,uBAWC;EACE,YAAA;;AAZJ,KAnFJ,oCAIE,aA+EG,uBAeC;EACE,cAAA;;AAGF,KAtGN,oCAIE,aA+EG,uBAmBE;EACC,yBAAA;;AAOV,mBAAsC;EACpC,KACE,oCACE;IACE,UAAA;;;AAMR,mBAAsC;EACpC,KACE,oCACE;IACE,WAAA","file":"components.css"}
 
libs/factory/clearfy/assets/css/libs/autocomplete.css DELETED
@@ -1,44 +0,0 @@
1
- /**
2
- * Styles for plugin options search form
3
-
4
- * @author Alex Kovlaev <alex.kovalevv@gmail.com>, https://github.com/alexkovalevv
5
- *
6
- * @since 2.2.0
7
- */
8
- #wbcr-factory-clearfy-230__search_options_form #wbcr-factory-clearfy-230__autocomplete {
9
- width: 100%;
10
- box-sizing: border-box;
11
- border-color: #d6d4d4;
12
- }
13
- #wbcr-factory-clearfy-230__search_options_form.wbcr-factory-clearfy-230__autocomplete-wrap {
14
- padding: 10px;
15
- }
16
- #wbcr-factory-clearfy-230__search_options_form .wbcr-factory-clearfy-230__autocomplete-label {
17
- display: block !important;
18
- }
19
- .wbcr-factory-clearfy-230__autocomplete-suggestions {
20
- border: 1px solid #999;
21
- background: #FFF;
22
- overflow: auto;
23
- }
24
- .wbcr-factory-clearfy-230__autocomplete-suggestion {
25
- padding: 2px 5px;
26
- white-space: nowrap;
27
- overflow: hidden;
28
- cursor: pointer;
29
- }
30
- .wbcr-factory-clearfy-230__autocomplete-selected {
31
- background: #F0F0F0;
32
- }
33
- .wbcr-factory-clearfy-230__autocomplete-suggestions strong {
34
- font-weight: normal;
35
- color: #3399FF;
36
- }
37
- .wbcr-factory-clearfy-230__autocomplete-group {
38
- padding: 2px 5px;
39
- }
40
- .wbcr-factory-clearfy-230__autocomplete-group strong {
41
- display: block;
42
- border-bottom: 1px solid #000;
43
- }
44
- /*# sourceMappingURL=autocomplete.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/assets/css/libs/autocomplete.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["autocomplete.less"],"names":[],"mappings":";;;;;;;AAUA,8CAVC;EAYG,WAAA;EACA,sBAAA;EACA,qBAAA;;AAdH,8CAAC;EAkBE,aAAA;;AARJ,8CAVC;EAsBG,yBAAA;;AAtBH;EA2BC,sBAAA;EACA,gBAAA;EACA,cAAA;;AA7BD;EAiCC,gBAAA;EACA,mBAAA;EACA,gBAAA;EACA,eAAA;;AApCD;EAwCC,mBAAA;;AAxCD,mDAGM;EAyCL,mBAAA;EACA,cAAA;;AA7CD;EAiDC,gBAAA;;AAjDD,6CAGA;EAkDC,cAAA;EACA,6BAAA","file":"autocomplete.css"}
 
libs/factory/clearfy/assets/css/page-setup.css DELETED
@@ -1,454 +0,0 @@
1
- #WBCR {
2
- margin: 0;
3
- padding: 0;
4
- }
5
- .w-factory-clearfy-230__form-buttons {
6
- text-align: right;
7
- padding: 10px;
8
- background: #f7f7f7;
9
- border-top: 1px solid #e8e8e8;
10
- }
11
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button {
12
- background-color: #e7e7e7;
13
- border-color: #e7e7e7;
14
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #e7e7e7;
15
- text-shadow: 0 -1px 1px #e7e7e7, 1px 0 1px #e7e7e7, 0 1px 1px #e7e7e7, -1px 0 1px #e7e7e7;
16
- margin: 0;
17
- color: #8a8a8a;
18
- }
19
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button:active,
20
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button:hover,
21
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__skip-button:focus {
22
- background: #dddddd;
23
- border-color: #dddddd;
24
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #dddddd;
25
- color: #8a8a8a;
26
- }
27
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button {
28
- background-color: #f57d4f;
29
- border-color: #f77d50;
30
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
31
- text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
32
- margin: 0;
33
- }
34
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button:active,
35
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button:hover,
36
- .w-factory-clearfy-230__form-buttons .w-factory-clearfy-230__continue-button:focus {
37
- background: #f86b3b;
38
- border-color: #f86b3b;
39
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f86b3b;
40
- }
41
- .w-factory-clearfy-230-setup {
42
- text-align: center;
43
- max-width: 900px;
44
- margin: 65px auto 24px;
45
- box-shadow: none;
46
- background: #f1f1f1;
47
- padding: 0;
48
- }
49
- .w-factory-clearfy-230-setup__inner-wrap,
50
- .w-factory-clearfy-230__setup-form .factory-form-layout {
51
- padding: 30px;
52
- }
53
- .w-factory-clearfy-230-setup-steps {
54
- padding: 0 0 24px;
55
- margin: 0;
56
- list-style: none outside;
57
- overflow: hidden;
58
- color: #ccc;
59
- width: 100%;
60
- display: -webkit-inline-box;
61
- display: inline-flex;
62
- }
63
- .w-factory-clearfy-230-setup-steps li {
64
- width: 100%;
65
- float: left;
66
- padding: 0 0 0.8em;
67
- margin: 0;
68
- text-align: center;
69
- position: relative;
70
- border-bottom: 4px solid #ccc;
71
- line-height: 1.4;
72
- }
73
- .w-factory-clearfy-230-setup-steps li::before {
74
- content: "";
75
- border: 4px solid #ccc;
76
- border-radius: 100%;
77
- width: 4px;
78
- height: 4px;
79
- position: absolute;
80
- bottom: 0;
81
- left: 50%;
82
- margin-left: -6px;
83
- margin-bottom: -8px;
84
- background: #fff;
85
- }
86
- .w-factory-clearfy-230-setup-steps li.active {
87
- border-color: #ff1c40 !important;
88
- color: #222;
89
- font-weight: 700;
90
- }
91
- .w-factory-clearfy-230-setup-steps li.active::before {
92
- border-color: #ff1c40 !important;
93
- }
94
- .w-factory-clearfy-230-setup-steps li a {
95
- color: #a16696;
96
- text-decoration: none;
97
- padding: 1.5em;
98
- margin: -1.5em;
99
- position: relative;
100
- z-index: 1;
101
- }
102
- .w-factory-clearfy-230-setup-steps li a:focus,
103
- .w-factory-clearfy-230-setup-steps li a:hover {
104
- color: #111;
105
- text-decoration: underline;
106
- }
107
- /*.w-factory-clearfy-230-setup-steps li.done {
108
- border-color: #f57d4f;
109
- color: #f57d4f
110
- }
111
-
112
- .w-factory-clearfy-230-setup-steps li.done::before {
113
- border-color: #f57d4f;
114
- background: #f57d4f
115
- }*/
116
- .w-factory-clearfy-230-setup .w-factory-clearfy-230-setup-actions {
117
- overflow: hidden;
118
- margin: 20px 0 0;
119
- position: relative;
120
- }
121
- .w-factory-clearfy-230-setup-content p:last-child {
122
- margin-bottom: 0;
123
- }
124
- .w-factory-clearfy-230-setup-content p.store-setup {
125
- margin-top: 0;
126
- }
127
- .w-factory-clearfy-230-setup-footer-links {
128
- font-size: 0.85em;
129
- color: #7b7b7b;
130
- margin: 1.18em auto;
131
- display: inline-block;
132
- text-align: center;
133
- }
134
- .w-factory-clearfy-230-logo {
135
- text-align: center;
136
- }
137
- .w-factory-clearfy-230-logo img {
138
- max-width: 250px;
139
- }
140
- .w-factory-clearfy-230-setup-content {
141
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.13);
142
- margin: 0 0 20px;
143
- background: #fff;
144
- zoom: 1;
145
- text-align: left;
146
- }
147
- .w-factory-clearfy-230-setup-content table {
148
- font-size: 1em;
149
- line-height: 1.75;
150
- color: #666;
151
- }
152
- .w-factory-clearfy-230-setup-content table thead {
153
- background: #f1f1f1;
154
- }
155
- .w-factory-clearfy-230-setup-content table th,
156
- .w-factory-clearfy-230-setup-content table td {
157
- padding: 10px 15px;
158
- }
159
- .w-factory-clearfy-230-setup-content h1,
160
- .w-factory-clearfy-230-setup-content h2,
161
- .w-factory-clearfy-230-setup-content h3,
162
- .w-factory-clearfy-230-setup-content table {
163
- margin: 0 0 20px;
164
- border: 0;
165
- padding: 0;
166
- color: #666;
167
- clear: none;
168
- font-weight: 500;
169
- }
170
- .w-factory-clearfy-230-setup-content p {
171
- margin: 20px 0;
172
- font-size: 1.15em;
173
- line-height: 1.75;
174
- color: #666;
175
- text-align: center;
176
- }
177
- .w-factory-clearfy-230-setup-step__new_onboarding-welcome {
178
- font-size: 22px !important;
179
- }
180
- .w-factory-clearfy-230-setup-content a {
181
- color: #f57d4f;
182
- }
183
- .w-factory-clearfy-230-setup-content a:focus,
184
- .w-factory-clearfy-230-setup-content a:hover {
185
- color: #111;
186
- }
187
- .w-factory-clearfy-230-setup-content table.tax-rates {
188
- width: 100%;
189
- font-size: 0.92em;
190
- }
191
- .w-factory-clearfy-230-setup-content table.tax-rates th {
192
- padding: 0;
193
- text-align: center;
194
- width: auto;
195
- vertical-align: middle;
196
- }
197
- .w-factory-clearfy-230-setup-content table.tax-rates td {
198
- border: 1px solid #f5f5f5;
199
- padding: 6px;
200
- text-align: center;
201
- vertical-align: middle;
202
- }
203
- .w-factory-clearfy-230-setup-content table.tax-rates td input {
204
- outline: 0;
205
- border: 0;
206
- padding: 0;
207
- box-shadow: none;
208
- text-align: center;
209
- width: 100%;
210
- }
211
- .w-factory-clearfy-230-setup-content table.tax-rates td.sort {
212
- cursor: move;
213
- color: #ccc;
214
- }
215
- .w-factory-clearfy-230-setup-content table.tax-rates td.sort::before {
216
- content: "\f333";
217
- font-family: dashicons;
218
- }
219
- .w-factory-clearfy-230-setup-content table.tax-rates td.readonly {
220
- background: #f5f5f5;
221
- }
222
- .w-factory-clearfy-230-setup-content table.tax-rates .add {
223
- padding: 1em 0 0 1em;
224
- line-height: 1;
225
- font-size: 1em;
226
- width: 0;
227
- margin: 6px 0 0;
228
- height: 0;
229
- overflow: hidden;
230
- position: relative;
231
- display: inline-block;
232
- }
233
- .w-factory-clearfy-230-setup-content table.tax-rates .add::before {
234
- content: "\f502";
235
- font-family: dashicons;
236
- position: absolute;
237
- left: 0;
238
- top: 0;
239
- }
240
- .w-factory-clearfy-230-setup-content table.tax-rates .remove {
241
- padding: 1em 0 0 1em;
242
- line-height: 1;
243
- font-size: 1em;
244
- width: 0;
245
- margin: 0;
246
- height: 0;
247
- overflow: hidden;
248
- position: relative;
249
- display: inline-block;
250
- }
251
- .w-factory-clearfy-230-setup-content table.tax-rates .remove::before {
252
- content: "\f182";
253
- font-family: dashicons;
254
- position: absolute;
255
- left: 0;
256
- top: 0;
257
- }
258
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages {
259
- width: 100%;
260
- border-top: 1px solid #eee;
261
- }
262
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages thead th {
263
- display: none;
264
- }
265
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-name {
266
- width: 30%;
267
- font-weight: 700;
268
- }
269
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages td,
270
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages th {
271
- padding: 14px 0;
272
- border-bottom: 1px solid #eee;
273
- }
274
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages td:first-child,
275
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages th:first-child {
276
- padding-right: 9px;
277
- }
278
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages th {
279
- padding-top: 0;
280
- }
281
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-options p {
282
- color: #777;
283
- margin: 6px 0 0 24px;
284
- line-height: 1.75;
285
- }
286
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-options p input {
287
- vertical-align: middle;
288
- margin: 1px 0 0;
289
- height: 1.75em;
290
- width: 1.75em;
291
- line-height: 1.75;
292
- }
293
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-pages .page-options p label {
294
- line-height: 1;
295
- }
296
- @media screen and (max-width: 782px) {
297
- .w-factory-clearfy-230-setup-content .form-table tbody th {
298
- width: auto;
299
- }
300
- }
301
- .w-factory-clearfy-230-setup-content .twitter-share-button {
302
- float: right;
303
- }
304
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps {
305
- overflow: hidden;
306
- margin: 0 0 24px;
307
- padding-bottom: 2px;
308
- }
309
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps h2 {
310
- margin-bottom: 12px;
311
- }
312
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps .w-factory-clearfy-230-setup-next-steps-first {
313
- float: left;
314
- width: 50%;
315
- box-sizing: border-box;
316
- }
317
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps .w-factory-clearfy-230-setup-next-steps-last {
318
- float: right;
319
- width: 50%;
320
- box-sizing: border-box;
321
- }
322
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul {
323
- padding: 0 2em 0 0;
324
- list-style: none outside;
325
- margin: 0;
326
- }
327
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul li a {
328
- display: block;
329
- padding: 0 0 0.75em;
330
- }
331
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button {
332
- background-color: #f7f7f7;
333
- border-color: #ccc;
334
- color: #23282d;
335
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #ccc;
336
- text-shadow: 1px 0 1px #eee, 0 1px 1px #eee;
337
- font-size: 1em;
338
- height: auto;
339
- line-height: 1.75;
340
- margin: 0 0 0.75em;
341
- opacity: 1;
342
- padding: 1em;
343
- text-align: center;
344
- }
345
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button:active,
346
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button:focus,
347
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button:hover {
348
- background: #f5f5f5;
349
- border-color: #aaa;
350
- }
351
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary {
352
- color: #fff;
353
- background-color: #f19570;
354
- border-color: #f77d50;
355
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
356
- text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
357
- }
358
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary:active,
359
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary:focus,
360
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .setup-product a.button-primary:hover {
361
- color: #fff;
362
- background: #f77d50;
363
- border-color: #f77d50;
364
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 0 #f77d50;
365
- }
366
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul li a::before {
367
- color: #82878c;
368
- font: 400 20px/1 dashicons;
369
- speak: none;
370
- display: inline-block;
371
- padding: 0 10px 0 0;
372
- top: 1px;
373
- position: relative;
374
- text-decoration: none !important;
375
- vertical-align: top;
376
- }
377
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .learn-more a::before {
378
- content: "\f105";
379
- }
380
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .video-walkthrough a::before {
381
- content: "\f126";
382
- }
383
- .w-factory-clearfy-230-setup-content .w-factory-clearfy-230-setup-next-steps ul .newsletter a::before {
384
- content: "\f465";
385
- }
386
- .w-factory-clearfy-230-setup-content .updated,
387
- .w-factory-clearfy-230-setup-content .woocommerce-newsletter {
388
- padding: 24px 24px 0;
389
- margin: 0 0 24px;
390
- overflow: hidden;
391
- background: #f5f5f5;
392
- }
393
- .w-factory-clearfy-230-setup-content .updated p,
394
- .w-factory-clearfy-230-setup-content .woocommerce-newsletter p {
395
- padding: 0;
396
- margin: 0 0 12px;
397
- }
398
- .w-factory-clearfy-230-setup-content .updated form,
399
- .w-factory-clearfy-230-setup-content .updated p:last-child,
400
- .w-factory-clearfy-230-setup-content .woocommerce-newsletter form,
401
- .w-factory-clearfy-230-setup-content .woocommerce-newsletter p:last-child {
402
- margin: 0 0 24px;
403
- }
404
- .w-factory-clearfy-230-setup-content .checkbox input[type=checkbox] {
405
- opacity: 0;
406
- position: absolute;
407
- left: -9999px;
408
- }
409
- .w-factory-clearfy-230-setup-content .checkbox label {
410
- position: relative;
411
- display: inline-block;
412
- padding-left: 28px;
413
- }
414
- .w-factory-clearfy-230-setup-content .checkbox label::after,
415
- .w-factory-clearfy-230-setup-content .checkbox label::before {
416
- position: absolute;
417
- content: "";
418
- display: inline-block;
419
- }
420
- .w-factory-clearfy-230-setup-content .checkbox label::before {
421
- height: 16px;
422
- width: 16px;
423
- left: 0;
424
- top: 3px;
425
- border: 1px solid #aaa;
426
- background-color: #fff;
427
- border-radius: 3px;
428
- }
429
- .w-factory-clearfy-230-setup-content .checkbox label::after {
430
- height: 5px;
431
- width: 9px;
432
- border-left: 2px solid;
433
- border-bottom: 2px solid;
434
- -webkit-transform: rotate(-45deg);
435
- -ms-transform: rotate(-45deg);
436
- transform: rotate(-45deg);
437
- left: 4px;
438
- top: 7px;
439
- color: #fff;
440
- }
441
- .w-factory-clearfy-230-setup-content .checkbox input[type=checkbox] + label::after {
442
- content: none;
443
- }
444
- .w-factory-clearfy-230-setup-content .checkbox input[type=checkbox]:checked + label::after {
445
- content: "";
446
- }
447
- .w-factory-clearfy-230-setup-content .checkbox input[type=checkbox]:focus + label::before {
448
- outline: #3b99fc auto 5px;
449
- }
450
- .w-factory-clearfy-230-setup-content .checkbox input[type=checkbox]:checked + label::before {
451
- background: #935687;
452
- border-color: #935687;
453
- }
454
- /*# sourceMappingURL=page-setup.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/assets/css/page-setup.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["page-setup.less"],"names":[],"mappings":"AAAA;EACE,SAAA;EACA,UAAA;;AAGF;EACE,iBAAA;EACA,aAAA;EACA,mBAAA;EAEA,6BAAA;;AALF,oCAOE;EACE,yBAAA;EACA,qBAAA;EACA,oEAAA;EACA,yFAAA;EACA,SAAA;EACA,cAAA;;AAEA,oCARF,oCAQG;AAAS,oCARZ,oCAQa;AAAQ,oCARrB,oCAQsB;EAClB,mBAAA;EACA,qBAAA;EACA,oEAAA;EACA,cAAA;;AAnBN,oCAuBE;EACE,yBAAA;EACA,qBAAA;EACA,oEAAA;EACA,yFAAA;EACA,SAAA;;AAEA,oCAPF,wCAOG;AAAS,oCAPZ,wCAOa;AAAQ,oCAPrB,wCAOsB;EAClB,mBAAA;EACA,qBAAA;EACA,oEAAA;;AAKN;EACE,kBAAA;EACA,gBAAA;EACA,sBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAGF;AAA0C,kCAAmC;EAC3E,aAAA;;AAGF;EACE,iBAAA;EACA,SAAA;EACA,wBAAA;EACA,gBAAA;EACA,WAAA;EACA,WAAA;EACA,2BAAA;EACA,oBAAA;;AAGF,kCAAmC;EACjC,WAAA;EACA,WAAA;EACA,kBAAA;EACA,SAAA;EACA,kBAAA;EACA,kBAAA;EACA,6BAAA;EACA,gBAAA;;AAEA,kCAViC,GAUhC;EACC,SAAS,EAAT;EACA,sBAAA;EACA,mBAAA;EACA,UAAA;EACA,WAAA;EACA,kBAAA;EACA,SAAA;EACA,SAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;;AAGF,kCAxBiC,GAwBhC;EACC,qBAAA;EACA,WAAA;EACA,gBAAA;;AAEA,kCA7B+B,GAwBhC,OAKE;EACC,qBAAA;;AAKN,kCAAmC,GAAG;EACpC,cAAA;EACA,qBAAA;EACA,cAAA;EACA,cAAA;EACA,kBAAA;EACA,UAAA;;AAGF,kCAAmC,GAAG,EAAC;AAAQ,kCAAmC,GAAG,EAAC;EACpF,WAAA;EACA,0BAAA;;;;;;;;;;;AAcF,4BAA6B;EAC3B,gBAAA;EACA,gBAAA;EACA,kBAAA;;AAGF,oCAAqC,EAAC;EACpC,gBAAA;;AAGF,oCAAqC,EAAC;EACpC,aAAA;;AAGF;EACE,iBAAA;EACA,cAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;;AAGF;EACE,kBAAA;;AADF,2BAGE;EACE,gBAAA;;AAKJ;EACE,yCAAA;EAEA,gBAAA;EACA,gBAAA;EAEA,OAAA;EACA,gBAAA;;AAEA,oCAAE;EACA,cAAA;EACA,iBAAA;EACA,WAAA;;AAHF,oCAAE,MAKA;EACE,mBAAA;;AANJ,oCAAE,MASA;AATF,oCAAE,MASI;EACF,kBAAA;;AAKN,oCAAqC;AAAI,oCAAqC;AAAI,oCAAqC;AAAI,oCAAqC;EAC9J,gBAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;;AAGF,oCAAqC;EACnC,cAAA;EACA,iBAAA;EACA,iBAAA;EACA,WAAA;EACA,kBAAA;;AAGF;EACE,0BAAA;;AAIF,oCAAqC;EACnC,cAAA;;AAGF,oCAAqC,EAAC;AAAQ,oCAAqC,EAAC;EAClF,WAAA;;AAIF,oCAAqC,MAAK;EACxC,WAAA;EACA,iBAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,UAAA;EACA,kBAAA;EACA,WAAA;EACA,sBAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,yBAAA;EACA,YAAA;EACA,kBAAA;EACA,sBAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAG;EACtD,UAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;EACA,kBAAA;EACA,WAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAE;EACrD,YAAA;EACA,WAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAE,KAAK;EAC1D,SAAS,OAAT;EACA,sBAAA;;AAGF,oCAAqC,MAAK,UAAW,GAAE;EACrD,mBAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,oBAAA;EACA,cAAA;EACA,cAAA;EACA,QAAA;EACA,eAAA;EACA,SAAA;EACA,gBAAA;EACA,kBAAA;EACA,qBAAA;;AAGF,oCAAqC,MAAK,UAAW,KAAI;EACvD,SAAS,OAAT;EACA,sBAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;;AAGF,oCAAqC,MAAK,UAAW;EACnD,oBAAA;EACA,cAAA;EACA,cAAA;EACA,QAAA;EACA,SAAA;EACA,SAAA;EACA,gBAAA;EACA,kBAAA;EACA,qBAAA;;AAGF,oCAAqC,MAAK,UAAW,QAAO;EAC1D,SAAS,OAAT;EACA,sBAAA;EACA,kBAAA;EACA,OAAA;EACA,MAAA;;AAGF,oCAAqC;EACnC,WAAA;EACA,0BAAA;;AAGF,oCAAqC,mCAAmC,MAAM;EAC5E,aAAA;;AAGF,oCAAqC,mCAAmC;EACtE,UAAA;EACA,gBAAA;;AAGF,oCAAqC,mCAAmC;AAAI,oCAAqC,mCAAmC;EAClJ,eAAA;EACA,6BAAA;;AAGF,oCAAqC,mCAAmC,GAAE;AAAc,oCAAqC,mCAAmC,GAAE;EAChK,kBAAA;;AAGF,oCAAqC,mCAAmC;EACtE,cAAA;;AAGF,oCAAqC,mCAAmC,cAAc;EACpF,WAAA;EACA,oBAAA;EACA,iBAAA;;AAGF,oCAAqC,mCAAmC,cAAc,EAAE;EACtF,sBAAA;EACA,eAAA;EACA,cAAA;EACA,aAAA;EACA,iBAAA;;AAGF,oCAAqC,mCAAmC,cAAc,EAAE;EACtF,cAAA;;AAGF,mBAAqC;EACnC,oCAAqC,YAAY,MAAM;IACrD,WAAA;;;AAIJ,oCAAqC;EACnC,YAAA;;AAGF,oCAAqC;EACnC,gBAAA;EACA,gBAAA;EACA,mBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,mBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,WAAA;EACA,UAAA;EACA,sBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,YAAA;EACA,UAAA;EACA,sBAAA;;AAGF,oCAAqC,wCAAwC;EAC3E,kBAAA;EACA,wBAAA;EACA,SAAA;;AAGF,oCAAqC,wCAAwC,GAAG,GAAG;EACjF,cAAA;EACA,mBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC;EAC9F,yBAAA;EACA,kBAAA;EACA,cAAA;EACA,iEAAA;EACA,2CAAA;EACA,cAAA;EACA,YAAA;EACA,iBAAA;EACA,kBAAA;EACA,UAAA;EACA,YAAA;EACA,kBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,OAAO;AAAS,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,OAAO;AAAQ,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,OAAO;EACpU,mBAAA;EACA,kBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC;EAC9F,WAAA;EACA,yBAAA;EACA,qBAAA;EACA,oEAAA;EACA,yFAAA;;AAGF,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,eAAe;AAAS,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,eAAe;AAAQ,oCAAqC,wCAAwC,GAAG,eAAe,EAAC,eAAe;EAC5V,WAAA;EACA,mBAAA;EACA,qBAAA;EACA,oEAAA;;AAGF,oCAAqC,wCAAwC,GAAG,GAAG,EAAC;EAClF,cAAA;EACA,0BAAA;EACA,WAAA;EACA,qBAAA;EACA,mBAAA;EACA,QAAA;EACA,kBAAA;EACA,gCAAA;EACA,mBAAA;;AAGF,oCAAqC,wCAAwC,GAAG,YAAY,EAAC;EAC3F,SAAS,OAAT;;AAGF,oCAAqC,wCAAwC,GAAG,mBAAmB,EAAC;EAClG,SAAS,OAAT;;AAGF,oCAAqC,wCAAwC,GAAG,YAAY,EAAC;EAC3F,SAAS,OAAT;;AAGF,oCAAqC;AAAU,oCAAqC;EAClF,oBAAA;EACA,gBAAA;EACA,gBAAA;EACA,mBAAA;;AAGF,oCAAqC,SAAS;AAAG,oCAAqC,wBAAwB;EAC5G,UAAA;EACA,gBAAA;;AAGF,oCAAqC,SAAS;AAAM,oCAAqC,SAAS,EAAC;AAAa,oCAAqC,wBAAwB;AAAM,oCAAqC,wBAAwB,EAAC;EAC/O,gBAAA;;AAGF,oCAAqC,UAAU,MAAK;EAClD,UAAA;EACA,kBAAA;EACA,aAAA;;AAGF,oCAAqC,UAAU;EAC7C,kBAAA;EACA,qBAAA;EACA,kBAAA;;AAGF,oCAAqC,UAAU,MAAK;AAAS,oCAAqC,UAAU,MAAK;EAC/G,kBAAA;EACA,SAAS,EAAT;EACA,qBAAA;;AAGF,oCAAqC,UAAU,MAAK;EAClD,YAAA;EACA,WAAA;EACA,OAAA;EACA,QAAA;EACA,sBAAA;EACA,sBAAA;EACA,kBAAA;;AAGF,oCAAqC,UAAU,MAAK;EAClD,WAAA;EACA,UAAA;EACA,sBAAA;EACA,wBAAA;EACA,mBAAmB,cAAnB;EACA,eAAe,cAAf;EACA,WAAW,cAAX;EACA,SAAA;EACA,QAAA;EACA,WAAA;;AAGF,oCAAqC,UAAU,MAAK,eAAgB,QAAO;EACzE,aAAA;;AAGF,oCAAqC,UAAU,MAAK,eAAe,QAAS,QAAO;EACjF,SAAS,EAAT;;AAGF,oCAAqC,UAAU,MAAK,eAAe,MAAO,QAAO;EAC/E,yBAAA;;AAGF,oCAAqC,UAAU,MAAK,eAAe,QAAS,QAAO;EACjF,mBAAA;EACA,qBAAA","file":"page-setup.css"}
 
libs/factory/clearfy/assets/css/page-setup.less DELETED
@@ -1,515 +0,0 @@
1
- #WBCR {
2
- margin: 0;
3
- padding: 0;
4
- }
5
-
6
- .w-factory-clearfy-000__form-buttons {
7
- text-align: right;
8
- padding: 10px;
9
- background: #f7f7f7;
10
-
11
- border-top: 1px solid #e8e8e8;
12
-
13
- .w-factory-clearfy-000__skip-button {
14
- background-color: #e7e7e7;
15
- border-color: #e7e7e7;
16
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #e7e7e7;
17
- text-shadow: 0 -1px 1px #e7e7e7, 1px 0 1px #e7e7e7, 0 1px 1px #e7e7e7, -1px 0 1px #e7e7e7;
18
- margin: 0;
19
- color: #8a8a8a;
20
-
21
- &:active, &:hover, &:focus {
22
- background: #dddddd;
23
- border-color: #dddddd;
24
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #dddddd;
25
- color: #8a8a8a;
26
- }
27
- }
28
-
29
- .w-factory-clearfy-000__continue-button {
30
- background-color: #f57d4f;
31
- border-color: #f77d50;
32
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f77d50;
33
- text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50;
34
- margin: 0;
35
-
36
- &:active, &:hover, &:focus {
37
- background: #f86b3b;
38
- border-color: #f86b3b;
39
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f86b3b
40
- }
41
- }
42
- }
43
-
44
- .w-factory-clearfy-000-setup {
45
- text-align: center;
46
- max-width: 900px;
47
- margin: 65px auto 24px;
48
- box-shadow: none;
49
- background: #f1f1f1;
50
- padding: 0;
51
- }
52
-
53
- .w-factory-clearfy-000-setup__inner-wrap, .w-factory-clearfy-000__setup-form .factory-form-layout {
54
- padding: 30px;
55
- }
56
-
57
- .w-factory-clearfy-000-setup-steps {
58
- padding: 0 0 24px;
59
- margin: 0;
60
- list-style: none outside;
61
- overflow: hidden;
62
- color: #ccc;
63
- width: 100%;
64
- display: -webkit-inline-box;
65
- display: inline-flex;
66
- }
67
-
68
- .w-factory-clearfy-000-setup-steps li {
69
- width: 100%;
70
- float: left;
71
- padding: 0 0 .8em;
72
- margin: 0;
73
- text-align: center;
74
- position: relative;
75
- border-bottom: 4px solid #ccc;
76
- line-height: 1.4;
77
-
78
- &::before {
79
- content: "";
80
- border: 4px solid #ccc;
81
- border-radius: 100%;
82
- width: 4px;
83
- height: 4px;
84
- position: absolute;
85
- bottom: 0;
86
- left: 50%;
87
- margin-left: -6px;
88
- margin-bottom: -8px;
89
- background: #fff
90
- }
91
-
92
- &.active {
93
- border-color: #ff1c40 !important;
94
- color: #222;
95
- font-weight: 700;
96
-
97
- &::before {
98
- border-color: #ff1c40 !important;
99
- }
100
- }
101
- }
102
-
103
- .w-factory-clearfy-000-setup-steps li a {
104
- color: #a16696;
105
- text-decoration: none;
106
- padding: 1.5em;
107
- margin: -1.5em;
108
- position: relative;
109
- z-index: 1
110
- }
111
-
112
- .w-factory-clearfy-000-setup-steps li a:focus, .w-factory-clearfy-000-setup-steps li a:hover {
113
- color: #111;
114
- text-decoration: underline
115
- }
116
-
117
-
118
- /*.w-factory-clearfy-000-setup-steps li.done {
119
- border-color: #f57d4f;
120
- color: #f57d4f
121
- }
122
-
123
- .w-factory-clearfy-000-setup-steps li.done::before {
124
- border-color: #f57d4f;
125
- background: #f57d4f
126
- }*/
127
-
128
- .w-factory-clearfy-000-setup .w-factory-clearfy-000-setup-actions {
129
- overflow: hidden;
130
- margin: 20px 0 0;
131
- position: relative
132
- }
133
-
134
- .w-factory-clearfy-000-setup-content p:last-child {
135
- margin-bottom: 0
136
- }
137
-
138
- .w-factory-clearfy-000-setup-content p.store-setup {
139
- margin-top: 0
140
- }
141
-
142
- .w-factory-clearfy-000-setup-footer-links {
143
- font-size: .85em;
144
- color: #7b7b7b;
145
- margin: 1.18em auto;
146
- display: inline-block;
147
- text-align: center
148
- }
149
-
150
- .w-factory-clearfy-000-logo {
151
- text-align: center;
152
-
153
- img {
154
- max-width: 250px;
155
- }
156
- }
157
-
158
-
159
- .w-factory-clearfy-000-setup-content {
160
- box-shadow: 0 1px 3px rgba(0, 0, 0, .13);
161
- //padding: 2em;
162
- margin: 0 0 20px;
163
- background: #fff;
164
- //overflow: hidden;
165
- zoom: 1;
166
- text-align: left;
167
-
168
- & table {
169
- font-size: 1em;
170
- line-height: 1.75;
171
- color: #666;
172
-
173
- thead {
174
- background: #f1f1f1;
175
- }
176
-
177
- th, td {
178
- padding: 10px 15px;
179
- }
180
- }
181
- }
182
-
183
- .w-factory-clearfy-000-setup-content h1, .w-factory-clearfy-000-setup-content h2, .w-factory-clearfy-000-setup-content h3, .w-factory-clearfy-000-setup-content table {
184
- margin: 0 0 20px;
185
- border: 0;
186
- padding: 0;
187
- color: #666;
188
- clear: none;
189
- font-weight: 500
190
- }
191
-
192
- .w-factory-clearfy-000-setup-content p {
193
- margin: 20px 0;
194
- font-size: 1.15em;
195
- line-height: 1.75;
196
- color: #666;
197
- text-align: center;
198
- }
199
-
200
- .w-factory-clearfy-000-setup-step__new_onboarding-welcome {
201
- font-size: 22px !important;
202
- }
203
-
204
-
205
- .w-factory-clearfy-000-setup-content a {
206
- color: #f57d4f
207
- }
208
-
209
- .w-factory-clearfy-000-setup-content a:focus, .w-factory-clearfy-000-setup-content a:hover {
210
- color: #111
211
- }
212
-
213
-
214
- .w-factory-clearfy-000-setup-content table.tax-rates {
215
- width: 100%;
216
- font-size: .92em
217
- }
218
-
219
- .w-factory-clearfy-000-setup-content table.tax-rates th {
220
- padding: 0;
221
- text-align: center;
222
- width: auto;
223
- vertical-align: middle
224
- }
225
-
226
- .w-factory-clearfy-000-setup-content table.tax-rates td {
227
- border: 1px solid #f5f5f5;
228
- padding: 6px;
229
- text-align: center;
230
- vertical-align: middle
231
- }
232
-
233
- .w-factory-clearfy-000-setup-content table.tax-rates td input {
234
- outline: 0;
235
- border: 0;
236
- padding: 0;
237
- box-shadow: none;
238
- text-align: center;
239
- width: 100%
240
- }
241
-
242
- .w-factory-clearfy-000-setup-content table.tax-rates td.sort {
243
- cursor: move;
244
- color: #ccc
245
- }
246
-
247
- .w-factory-clearfy-000-setup-content table.tax-rates td.sort::before {
248
- content: "\f333";
249
- font-family: dashicons
250
- }
251
-
252
- .w-factory-clearfy-000-setup-content table.tax-rates td.readonly {
253
- background: #f5f5f5
254
- }
255
-
256
- .w-factory-clearfy-000-setup-content table.tax-rates .add {
257
- padding: 1em 0 0 1em;
258
- line-height: 1;
259
- font-size: 1em;
260
- width: 0;
261
- margin: 6px 0 0;
262
- height: 0;
263
- overflow: hidden;
264
- position: relative;
265
- display: inline-block
266
- }
267
-
268
- .w-factory-clearfy-000-setup-content table.tax-rates .add::before {
269
- content: "\f502";
270
- font-family: dashicons;
271
- position: absolute;
272
- left: 0;
273
- top: 0
274
- }
275
-
276
- .w-factory-clearfy-000-setup-content table.tax-rates .remove {
277
- padding: 1em 0 0 1em;
278
- line-height: 1;
279
- font-size: 1em;
280
- width: 0;
281
- margin: 0;
282
- height: 0;
283
- overflow: hidden;
284
- position: relative;
285
- display: inline-block
286
- }
287
-
288
- .w-factory-clearfy-000-setup-content table.tax-rates .remove::before {
289
- content: "\f182";
290
- font-family: dashicons;
291
- position: absolute;
292
- left: 0;
293
- top: 0
294
- }
295
-
296
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages {
297
- width: 100%;
298
- border-top: 1px solid #eee
299
- }
300
-
301
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages thead th {
302
- display: none
303
- }
304
-
305
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-name {
306
- width: 30%;
307
- font-weight: 700
308
- }
309
-
310
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages td, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages th {
311
- padding: 14px 0;
312
- border-bottom: 1px solid #eee
313
- }
314
-
315
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages td:first-child, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages th:first-child {
316
- padding-right: 9px
317
- }
318
-
319
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages th {
320
- padding-top: 0
321
- }
322
-
323
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-options p {
324
- color: #777;
325
- margin: 6px 0 0 24px;
326
- line-height: 1.75
327
- }
328
-
329
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-options p input {
330
- vertical-align: middle;
331
- margin: 1px 0 0;
332
- height: 1.75em;
333
- width: 1.75em;
334
- line-height: 1.75
335
- }
336
-
337
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-pages .page-options p label {
338
- line-height: 1
339
- }
340
-
341
- @media screen and (max-width: 782px) {
342
- .w-factory-clearfy-000-setup-content .form-table tbody th {
343
- width: auto
344
- }
345
- }
346
-
347
- .w-factory-clearfy-000-setup-content .twitter-share-button {
348
- float: right
349
- }
350
-
351
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps {
352
- overflow: hidden;
353
- margin: 0 0 24px;
354
- padding-bottom: 2px
355
- }
356
-
357
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps h2 {
358
- margin-bottom: 12px
359
- }
360
-
361
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps .w-factory-clearfy-000-setup-next-steps-first {
362
- float: left;
363
- width: 50%;
364
- box-sizing: border-box
365
- }
366
-
367
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps .w-factory-clearfy-000-setup-next-steps-last {
368
- float: right;
369
- width: 50%;
370
- box-sizing: border-box
371
- }
372
-
373
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul {
374
- padding: 0 2em 0 0;
375
- list-style: none outside;
376
- margin: 0
377
- }
378
-
379
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul li a {
380
- display: block;
381
- padding: 0 0 .75em
382
- }
383
-
384
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button {
385
- background-color: #f7f7f7;
386
- border-color: #ccc;
387
- color: #23282d;
388
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #ccc;
389
- text-shadow: 1px 0 1px #eee, 0 1px 1px #eee;
390
- font-size: 1em;
391
- height: auto;
392
- line-height: 1.75;
393
- margin: 0 0 .75em;
394
- opacity: 1;
395
- padding: 1em;
396
- text-align: center
397
- }
398
-
399
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button:active, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button:focus, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button:hover {
400
- background: #f5f5f5;
401
- border-color: #aaa
402
- }
403
-
404
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary {
405
- color: #fff;
406
- background-color: #f19570;
407
- border-color: #f77d50;
408
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f77d50;
409
- text-shadow: 0 -1px 1px #f77d50, 1px 0 1px #f77d50, 0 1px 1px #f77d50, -1px 0 1px #f77d50
410
- }
411
-
412
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary:active, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary:focus, .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .setup-product a.button-primary:hover {
413
- color: #fff;
414
- background: #f77d50;
415
- border-color: #f77d50;
416
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 #f77d50
417
- }
418
-
419
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul li a::before {
420
- color: #82878c;
421
- font: 400 20px/1 dashicons;
422
- speak: none;
423
- display: inline-block;
424
- padding: 0 10px 0 0;
425
- top: 1px;
426
- position: relative;
427
- text-decoration: none !important;
428
- vertical-align: top
429
- }
430
-
431
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .learn-more a::before {
432
- content: "\f105"
433
- }
434
-
435
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .video-walkthrough a::before {
436
- content: "\f126"
437
- }
438
-
439
- .w-factory-clearfy-000-setup-content .w-factory-clearfy-000-setup-next-steps ul .newsletter a::before {
440
- content: "\f465"
441
- }
442
-
443
- .w-factory-clearfy-000-setup-content .updated, .w-factory-clearfy-000-setup-content .woocommerce-newsletter {
444
- padding: 24px 24px 0;
445
- margin: 0 0 24px;
446
- overflow: hidden;
447
- background: #f5f5f5
448
- }
449
-
450
- .w-factory-clearfy-000-setup-content .updated p, .w-factory-clearfy-000-setup-content .woocommerce-newsletter p {
451
- padding: 0;
452
- margin: 0 0 12px
453
- }
454
-
455
- .w-factory-clearfy-000-setup-content .updated form, .w-factory-clearfy-000-setup-content .updated p:last-child, .w-factory-clearfy-000-setup-content .woocommerce-newsletter form, .w-factory-clearfy-000-setup-content .woocommerce-newsletter p:last-child {
456
- margin: 0 0 24px
457
- }
458
-
459
- .w-factory-clearfy-000-setup-content .checkbox input[type=checkbox] {
460
- opacity: 0;
461
- position: absolute;
462
- left: -9999px
463
- }
464
-
465
- .w-factory-clearfy-000-setup-content .checkbox label {
466
- position: relative;
467
- display: inline-block;
468
- padding-left: 28px
469
- }
470
-
471
- .w-factory-clearfy-000-setup-content .checkbox label::after, .w-factory-clearfy-000-setup-content .checkbox label::before {
472
- position: absolute;
473
- content: "";
474
- display: inline-block
475
- }
476
-
477
- .w-factory-clearfy-000-setup-content .checkbox label::before {
478
- height: 16px;
479
- width: 16px;
480
- left: 0;
481
- top: 3px;
482
- border: 1px solid #aaa;
483
- background-color: #fff;
484
- border-radius: 3px
485
- }
486
-
487
- .w-factory-clearfy-000-setup-content .checkbox label::after {
488
- height: 5px;
489
- width: 9px;
490
- border-left: 2px solid;
491
- border-bottom: 2px solid;
492
- -webkit-transform: rotate(-45deg);
493
- -ms-transform: rotate(-45deg);
494
- transform: rotate(-45deg);
495
- left: 4px;
496
- top: 7px;
497
- color: #fff
498
- }
499
-
500
- .w-factory-clearfy-000-setup-content .checkbox input[type=checkbox] + label::after {
501
- content: none
502
- }
503
-
504
- .w-factory-clearfy-000-setup-content .checkbox input[type=checkbox]:checked + label::after {
505
- content: ""
506
- }
507
-
508
- .w-factory-clearfy-000-setup-content .checkbox input[type=checkbox]:focus + label::before {
509
- outline: #3b99fc auto 5px
510
- }
511
-
512
- .w-factory-clearfy-000-setup-content .checkbox input[type=checkbox]:checked + label::before {
513
- background: #935687;
514
- border-color: #935687
515
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/assets/js/clearfy-widgets.js DELETED
@@ -1,44 +0,0 @@
1
- jQuery(function($) {
2
- $('#wbcr-factory-subscribe-widget__subscribe-form').submit(function(e) {
3
- e.preventDefault();
4
- var agree = $(this).find('[name=agree_terms]:checked');
5
- if( agree.length === 0 ) {
6
- return;
7
- }
8
-
9
- $.ajax({
10
- method: "POST",
11
- url: "https://clearfy.pro/wp-json/mailerlite/v1/subscribe/",
12
- data: {
13
- email: $('#wbcr-factory-subscribe-widget__email').val(),
14
- group_id: $('#wbcr-factory-subscribe-widget__group-id').val(),
15
- },
16
- success: function(data) {
17
- if( !data.message ) {
18
- if( data.subscribed ) {
19
- $(".wbcr-factory-subscribe-widget__text--success").show();
20
- } else {
21
- $(".wbcr-factory-subscribe-widget__text--success2").show();
22
- }
23
- } else {
24
- console.log(data.message);
25
- var noticeId = $.wbcr_factory_clearfy_230.app.showNotice('Error: [' + data.message + ']', 'danger');
26
- setTimeout(function() {
27
- $.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
28
- }, 5000);
29
- }
30
- },
31
- error: function(xhr, ajaxOptions, thrownError) {
32
-
33
- console.log(xhr.status);
34
- console.log(xhr.responseText);
35
- console.log(thrownError);
36
-
37
- var noticeId = $.wbcr_factory_clearfy_230.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
38
- setTimeout(function() {
39
- $.wbcr_factory_clearfy_230.app.hideNotice(noticeId);
40
- }, 5000);
41
- }
42
- });
43
- });
44
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/assets/js/libs/jquery.autocomplete.min.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * Ajax Autocomplete for jQuery, version 1.4.11
3
- * (c) 2017 Tomas Kirda
4
- *
5
- * Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
6
- * For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete
7
- */
8
- !function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports&&"function"==typeof require?require("jquery"):jQuery)}(function(a){"use strict";function b(c,d){var e=this;e.element=c,e.el=a(c),e.suggestions=[],e.badQueries=[],e.selectedIndex=-1,e.currentValue=e.element.value,e.timeoutId=null,e.cachedResponse={},e.onChangeTimeout=null,e.onChange=null,e.isLocal=!1,e.suggestionsContainer=null,e.noSuggestionsContainer=null,e.options=a.extend(!0,{},b.defaults,d),e.classes={selected:"wbcr-factory-clearfy-230__autocomplete-selected",suggestion:"wbcr-factory-clearfy-230__autocomplete-suggestion"},e.hint=null,e.hintValue="",e.selection=null,e.initialize(),e.setOptions(d)}function c(a,b,c){return a.value.toLowerCase().indexOf(c)!==-1}function d(b){return"string"==typeof b?a.parseJSON(b):b}function e(a,b){if(!b)return a.value;var c="("+g.escapeRegExChars(b)+")";return a.value.replace(new RegExp(c,"gi"),"<strong>$1</strong>").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/&lt;(\/?strong)&gt;/g,"<$1>")}function f(a,b){return'<div class="wbcr-factory-clearfy-230__autocomplete-group">'+b+"</div>"}var g=function(){return{escapeRegExChars:function(a){return a.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(a){var b=document.createElement("div");return b.className=a,b.style.position="absolute",b.style.display="none",b}}}(),h={ESC:27,TAB:9,RETURN:13,LEFT:37,UP:38,RIGHT:39,DOWN:40},i=a.noop;b.utils=g,a.Autocomplete=b,b.defaults={ajaxSettings:{},autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{},formatResult:e,formatGroup:f,delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:i,onSearchComplete:i,onSearchError:i,preserveInput:!1,containerClass:"wbcr-factory-clearfy-230__autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:c,paramName:"query",transformResult:d,showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1},b.prototype={initialize:function(){var c,d=this,e="."+d.classes.suggestion,f=d.classes.selected,g=d.options;d.element.setAttribute("autocomplete","off"),d.noSuggestionsContainer=a('<div class="autocomplete-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),d.suggestionsContainer=b.utils.createNode(g.containerClass),c=a(d.suggestionsContainer),c.appendTo(g.appendTo||"body"),"auto"!==g.width&&c.css("width",g.width),c.on("mouseover.autocomplete",e,function(){d.activate(a(this).data("index"))}),c.on("mouseout.autocomplete",function(){d.selectedIndex=-1,c.children("."+f).removeClass(f)}),c.on("click.autocomplete",e,function(){d.select(a(this).data("index"))}),c.on("click.autocomplete",function(){clearTimeout(d.blurTimeoutId)}),d.fixPositionCapture=function(){d.visible&&d.fixPosition()},a(window).on("resize.autocomplete",d.fixPositionCapture),d.el.on("keydown.autocomplete",function(a){d.onKeyPress(a)}),d.el.on("keyup.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("blur.autocomplete",function(){d.onBlur()}),d.el.on("focus.autocomplete",function(){d.onFocus()}),d.el.on("change.autocomplete",function(a){d.onKeyUp(a)}),d.el.on("input.autocomplete",function(a){d.onKeyUp(a)})},onFocus:function(){var a=this;a.disabled||(a.fixPosition(),a.el.val().length>=a.options.minChars&&a.onValueChange())},onBlur:function(){var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);b.blurTimeoutId=setTimeout(function(){b.hide(),b.selection&&b.currentValue!==e&&(c.onInvalidateSelection||a.noop).call(b.element)},200)},abortAjax:function(){var a=this;a.currentRequest&&(a.currentRequest.abort(),a.currentRequest=null)},setOptions:function(b){var c=this,d=a.extend({},c.options,b);c.isLocal=Array.isArray(d.lookup),c.isLocal&&(d.lookup=c.verifySuggestionsFormat(d.lookup)),d.orientation=c.validateOrientation(d.orientation,"bottom"),a(c.suggestionsContainer).css({"max-height":d.maxHeight+"px",width:d.width+"px","z-index":d.zIndex}),this.options=d},clearCache:function(){this.cachedResponse={},this.badQueries=[]},clear:function(){this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){var a=this;a.disabled=!0,clearTimeout(a.onChangeTimeout),a.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var b=this,c=a(b.suggestionsContainer),d=c.parent().get(0);if(d===document.body||b.options.forceFixPosition){var e=b.options.orientation,f=c.outerHeight(),g=b.el.outerHeight(),h=b.el.offset(),i={top:h.top,left:h.left};if("auto"===e){var j=a(window).height(),k=a(window).scrollTop(),l=-k+h.top-f,m=k+j-(h.top+g+f);e=Math.max(l,m)===l?"top":"bottom"}if("top"===e?i.top+=-f:i.top+=g,d!==document.body){var n,o=c.css("opacity");b.visible||c.css("opacity",0).show(),n=c.offsetParent().offset(),i.top-=n.top,i.top+=d.scrollTop,i.left-=n.left,b.visible||c.css("opacity",o).hide()}"auto"===b.options.width&&(i.width=b.el.outerWidth()+"px"),c.css(i)}},isCursorAtEnd:function(){var a,b=this,c=b.el.val().length,d=b.element.selectionStart;return"number"==typeof d?d===c:!document.selection||(a=document.selection.createRange(),a.moveStart("character",-c),c===a.text.length)},onKeyPress:function(a){var b=this;if(!b.disabled&&!b.visible&&a.which===h.DOWN&&b.currentValue)return void b.suggest();if(!b.disabled&&b.visible){switch(a.which){case h.ESC:b.el.val(b.currentValue),b.hide();break;case h.RIGHT:if(b.hint&&b.options.onHint&&b.isCursorAtEnd()){b.selectHint();break}return;case h.TAB:if(b.hint&&b.options.onHint)return void b.selectHint();if(b.selectedIndex===-1)return void b.hide();if(b.select(b.selectedIndex),b.options.tabDisabled===!1)return;break;case h.RETURN:if(b.selectedIndex===-1)return void b.hide();b.select(b.selectedIndex);break;case h.UP:b.moveUp();break;case h.DOWN:b.moveDown();break;default:return}a.stopImmediatePropagation(),a.preventDefault()}},onKeyUp:function(a){var b=this;if(!b.disabled){switch(a.which){case h.UP:case h.DOWN:return}clearTimeout(b.onChangeTimeout),b.currentValue!==b.el.val()&&(b.findBestHint(),b.options.deferRequestBy>0?b.onChangeTimeout=setTimeout(function(){b.onValueChange()},b.options.deferRequestBy):b.onValueChange())}},onValueChange:function(){if(this.ignoreValueChange)return void(this.ignoreValueChange=!1);var b=this,c=b.options,d=b.el.val(),e=b.getQuery(d);return b.selection&&b.currentValue!==e&&(b.selection=null,(c.onInvalidateSelection||a.noop).call(b.element)),clearTimeout(b.onChangeTimeout),b.currentValue=d,b.selectedIndex=-1,c.triggerSelectOnValidInput&&b.isExactMatch(e)?void b.select(0):void(e.length<c.minChars?b.hide():b.getSuggestions(e))},isExactMatch:function(a){var b=this.suggestions;return 1===b.length&&b[0].value.toLowerCase()===a.toLowerCase()},getQuery:function(b){var c,d=this.options.delimiter;return d?(c=b.split(d),a.trim(c[c.length-1])):b},getSuggestionsLocal:function(b){var c,d=this,e=d.options,f=b.toLowerCase(),g=e.lookupFilter,h=parseInt(e.lookupLimit,10);return c={suggestions:a.grep(e.lookup,function(a){return g(a,b,f)})},h&&c.suggestions.length>h&&(c.suggestions=c.suggestions.slice(0,h)),c},getSuggestions:function(b){var c,d,e,f,g=this,h=g.options,i=h.serviceUrl;if(h.params[h.paramName]=b,h.onSearchStart.call(g.element,h.params)!==!1){if(d=h.ignoreParams?null:h.params,a.isFunction(h.lookup))return void h.lookup(b,function(a){g.suggestions=a.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,a.suggestions)});g.isLocal?c=g.getSuggestionsLocal(b):(a.isFunction(i)&&(i=i.call(g.element,b)),e=i+"?"+a.param(d||{}),c=g.cachedResponse[e]),c&&Array.isArray(c.suggestions)?(g.suggestions=c.suggestions,g.suggest(),h.onSearchComplete.call(g.element,b,c.suggestions)):g.isBadQuery(b)?h.onSearchComplete.call(g.element,b,[]):(g.abortAjax(),f={url:i,data:d,type:h.type,dataType:h.dataType},a.extend(f,h.ajaxSettings),g.currentRequest=a.ajax(f).done(function(a){var c;g.currentRequest=null,c=h.transformResult(a,b),g.processResponse(c,b,e),h.onSearchComplete.call(g.element,b,c.suggestions)}).fail(function(a,c,d){h.onSearchError.call(g.element,b,a,c,d)}))}},isBadQuery:function(a){if(!this.options.preventBadQueries)return!1;for(var b=this.badQueries,c=b.length;c--;)if(0===a.indexOf(b[c]))return!0;return!1},hide:function(){var b=this,c=a(b.suggestionsContainer);a.isFunction(b.options.onHide)&&b.visible&&b.options.onHide.call(b.element,c),b.visible=!1,b.selectedIndex=-1,clearTimeout(b.onChangeTimeout),a(b.suggestionsContainer).hide(),b.signalHint(null)},suggest:function(){if(!this.suggestions.length)return void(this.options.showNoSuggestionNotice?this.noSuggestions():this.hide());var b,c=this,d=c.options,e=d.groupBy,f=d.formatResult,g=c.getQuery(c.currentValue),h=c.classes.suggestion,i=c.classes.selected,j=a(c.suggestionsContainer),k=a(c.noSuggestionsContainer),l=d.beforeRender,m="",n=function(a,c){var f=a.data[e];return b===f?"":(b=f,d.formatGroup(a,b))};return d.triggerSelectOnValidInput&&c.isExactMatch(g)?void c.select(0):(a.each(c.suggestions,function(a,b){e&&(m+=n(b,g,a)),m+='<div class="'+h+'" data-index="'+a+'">'+f(b,g,a)+"</div>"}),this.adjustContainerWidth(),k.detach(),j.html(m),a.isFunction(l)&&l.call(c.element,j,c.suggestions),c.fixPosition(),j.show(),d.autoSelectFirst&&(c.selectedIndex=0,j.scrollTop(0),j.children("."+h).first().addClass(i)),c.visible=!0,void c.findBestHint())},noSuggestions:function(){var b=this,c=b.options.beforeRender,d=a(b.suggestionsContainer),e=a(b.noSuggestionsContainer);this.adjustContainerWidth(),e.detach(),d.empty(),d.append(e),a.isFunction(c)&&c.call(b.element,d,b.suggestions),b.fixPosition(),d.show(),b.visible=!0},adjustContainerWidth:function(){var b,c=this,d=c.options,e=a(c.suggestionsContainer);"auto"===d.width?(b=c.el.outerWidth(),e.css("width",b>0?b:300)):"flex"===d.width&&e.css("width","")},findBestHint:function(){var b=this,c=b.el.val().toLowerCase(),d=null;c&&(a.each(b.suggestions,function(a,b){var e=0===b.value.toLowerCase().indexOf(c);return e&&(d=b),!e}),b.signalHint(d))},signalHint:function(b){var c="",d=this;b&&(c=d.currentValue+b.value.substr(d.currentValue.length)),d.hintValue!==c&&(d.hintValue=c,d.hint=b,(this.options.onHint||a.noop)(c))},verifySuggestionsFormat:function(b){return b.length&&"string"==typeof b[0]?a.map(b,function(a){return{value:a,data:null}}):b},validateOrientation:function(b,c){return b=a.trim(b||"").toLowerCase(),a.inArray(b,["auto","bottom","top"])===-1&&(b=c),b},processResponse:function(a,b,c){var d=this,e=d.options;a.suggestions=d.verifySuggestionsFormat(a.suggestions),e.noCache||(d.cachedResponse[c]=a,e.preventBadQueries&&!a.suggestions.length&&d.badQueries.push(b)),b===d.getQuery(d.currentValue)&&(d.suggestions=a.suggestions,d.suggest())},activate:function(b){var c,d=this,e=d.classes.selected,f=a(d.suggestionsContainer),g=f.find("."+d.classes.suggestion);return f.find("."+e).removeClass(e),d.selectedIndex=b,d.selectedIndex!==-1&&g.length>d.selectedIndex?(c=g.get(d.selectedIndex),a(c).addClass(e),c):null},selectHint:function(){var b=this,c=a.inArray(b.hint,b.suggestions);b.select(c)},select:function(a){var b=this;b.hide(),b.onSelect(a)},moveUp:function(){var b=this;if(b.selectedIndex!==-1)return 0===b.selectedIndex?(a(b.suggestionsContainer).children("."+b.classes.suggestion).first().removeClass(b.classes.selected),b.selectedIndex=-1,b.ignoreValueChange=!1,b.el.val(b.currentValue),void b.findBestHint()):void b.adjustScroll(b.selectedIndex-1)},moveDown:function(){var a=this;a.selectedIndex!==a.suggestions.length-1&&a.adjustScroll(a.selectedIndex+1)},adjustScroll:function(b){var c=this,d=c.activate(b);if(d){var e,f,g,h=a(d).outerHeight();e=d.offsetTop,f=a(c.suggestionsContainer).scrollTop(),g=f+c.options.maxHeight-h,e<f?a(c.suggestionsContainer).scrollTop(e):e>g&&a(c.suggestionsContainer).scrollTop(e-c.options.maxHeight+h),c.options.preserveInput||(c.ignoreValueChange=!0,c.el.val(c.getValue(c.suggestions[b].value))),c.signalHint(null)}},onSelect:function(b){var c=this,d=c.options.onSelect,e=c.suggestions[b];c.currentValue=c.getValue(e.value),c.currentValue===c.el.val()||c.options.preserveInput||c.el.val(c.currentValue),c.signalHint(null),c.suggestions=[],c.selection=e,a.isFunction(d)&&d.call(c.element,e)},getValue:function(a){var b,c,d=this,e=d.options.delimiter;return e?(b=d.currentValue,c=b.split(e),1===c.length?a:b.substr(0,b.length-c[c.length-1].length)+a):a},dispose:function(){var b=this;b.el.off(".autocomplete").removeData("autocomplete"),a(window).off("resize.autocomplete",b.fixPositionCapture),a(b.suggestionsContainer).remove()}},a.fn.devbridgeAutocomplete=function(c,d){var e="autocomplete";return arguments.length?this.each(function(){var f=a(this),g=f.data(e);"string"==typeof c?g&&"function"==typeof g[c]&&g[c](d):(g&&g.dispose&&g.dispose(),g=new b(this,c),f.data(e,g))}):this.first().data(e)},a.fn.wfactory_clearfy_autocomplete||(a.fn.wfactory_clearfy_autocomplete=a.fn.devbridgeAutocomplete)});
 
 
 
 
 
 
 
 
libs/factory/clearfy/boot.php DELETED
@@ -1,89 +0,0 @@
1
- <?php
2
- /**
3
- * Factory clearfy
4
- *
5
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
6
- * @since 1.0.0
7
- * @package clearfy
8
- * @copyright (c) 2018, Webcraftic Ltd
9
- *
10
- */
11
-
12
- // Exit if accessed directly
13
- if( !defined('ABSPATH') ) {
14
- exit;
15
- }
16
-
17
- if( defined('FACTORY_CLEARFY_230_LOADED') ) {
18
- return;
19
- }
20
-
21
- define('FACTORY_CLEARFY_230_LOADED', true);
22
-
23
- define('FACTORY_CLEARFY_230', '2.3.0');
24
-
25
- define('FACTORY_CLEARFY_230_DIR', dirname(__FILE__));
26
- define('FACTORY_CLEARFY_230_URL', plugins_url(null, __FILE__));
27
-
28
- load_plugin_textdomain('wbcr_factory_clearfy_230', false, dirname(plugin_basename(__FILE__)) . '/langs');
29
-
30
- require(FACTORY_CLEARFY_230_DIR . '/includes/ajax-handlers.php');
31
- require(FACTORY_CLEARFY_230_DIR . '/includes/class-helpers.php');
32
- require(FACTORY_CLEARFY_230_DIR . '/includes/class-configurate.php');
33
-
34
- // module provides function only for the admin area
35
- if( is_admin() ) {
36
- /**
37
- * Подключаем скрипты для установки компонентов Clearfy
38
- * на все страницы админпанели.
39
- */
40
- add_action('admin_enqueue_scripts', function ($hook) {
41
- wp_enqueue_script('wbcr-factory-clearfy-230-global', FACTORY_CLEARFY_230_URL . '/assets/js/clearfy-globals.js', [
42
- 'jquery',
43
- 'wfactory-439-core-general'
44
- ], FACTORY_CLEARFY_230);
45
-
46
- require_once FACTORY_CLEARFY_230_DIR . '/includes/class-search-options.php';
47
- $all_options = \WBCR\Factory_Clearfy_230\Search_Options::get_all_options();
48
-
49
- if( empty($all_options) ) {
50
- return;
51
- }
52
-
53
- $allow_print_data = false;
54
- $formated_options = [];
55
-
56
- foreach($all_options as $option) {
57
- if( !$allow_print_data && isset($_GET['page']) && $option['page_id'] === $_GET['page'] ) {
58
- $allow_print_data = true;
59
- }
60
-
61
- $formated_options[] = [
62
- 'value' => $option['title'],
63
- 'data' => [
64
- //'hint' => isset($option['hint']) ? $option['hint'] : '',
65
- 'page_url' => $option['page_url'],
66
- 'page_id' => $option['page_id']
67
- ]
68
- ];
69
- }
70
-
71
- if( !$allow_print_data ) {
72
- return;
73
- }
74
-
75
- wp_localize_script('wbcr-factory-clearfy-230-global', 'wfactory_clearfy_search_options', $formated_options);
76
- });
77
-
78
- if( defined('FACTORY_PAGES_438_LOADED') ) {
79
- require(FACTORY_CLEARFY_230_DIR . '/pages/class-pages.php');
80
- require(FACTORY_CLEARFY_230_DIR . '/pages/class-page-more-features.php');
81
- require(FACTORY_CLEARFY_230_DIR . '/pages/class-page-license.php');
82
- require(FACTORY_CLEARFY_230_DIR . '/pages/class-pages-components.php');
83
-
84
- require(FACTORY_CLEARFY_230_DIR . '/pages/setup-parts/class-step.php');
85
- require(FACTORY_CLEARFY_230_DIR . '/pages/setup-parts/class-step-form.php');
86
- require(FACTORY_CLEARFY_230_DIR . '/pages/setup-parts/class-step-custom.php');
87
- require(FACTORY_CLEARFY_230_DIR . '/pages/class-page-setup.php');
88
- }
89
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/includes/ajax-handlers.php DELETED
@@ -1,101 +0,0 @@
1
- <?php
2
- /**
3
- * Ajax handlers
4
- *
5
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
6
- * @copyright (c) 2017 Webraftic Ltd
7
- * @version 1.0
8
- */
9
-
10
- // Exit if accessed directly
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- /**
16
- * Обработчик ajax запросов для проверки, активации, деактивации лицензионного ключа
17
- *
18
- * @since 2.0.7
19
- *
20
- * @param Wbcr_Factory439_Plugin $plugin_instance
21
- *
22
- */
23
- function wbcr_factory_clearfy_230_check_license( $plugin_instance ) {
24
-
25
- $plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
26
-
27
- if ( ( $plugin_instance->getPluginName() !== $plugin_name ) || ! $plugin_instance->current_user_can() ) {
28
- wp_die( - 1, 403 );
29
- }
30
-
31
- $action = $plugin_instance->request->post( 'license_action', false, true );
32
- $license_key = $plugin_instance->request->post( 'licensekey', null );
33
-
34
- check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
35
-
36
- if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
37
- wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'wbcr_factory_clearfy_230' ) ] );
38
- die();
39
- }
40
-
41
- $result = null;
42
- $success_message = '';
43
-
44
- try {
45
- switch ( $action ) {
46
- case 'activate':
47
- if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
48
- wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'wbcr_factory_clearfy_230' ) ] );
49
- } else {
50
- $plugin_instance->premium->activate( $license_key );
51
- $success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_230' );
52
- }
53
- break;
54
- case 'deactivate':
55
- $plugin_instance->premium->deactivate();
56
- $success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_230' );
57
- break;
58
- case 'sync':
59
- $plugin_instance->premium->sync();
60
- $success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_230' );
61
- break;
62
- case 'unsubscribe':
63
- $plugin_instance->premium->cancel_paid_subscription();
64
- $success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_230' );
65
- break;
66
- }
67
- } catch( Exception $e ) {
68
-
69
- /**
70
- * Экшен выполняется, когда проверка лицензии вернула ошибку
71
- *
72
- * @since 2.1.2 Переименован в {$plugin_name}/factory/clearfy/check_license_error
73
- * @since 2.0.7
74
- *
75
- * @param string $license_key
76
- * @param string $error_message
77
- *
78
- * @param string $action
79
- */
80
- do_action( "{$plugin_name}/factory/clearfy/check_license_error", $action, $license_key, $e->getMessage() );
81
-
82
- wp_send_json_error( [ 'error_message' => $e->getMessage() ] );
83
- die();
84
- }
85
-
86
- /**
87
- * Экшен выполняется, когда проверка лицензии успешно завершена
88
- *
89
- * @since 2.1.2 Переименован в {$plugin_name}/factory/clearfy/check_license_success
90
- * @since 2.0.7
91
- *
92
- * @param string $license_key
93
- *
94
- * @param string $action
95
- */
96
- do_action( "{$plugin_name}/factory/clearfy/check_license_success", $action, $license_key );
97
-
98
- wp_send_json_success( [ 'message' => $success_message ] );
99
-
100
- die();
101
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/includes/class-configurate.php DELETED
@@ -1,116 +0,0 @@
1
- <?php
2
- // Exit if accessed directly
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
-
7
- /**
8
- * Configurate clearfy plugins
9
- *
10
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
- * @since 1.0.0
12
- * @package clearfy
13
- * @copyright (c) 2018, Webcraftic Ltd
14
- *
15
- */
16
- abstract class Wbcr_FactoryClearfy230_Configurate {
17
-
18
- /**
19
- * @param Wbcr_Factory439_Plugin $plugin
20
- */
21
- public function __construct( Wbcr_Factory439_Plugin $plugin ) {
22
- $this->plugin = $plugin;
23
- $this->registerActionsAndFilters();
24
- }
25
-
26
- /**
27
- * Registers filters and actions
28
- *
29
- * @return mixed
30
- */
31
- abstract protected function registerActionsAndFilters();
32
-
33
- /**
34
- * Get options with namespace
35
- *
36
- * @param $option_name
37
- * @param bool $default
38
- *
39
- * @return mixed|void
40
- */
41
- public function getPopulateOption( $option_name, $default = false ) {
42
- return $this->plugin->getPopulateOption( $option_name, $default );
43
- }
44
-
45
- /**
46
- * Get options with namespace
47
- *
48
- * @param $option_name
49
- * @param bool $default
50
- *
51
- * @return mixed|void
52
- */
53
- public function getOption( $option_name, $default = false ) {
54
- return $this->plugin->getOption( $option_name, $default );
55
- }
56
-
57
- /**
58
- * Get network options with namespace
59
- *
60
- * @param $option_name
61
- * @param bool $default
62
- *
63
- * @return mixed|void
64
- */
65
- public function getNetworkOption( $option_name, $default = false ) {
66
- return $this->plugin->getNetworkOption( $option_name, $default );
67
- }
68
-
69
- /**
70
- * @param $option_name
71
- * @param $value
72
- *
73
- * @return bool
74
- */
75
- public function updatePopulateOption( $option_name, $value ) {
76
- $this->plugin->updatePopulateOption( $option_name, $value );
77
- }
78
-
79
- /**
80
- * @param $option_name
81
- * @param $value
82
- *
83
- * @return bool
84
- */
85
- public function updateNetworkOption( $option_name, $value ) {
86
- $this->plugin->updateNetworkOption( $option_name, $value );
87
- }
88
-
89
- /**
90
- * @param $option_name
91
- * @param $value
92
- *
93
- * @return bool
94
- */
95
- public function updateOption( $option_name, $value ) {
96
- $this->plugin->updateOption( $option_name, $value );
97
- }
98
-
99
- /**
100
- * @param $option_name
101
- *
102
- * @return bool
103
- */
104
- public function deletePopulateOption( $option_name ) {
105
- $this->plugin->deletePopulateOption( $option_name );
106
- }
107
-
108
- /**
109
- * @param $option_name
110
- *
111
- * @return bool
112
- */
113
- public function deleteOption( $option_name ) {
114
- $this->plugin->deleteOption( $option_name );
115
- }
116
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/includes/class-helpers.php DELETED
@@ -1,266 +0,0 @@
1
- <?php
2
- // Exit if accessed directly
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
-
7
-
8
- /**
9
- * Helpers functions
10
- *
11
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
12
- * @since 1.0.0
13
- * @package clearfy
14
- * @copyright (c) 2018, Webcraftic Ltd
15
- *
16
- */
17
- class WbcrFactoryClearfy230_Helpers {
18
-
19
- /**
20
- * Recursive sanitation for an array
21
- *
22
- * @since 2.0.5
23
- *
24
- * @param $array
25
- *
26
- * @return mixed
27
- */
28
- public static function recursiveSanitizeArray( $array, $function ) {
29
- foreach ( $array as $key => &$value ) {
30
- if ( is_array( $value ) ) {
31
- $value = self::recursiveSanitizeArray( $value, $function );
32
- } else {
33
- if ( function_exists( $function ) ) {
34
- $value = $function( $value );
35
- }
36
- }
37
- }
38
-
39
- return $array;
40
- }
41
-
42
- /**
43
- * Is permalink enabled?
44
- *
45
- * @since 1.0.0
46
- * @return bool
47
- * @global WP_Rewrite $wp_rewrite
48
- */
49
- public static function isPermalink() {
50
- global $wp_rewrite;
51
-
52
- if ( ! isset( $wp_rewrite ) || ! is_object( $wp_rewrite ) || ! $wp_rewrite->using_permalinks() ) {
53
- return false;
54
- }
55
-
56
- return true;
57
- }
58
-
59
- /**
60
- * Display 404 page to bump bots and bad guys
61
- *
62
- * @param bool $simple If true force displaying basic 404 page
63
- */
64
- public static function setError404() {
65
- global $wp_query;
66
-
67
- if ( function_exists( 'status_header' ) ) {
68
- status_header( '404' );
69
- nocache_headers();
70
- }
71
-
72
- if ( $wp_query && is_object( $wp_query ) ) {
73
- $wp_query->set_404();
74
- get_template_part( 404 );
75
- } else {
76
- global $pagenow;
77
-
78
- $pagenow = 'index.php';
79
-
80
- if ( ! defined( 'WP_USE_THEMES' ) ) {
81
- define( 'WP_USE_THEMES', true );
82
- }
83
-
84
- wp();
85
-
86
- $_SERVER['REQUEST_URI'] = self::userTrailingslashit( '/hmwp_404' );
87
-
88
- require_once( ABSPATH . WPINC . '/template-loader.php' );
89
- }
90
-
91
- exit();
92
- }
93
-
94
- public static function useTrailingSlashes() {
95
- return ( '/' === substr( get_option( 'permalink_structure' ), - 1, 1 ) );
96
- }
97
-
98
- public static function userTrailingslashit( $string ) {
99
- return self::useTrailingSlashes() ? trailingslashit( $string ) : untrailingslashit( $string );
100
- }
101
-
102
- /**
103
- * Returns true if a needle can be found in a haystack
104
- *
105
- * @param string $string
106
- * @param string $find
107
- * @param bool $case_sensitive
108
- *
109
- * @return bool
110
- */
111
- public static function strContains( $string, $find, $case_sensitive = true ) {
112
- if ( empty( $string ) || empty( $find ) ) {
113
- return false;
114
- }
115
-
116
- $pos = $case_sensitive ? strpos( $string, $find ) : stripos( $string, $find );
117
-
118
- return ! ( $pos === false );
119
- }
120
-
121
- /**
122
- * Tests if a text starts with an given string.
123
- *
124
- * @param string $string
125
- * @param string $find
126
- * @param bool $case_sensitive
127
- *
128
- * @return bool
129
- */
130
- public static function strStartsWith( $string, $find, $case_sensitive = true ) {
131
- if ( $case_sensitive ) {
132
- return strpos( $string, $find ) === 0;
133
- }
134
-
135
- return stripos( $string, $find ) === 0;
136
- }
137
-
138
- /**
139
- * Tests if a text ends with an given string.
140
- *
141
- * @param $string
142
- * @param $find
143
- * @param bool $case_sensitive
144
- *
145
- * @return bool
146
- */
147
- public static function strEndsWith( $string, $find, $case_sensitive = true ) {
148
- $expected_position = strlen( $string ) - strlen( $find );
149
-
150
- if ( $case_sensitive ) {
151
- return strrpos( $string, $find, 0 ) === $expected_position;
152
- }
153
-
154
- return strripos( $string, $find, 0 ) === $expected_position;
155
- }
156
-
157
- public static function arrayMergeInsert( array $arr, array $inserted, $position = 'bottom', $key = null ) {
158
- if ( $position == 'top' ) {
159
- return array_merge( $inserted, $arr );
160
- }
161
- $key_position = ( $key === null ) ? false : array_search( $key, array_keys( $arr ) );
162
- if ( $key_position === false OR ( $position != 'before' AND $position != 'after' ) ) {
163
- return array_merge( $arr, $inserted );
164
- }
165
- if ( $position == 'after' ) {
166
- $key_position ++;
167
- }
168
-
169
- return array_merge( array_slice( $arr, 0, $key_position, true ), $inserted, array_slice( $arr, $key_position, null, true ) );
170
- }
171
-
172
- public static function maybeGetPostJson( $name ) {
173
- if ( isset( $_POST[ $name ] ) AND is_string( $_POST[ $name ] ) ) {
174
- $result = json_decode( stripslashes( $_POST[ $name ] ), true );
175
- if ( ! is_array( $result ) ) {
176
- $result = [];
177
- }
178
-
179
- return $result;
180
- } else {
181
- return [];
182
- }
183
- }
184
-
185
- public static function getEscapeJson( array $data ) {
186
- return htmlspecialchars( json_encode( $data ), ENT_QUOTES, 'UTF-8' );
187
- }
188
-
189
- /**
190
- * Replace url for multisite
191
- *
192
- * @param $string
193
- *
194
- * @return string
195
- */
196
- public static function replaceMsUrl( $string ) {
197
- if ( is_multisite() && BLOG_ID_CURRENT_SITE != get_current_blog_id() ) {
198
- return str_replace( get_site_url( BLOG_ID_CURRENT_SITE ), get_site_url( get_current_blog_id() ), $string );
199
- }
200
-
201
- return $string;
202
- }
203
-
204
- /*
205
- * Flushes as many page cache plugin's caches as possible.
206
- *
207
- * @return void
208
- */
209
- public static function flushPageCache() {
210
- if ( function_exists( 'wp_cache_clear_cache' ) ) {
211
- if ( is_multisite() ) {
212
- $blog_id = get_current_blog_id();
213
- wp_cache_clear_cache( $blog_id );
214
- } else {
215
- wp_cache_clear_cache();
216
- }
217
- } else if ( has_action( 'cachify_flush_cache' ) ) {
218
- do_action( 'cachify_flush_cache' );
219
- } else if ( function_exists( 'w3tc_pgcache_flush' ) ) {
220
- w3tc_pgcache_flush();
221
- } else if ( function_exists( 'wp_fast_cache_bulk_delete_all' ) ) {
222
- wp_fast_cache_bulk_delete_all();
223
- } else if ( class_exists( 'WpFastestCache' ) ) {
224
- $wpfc = new WpFastestCache();
225
- $wpfc->deleteCache();
226
- } else if ( class_exists( 'c_ws_plugin__qcache_purging_routines' ) ) {
227
- c_ws_plugin__qcache_purging_routines::purge_cache_dir(); // quick cache
228
- } else if ( class_exists( 'zencache' ) ) {
229
- zencache::clear();
230
- } else if ( class_exists( 'comet_cache' ) ) {
231
- comet_cache::clear();
232
- } else if ( class_exists( 'WpeCommon' ) ) {
233
- // WPEngine cache purge/flush methods to call by default
234
- $wpe_methods = [
235
- 'purge_varnish_cache',
236
- ];
237
-
238
- // More agressive clear/flush/purge behind a filter
239
- if ( apply_filters( 'wbcr/factory/flush_wpengine_aggressive', false ) ) {
240
- $wpe_methods = array_merge( $wpe_methods, [ 'purge_memcached', 'clear_maxcdn_cache' ] );
241
- }
242
-
243
- // Filtering the entire list of WpeCommon methods to be called (for advanced usage + easier testing)
244
- $wpe_methods = apply_filters( 'wbcr/factory/wpengine_methods', $wpe_methods );
245
-
246
- foreach ( $wpe_methods as $wpe_method ) {
247
- if ( method_exists( 'WpeCommon', $wpe_method ) ) {
248
- WpeCommon::$wpe_method();
249
- }
250
- }
251
- } else if ( function_exists( 'sg_cachepress_purge_cache' ) ) {
252
- sg_cachepress_purge_cache();
253
- } else if ( file_exists( WP_CONTENT_DIR . '/wp-cache-config.php' ) && function_exists( 'prune_super_cache' ) ) {
254
- // fallback for WP-Super-Cache
255
- global $cache_path;
256
- if ( is_multisite() ) {
257
- $blog_id = get_current_blog_id();
258
- prune_super_cache( get_supercache_dir( $blog_id ), true );
259
- prune_super_cache( $cache_path . 'blogs/', true );
260
- } else {
261
- prune_super_cache( $cache_path . 'supercache/', true );
262
- prune_super_cache( $cache_path, true );
263
- }
264
- }
265
- }
266
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/clearfy/pages/class-page-more-features.php DELETED
@@ -1,170 +0,0 @@
1
- <?php
2
- /**
3
- * The page Settings.
4
- *
5
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
6
- * @since 1.0.1
7
- * @package clearfy
8
- * @copyright (c) 2018, Webcraftic Ltd
9
- *
10
- */
11
-
12
- // Exit if accessed directly
13
- if ( ! defined( 'ABSPATH' ) ) {
14
- exit;
15
- }
16
-
17
-
18
- class Wbcr_FactoryClearfy230_MoreFeaturesPage extends Wbcr_FactoryPages438_ImpressiveThemplate {
19
-
20
- /**
21
- * {@inheritDoc}
22
- *
23
- * @var string
24
- */
25
- public $id = "more_features";
26
-
27
- /**
28
- * {@inheritDoc}
29
- *
30
- * @var string
31
- */
32
- public $page_menu_dashicon = 'dashicons-star-filled wbcr-factory-orange-color';
33
-
34
- /**
35
- * {@inheritDoc}
36
- *
37
- * @var string
38
- */
39
- public $page_menu_position = 5;
40
-
41
- /**
42
- * {@inheritDoc}
43
- *
44
- * @var string
45
- */
46
- public $type = 'page';
47
-
48
- /**
49
- * {@inheritDoc}
50
- *
51
- * @var bool
52
- */
53
- public $available_for_multisite = true;
54
-
55
- /**
56
- * {@inheritDoc}
57
- *
58
- * @since 2.0.6 - добавлен
59
- * @var bool
60
- */
61
- public $internal = true;
62
-
63
- public function __construct( Wbcr_Factory439_Plugin $plugin ) {
64
- $this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_230' );
65
-
66
- parent::__construct( $plugin );
67
-
68
- $this->plugin = $plugin;
69
- }
70
-
71
- /**
72
- * {@inheritDoc}
73
- *
74
- * @return string
75
- */
76
- public function getPageTitle() {
77
- return __( 'More features', 'wbcr_factory_clearfy_230' );
78
- }
79
-
80
- /**
81
- * {@inheritDoc}
82
- *
83
- * @return void
84
- */
85
- public function showPageContent() {
86
- ?>
87
- <div class="row">
88
- <div class="col-sm-4">
89
- <div class="wbcr-factory-feature-box">
90
- <span class="dashicons dashicons-yes"></span>
91
- <h3><?php _e( 'Code cleaning', 'wbcr_factory_clearfy_230' ) ?></h3>
92
- <p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_230' ) ?></p>
93
- </div>
94
- </div>
95
- <div class="col-sm-4">
96
- <div class="wbcr-factory-feature-box">
97
- <span class="dashicons dashicons-chart-bar"></span>
98
- <h3><?php _e( 'Improve SEO', 'wbcr_factory_clearfy_230' ) ?></h3>
99
- <p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_230' ) ?></p>
100
- </div>
101
- </div>
102
- <div class="col-sm-4">
103
- <div class="wbcr-factory-feature-box">
104
- <span class="dashicons dashicons-shield-alt"></span>
105
- <h3><?php _e( 'Site protection', 'wbcr_factory_clearfy_230' ) ?></h3>
106
- <p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_230' ) ?></p>
107
- </div>
108
- </div>
109
- <div class="col-sm-4">
110
- <div class="wbcr-factory-feature-box">
111
- <span class="dashicons dashicons-welcome-comments"></span>
112
- <h3><?php _e( 'Disable comments', 'wbcr_factory_clearfy_230' ) ?></h3>
113
- <p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_230' ) ?></p>
114
- </div>
115
- </div>
116
- <div class="col-sm-4">
117
- <div class="wbcr-factory-feature-box">
118
- <span class="dashicons dashicons-update"></span>
119
- <h3><?php _e( 'Manage updates', 'wbcr_factory_clearfy_230' ) ?></h3>
120
- <p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
121
- to disable all updates.', 'wbcr_factory_clearfy_230' ) ?></p>
122
- </div>
123
- </div>
124
- <div class="col-sm-4">
125
- <div class="wbcr-factory-feature-box">
126
- <span class="dashicons dashicons-admin-plugins"></span>
127
- <h3><?php _e( 'Manage widgets', 'wbcr_factory_clearfy_230' ) ?></h3>
128
- <p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_230' ) ?></p>
129
- </div>
130
- </div>
131
- <div class="col-sm-4">
132
- <div class="wbcr-factory-feature-box">
133
- <span class="dashicons dashicons-dashboard"></span>
134
- <h3><?php _e( 'Speed Optimization', 'wbcr_factory_clearfy_230' ) ?></h3>
135
- <p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_230' ) ?></p>
136
- </div>
137
- </div>
138
- <div class="col-sm-4">
139
- <div class="wbcr-factory-feature-box">
140
- <span class="dashicons dashicons-visibility"></span>
141
- <h3><?php _e( 'Site privacy', 'wbcr_factory_clearfy_230' ) ?></h3>
142
- <p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
143
- WordPress.', 'wbcr_factory_clearfy_230' ) ?></p>
144
- </div>
145
- </div>
146
- <div class="col-sm-4">
147
- <div class="wbcr-factory-feature-box">
148
- <span class="dashicons dashicons-admin-settings"></span>
149
- <h3><?php _e( 'Easy setup', 'wbcr_factory_clearfy_230' ) ?></h3>
150
- <p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_230' ) ?></p>
151
- </div>
152
- </div>
153
- </div>
154
- <div class="wbcr-factory-buttons-wrap">
155
- <?php
156
- $url = 'https://clearfy.pro';
157
-
158
- if ( get_locale() == 'ru_RU' ) {
159
- $url = 'https://ru.clearfy.pro';
160
- }
161
- $url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
162
- ?>
163
- <a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
164
- <?php _e( 'Get the ultimate plugin 100% FREE', 'wbcr_factory_clearfy_230' ) ?>
165
- </a>
166
- </div>
167
- <?php
168
- }
169
- }
170
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
libs/factory/core/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # Core Factory Framework
2
-
3
- It performs the connection of system modules of the framework, is responsible for migrations, plugin updates, admin notifications, initialization of the plugin.
1
+ # Core Factory Framework
2
+
3
+ It performs the connection of system modules of the framework, is responsible for migrations, plugin updates, admin notifications, initialization of the plugin.
libs/factory/core/ajax/install-addons.php CHANGED
@@ -1,228 +1,228 @@
1
- <?php
2
- /**
3
- * Ajax plugin configuration
4
- *
5
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
- * @copyright (c) 2017 Webraftic Ltd
7
- * @version 1.0
8
- */
9
-
10
- // Exit if accessed directly
11
- if( !defined('ABSPATH') ) {
12
- exit;
13
- }
14
-
15
- /**
16
- * This action allows you to process Ajax requests to activate external components Clearfy
17
- */
18
- function wfactory_439_install_components($plugin_instance)
19
- {
20
- check_ajax_referer('updates');
21
-
22
- $slug = $plugin_instance->request->post('plugin', null, true);
23
- $action = $plugin_instance->request->post('plugin_action', null, true);
24
- $storage = $plugin_instance->request->post('storage', null, true);
25
-
26
- if( !current_user_can('update_plugins') ) {
27
- wp_die(__('You don\'t have enough capability to edit this information.', 'wbcr_factory_439'), __('Something went wrong.'), 403);
28
- }
29
-
30
- if( empty($slug) || empty($action) ) {
31
- wp_send_json_error(['error_message' => __('Required attributes are not passed or empty.', 'wbcr_factory_439')]);
32
- }
33
- $success = false;
34
- $send_data = [];
35
-
36
- if( $storage == 'internal' ) {
37
- if( $action == 'activate' ) {
38
- if( $plugin_instance->activateComponent($slug) ) {
39
- $success = true;
40
- }
41
- } else if( $action == 'deactivate' ) {
42
-
43
- if( $plugin_instance->deactivateComponent($slug) ) {
44
- $success = true;
45
- }
46
- } else {
47
- wp_send_json_error(['error_message' => __('You are trying to perform an invalid action.', 'wbcr_factory_439')]);
48
- }
49
- } else if( $storage == 'wordpress' || $storage == 'creativemotion' ) {
50
- if( !empty($slug) ) {
51
- $network_wide = $plugin_instance->isNetworkActive();
52
-
53
- if( $action == 'activate' ) {
54
- $result = activate_plugin($slug, '', $network_wide);
55
-
56
- if( is_wp_error($result) ) {
57
- wp_send_json_error(['error_message' => $result->get_error_message()]);
58
- }
59
- } else if( $action == 'deactivate' ) {
60
- deactivate_plugins($slug, false, $network_wide);
61
- }
62
-
63
- $success = true;
64
- }
65
- }
66
-
67
- if( $action == 'install' || $action == 'deactivate' ) {
68
- try {
69
- // Delete button
70
- $delete_button = $plugin_instance->get_delete_component_button($storage, $slug);
71
- $send_data['delete_button'] = $delete_button->get_button();
72
- } catch( Exception $e ) {
73
- wp_send_json_error(['error_message' => $e->getMessage()]);
74
- }
75
- }
76
-
77
- // Если требуется обновить постоянные ссылки, даем сигнал, что пользователю, нужно показать
78
- // всплывающее уведомление.
79
- // todo: сделать более красивое решение с передачей текстовых сообщений
80
- /*if ( $action == 'deactivate' ) {
81
- $is_need_rewrite_rules = $plugin_instance->getPopulateOption( 'need_rewrite_rules' );
82
- if ( $is_need_rewrite_rules ) {
83
- $send_data['need_rewrite_rules'] = sprintf( '<span class="wbcr-clr-need-rewrite-rules-message">' . __( 'When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'wbcr_factory_439' ), admin_url( 'options-permalink.php' ) . '</span>' );
84
- }
85
- }*/
86
-
87
- if( $success ) {
88
- // todo: для совместимости с плагином Clearfy
89
- if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
90
- do_action('wbcr_clearfy_update_component', $slug, $action, $storage);
91
- }
92
- do_action("wfactory/updated_{$plugin_instance->getPluginName()}_component", $slug, $action, $storage);
93
-
94
- wp_send_json_success($send_data);
95
- }
96
-
97
- wp_send_json_error(['error_message' => __('An unknown error occurred during the activation of the component.', 'wbcr_factory_439')]);
98
- }
99
-
100
- /**
101
- * Ajax event that calls the wbcr/clearfy/activated_component action,
102
- * to get the component to work. Usually this is a call to the installation functions,
103
- * but in some cases, overwriting permanent references or compatibility checks.
104
- */
105
- function wfactory_439_prepare_component($plugin_instance)
106
- {
107
- check_ajax_referer('updates');
108
-
109
- $component_name = $plugin_instance->request->post('plugin', null, true);
110
-
111
- if( !current_user_can('update_plugins') ) {
112
- wp_send_json_error(['error_message' => __('You don\'t have enough capability to edit this information.', 'wbcr_factory_439')], 403);
113
- }
114
-
115
- if( empty($component_name) ) {
116
- wp_send_json_error(['error_message' => __('Required attribute [component_name] is empty.', 'wbcr_factory_439')]);
117
- }
118
- // todo: для совместимости с плагином Clearfy
119
- if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
120
- do_action('wbcr/clearfy/activated_component', $component_name);
121
- }
122
- do_action("wfactory/activated_{$plugin_instance->getPluginName()}_component", $component_name);
123
-
124
- wp_send_json_success();
125
- }
126
-
127
- /**
128
- * Ajax handler for installing a plugin.
129
- *
130
- * @since 4.6.0
131
- *
132
- * @see Plugin_Upgrader
133
- *
134
- * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
135
- */
136
- function wfactory_439_creativemotion_install_plugin($plugin_instance)
137
- {
138
- check_ajax_referer('updates');
139
-
140
- if( empty($_POST['slug']) ) {
141
- wp_send_json_error(array(
142
- 'slug' => '',
143
- 'errorCode' => 'no_plugin_specified',
144
- 'errorMessage' => __('No plugin specified.'),
145
- ));
146
- }
147
-
148
- $status = array(
149
- 'install' => 'plugin',
150
- 'slug' => sanitize_key(wp_unslash($_POST['slug'])),
151
- );
152
-
153
- if( !current_user_can('install_plugins') ) {
154
- $status['errorMessage'] = __('Sorry, you are not allowed to install plugins on this site.');
155
- wp_send_json_error($status);
156
- }
157
-
158
- require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
159
- include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
160
-
161
- $api = plugins_api('plugin_information', array(
162
- 'slug' => sanitize_key(wp_unslash($_POST['slug'])),
163
- 'fields' => array(
164
- 'sections' => false,
165
- ),
166
- ));
167
-
168
- if( is_wp_error($api) ) {
169
- $status['errorMessage'] = $api->get_error_message();
170
- wp_send_json_error($status);
171
- }
172
-
173
- $status['pluginName'] = $api->name;
174
-
175
- $skin = new WP_Ajax_Upgrader_Skin();
176
- $upgrader = new Plugin_Upgrader($skin);
177
- //$result = $upgrader->install($api->download_link);
178
- $result = $upgrader->install('https://clearfy.pro/components/download.php');
179
-
180
- if( defined('WP_DEBUG') && WP_DEBUG ) {
181
- $status['debug'] = $skin->get_upgrade_messages();
182
- }
183
-
184
- if( is_wp_error($result) ) {
185
- $status['errorCode'] = $result->get_error_code();
186
- $status['errorMessage'] = $result->get_error_message();
187
- wp_send_json_error($status);
188
- } elseif( is_wp_error($skin->result) ) {
189
- $status['errorCode'] = $skin->result->get_error_code();
190
- $status['errorMessage'] = $skin->result->get_error_message();
191
- wp_send_json_error($status);
192
- } elseif( $skin->get_errors()->has_errors() ) {
193
- $status['errorMessage'] = $skin->get_error_messages();
194
- wp_send_json_error($status);
195
- } elseif( is_null($result) ) {
196
- global $wp_filesystem;
197
-
198
- $status['errorCode'] = 'unable_to_connect_to_filesystem';
199
- $status['errorMessage'] = __('Unable to connect to the filesystem. Please confirm your credentials.');
200
-
201
- // Pass through the error from WP_Filesystem if one was raised.
202
- if( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->has_errors() ) {
203
- $status['errorMessage'] = esc_html($wp_filesystem->errors->get_error_message());
204
- }
205
-
206
- wp_send_json_error($status);
207
- }
208
-
209
- $install_status = install_plugin_install_status($api);
210
- $pagenow = isset($_POST['pagenow']) ? sanitize_key($_POST['pagenow']) : '';
211
-
212
- // If installation request is coming from import page, do not return network activation link.
213
- $plugins_url = ('import' === $pagenow) ? admin_url('plugins.php') : network_admin_url('plugins.php');
214
-
215
- if( current_user_can('activate_plugin', $install_status['file']) && is_plugin_inactive($install_status['file']) ) {
216
- $status['activateUrl'] = add_query_arg(array(
217
- '_wpnonce' => wp_create_nonce('activate-plugin_' . $install_status['file']),
218
- 'action' => 'activate',
219
- 'plugin' => $install_status['file'],
220
- ), $plugins_url);
221
- }
222
-
223
- if( is_multisite() && current_user_can('manage_network_plugins') && 'import' !== $pagenow ) {
224
- $status['activateUrl'] = add_query_arg(array('networkwide' => 1), $status['activateUrl']);
225
- }
226
-
227
- wp_send_json_success($status);
228
  }
1
+ <?php
2
+ /**
3
+ * Ajax plugin configuration
4
+ *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
+ * @copyright (c) 2017 Webraftic Ltd
7
+ * @version 1.0
8
+ */
9
+
10
+ // Exit if accessed directly
11
+ if( !defined('ABSPATH') ) {
12
+ exit;
13
+ }
14
+
15
+ /**
16
+ * This action allows you to process Ajax requests to activate external components Clearfy
17
+ */
18
+ function wfactory_453_install_components($plugin_instance)
19
+ {
20
+ check_ajax_referer('updates');
21
+
22
+ $slug = $plugin_instance->request->post('plugin', null, true);
23
+ $action = $plugin_instance->request->post('plugin_action', null, true);
24
+ $storage = $plugin_instance->request->post('storage', null, true);
25
+
26
+ if( !current_user_can('update_plugins') ) {
27
+ wp_die(__('You don\'t have enough capability to edit this information.', 'wbcr_factory_453'), __('Something went wrong.'), 403);
28
+ }
29
+
30
+ if( empty($slug) || empty($action) ) {
31
+ wp_send_json_error(['error_message' => __('Required attributes are not passed or empty.', 'wbcr_factory_453')]);
32
+ }
33
+ $success = false;
34
+ $send_data = [];
35
+
36
+ if( $storage == 'internal' ) {
37
+ if( $action == 'activate' ) {
38
+ if( $plugin_instance->activateComponent($slug) ) {
39
+ $success = true;
40
+ }
41
+ } else if( $action == 'deactivate' ) {
42
+
43
+ if( $plugin_instance->deactivateComponent($slug) ) {
44
+ $success = true;
45
+ }
46
+ } else {
47
+ wp_send_json_error(['error_message' => __('You are trying to perform an invalid action.', 'wbcr_factory_453')]);
48
+ }
49
+ } else if( $storage == 'wordpress' || $storage == 'creativemotion' ) {
50
+ if( !empty($slug) ) {
51
+ $network_wide = $plugin_instance->isNetworkActive();
52
+
53
+ if( $action == 'activate' ) {
54
+ $result = activate_plugin($slug, '', $network_wide);
55
+
56
+ if( is_wp_error($result) ) {
57
+ wp_send_json_error(['error_message' => $result->get_error_message()]);
58
+ }
59
+ } else if( $action == 'deactivate' ) {
60
+ deactivate_plugins($slug, false, $network_wide);
61
+ }
62
+
63
+ $success = true;
64
+ }
65
+ }
66
+
67
+ if( $action == 'install' || $action == 'deactivate' ) {
68
+ try {
69
+ // Delete button
70
+ $delete_button = $plugin_instance->get_delete_component_button($storage, $slug);
71
+ $send_data['delete_button'] = $delete_button->get_button();
72
+ } catch( Exception $e ) {
73
+ wp_send_json_error(['error_message' => $e->getMessage()]);
74
+ }
75
+ }
76
+
77
+ // Если требуется обновить постоянные ссылки, даем сигнал, что пользователю, нужно показать
78
+ // всплывающее уведомление.
79
+ // todo: сделать более красивое решение с передачей текстовых сообщений
80
+ /*if ( $action == 'deactivate' ) {
81
+ $is_need_rewrite_rules = $plugin_instance->getPopulateOption( 'need_rewrite_rules' );
82
+ if ( $is_need_rewrite_rules ) {
83
+ $send_data['need_rewrite_rules'] = sprintf( '<span class="wbcr-clr-need-rewrite-rules-message">' . __( 'When you deactivate some components, permanent links may work incorrectly. If this happens, please, <a href="%s">update the permalinks</a>, so you could complete the deactivation.', 'wbcr_factory_453' ), admin_url( 'options-permalink.php' ) . '</span>' );
84
+ }
85
+ }*/
86
+
87
+ if( $success ) {
88
+ // todo: для совместимости с плагином Clearfy
89
+ if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
90
+ do_action('wbcr_clearfy_update_component', $slug, $action, $storage);
91
+ }
92
+ do_action("wfactory/updated_{$plugin_instance->getPluginName()}_component", $slug, $action, $storage);
93
+
94
+ wp_send_json_success($send_data);
95
+ }
96
+
97
+ wp_send_json_error(['error_message' => __('An unknown error occurred during the activation of the component.', 'wbcr_factory_453')]);
98
+ }
99
+
100
+ /**
101
+ * Ajax event that calls the wbcr/clearfy/activated_component action,
102
+ * to get the component to work. Usually this is a call to the installation functions,
103
+ * but in some cases, overwriting permanent references or compatibility checks.
104
+ */
105
+ function wfactory_453_prepare_component($plugin_instance)
106
+ {
107
+ check_ajax_referer('updates');
108
+
109
+ $component_name = $plugin_instance->request->post('plugin', null, true);
110
+
111
+ if( !current_user_can('update_plugins') ) {
112
+ wp_send_json_error(['error_message' => __('You don\'t have enough capability to edit this information.', 'wbcr_factory_453')], 403);
113
+ }
114
+
115
+ if( empty($component_name) ) {
116
+ wp_send_json_error(['error_message' => __('Required attribute [component_name] is empty.', 'wbcr_factory_453')]);
117
+ }
118
+ // todo: для совместимости с плагином Clearfy
119
+ if( "wbcr_clearfy" === $plugin_instance->getPluginName() ) {
120
+ do_action('wbcr/clearfy/activated_component', $component_name);
121
+ }
122
+ do_action("wfactory/activated_{$plugin_instance->getPluginName()}_component", $component_name);
123
+
124
+ wp_send_json_success();
125
+ }
126
+
127
+ /**
128
+ * Ajax handler for installing a plugin.
129
+ *
130
+ * @since 4.6.0
131
+ *
132
+ * @see Plugin_Upgrader
133
+ *
134
+ * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
135
+ */
136
+ function wfactory_453_creativemotion_install_plugin($plugin_instance)
137
+ {
138
+ check_ajax_referer('updates');
139
+
140
+ if( empty($_POST['slug']) ) {
141
+ wp_send_json_error(array(
142
+ 'slug' => '',
143
+ 'errorCode' => 'no_plugin_specified',
144
+ 'errorMessage' => __('No plugin specified.'),
145
+ ));
146
+ }
147
+
148
+ $status = array(
149
+ 'install' => 'plugin',
150
+ 'slug' => sanitize_key(wp_unslash($_POST['slug'])),
151
+ );
152
+
153
+ if( !current_user_can('install_plugins') ) {
154
+ $status['errorMessage'] = __('Sorry, you are not allowed to install plugins on this site.');
155
+ wp_send_json_error($status);
156
+ }
157
+
158
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
159
+ include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
160
+
161
+ $api = plugins_api('plugin_information', array(
162
+ 'slug' => sanitize_key(wp_unslash($_POST['slug'])),
163
+ 'fields' => array(
164
+ 'sections' => false,
165
+ ),
166
+ ));
167
+
168
+ if( is_wp_error($api) ) {
169
+ $status['errorMessage'] = $api->get_error_message();
170
+ wp_send_json_error($status);
171
+ }
172
+
173
+ $status['pluginName'] = $api->name;
174
+
175
+ $skin = new WP_Ajax_Upgrader_Skin();
176
+ $upgrader = new Plugin_Upgrader($skin);
177
+ //$result = $upgrader->install($api->download_link);
178
+ $result = $upgrader->install('https://clearfy.pro/components/download.php');
179
+
180
+ if( defined('WP_DEBUG') && WP_DEBUG ) {
181
+ $status['debug'] = $skin->get_upgrade_messages();
182
+ }
183
+
184
+ if( is_wp_error($result) ) {
185
+ $status['errorCode'] = $result->get_error_code();
186
+ $status['errorMessage'] = $result->get_error_message();
187
+ wp_send_json_error($status);
188
+ } elseif( is_wp_error($skin->result) ) {
189
+ $status['errorCode'] = $skin->result->get_error_code();
190
+ $status['errorMessage'] = $skin->result->get_error_message();
191
+ wp_send_json_error($status);
192
+ } elseif( $skin->get_errors()->has_errors() ) {
193
+ $status['errorMessage'] = $skin->get_error_messages();
194
+ wp_send_json_error($status);
195
+ } elseif( is_null($result) ) {
196
+ global $wp_filesystem;
197
+
198
+ $status['errorCode'] = 'unable_to_connect_to_filesystem';
199
+ $status['errorMessage'] = __('Unable to connect to the filesystem. Please confirm your credentials.');
200
+
201
+ // Pass through the error from WP_Filesystem if one was raised.
202
+ if( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->has_errors() ) {
203
+ $status['errorMessage'] = esc_html($wp_filesystem->errors->get_error_message());
204
+ }
205
+
206
+ wp_send_json_error($status);
207
+ }
208
+
209
+ $install_status = install_plugin_install_status($api);
210
+ $pagenow = isset($_POST['pagenow']) ? sanitize_key($_POST['pagenow']) : '';
211
+
212
+ // If installation request is coming from import page, do not return network activation link.
213
+ $plugins_url = ('import' === $pagenow) ? admin_url('plugins.php') : network_admin_url('plugins.php');
214
+
215
+ if( current_user_can('activate_plugin', $install_status['file']) && is_plugin_inactive($install_status['file']) ) {
216
+ $status['activateUrl'] = add_query_arg(array(
217
+ '_wpnonce' => wp_create_nonce('activate-plugin_' . $install_status['file']),
218
+ 'action' => 'activate',
219
+ 'plugin' => $install_status['file'],
220
+ ), $plugins_url);
221
+ }
222
+
223
+ if( is_multisite() && current_user_can('manage_network_plugins') && 'import' !== $pagenow ) {
224
+ $status['activateUrl'] = add_query_arg(array('networkwide' => 1), $status['activateUrl']);
225
+ }
226
+
227
+ wp_send_json_success($status);
228
  }
libs/factory/core/assets/js/core-components.js CHANGED
@@ -1,227 +1,227 @@
1
- /**
2
- * This code provides tools for downloading, installing external add-ons for the Clearfy plugin
3
- *
4
- * @author Alex Kovalev <alex.kovalevv@gmail.com>
5
- * @copyright (c) 10.09.2017, Webcraftic
6
- * @version 1.0
7
- */
8
-
9
- (function($) {
10
- 'use strict';
11
-
12
- var externalAddon = {
13
- init: function() {
14
- this.events();
15
- },
16
- events: function() {
17
- var self = this;
18
-
19
- /**
20
- * This event is intended for installation, removal, activation, deactivation of external add-ons
21
- */
22
-
23
- $(document).on('click', '.wfactory-439-process-button', function() {
24
- var $this = $(this),
25
- button_i18n = $(this).data('i18n'),
26
- plugin_slug = $(this).data('slug'),
27
- plugin_action = $(this).data('plugin-action'),
28
- plugin = $(this).data('plugin'),
29
- storage = $(this).data('storage'),
30
- wpnonce = $(this).data('wpnonce');
31
-
32
- var action = ('creativemotion' === storage)
33
- ? 'wfactory-439-creativemotion-install-plugin'
34
- : 'install-plugin';
35
-
36
- if( storage === 'freemius' || ((storage === 'wordpress' || storage === 'creativemotion' || storage === 'internal') && (plugin_action === 'activate' || plugin_action === 'deactivate')) ) {
37
- action = 'wfactory-439-intall-component';
38
- } else if( storage === 'wordpress' && plugin_action === 'delete' ) {
39
- action = 'delete-plugin';
40
- }
41
-
42
- var data = {
43
- action: action,
44
- slug: plugin_slug,
45
- storage: storage,
46
- plugin: plugin,
47
- plugin_action: plugin_action,
48
- _wpnonce: wpnonce
49
- };
50
-
51
- if( plugin_action === 'install' ) {
52
- $this.addClass('updating-message');
53
- }
54
-
55
- $this.addClass('disabled').text(button_i18n.loading);
56
-
57
- $.wfactory_439.hooks.run('core/components/pre_update', [$this, data]);
58
-
59
- self.sendRequest(data, function(response) {
60
- if( !response || !response.success ) {
61
- $.wfactory_439.hooks.run('core/components/update_error', [
62
- $this,
63
- data,
64
- response
65
- ]);
66
-
67
- return;
68
- }
69
-
70
- if( response.success ) {
71
- $this.removeClass('disabled').removeClass('updating-message');
72
-
73
- if( plugin_action === 'install' ) {
74
-
75
- plugin_action = 'activate';
76
- $this.data('plugin-action', 'activate');
77
- $this.attr('data-plugin-action', 'activate');
78
-
79
- if( $this.hasClass('button') ) {
80
- $this.removeClass('button-default').addClass('button-primary');
81
- }
82
-
83
- $.wfactory_439.hooks.run('core/components/installed', [
84
- $this,
85
- data,
86
- response
87
- ]);
88
-
89
- } else if( plugin_action === 'activate' ) {
90
-
91
- plugin_action = 'deactivate';
92
- $this.data('plugin-action', 'deactivate');
93
- $this.attr('data-plugin-action', 'deactivate');
94
-
95
- if( $this.hasClass('button') ) {
96
- $this.removeClass('button-primary').addClass('button-default');
97
- }
98
-
99
- $.wfactory_439.hooks.run('core/components/pre_activate', [
100
- $this,
101
- data,
102
- response
103
- ]);
104
-
105
- /**
106
- * Send an additional request for activation of the component, during activation
107
- * perform the action wbcr/clearfy/activated_component.
108
- *
109
- * Basically, this is necessary to prepare the plugin to work, write the necessary rows and
110
- * tables in the database, rewriting permalinks, checking conflicts, etc.
111
- */
112
- if( storage === 'freemius' || storage === 'internal' ) {
113
- self.sendRequestToComponentActivationPrepare($this, data, button_i18n);
114
- return;
115
- }
116
-
117
- } else if( plugin_action === 'deactivate' ) {
118
-
119
- plugin_action = 'activate';
120
- $this.data('plugin-action', 'activate');
121
- $this.attr('data-plugin-action', 'activate');
122
-
123
- if( $this.hasClass('button') ) {
124
- $this.removeClass('button-default').addClass('button-primary');
125
- }
126
-
127
- $.wfactory_439.hooks.run('core/components/deactivated', [
128
- $this,
129
- data,
130
- response
131
- ]);
132
-
133
- } else if( plugin_action === 'delete' ) {
134
-
135
- plugin_action = 'install';
136
-
137
- $.wfactory_439.hooks.run('core/components/deleted', [$this, data, response]);
138
- }
139
- } else {
140
- if( plugin_action === 'install' ) {
141
- $this.removeClass('updating-message');
142
- }
143
- }
144
-
145
- $this.text(button_i18n[plugin_action]);
146
-
147
- $.wfactory_439.hooks.run('core/components/updated', [$this, data, response]);
148
- });
149
-
150
- return false;
151
- });
152
- },
153
-
154
- /**
155
- * Отправляет дополнительный запрос на активацию компонента, во время активации
156
- * выполняет хук wbcr/clearfy/activated_component.
157
- *
158
- * В принципе, это необходимо для подготовки плагина к работе, записи необходимых строк и таблиц в
159
- * базу данных, перепись постоянных ссылок, проверка конфликтов и т.д.
160
- *
161
- * @param {object} componentButton
162
- * @param {object} sendData
163
- * @param {object} button_i18n
164
- */
165
- sendRequestToComponentActivationPrepare: function(componentButton, sendData, button_i18n) {
166
- var self = this;
167
-
168
- componentButton.addClass('button-primary')
169
- .addClass('disabled')
170
- .text(button_i18n.preparation);
171
-
172
- sendData.action = 'wfactory-439-prepare-component';
173
-
174
- this.sendRequest(sendData, function(response) {
175
- componentButton.removeClass('disabled');
176
-
177
- if( !response || !response.success ) {
178
- componentButton.text(button_i18n['activate']);
179
-
180
- $.wfactory_439.hooks.run('core/components/activation_error', [
181
- componentButton,
182
- sendData,
183
- response
184
- ]);
185
- return;
186
- }
187
-
188
- componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
189
-
190
- $.wfactory_439.hooks.run('core/components/activated', [
191
- componentButton,
192
- sendData,
193
- response
194
- ]);
195
- });
196
- },
197
-
198
- sendRequest: function(data, callback) {
199
- var self = this;
200
-
201
- $.ajax(ajaxurl, {
202
- type: 'post',
203
- dataType: 'json',
204
- data: data,
205
- success: function(data, textStatus, jqXHR) {
206
- callback && callback(data);
207
- },
208
- error: function(xhr, ajaxOptions, thrownError) {
209
- console.log(xhr.status);
210
- console.log(xhr.responseText);
211
- console.log(thrownError);
212
-
213
- $.wfactory_439.hooks.run('core/components/ajax_error', [
214
- xhr,
215
- ajaxOptions,
216
- thrownError
217
- ]);
218
- }
219
- });
220
- }
221
- };
222
-
223
- $(document).ready(function() {
224
- externalAddon.init();
225
- });
226
-
227
- })(jQuery);
1
+ /**
2
+ * This code provides tools for downloading, installing external add-ons for the Clearfy plugin
3
+ *
4
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
5
+ * @copyright (c) 10.09.2017, Webcraftic
6
+ * @version 1.0
7
+ */
8
+
9
+ (function($) {
10
+ 'use strict';
11
+
12
+ var externalAddon = {
13
+ init: function() {
14
+ this.events();
15
+ },
16
+ events: function() {
17
+ var self = this;
18
+
19
+ /**
20
+ * This event is intended for installation, removal, activation, deactivation of external add-ons
21
+ */
22
+
23
+ $(document).on('click', '.wfactory-453-process-button', function() {
24
+ var $this = $(this),
25
+ button_i18n = $(this).data('i18n'),
26
+ plugin_slug = $(this).data('slug'),
27
+ plugin_action = $(this).data('plugin-action'),
28
+ plugin = $(this).data('plugin'),
29
+ storage = $(this).data('storage'),
30
+ wpnonce = $(this).data('wpnonce');
31
+
32
+ var action = ('creativemotion' === storage)
33
+ ? 'wfactory-453-creativemotion-install-plugin'
34
+ : 'install-plugin';
35
+
36
+ if( storage === 'freemius' || ((storage === 'wordpress' || storage === 'creativemotion' || storage === 'internal') && (plugin_action === 'activate' || plugin_action === 'deactivate')) ) {
37
+ action = 'wfactory-453-intall-component';
38
+ } else if( storage === 'wordpress' && plugin_action === 'delete' ) {
39
+ action = 'delete-plugin';
40
+ }
41
+
42
+ var data = {
43
+ action: action,
44
+ slug: plugin_slug,
45
+ storage: storage,
46
+ plugin: plugin,
47
+ plugin_action: plugin_action,
48
+ _wpnonce: wpnonce
49
+ };
50
+
51
+ if( plugin_action === 'install' ) {
52
+ $this.addClass('updating-message');
53
+ }
54
+
55
+ $this.addClass('disabled').text(button_i18n.loading);
56
+
57
+ $.wfactory_453.hooks.run('core/components/pre_update', [$this, data]);
58
+
59
+ self.sendRequest(data, function(response) {
60
+ if( !response || !response.success ) {
61
+ $.wfactory_453.hooks.run('core/components/update_error', [
62
+ $this,
63
+ data,
64
+ response
65
+ ]);
66
+
67
+ return;
68
+ }
69
+
70
+ if( response.success ) {
71
+ $this.removeClass('disabled').removeClass('updating-message');
72
+
73
+ if( plugin_action === 'install' ) {
74
+
75
+ plugin_action = 'activate';
76
+ $this.data('plugin-action', 'activate');
77
+ $this.attr('data-plugin-action', 'activate');
78
+
79
+ if( $this.hasClass('button') ) {
80
+ $this.removeClass('button-default').addClass('button-primary');
81
+ }
82
+
83
+ $.wfactory_453.hooks.run('core/components/installed', [
84
+ $this,
85
+ data,
86
+ response
87
+ ]);
88
+
89
+ } else if( plugin_action === 'activate' ) {
90
+
91
+ plugin_action = 'deactivate';
92
+ $this.data('plugin-action', 'deactivate');
93
+ $this.attr('data-plugin-action', 'deactivate');
94
+
95
+ if( $this.hasClass('button') ) {
96
+ $this.removeClass('button-primary').addClass('button-default');
97
+ }
98
+
99
+ $.wfactory_453.hooks.run('core/components/pre_activate', [
100
+ $this,
101
+ data,
102
+ response
103
+ ]);
104
+
105
+ /**
106
+ * Send an additional request for activation of the component, during activation
107
+ * perform the action wbcr/clearfy/activated_component.
108
+ *
109
+ * Basically, this is necessary to prepare the plugin to work, write the necessary rows and
110
+ * tables in the database, rewriting permalinks, checking conflicts, etc.
111
+ */
112
+ if( storage === 'freemius' || storage === 'internal' ) {
113
+ self.sendRequestToComponentActivationPrepare($this, data, button_i18n);
114
+ return;
115
+ }
116
+
117
+ } else if( plugin_action === 'deactivate' ) {
118
+
119
+ plugin_action = 'activate';
120
+ $this.data('plugin-action', 'activate');
121
+ $this.attr('data-plugin-action', 'activate');
122
+
123
+ if( $this.hasClass('button') ) {
124
+ $this.removeClass('button-default').addClass('button-primary');
125
+ }
126
+
127
+ $.wfactory_453.hooks.run('core/components/deactivated', [
128
+ $this,
129
+ data,
130
+ response
131
+ ]);
132
+
133
+ } else if( plugin_action === 'delete' ) {
134
+
135
+ plugin_action = 'install';
136
+
137
+ $.wfactory_453.hooks.run('core/components/deleted', [$this, data, response]);
138
+ }
139
+ } else {
140
+ if( plugin_action === 'install' ) {
141
+ $this.removeCla