Advanced Access Manager - Version 3.9.5

Version Description

  • General bug fixing and improvements
  • Added ability to setup access settings to all Users, Roles and Visitors
  • Added Login Redirect feature
Download this release

Release Info

Developer vasyl_m
Plugin Icon 128x128 Advanced Access Manager
Version 3.9.5
Comparing to
See all releases

Code changes from version 3.9.3 to 3.9.5

Files changed (44) hide show
  1. Application/Backend/Feature/Contact.php +2 -1
  2. Application/Backend/Feature/Extension.php +4 -4
  3. Application/Backend/Feature/LoginRedirect.php +109 -0
  4. Application/Backend/Feature/Menu.php +8 -3
  5. Application/Backend/Feature/Metabox.php +2 -1
  6. Application/Backend/Feature/Post.php +2 -1
  7. Application/Backend/Feature/Redirect.php +7 -9
  8. Application/Backend/Feature/Teaser.php +6 -8
  9. Application/Backend/Feature/Utility.php +1 -3
  10. Application/Backend/Manager.php +17 -4
  11. Application/Backend/View.php +1 -0
  12. Application/Backend/View/ProductList.php +14 -3
  13. Application/Backend/phtml/index.phtml +16 -4
  14. Application/Backend/phtml/object/login-redirect.phtml +65 -0
  15. Application/Backend/phtml/object/menu.phtml +2 -2
  16. Application/Backend/phtml/object/metabox.phtml +1 -1
  17. Application/Backend/phtml/object/post.phtml +88 -86
  18. Application/Backend/phtml/object/redirect.phtml +8 -8
  19. Application/Backend/phtml/object/teaser.phtml +3 -3
  20. Application/Backend/phtml/partial/login-redirect.phtml +5 -0
  21. Application/Backend/phtml/partial/redirect.phtml +1 -1
  22. Application/Backend/phtml/partial/teaser.phtml +1 -2
  23. Application/Core/API.php +8 -8
  24. Application/Core/Object/Post.php +4 -2
  25. Application/Core/Subject.php +6 -16
  26. Application/Core/Subject/Default.php +67 -0
  27. Application/Core/Subject/Role.php +5 -8
  28. Application/Core/Subject/User.php +0 -7
  29. Application/Core/Subject/Visitor.php +0 -19
  30. Application/Frontend/Manager.php +25 -3
  31. aam.php +3 -3
  32. media/css/aam.css +73 -70
  33. media/css/datatables.min.css +3 -3
  34. media/font/fontello.eot +0 -0
  35. media/font/fontello.svg +63 -61
  36. media/font/fontello.ttf +0 -0
  37. media/font/fontello.woff +0 -0
  38. media/font/fontello.woff2 +0 -0
  39. media/js/aam-ui.js +97 -13
  40. media/js/bootstrap.min.js +0 -7
  41. media/js/download.min.js +0 -2
  42. media/js/toggle.min.js +0 -9
  43. media/js/{datatables.min.js → vendor.js} +19 -0
  44. readme.txt +21 -14
Application/Backend/Feature/Contact.php CHANGED
@@ -47,7 +47,8 @@ class AAM_Backend_Feature_Contact extends AAM_Backend_Feature_Abstract {
47
  'subjects' => array(
48
  'AAM_Core_Subject_Role',
49
  'AAM_Core_Subject_User',
50
- 'AAM_Core_Subject_Visitor'
 
51
  ),
52
  'view' => __CLASS__
53
  ));
47
  'subjects' => array(
48
  'AAM_Core_Subject_Role',
49
  'AAM_Core_Subject_User',
50
+ 'AAM_Core_Subject_Visitor',
51
+ 'AAM_Core_Subject_Default'
52
  ),
53
  'view' => __CLASS__
54
  ));
Application/Backend/Feature/Extension.php CHANGED
@@ -46,7 +46,9 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
46
  $filtered = array();
47
  foreach($products as $product) {
48
  if ($product['type'] == $filter) {
49
- $product['license'] = $this->retrieveLicense($product['id']);
 
 
50
  $filtered[] = $product;
51
  }
52
  }
@@ -206,9 +208,7 @@ class AAM_Backend_Feature_Extension extends AAM_Backend_Feature_Abstract {
206
  'capability' => $cap,
207
  'notification' => self::getNotification(),
208
  'subjects' => array(
209
- 'AAM_Core_Subject_Role',
210
- 'AAM_Core_Subject_User',
211
- 'AAM_Core_Subject_Visitor'
212
  ),
213
  'view' => __CLASS__
214
  ));
46
  $filtered = array();
47
  foreach($products as $product) {
48
  if ($product['type'] == $filter) {
49
+ if (!isset($product['license'])) {
50
+ $product['license'] = $this->retrieveLicense($product['id']);
51
+ }
52
  $filtered[] = $product;
53
  }
54
  }
208
  'capability' => $cap,
209
  'notification' => self::getNotification(),
210
  'subjects' => array(
211
+ 'AAM_Core_Subject_Role'
 
 
212
  ),
213
  'view' => __CLASS__
214
  ));
Application/Backend/Feature/LoginRedirect.php ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ======================================================================
5
+ * LICENSE: This file is subject to the terms and conditions defined in *
6
+ * file 'license.txt', which is part of this source code package. *
7
+ * ======================================================================
8
+ */
9
+
10
+ /**
11
+ * Login redirect
12
+ *
13
+ * @package AAM
14
+ * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15
+ */
16
+ class AAM_Backend_Feature_LoginRedirect extends AAM_Backend_Feature_Abstract {
17
+
18
+ /**
19
+ *
20
+ */
21
+ public function save() {
22
+ $param = AAM_Core_Request::post('param');
23
+ $value = AAM_Core_Request::post('value');
24
+ $subject = AAM_Backend_View::getSubject();
25
+
26
+ if ($this->isDefault()) {
27
+ AAM_Core_Config::set($param, $value);
28
+ } else {
29
+ do_action('aam-login-redirect-save-action', $subject, $param, $value);
30
+ }
31
+
32
+ return json_encode(array('status' => 'success'));
33
+ }
34
+
35
+ /**
36
+ *
37
+ * @return type
38
+ */
39
+ public function reset() {
40
+ do_action('aam-login-redirect-reset-action', AAM_Backend_View::getSubject());
41
+
42
+ return json_encode(array('status' => 'success'));
43
+ }
44
+
45
+ /**
46
+ *
47
+ * @return type
48
+ */
49
+ public function isDefault() {
50
+ return (AAM_Backend_View::getSubject()->getUID() == 'default');
51
+ }
52
+
53
+ /**
54
+ *
55
+ * @param type $option
56
+ * @return type
57
+ */
58
+ public function getOption($option, $default = null) {
59
+ $value = AAM_Core_Config::get($option, $default);
60
+
61
+ if (!$this->isDefault()) {
62
+ $subject = AAM_Backend_View::getSubject();
63
+ $value = apply_filters(
64
+ 'aam-login-redirect-option-filter', $value, $option, $subject
65
+ );
66
+ }
67
+
68
+ return $value;
69
+ }
70
+
71
+ /**
72
+ * @inheritdoc
73
+ */
74
+ public static function getAccessOption() {
75
+ return 'feature.login-redirect.capability';
76
+ }
77
+
78
+ /**
79
+ * @inheritdoc
80
+ */
81
+ public static function getTemplate() {
82
+ return 'object/login-redirect.phtml';
83
+ }
84
+
85
+ /**
86
+ * Register Contact/Hire feature
87
+ *
88
+ * @return void
89
+ *
90
+ * @access public
91
+ */
92
+ public static function register() {
93
+ $cap = AAM_Core_Config::get(self::getAccessOption(), 'administrator');
94
+
95
+ AAM_Backend_Feature::registerFeature((object) array(
96
+ 'uid' => 'login_redirect',
97
+ 'position' => 40,
98
+ 'title' => __('Login Redirect', AAM_KEY),
99
+ 'capability' => $cap,
100
+ 'subjects' => array(
101
+ 'AAM_Core_Subject_Role',
102
+ 'AAM_Core_Subject_User',
103
+ 'AAM_Core_Subject_Default'
104
+ ),
105
+ 'view' => __CLASS__
106
+ ));
107
+ }
108
+
109
+ }
Application/Backend/Feature/Menu.php CHANGED
@@ -33,7 +33,7 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
33
  /**
34
  * Get subject's menu
35
  *
36
- * Based on the list of capabilitis that current subject has, prepare
37
  * complete menu list and return it.
38
  *
39
  * @return array
@@ -104,7 +104,8 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
104
 
105
  if (isset($submenu[$menu])) {
106
  foreach ($submenu[$menu] as $item) {
107
- if ($subject->hasCapability($item[1])) {
 
108
  $response[] = array(
109
  'id' => $item[2],
110
  'name' => $this->filterMenuName($item[0]),
@@ -188,7 +189,11 @@ class AAM_Backend_Feature_Menu extends AAM_Backend_Feature_Abstract {
188
  'position' => 5,
189
  'title' => __('Backend Menu', AAM_KEY),
190
  'capability' => $cap,
191
- 'subjects' => array('AAM_Core_Subject_Role', 'AAM_Core_Subject_User'),
 
 
 
 
192
  'view' => __CLASS__
193
  ));
194
  }
33
  /**
34
  * Get subject's menu
35
  *
36
+ * Based on the list of capabilities that current subject has, prepare
37
  * complete menu list and return it.
38
  *
39
  * @return array
104
 
105
  if (isset($submenu[$menu])) {
106
  foreach ($submenu[$menu] as $item) {
107
+ if ($subject->hasCapability($item[1])
108
+ || is_a($subject, 'AAM_Core_Subject_Default')) {
109
  $response[] = array(
110
  'id' => $item[2],
111
  'name' => $this->filterMenuName($item[0]),
189
  'position' => 5,
190
  'title' => __('Backend Menu', AAM_KEY),
191
  'capability' => $cap,
192
+ 'subjects' => array(
193
+ 'AAM_Core_Subject_Role',
194
+ 'AAM_Core_Subject_User',
195
+ 'AAM_Core_Subject_Default'
196
+ ),
197
  'view' => __CLASS__
198
  ));
199
  }
Application/Backend/Feature/Metabox.php CHANGED
@@ -241,7 +241,8 @@ class AAM_Backend_Feature_Metabox extends AAM_Backend_Feature_Abstract {
241
  'subjects' => array(
242
  'AAM_Core_Subject_Role',
243
  'AAM_Core_Subject_User',
244
- 'AAM_Core_Subject_Visitor'
 
245
  ),
246
  'view' => __CLASS__
247
  ));
241
  'subjects' => array(
242
  'AAM_Core_Subject_Role',
243
  'AAM_Core_Subject_User',
244
+ 'AAM_Core_Subject_Visitor',
245
+ 'AAM_Core_Subject_Default'
246
  ),
247
  'view' => __CLASS__
248
  ));
Application/Backend/Feature/Post.php CHANGED
@@ -381,7 +381,8 @@ class AAM_Backend_Feature_Post extends AAM_Backend_Feature_Abstract {
381
  'subjects' => array(
382
  'AAM_Core_Subject_Role',
383
  'AAM_Core_Subject_User',
384
- 'AAM_Core_Subject_Visitor'
 
385
  ),
386
  'view' => __CLASS__
387
  ));
381
  'subjects' => array(
382
  'AAM_Core_Subject_Role',
383
  'AAM_Core_Subject_User',
384
+ 'AAM_Core_Subject_Visitor',
385
+ 'AAM_Core_Subject_Default'
386
  ),
387
  'view' => __CLASS__
388
  ));
Application/Backend/Feature/Redirect.php CHANGED
@@ -23,7 +23,7 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
23
  $value = AAM_Core_Request::post('value');
24
  $subject = AAM_Backend_View::getSubject();
25
 
26
- if ($this->isAdministrator()) {
27
  AAM_Core_Config::set($param, $value);
28
  } else {
29
  do_action('aam-action-redirect-save', $subject, $param, $value);
@@ -46,11 +46,8 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
46
  *
47
  * @return type
48
  */
49
- public function isAdministrator() {
50
- $subject = AAM_Backend_View::getSubject();
51
- $adminId = AAM_Core_Config::get('core.admin.id', 'administrator');
52
-
53
- return ($subject->getUID() == 'role' && $subject->getId() == $adminId);
54
  }
55
 
56
  /**
@@ -61,7 +58,7 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
61
  public function getOption($option, $default = null) {
62
  $value = AAM_Core_Config::get($option, $default);
63
 
64
- if (!$this->isAdministrator()) {
65
  $subject = AAM_Backend_View::getSubject();
66
  $value = apply_filters(
67
  'aam-filter-redirect-option', $value, $option, $subject
@@ -98,12 +95,13 @@ class AAM_Backend_Feature_Redirect extends AAM_Backend_Feature_Abstract {
98
  AAM_Backend_Feature::registerFeature((object) array(
99
  'uid' => 'redirect',
100
  'position' => 30,
101
- 'title' => __('Redirect', AAM_KEY),
102
  'capability' => $cap,
103
  'subjects' => array(
104
  'AAM_Core_Subject_Role',
105
  'AAM_Core_Subject_User',
106
- 'AAM_Core_Subject_Visitor'
 
107
  ),
108
  'view' => __CLASS__
109
  ));
23
  $value = AAM_Core_Request::post('value');
24
  $subject = AAM_Backend_View::getSubject();
25
 
26
+ if ($this->isDefault()) {
27
  AAM_Core_Config::set($param, $value);
28
  } else {
29
  do_action('aam-action-redirect-save', $subject, $param, $value);
46
  *
47
  * @return type
48
  */
49
+ public function isDefault() {
50
+ return AAM_Backend_View::getSubject()->getUID() == 'default';
 
 
 
51
  }
52
 
53
  /**
58
  public function getOption($option, $default = null) {
59
  $value = AAM_Core_Config::get($option, $default);
60
 
61
+ if (!$this->isDefault()) {
62
  $subject = AAM_Backend_View::getSubject();
63
  $value = apply_filters(
64
  'aam-filter-redirect-option', $value, $option, $subject
95
  AAM_Backend_Feature::registerFeature((object) array(
96
  'uid' => 'redirect',
97
  'position' => 30,
98
+ 'title' => __('Access Denied Redirect', AAM_KEY),
99
  'capability' => $cap,
100
  'subjects' => array(
101
  'AAM_Core_Subject_Role',
102
  'AAM_Core_Subject_User',
103
+ 'AAM_Core_Subject_Visitor',
104
+ 'AAM_Core_Subject_Default'
105
  ),
106
  'view' => __CLASS__
107
  ));
Application/Backend/Feature/Teaser.php CHANGED
@@ -23,7 +23,7 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
23
  $value = AAM_Core_Request::post('value');
24
  $subject = AAM_Backend_View::getSubject();
25
 
26
- if ($this->isAdministrator()) {
27
  AAM_Core_Config::set($param, $value);
28
  } else {
29
  do_action('aam-action-teaser-save', $subject, $param, $value);
@@ -46,11 +46,8 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
46
  *
47
  * @return type
48
  */
49
- public function isAdministrator() {
50
- $subject = AAM_Backend_View::getSubject();
51
- $adminId = AAM_Core_Config::get('core.admin.id', 'administrator');
52
-
53
- return ($subject->getUID() == 'role' && $subject->getId() == $adminId);
54
  }
55
 
56
  /**
@@ -61,7 +58,7 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
61
  public function getOption($option, $default = null) {
62
  $value = AAM_Core_Config::get($option, $default);
63
 
64
- if (!$this->isAdministrator()) {
65
  $subject = AAM_Backend_View::getSubject();
66
  $value = apply_filters(
67
  'aam-filter-teaser-option', $value, $option, $subject
@@ -103,7 +100,8 @@ class AAM_Backend_Feature_Teaser extends AAM_Backend_Feature_Abstract {
103
  'subjects' => array(
104
  'AAM_Core_Subject_Role',
105
  'AAM_Core_Subject_User',
106
- 'AAM_Core_Subject_Visitor'
 
107
  ),
108
  'view' => __CLASS__
109
  ));
23
  $value = AAM_Core_Request::post('value');
24
  $subject = AAM_Backend_View::getSubject();
25
 
26
+ if ($this->isDefault()) {
27
  AAM_Core_Config::set($param, $value);
28
  } else {
29
  do_action('aam-action-teaser-save', $subject, $param, $value);
46
  *
47
  * @return type
48
  */
49
+ public function isDefault() {
50
+ return (AAM_Backend_View::getSubject()->getUID() == 'default');
 
 
 
51
  }
52
 
53
  /**
58
  public function getOption($option, $default = null) {
59
  $value = AAM_Core_Config::get($option, $default);
60
 
61
+ if (!$this->isDefault()) {
62
  $subject = AAM_Backend_View::getSubject();
63
  $value = apply_filters(
64
  'aam-filter-teaser-option', $value, $option, $subject
100
  'subjects' => array(
101
  'AAM_Core_Subject_Role',
102
  'AAM_Core_Subject_User',
103
+ 'AAM_Core_Subject_Visitor',
104
+ 'AAM_Core_Subject_Default'
105
  ),
106
  'view' => __CLASS__
107
  ));
Application/Backend/Feature/Utility.php CHANGED
@@ -91,9 +91,7 @@ class AAM_Backend_Feature_Utility extends AAM_Backend_Feature_Abstract {
91
  'title' => __('Utilities', AAM_KEY),
92
  'capability' => $cap,
93
  'subjects' => array(
94
- 'AAM_Core_Subject_Role',
95
- 'AAM_Core_Subject_User',
96
- 'AAM_Core_Subject_Visitor'
97
  ),
98
  'view' => __CLASS__
99
  ));
91
  'title' => __('Utilities', AAM_KEY),
92
  'capability' => $cap,
93
  'subjects' => array(
94
+ 'AAM_Core_Subject_Role'
 
 
95
  ),
96
  'view' => __CLASS__
97
  ));
Application/Backend/Manager.php CHANGED
@@ -32,6 +32,9 @@ class AAM_Backend_Manager {
32
  * @access protected
33
  */
34
  protected function __construct() {
 
 
 
35
  //check if user switch is required
36
  $this->checkUserSwitch();
37
 
@@ -87,6 +90,19 @@ class AAM_Backend_Manager {
87
  AAM_Backend_View_CodePinch::bootstrap();
88
  }
89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  /**
91
  *
92
  */
@@ -307,10 +323,7 @@ class AAM_Backend_Manager {
307
  */
308
  public function printJavascript() {
309
  if (AAM::isAAM()) {
310
- wp_enqueue_script('aam-bt', AAM_MEDIA . '/js/bootstrap.min.js');
311
- wp_enqueue_script('aam-dt', AAM_MEDIA . '/js/datatables.min.js');
312
- wp_enqueue_script('aam-dwn', AAM_MEDIA . '/js/download.min.js');
313
- wp_enqueue_script('aam-utl-tg', AAM_MEDIA . '/js/toggle.min.js');
314
  wp_enqueue_script('aam-main', AAM_MEDIA . '/js/aam.js');
315
 
316
  //add plugin localization
32
  * @access protected
33
  */
34
  protected function __construct() {
35
+ //check if user is allowed to see backend
36
+ $this->checkUserAccess();
37
+
38
  //check if user switch is required
39
  $this->checkUserSwitch();
40
 
90
  AAM_Backend_View_CodePinch::bootstrap();
91
  }
92
 
93
+ /**
94
+ *
95
+ */
96
+ protected function checkUserAccess() {
97
+ $all = AAM_Core_API::getAllCapabilities();
98
+
99
+ if (isset($all['access_dashboard']) && get_current_user_id()) {
100
+ if (empty(AAM::getUser()->allcaps['access_dashboard'])) {
101
+ AAM_Core_API::reject('backend');
102
+ }
103
+ }
104
+ }
105
+
106
  /**
107
  *
108
  */
323
  */
324
  public function printJavascript() {
325
  if (AAM::isAAM()) {
326
+ wp_enqueue_script('aam-vendor', AAM_MEDIA . '/js/vendor.js');
 
 
 
327
  wp_enqueue_script('aam-main', AAM_MEDIA . '/js/aam.js');
328
 
329
  //add plugin localization
Application/Backend/View.php CHANGED
@@ -57,6 +57,7 @@ class AAM_Backend_View {
57
  AAM_Backend_Feature_Post::register();
58
  AAM_Backend_Feature_Redirect::register();
59
  AAM_Backend_Feature_Teaser::register();
 
60
  AAM_Backend_Feature_Extension::register();
61
  AAM_Backend_Feature_Utility::register();
62
  AAM_Backend_Feature_Contact::register();
57
  AAM_Backend_Feature_Post::register();
58
  AAM_Backend_Feature_Redirect::register();
59
  AAM_Backend_Feature_Teaser::register();
60
+ AAM_Backend_Feature_LoginRedirect::register();
61
  AAM_Backend_Feature_Extension::register();
62
  AAM_Backend_Feature_Utility::register();
63
  AAM_Backend_Feature_Contact::register();
Application/Backend/View/ProductList.php CHANGED
@@ -22,9 +22,9 @@ return array(
22
  'title' => 'AAM Redirect',
23
  'id' => 'AAM Redirect',
24
  'type' => 'commercial',
25
- 'price' => '$20 <small>USD</small>',
26
  'new' => true,
27
- 'description' => 'Define custom redirect or "Access Denied" message for each role, individual user or visitors. <a href="http://vasyltech.com/blog/aam-redirect-extension" target="_blank">Read more.</a>',
28
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QAM3P45X6PKUU',
29
  'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Redirect'),
30
  'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Redirect')
@@ -35,11 +35,22 @@ return array(
35
  'type' => 'commercial',
36
  'price' => '$10 <small>USD</small>',
37
  'new' => true,
38
- 'description' => 'Define custom teaser message for each role, individual user or visitors. <a href="http://vasyltech.com/blog/aam-content-teaser" target="_blank">Read more.</a>',
39
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3NG4CZX3WEH7L',
40
  'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Content Teaser'),
41
  'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Content Teaser')
42
  ),
 
 
 
 
 
 
 
 
 
 
 
43
  array(
44
  'title' => 'AAM Role Hierarchy',
45
  'id' => 'AAM Role Hierarchy',
22
  'title' => 'AAM Redirect',
23
  'id' => 'AAM Redirect',
24
  'type' => 'commercial',
25
+ 'price' => '$10 <small>USD</small>',
26
  'new' => true,
27
+ 'description' => 'Setup customized redirect or "Access Denied" message for each role, individual user or visitors. <a href="http://vasyltech.com/blog/aam-redirect-extension" target="_blank">Read more.</a>',
28
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QAM3P45X6PKUU',
29
  'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Redirect'),
30
  'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Redirect')
35
  'type' => 'commercial',
36
  'price' => '$10 <small>USD</small>',
37
  'new' => true,
38
+ 'description' => 'Setup customized teaser message for any user role, individual user or visitors. <a href="http://vasyltech.com/blog/aam-content-teaser" target="_blank">Read more.</a>',
39
  'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3NG4CZX3WEH7L',
40
  'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Content Teaser'),
41
  'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Content Teaser')
42
  ),
43
+ array(
44
+ 'title' => 'AAM Login Redirect',
45
+ 'id' => 'AAM Login Redirect',
46
+ 'type' => 'commercial',
47
+ 'price' => '$10 <small>USD</small>',
48
+ 'new' => true,
49
+ 'description' => 'Setup customized login redirect for any user or user role. <a href="http://vasyltech.com/blog/aam-login-redirect" target="_blank">Read more.</a>',
50
+ 'storeURL' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PQCF4AEK856TG',
51
+ 'status' => AAM_Core_Repository::getInstance()->extensionStatus('AAM Login Redirect'),
52
+ 'version' => AAM_Core_Repository::getInstance()->getExtensionVersion('AAM Login Redirect')
53
+ ),
54
  array(
55
  'title' => 'AAM Role Hierarchy',
56
  'id' => 'AAM Role Hierarchy',
Application/Backend/phtml/index.phtml CHANGED
@@ -84,6 +84,7 @@
84
  <li role="presentation" class="active"><a href="#roles" aria-controls="roles" role="tab" data-toggle="tab"><i class="icon-users"></i> <?php echo __('Roles', AAM_KEY); ?></a></li>
85
  <li role="presentation"><a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-user"></i> <?php echo __('Users', AAM_KEY); ?></a></li>
86
  <li role="presentation"><a href="#visitor" aria-controls="visitor" role="tab" data-toggle="tab"><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></a></li>
 
87
  </ul>
88
  <div class="tab-content">
89
  <div role="tabpanel" class="tab-pane active" id="roles">
@@ -152,7 +153,7 @@
152
  <h4 class="modal-title"><?php echo __('Delete Role', AAM_KEY); ?></h4>
153
  </div>
154
  <div class="modal-body">
155
- <p class="text-center aam-confirm-message" data-message="<?php echo __('Are you sure that you want to delete %s role?', AAM_KEY); ?>"></p>
156
  </div>
157
  <div class="modal-footer">
158
  <button type="button" class="btn btn-danger" id="delete-role-btn"><?php echo __('Delete', AAM_KEY); ?></button>
@@ -182,6 +183,12 @@
182
  <button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitors', AAM_KEY); ?></button>
183
  </div>
184
  </div>
 
 
 
 
 
 
185
  </div>
186
  </div>
187
  <div class="aam-help-context">
@@ -203,6 +210,11 @@
203
  <strong><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></strong><br/>
204
  <?php echo __('Visitor can be considered any user that is not authenticated to your website.', AAM_KEY); ?>
205
  </p>
 
 
 
 
 
206
  </div>
207
  </div>
208
  </div>
@@ -214,9 +226,9 @@
214
  <div class="postbox">
215
  <div class="inside text-center">
216
  <div class="inner-sm">
217
- <p class="text-muted text-larger"><?php echo __('Fix all website errors with WP Error Fix', AAM_KEY); ?></p>
218
- <a href="<?php echo AAM_Backend_View_CodePinch::getUrl(AAM_CODEPINCH_AFFILIATE_CODE); ?>" class="btn btn-lg btn-codepinch" target="_blank">
219
- <img src="http://codepinch.io/frontend/img/codepinch-icon.svg" /> Install Plugin
220
  </a>
221
  </div>
222
  </div>
84
  <li role="presentation" class="active"><a href="#roles" aria-controls="roles" role="tab" data-toggle="tab"><i class="icon-users"></i> <?php echo __('Roles', AAM_KEY); ?></a></li>
85
  <li role="presentation"><a href="#users" aria-controls="users" role="tab" data-toggle="tab"><i class="icon-user"></i> <?php echo __('Users', AAM_KEY); ?></a></li>
86
  <li role="presentation"><a href="#visitor" aria-controls="visitor" role="tab" data-toggle="tab"><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></a></li>
87
+ <li role="presentation"><a href="#default" aria-controls="default" role="tab" data-toggle="tab" class="text-danger"><i class="icon-asterisk"></i> <?php echo __('Default', AAM_KEY); ?></a></li>
88
  </ul>
89
  <div class="tab-content">
90
  <div role="tabpanel" class="tab-pane active" id="roles">
153
  <h4 class="modal-title"><?php echo __('Delete Role', AAM_KEY); ?></h4>
154
  </div>
155
  <div class="modal-body">
156
+ <p class="text-center aam-confirm-message alert alert-danger" data-message="<?php echo __('Are you sure that you want to delete the %s role?', AAM_KEY); ?>"></p>
157
  </div>
158
  <div class="modal-footer">
159
  <button type="button" class="btn btn-danger" id="delete-role-btn"><?php echo __('Delete', AAM_KEY); ?></button>
183
  <button class="btn btn-primary btn-block" id="manage-visitor"><i class="icon-cog"></i> <?php echo __('Manage Visitors', AAM_KEY); ?></button>
184
  </div>
185
  </div>
186
+ <div role="tabpanel" class="tab-pane" id="default">
187
+ <div class="visitor-message">
188
+ <span class="aam-bordered"><?php echo __('Manage default access to your website resources for all users, roles and visitor. This includes Administrator role and your user', AAM_KEY); ?>.</span>
189
+ <button class="btn btn-danger btn-block" id="manage-default"><i class="icon-cog"></i> <?php echo __('Manage Default', AAM_KEY); ?></button>
190
+ </div>
191
+ </div>
192
  </div>
193
  </div>
194
  <div class="aam-help-context">
210
  <strong><i class="icon-user-secret"></i> <?php echo __('Visitor', AAM_KEY); ?></strong><br/>
211
  <?php echo __('Visitor can be considered any user that is not authenticated to your website.', AAM_KEY); ?>
212
  </p>
213
+
214
+ <p class="text-justify">
215
+ <strong><i class="icon-asterisk"></i> <?php echo __('Default', AAM_KEY); ?></strong><br/>
216
+ <?php echo __('Manage default access settings to your website resources for all users, roles and visitors.', AAM_KEY); ?>
217
+ </p>
218
  </div>
219
  </div>
220
  </div>
226
  <div class="postbox">
227
  <div class="inside text-center">
228
  <div class="inner-sm">
229
+ <p class="text-muted text-larger"><?php echo __('Improve your website security and track all PHP errors for free.', AAM_KEY); ?></p>
230
+ <a href="<?php echo AAM_Backend_View_CodePinch::getUrl(AAM_CODEPINCH_AFFILIATE_CODE); ?>" class="btn btn-lg btn-success" target="_blank">
231
+ <img src="http://codepinch.io/frontend/img/codepinch-icon.svg" /> Install CodePinch
232
  </a>
233
  </div>
234
  </div>
Application/Backend/phtml/object/login-redirect.phtml ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (defined('AAM_KEY')) { ?>
2
+ <div class="aam-feature" id="login_redirect-content">
3
+ <div class="row">
4
+ <div class="col-xs-12">
5
+ <?php if ($this->isDefault() || defined('AAM_LOGIN_REDIRECT')) { ?>
6
+ <?php echo apply_filters('aam-login-redirect-ui-filter', AAM_Backend_View::getInstance()->loadPartial('login-redirect.phtml')); ?>
7
+ <?php } ?>
8
+ </div>
9
+ </div>
10
+
11
+ <?php if ($this->isDefault() || defined('AAM_LOGIN_REDIRECT')) { ?>
12
+ <div class="row">
13
+ <div class="col-xs-12">
14
+ <?php $type = $this->getOption('login.redirect.type', 'default'); ?>
15
+
16
+ <div class="radio">
17
+ <input type="radio" name="login.redirect.type" id="login-redirect-default" data-action="#default-redirect-action" value="default"<?php echo ($type == 'default' ? ' checked' : ''); ?> />
18
+ <label for="login-redirect-default"><?php echo AAM_Backend_View_Helper::preparePhrase('WordPress default behavior'); ?></label>
19
+ </div>
20
+ <div class="radio">
21
+ <input type="radio" name="login.redirect.type" id="login-redirect-page" data-action="#page-redirect-action" value="page"<?php echo ($type == 'page' ? ' checked' : ''); ?> />
22
+ <label for="login-redirect-page"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to existing page [(select from the drop-down)]', 'small'); ?></label>
23
+ </div>
24
+ <div class="radio">
25
+ <input type="radio" name="login.redirect.type" id="login-redirect-url" data-action="#url-redirect-action" value="url"<?php echo ($type == 'url' ? ' checked' : ''); ?> />
26
+ <label for="login-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the URL [(enter full URL starting from http or https)]', 'small'); ?></label>
27
+ </div>
28
+ <div class="radio">
29
+ <input type="radio" name="login.redirect.type" id="login-redirect-callback" data-action="#callback-redirect-action" value="callback"<?php echo ($type == 'callback' ? ' checked' : ''); ?> />
30
+ <label for="login-redirect-callback"><?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('Trigger PHP callback function [(valid %sPHP callback%s is required)]', 'small'), '<a href="http://php.net/manual/en/language.types.callable.php" target="_blank">', '</a>'); ?></label>
31
+ </div>
32
+
33
+ <div class="form-group login-redirect-action" id="page-redirect-action" style="display: <?php echo ($type == 'page' ? 'block' : 'none'); ?>;">
34
+ <label><?php echo __('Existing Page', AAM_KEY); ?></label>
35
+ <?php
36
+ wp_dropdown_pages(array(
37
+ 'depth' => 99,
38
+ 'selected' => $this->getOption('login.redirect.page'),
39
+ 'echo' => 1,
40
+ 'name' => 'login.redirect.page',
41
+ 'id' => 'page-redirect', // string
42
+ 'class' => 'form-control', // string
43
+ 'show_option_none' => __('-- Select Page --', AAM_KEY) // string
44
+ ));
45
+ ?>
46
+ </div>
47
+
48
+ <div class="form-group login-redirect-action" id="url-redirect-action" style="display: <?php echo ($type == 'url' ? 'block' : 'none'); ?>;">
49
+ <label><?php echo __('The URL', AAM_KEY); ?></label>
50
+ <input type="text" class="form-control" name="login.redirect.url" placeholder="http://" value="<?php echo $this->getOption('login.redirect.url'); ?>" />
51
+ </div>
52
+
53
+ <div class="form-group login-redirect-action" id="callback-redirect-action" style="display: <?php echo ($type == 'callback' ? 'block' : 'none'); ?>;">
54
+ <label><?php echo __('PHP Callback Function', AAM_KEY); ?></label>
55
+ <input type="text" class="form-control" placeholder="Enter valid callback" name="login.redirect.callback" value="<?php echo $this->getOption('login.redirect.callback'); ?>" />
56
+ </div>
57
+ </div>
58
+ </div>
59
+ <?php } else { ?>
60
+ <p class="aam-notification">
61
+ <?php echo AAM_Backend_View_Helper::preparePhrase('You are allowed to setup only the [default] login redirect for all users and roles. With [AAM Login Redirect] extension you can customize the redirect for any user, role.', 'b', 'b'); ?>
62
+ </p>
63
+ <?php } ?>
64
+ </div>
65
+ <?php }
Application/Backend/phtml/object/menu.phtml CHANGED
@@ -3,7 +3,7 @@
3
  <div class="row">
4
  <div class="col-xs-12">
5
  <p class="aam-info">
6
- <?php echo sprintf(__('For more information about Backend Menu feature check %sManage Access To Backend Menu%s article.', AAM_KEY),'<a href="https://vasyltech.com/blog/manage-access-to-wordpress-backend-menu" target="_blank">', '</a>'); ?>
7
  </p>
8
  </div>
9
  </div>
@@ -12,7 +12,7 @@
12
  <div class="row">
13
  <div class="col-xs-12">
14
  <div class="aam-overwrite">
15
- <span><i class="icon-attention-circled"></i> <?php echo __('Settings are overwritten', AAM_KEY); ?></span>
16
  <span><a href="#" id="menu-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
17
  </div>
18
  </div>
3
  <div class="row">
4
  <div class="col-xs-12">
5
  <p class="aam-info">
6
+ <?php echo sprintf(__('Learn how to manage access to the backend menu from %sthis article%s', AAM_KEY),'<a href="https://vasyltech.com/blog/manage-access-to-wordpress-backend-menu" target="_blank">', '</a>'); ?>
7
  </p>
8
  </div>
9
  </div>
12
  <div class="row">
13
  <div class="col-xs-12">
14
  <div class="aam-overwrite">
15
+ <span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
16
  <span><a href="#" id="menu-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
17
  </div>
18
  </div>
Application/Backend/phtml/object/metabox.phtml CHANGED
@@ -9,7 +9,7 @@
9
  <div class="row">
10
  <div class="col-xs-12">
11
  <div class="aam-overwrite">
12
- <span><i class="icon-attention-circled"></i> <?php echo __('Settings are overwritten', AAM_KEY); ?></span>
13
  <span><a href="#" id="metabox-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
14
  </div>
15
  </div>
9
  <div class="row">
10
  <div class="col-xs-12">
11
  <div class="aam-overwrite">
12
+ <span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
13
  <span><a href="#" id="metabox-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a>
14
  </div>
15
  </div>
Application/Backend/phtml/object/post.phtml CHANGED
@@ -4,7 +4,7 @@
4
  <div class="row">
5
  <div class="col-xs-12">
6
  <p class="aam-notification">
7
- <?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('You are allowed to manage access up to 10 posts, pages or custom post types. Consider to purchase [AAM Plus Package] extension to unlock this limitation. For more information about post access control check %sthis article%s.', 'b'), '<a href="https://vasyltech.com/blog/manage-access-to-posts-and-pages" target="_blank">', '</a>'); ?>
8
  </p>
9
  </div>
10
  </div>
@@ -18,104 +18,106 @@
18
  </div>
19
  <?php } ?>
20
 
21
- <?php $current = $this->getCurrentPost(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
- <div class="aam-post-breadcrumb">
24
- <a href="#" data-level="root"><i class="icon-home"></i> <?php echo __('Root', AAM_KEY); ?></a>
25
  <?php if (!is_null($current)) { ?>
26
- <span>
27
- <i class="icon-angle-double-right"></i>
28
- <?php echo $current->post_title; ?>
29
- </span>
30
  <?php } ?>
31
- </div>
32
 
33
- <div class="aam-overwrite hidden" id="post-overwritten">
34
- <span><i class="icon-attention-circled"></i> <?php echo __('Settings are overwritten', AAM_KEY); ?></span>
35
- <span><a href="#" id="post-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a></span>
36
- </div>
 
 
 
 
 
 
 
 
 
37
 
38
- <?php if (!is_null($current)) { ?>
39
- <input type="hidden" id="load-post" value="<?php echo $current->ID; ?>" />
40
- <?php } ?>
 
41
 
42
- <div class="aam-container">
43
- <table id="post-list" class="table table-striped table-bordered">
44
- <thead>
45
- <tr>
46
- <th>ID</th>
47
- <th>Link</th>
48
- <th width="5%">&nbsp;</th>
49
- <th width="75%"><?php echo __('Title', AAM_KEY); ?></th>
50
- <th><?php echo __('Actions', AAM_KEY); ?></th>
51
- </tr>
52
- </thead>
53
- <tbody></tbody>
54
- </table>
55
 
56
- <div class="aam-slide-form" data-type="type">
57
- <?php echo apply_filters('aam-post-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('post-type.phtml')); ?>
58
- <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
59
- </div>
 
 
 
 
60
 
61
- <div class="aam-slide-form" data-type="term">
62
- <?php echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml')); ?>
63
- <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
64
- </div>
 
 
 
 
 
 
 
 
 
65
 
66
- <div class="aam-slide-form" data-type="post">
67
- <table class="table table-striped table-bordered">
68
- <tbody>
69
- <tr>
70
- <td colspan="2" class="aam-table-group">
71
- <i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
72
- </td>
73
- </tr>
74
 
75
- <?php foreach($this->getAccessOptionList('frontend') as $option => $data) { ?>
76
- <tr>
77
- <td width="90%">
78
- <strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
79
- <p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>"></p>
80
- </td>
81
- <td>
82
- <div class="aam-row-actions">
83
- <i class="aam-row-action text-muted icon-check-empty" data-property="frontend.<?php echo $option; ?>"></i>
84
- </div>
85
- </td>
86
- </tr>
87
- <?php } ?>
88
-
89
- <?php do_action('aam-post-access-option-action', 'post', 'frontend'); ?>
90
 
91
- <tr class="aam-backend-post-access">
92
- <td colspan="2" class="aam-table-group">
93
- <i class="icon-doc-text-inv"></i> <strong><?php echo __('Backend', AAM_KEY); ?></strong>
94
- </td>
95
- </tr>
 
 
 
 
 
 
 
 
96
 
97
- <?php foreach($this->getAccessOptionList('backend') as $option => $data) { ?>
98
- <tr class="aam-backend-post-access">
99
- <td width="90%">
100
- <strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
101
- <p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>"></p>
102
- </td>
103
- <td>
104
- <div class="aam-row-actions">
105
- <i class="aam-row-action text-muted icon-check-empty" data-property="backend.<?php echo $option; ?>"></i>
106
- </div>
107
- </td>
108
- </tr>
109
- <?php } ?>
110
-
111
- <?php do_action('aam-post-access-option-action', 'post', 'backend'); ?>
112
-
113
- </tbody>
114
- </table>
115
-
116
- <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
117
  </div>
118
- </div>
119
  </div>
120
  <?php
121
  }
4
  <div class="row">
5
  <div class="col-xs-12">
6
  <p class="aam-notification">
7
+ <?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('You are allowed to manage access up to 10 posts, pages or custom post types but only on role, user or visitor levels. Consider to purchase [AAM Plus Package] extension to unlock this limitation. For more information about post access control check %sthis article%s.', 'b'), '<a href="https://vasyltech.com/blog/manage-access-to-posts-and-pages" target="_blank">', '</a>'); ?>
8
  </p>
9
  </div>
10
  </div>
18
  </div>
19
  <?php } ?>
20
 
21
+ <?php if (defined('AAM_PLUS_PACKAGE') || AAM_Backend_View::getSubject()->getUID() != 'default') { ?>
22
+ <?php $current = $this->getCurrentPost(); ?>
23
+
24
+ <div class="aam-post-breadcrumb">
25
+ <a href="#" data-level="root"><i class="icon-home"></i> <?php echo __('Root', AAM_KEY); ?></a>
26
+ <?php if (!is_null($current)) { ?>
27
+ <span>
28
+ <i class="icon-angle-double-right"></i>
29
+ <?php echo $current->post_title; ?>
30
+ </span>
31
+ <?php } ?>
32
+ </div>
33
+
34
+ <div class="aam-overwrite hidden" id="post-overwritten">
35
+ <span><i class="icon-check"></i> <?php echo __('Settings are customized', AAM_KEY); ?></span>
36
+ <span><a href="#" id="post-reset" class="btn btn-xs btn-danger"><?php echo __('Reset To Default', AAM_KEY); ?></a></span>
37
+ </div>
38
 
 
 
39
  <?php if (!is_null($current)) { ?>
40
+ <input type="hidden" id="load-post" value="<?php echo $current->ID; ?>" />
 
 
 
41
  <?php } ?>
 
42
 
43
+ <div class="aam-container">
44
+ <table id="post-list" class="table table-striped table-bordered">
45
+ <thead>
46
+ <tr>
47
+ <th>ID</th>
48
+ <th>Link</th>
49
+ <th width="5%">&nbsp;</th>
50
+ <th width="75%"><?php echo __('Title', AAM_KEY); ?></th>
51
+ <th><?php echo __('Actions', AAM_KEY); ?></th>
52
+ </tr>
53
+ </thead>
54
+ <tbody></tbody>
55
+ </table>
56
 
57
+ <div class="aam-slide-form" data-type="type">
58
+ <?php echo apply_filters('aam-post-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('post-type.phtml')); ?>
59
+ <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
60
+ </div>
61
 
62
+ <div class="aam-slide-form" data-type="term">
63
+ <?php echo apply_filters('aam-term-type-ui-filter', AAM_Backend_View::getInstance()->loadPartial('term-type.phtml')); ?>
64
+ <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
65
+ </div>
 
 
 
 
 
 
 
 
 
66
 
67
+ <div class="aam-slide-form" data-type="post">
68
+ <table class="table table-striped table-bordered">
69
+ <tbody>
70
+ <tr>
71
+ <td colspan="2" class="aam-table-group">
72
+ <i class="icon-doc-text-inv"></i> <strong><?php echo __('Frontend', AAM_KEY); ?></strong>
73
+ </td>
74
+ </tr>
75
 
76
+ <?php foreach($this->getAccessOptionList('frontend') as $option => $data) { ?>
77
+ <tr>
78
+ <td width="90%">
79
+ <strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
80
+ <p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>"></p>
81
+ </td>
82
+ <td>
83
+ <div class="aam-row-actions">
84
+ <i class="aam-row-action text-muted icon-check-empty" data-property="frontend.<?php echo $option; ?>"></i>
85
+ </div>
86
+ </td>
87
+ </tr>
88
+ <?php } ?>
89
 
90
+ <?php do_action('aam-post-access-option-action', 'post', 'frontend'); ?>
 
 
 
 
 
 
 
91
 
92
+ <tr class="aam-backend-post-access">
93
+ <td colspan="2" class="aam-table-group">
94
+ <i class="icon-doc-text-inv"></i> <strong><?php echo __('Backend', AAM_KEY); ?></strong>
95
+ </td>
96
+ </tr>
 
 
 
 
 
 
 
 
 
 
97
 
98
+ <?php foreach($this->getAccessOptionList('backend') as $option => $data) { ?>
99
+ <tr class="aam-backend-post-access">
100
+ <td width="90%">
101
+ <strong class="aam-block aam-highlight text-uppercase"><?php echo $data['title']; ?></strong>
102
+ <p class="aam-hint" data-dynamic-post-label="<?php echo $data['descr']; ?>"></p>
103
+ </td>
104
+ <td>
105
+ <div class="aam-row-actions">
106
+ <i class="aam-row-action text-muted icon-check-empty" data-property="backend.<?php echo $option; ?>"></i>
107
+ </div>
108
+ </td>
109
+ </tr>
110
+ <?php } ?>
111
 
112
+ <?php do_action('aam-post-access-option-action', 'post', 'backend'); ?>
113
+
114
+ </tbody>
115
+ </table>
116
+
117
+ <a href="#" class="btn btn-xs btn-primary post-back">&Lt; <?php echo __('Go Back', AAM_KEY); ?></a>
118
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
119
  </div>
120
+ <?php } ?>
121
  </div>
122
  <?php
123
  }
Application/Backend/phtml/object/redirect.phtml CHANGED
@@ -2,7 +2,7 @@
2
  <div class="aam-feature" id="redirect-content">
3
  <div class="row">
4
  <div class="col-xs-12">
5
- <?php if ($this->isAdministrator() || defined('AAM_REDIRECT')) { ?>
6
  <?php echo apply_filters('aam-redirect-ui-filter', AAM_Backend_View::getInstance()->loadPartial('redirect.phtml')); ?>
7
  <?php } ?>
8
  </div>
@@ -10,7 +10,7 @@
10
 
11
  <div class="row">
12
  <div class="col-xs-12">
13
- <?php if ($this->isAdministrator() || defined('AAM_REDIRECT')) { ?>
14
  <div>
15
  <ul class="nav nav-tabs" role="tablist">
16
  <li role="presentation" class="active"><a href="#frontend-redirect" aria-controls="frontend-redirect" role="tab" data-toggle="tab"><i class="icon-home"></i> <?php echo __('Frontend Redirect', AAM_KEY); ?></a></li>
@@ -36,7 +36,7 @@
36
  </div>
37
  <div class="radio">
38
  <input type="radio" name="frontend.redirect.type" id="frontend-redirect-url" data-action="#frontend-url-action" value="url" data-group="frontend-redirect"<?php echo ($frontendType == 'url' ? ' checked' : ''); ?> />
39
- <label for="frontend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to custom URL [(valid URL is required)]', 'small'); ?></label>
40
  </div>
41
  <div class="radio">
42
  <input type="radio" name="frontend.redirect.type" id="frontend-redirect-callback" data-action="#frontend-callback-action" value="callback" data-group="frontend-redirect"<?php echo ($frontendType == 'callback' ? ' checked' : ''); ?> />
@@ -57,14 +57,14 @@
57
  'echo' => 1,
58
  'name' => 'frontend.redirect.page',
59
  'id' => 'frontend-page', // string
60
- 'class' => 'forn-control', // string
61
  'show_option_none' => __('-- Select Page --', AAM_KEY) // string
62
  ));
63
  ?>
64
  </div>
65
 
66
  <div class="form-group aam-redirect-action frontend-redirect" id="frontend-url-action" style="display: <?php echo ($frontendType == 'url' ? 'block' : 'none'); ?>;">
67
- <label for="frontend-url"><?php echo __('Custom URL', AAM_KEY); ?></label>
68
  <input type="text" class="form-control" name="frontend.redirect.url" placeholder="http://" value="<?php echo $this->getOption('frontend.redirect.url'); ?>" />
69
  </div>
70
 
@@ -84,7 +84,7 @@
84
  </div>
85
  <div class="radio">
86
  <input type="radio" name="backend.redirect.type" id="backend-redirect-url" data-action="#backend-url" value="url" data-group="backend-redirect"<?php echo ($backendType == 'url' ? ' checked' : ''); ?> />
87
- <label for="backend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to custom URL [(valid URL is required)]', 'small'); ?></label>
88
  </div>
89
  <div class="radio">
90
  <input type="radio" name="backend.redirect.type" id="backend-redirect-callback" data-action="#backend-callback-action" value="callback" data-group="backend-redirect"<?php echo ($backendType == 'callback' ? ' checked' : ''); ?> />
@@ -97,7 +97,7 @@
97
  </div>
98
 
99
  <div class="form-group aam-redirect-action backend-redirect" id="backend-url" style="display: <?php echo ($backendType == 'url' ? 'block' : 'none'); ?>;">
100
- <label for="backend-url"><?php echo __('Custom URL', AAM_KEY); ?></label>
101
  <input type="text" class="form-control" placeholder="http://" name="backend.redirect.url" value="<?php echo $this->getOption('backend.redirect.url'); ?>" />
102
  </div>
103
  <div class="form-group aam-redirect-action backend-redirect" id="backend-callback-action" style="display: <?php echo ($backendType == 'callback' ? 'block' : 'none'); ?>;">
@@ -109,7 +109,7 @@
109
  </div>
110
  <?php } else { ?>
111
  <p class="aam-notification">
112
- <?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('In order to setup customized redirect for any user or role, consider to purchase [AAM Redirect] extension. Otherwise switch back to [%s] role to setup [default] access to all users and roles.', 'b', 'b', 'b'), translate_user_role('Administrator')); ?>
113
  </p>
114
  <?php } ?>
115
  </div>
2
  <div class="aam-feature" id="redirect-content">
3
  <div class="row">
4
  <div class="col-xs-12">
5
+ <?php if ($this->isDefault() || defined('AAM_REDIRECT')) { ?>
6
  <?php echo apply_filters('aam-redirect-ui-filter', AAM_Backend_View::getInstance()->loadPartial('redirect.phtml')); ?>
7
  <?php } ?>
8
  </div>
10
 
11
  <div class="row">
12
  <div class="col-xs-12">
13
+ <?php if ($this->isDefault() || defined('AAM_REDIRECT')) { ?>
14
  <div>
15
  <ul class="nav nav-tabs" role="tablist">
16
  <li role="presentation" class="active"><a href="#frontend-redirect" aria-controls="frontend-redirect" role="tab" data-toggle="tab"><i class="icon-home"></i> <?php echo __('Frontend Redirect', AAM_KEY); ?></a></li>
36
  </div>
37
  <div class="radio">
38
  <input type="radio" name="frontend.redirect.type" id="frontend-redirect-url" data-action="#frontend-url-action" value="url" data-group="frontend-redirect"<?php echo ($frontendType == 'url' ? ' checked' : ''); ?> />
39
+ <label for="frontend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the URL [(enter valid URL starting from http or https)]', 'small'); ?></label>
40
  </div>
41
  <div class="radio">
42
  <input type="radio" name="frontend.redirect.type" id="frontend-redirect-callback" data-action="#frontend-callback-action" value="callback" data-group="frontend-redirect"<?php echo ($frontendType == 'callback' ? ' checked' : ''); ?> />
57
  'echo' => 1,
58
  'name' => 'frontend.redirect.page',
59
  'id' => 'frontend-page', // string
60
+ 'class' => 'form-control', // string
61
  'show_option_none' => __('-- Select Page --', AAM_KEY) // string
62
  ));
63
  ?>
64
  </div>
65
 
66
  <div class="form-group aam-redirect-action frontend-redirect" id="frontend-url-action" style="display: <?php echo ($frontendType == 'url' ? 'block' : 'none'); ?>;">
67
+ <label for="frontend-url"><?php echo __('The URL', AAM_KEY); ?></label>
68
  <input type="text" class="form-control" name="frontend.redirect.url" placeholder="http://" value="<?php echo $this->getOption('frontend.redirect.url'); ?>" />
69
  </div>
70
 
84
  </div>
85
  <div class="radio">
86
  <input type="radio" name="backend.redirect.type" id="backend-redirect-url" data-action="#backend-url" value="url" data-group="backend-redirect"<?php echo ($backendType == 'url' ? ' checked' : ''); ?> />
87
+ <label for="backend-redirect-url"><?php echo AAM_Backend_View_Helper::preparePhrase('Redirected to the URL [(enter valid URL starting from http or https)]', 'small'); ?></label>
88
  </div>
89
  <div class="radio">
90
  <input type="radio" name="backend.redirect.type" id="backend-redirect-callback" data-action="#backend-callback-action" value="callback" data-group="backend-redirect"<?php echo ($backendType == 'callback' ? ' checked' : ''); ?> />
97
  </div>
98
 
99
  <div class="form-group aam-redirect-action backend-redirect" id="backend-url" style="display: <?php echo ($backendType == 'url' ? 'block' : 'none'); ?>;">
100
+ <label for="backend-url"><?php echo __('The URL', AAM_KEY); ?></label>
101
  <input type="text" class="form-control" placeholder="http://" name="backend.redirect.url" value="<?php echo $this->getOption('backend.redirect.url'); ?>" />
102
  </div>
103
  <div class="form-group aam-redirect-action backend-redirect" id="backend-callback-action" style="display: <?php echo ($backendType == 'callback' ? 'block' : 'none'); ?>;">
109
  </div>
110
  <?php } else { ?>
111
  <p class="aam-notification">
112
+ <?php echo AAM_Backend_View_Helper::preparePhrase('You are allowed to setup only the [default] access denied redirect for all users, roles and visitor. With [AAM Redirect] extension you can customize redirect for any user, role or visitors.', 'b', 'b'); ?>
113
  </p>
114
  <?php } ?>
115
  </div>
Application/Backend/phtml/object/teaser.phtml CHANGED
@@ -2,7 +2,7 @@
2
  <div class="aam-feature" id="teaser-content">
3
  <div class="row">
4
  <div class="col-xs-12">
5
- <?php if ($this->isAdministrator() || defined('AAM_CONTENT_TEASER')) { ?>
6
  <?php echo apply_filters('aam-teaser-ui-filter', AAM_Backend_View::getInstance()->loadPartial('teaser.phtml')); ?>
7
  <?php } ?>
8
  </div>
@@ -10,7 +10,7 @@
10
 
11
  <div class="row">
12
  <div class="col-xs-12">
13
- <?php if ($this->isAdministrator() || defined('AAM_CONTENT_TEASER')) { ?>
14
  <div>
15
  <div class="form-group">
16
  <label><?php echo __('Teaser Message', AAM_KEY); ?></label>
@@ -25,7 +25,7 @@
25
  </div>
26
  <?php } else { ?>
27
  <p class="aam-notification">
28
- <?php echo sprintf(AAM_Backend_View_Helper::preparePhrase('In order to setup customized teaser message for any user or role, consider to purchase [AAM Teaser] extension. Otherwise switch back to [%s] role to setup [default] teaser message for all users and roles.', 'b', 'b', 'b'), translate_user_role('Administrator')); ?>
29
  </p>
30
  <?php } ?>
31
  </div>
2
  <div class="aam-feature" id="teaser-content">
3
  <div class="row">
4
  <div class="col-xs-12">
5
+ <?php if ($this->isDefault() || defined('AAM_CONTENT_TEASER')) { ?>
6
  <?php echo apply_filters('aam-teaser-ui-filter', AAM_Backend_View::getInstance()->loadPartial('teaser.phtml')); ?>
7
  <?php } ?>
8
  </div>
10
 
11
  <div class="row">
12
  <div class="col-xs-12">
13
+ <?php if ($this->isDefault() || defined('AAM_CONTENT_TEASER')) { ?>
14
  <div>
15
  <div class="form-group">
16
  <label><?php echo __('Teaser Message', AAM_KEY); ?></label>
25
  </div>
26
  <?php } else { ?>
27
  <p class="aam-notification">
28
+ <?php echo AAM_Backend_View_Helper::preparePhrase('You are allowed to setup only the [default] teaser message for all users, roles and visitor. With [AAM Teaser] extension you can customize the teaser message for any user, role or visitors.', 'b', 'b'); ?>
29
  </p>
30
  <?php } ?>
31
  </div>
Application/Backend/phtml/partial/login-redirect.phtml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php if (defined('AAM_KEY')) { ?>
2
+ <p class="aam-info">
3
+ <?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] redirect after user logged in successfully for all your users and roles. With [AAM Login Redirect] extension you can customize login redirect for any user or role.', 'strong', 'strong'); ?>
4
+ </p>
5
+ <?php }
Application/Backend/phtml/partial/redirect.phtml CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (defined('AAM_KEY')) { ?>
2
  <p class="aam-info">
3
- <?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] AAM behavior when access is denied to restricted resources (like posts, categories, menus etc) for both frontend and backend.', 'strong'); ?>
4
  </p>
5
  <?php }
1
  <?php if (defined('AAM_KEY')) { ?>
2
  <p class="aam-info">
3
+ <?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] redirect for all users, roles and visitors when access is denied for any restricted resources on your website.', 'strong'); ?>
4
  </p>
5
  <?php }
Application/Backend/phtml/partial/teaser.phtml CHANGED
@@ -1,6 +1,5 @@
1
  <?php if (defined('AAM_KEY')) { ?>
2
  <p class="aam-info">
3
- <?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] teaser message when frontend access is limited to read post, page or custom post type.', 'strong'); ?>
4
- <a href="http://vasyltech.com/blog/aam-content-teaser" target="_blank">Read more.</a>
5
  </p>
6
  <?php }
1
  <?php if (defined('AAM_KEY')) { ?>
2
  <p class="aam-info">
3
+ <?php echo AAM_Backend_View_Helper::preparePhrase('Setup [default] teaser message for all users, roles and visitors when access is limited to read posts or pages.', 'strong'); ?>
 
4
  </p>
5
  <?php }
Application/Core/API.php CHANGED
@@ -220,17 +220,17 @@ final class AAM_Core_API {
220
 
221
  /**
222
  *
223
- * @param type $redirect
224
  * @param type $area
225
  * @param type $args
226
  */
227
- protected static function redirect($redirect, $area , $args) {
228
- if (filter_var($redirect, FILTER_VALIDATE_URL)) {
229
- wp_redirect($redirect);
230
- } elseif (preg_match('/^[\d]+$/', $redirect)) {
231
- wp_redirect(get_post_permalink($redirect));
232
- } elseif (is_callable($redirect)) {
233
- call_user_func($redirect, $args);
234
  } elseif (!empty($args['callback']) && is_callable($args['callback'])) {
235
  $message = self::getDenyMessage($area);
236
  call_user_func($args['callback'], $message, '', array());
220
 
221
  /**
222
  *
223
+ * @param type $location
224
  * @param type $area
225
  * @param type $args
226
  */
227
+ public static function redirect($location, $area = null, $args = null) {
228
+ if (filter_var($location, FILTER_VALIDATE_URL)) {
229
+ wp_redirect($location);
230
+ } elseif (preg_match('/^[\d]+$/', $location)) {
231
+ wp_redirect(get_post_permalink($location));
232
+ } elseif (is_callable($location)) {
233
+ call_user_func($location, $args);
234
  } elseif (!empty($args['callback']) && is_callable($args['callback'])) {
235
  $message = self::getDenyMessage($area);
236
  call_user_func($args['callback'], $message, '', array());
Application/Core/Object/Post.php CHANGED
@@ -76,7 +76,7 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
76
 
77
  //read cache first
78
  $option = AAM_Core_Cache::get($chname);
79
-
80
  if ($option === false) { //if false, then the cache is empty but exist
81
  $option = array();
82
  } else {
@@ -85,7 +85,7 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
85
  $option = get_post_meta($this->getPost()->ID, $opname, true);
86
  $this->setOverwritten(!empty($option));
87
  }
88
-
89
  //try to inherit from terms or default settings - AAM Plus Package or any
90
  //other extension that use this filter
91
  if (empty($option)) {
@@ -129,6 +129,8 @@ class AAM_Core_Object_Post extends AAM_Core_Object {
129
  * @access public
130
  */
131
  public function reset() {
 
 
132
  return delete_post_meta($this->getPost()->ID, $this->getOptionName());
133
  }
134
 
76
 
77
  //read cache first
78
  $option = AAM_Core_Cache::get($chname);
79
+
80
  if ($option === false) { //if false, then the cache is empty but exist
81
  $option = array();
82
  } else {
85
  $option = get_post_meta($this->getPost()->ID, $opname, true);
86
  $this->setOverwritten(!empty($option));
87
  }
88
+
89
  //try to inherit from terms or default settings - AAM Plus Package or any
90
  //other extension that use this filter
91
  if (empty($option)) {
129
  * @access public
130
  */
131
  public function reset() {
132
+ AAM_Core_Cache::clear();
133
+
134
  return delete_post_meta($this->getPost()->ID, $this->getOptionName());
135
  }
136
 
Application/Core/Subject.php CHANGED
@@ -243,7 +243,9 @@ abstract class AAM_Core_Subject {
243
  *
244
  * @access public
245
  */
246
- abstract public function getCapabilities();
 
 
247
 
248
  /**
249
  * Retrieve subject based on used class
@@ -252,7 +254,9 @@ abstract class AAM_Core_Subject {
252
  *
253
  * @access protected
254
  */
255
- abstract protected function retrieveSubject();
 
 
256
 
257
  /**
258
  *
@@ -292,18 +296,4 @@ abstract class AAM_Core_Subject {
292
  return null;
293
  }
294
 
295
- /**
296
- * Check if subject has parent
297
- *
298
- * Return true if current subject has parent subject. Applicable only for User
299
- * only were Role is a parent subject to it.
300
- *
301
- * @return boolean
302
- *
303
- * @access public
304
- */
305
- public function hasParent() {
306
- return false;
307
- }
308
-
309
  }
243
  *
244
  * @access public
245
  */
246
+ public function getCapabilities() {
247
+ return array();
248
+ }
249
 
250
  /**
251
  * Retrieve subject based on used class
254
  *
255
  * @access protected
256
  */
257
+ protected function retrieveSubject() {
258
+ return null;
259
+ }
260
 
261
  /**
262
  *
296
  return null;
297
  }
298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  }
Application/Core/Subject/Default.php ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ======================================================================
5
+ * LICENSE: This file is subject to the terms and conditions defined in *
6
+ * file 'license.txt', which is part of this source code package. *
7
+ * ======================================================================
8
+ */
9
+
10
+ /**
11
+ * Default subject
12
+ *
13
+ * @package AAM
14
+ * @author Vasyl Martyniuk <vasyl@vasyltech.com>
15
+ */
16
+ class AAM_Core_Subject_Default extends AAM_Core_Subject {
17
+
18
+ /**
19
+ * Subject UID: DEFAULT
20
+ */
21
+ const UID = 'default';
22
+
23
+ /**
24
+ *
25
+ * @param type $value
26
+ * @param type $object
27
+ * @param type $object_id
28
+ * @return type
29
+ */
30
+ public function updateOption($value, $object, $object_id = 0) {
31
+ return AAM_Core_API::updateOption(
32
+ $this->getOptionName($object, $object_id), $value
33
+ );
34
+ }
35
+
36
+ /**
37
+ *
38
+ * @param type $object
39
+ * @param type $object_id
40
+ * @param type $default
41
+ * @return type
42
+ */
43
+ public function readOption($object, $object_id = 0, $default = null) {
44
+ return AAM_Core_API::getOption(
45
+ $this->getOptionName($object, $object_id), $default
46
+ );
47
+ }
48
+
49
+ /**
50
+ *
51
+ * @param type $object
52
+ * @param type $id
53
+ * @return string
54
+ */
55
+ public function getOptionName($object, $id) {
56
+ return "aam_{$object}" . ($id ? "_{$id}_" : '_') . self::UID;
57
+ }
58
+
59
+ /**
60
+ *
61
+ * @return type
62
+ */
63
+ public function getUID() {
64
+ return self::UID;
65
+ }
66
+
67
+ }
Application/Core/Subject/Role.php CHANGED
@@ -179,14 +179,11 @@ class AAM_Core_Subject_Role extends AAM_Core_Subject {
179
  * @inheritdoc
180
  */
181
  public function getParent() {
182
- return apply_filters('aam-parent-role-filter', null, $this);
 
 
 
 
183
  }
184
 
185
- /**
186
- * @inheritdoc
187
- */
188
- public function hasParent() {
189
- return ($this->getParent() ? true : false);
190
- }
191
-
192
  }
179
  * @inheritdoc
180
  */
181
  public function getParent() {
182
+ return apply_filters(
183
+ 'aam-parent-role-filter',
184
+ new AAM_Core_Subject_Default,
185
+ $this
186
+ );
187
  }
188
 
 
 
 
 
 
 
 
189
  }
Application/Core/Subject/User.php CHANGED
@@ -250,13 +250,6 @@ class AAM_Core_Subject_User extends AAM_Core_Subject {
250
  return "aam_{$object}" . ($id ? "_{$id}" : '');
251
  }
252
 
253
- /**
254
- * @inheritdoc
255
- */
256
- public function hasParent() {
257
- return true;
258
- }
259
-
260
  /**
261
  * Get Subject UID
262
  *
250
  return "aam_{$object}" . ($id ? "_{$id}" : '');
251
  }
252
 
 
 
 
 
 
 
 
253
  /**
254
  * Get Subject UID
255
  *
Application/Core/Subject/Visitor.php CHANGED
@@ -20,25 +20,6 @@ class AAM_Core_Subject_Visitor extends AAM_Core_Subject {
20
  */
21
  const UID = 'visitor';
22
 
23
- /**
24
- * Retrieve Visitor Subject
25
- *
26
- * @return null|AAM_Core_Subject
27
- *
28
- * @access protected
29
- */
30
- protected function retrieveSubject() {
31
- return null;
32
- }
33
-
34
- /**
35
- *
36
- * @return type
37
- */
38
- public function getCapabilities() {
39
- return array();
40
- }
41
-
42
  /**
43
  *
44
  * @param type $value
20
  */
21
  const UID = 'visitor';
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  /**
24
  *
25
  * @param type $value
Application/Frontend/Manager.php CHANGED
@@ -39,7 +39,7 @@ class AAM_Frontend_Manager {
39
  public function __construct() {
40
  if (AAM_Core_Config::get('frontend-access-control', true)) {
41
  //login hook
42
- add_action('wp_login', array($this, 'login'), 10, 2);
43
 
44
  //control WordPress frontend
45
  add_action('wp', array($this, 'wp'), 999);
@@ -70,9 +70,31 @@ class AAM_Frontend_Manager {
70
  * @param type $login
71
  * @param type $user
72
  */
73
- public function login($login, $user = null) {
 
 
74
  if (is_a($user, 'WP_User')) {
75
- AAM_Core_API::deleteOption('aam-user-switch-' . $user->ID);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  }
77
  }
78
 
39
  public function __construct() {
40
  if (AAM_Core_Config::get('frontend-access-control', true)) {
41
  //login hook
42
+ add_action('wp_login', array($this, 'login'), 999);
43
 
44
  //control WordPress frontend
45
  add_action('wp', array($this, 'wp'), 999);
70
  * @param type $login
71
  * @param type $user
72
  */
73
+ public function login() {
74
+ $user = wp_get_current_user();
75
+
76
  if (is_a($user, 'WP_User')) {
77
+ AAM_Core_API::deleteOption('aam-user-switch-' . $user->ID);
78
+
79
+ $subject = new AAM_Core_Subject_User($user->ID);
80
+
81
+ //if Login redirect is defined
82
+ $type = apply_filters(
83
+ 'aam-login-redirect-option-filter',
84
+ AAM_Core_Config::get('login.redirect.type', 'default'),
85
+ 'login.redirect.type',
86
+ $subject
87
+ );
88
+
89
+ if ($type !== 'default') {
90
+ $redirect = apply_filters(
91
+ 'aam-login-redirect-option-filter',
92
+ AAM_Core_Config::get("login.redirect.{$type}"),
93
+ "login.redirect.{$type}",
94
+ $subject
95
+ );
96
+ AAM_Core_API::redirect($redirect);
97
+ }
98
  }
99
  }
100
 
aam.php CHANGED
@@ -2,8 +2,8 @@
2
 
3
  /**
4
  Plugin Name: Advanced Access Manager
5
- Description: Manage User and Role Access to WordPress Backend and Frontend.
6
- Version: 3.9.3
7
  Author: Vasyl Martyniuk <vasyl@vasyltech.com>
8
  Author URI: https://www.vasyltech.com
9
 
@@ -53,7 +53,7 @@ class AAM {
53
  } else {
54
  $this->setUser(new AAM_Core_Subject_Visitor(''));
55
  }
56
-
57
  //load AAM core config
58
  AAM_Core_Config::bootstrap();
59
  }
2
 
3
  /**
4
  Plugin Name: Advanced Access Manager
5
+ Description: Manage website access for any user, role or visitors
6
+ Version: 3.9.5
7
  Author: Vasyl Martyniuk <vasyl@vasyltech.com>
8
  Author URI: https://www.vasyltech.com
9
 
53
  } else {
54
  $this->setUser(new AAM_Core_Subject_Visitor(''));
55
  }
56
+
57
  //load AAM core config
58
  AAM_Core_Config::bootstrap();
59
  }
media/css/aam.css CHANGED
@@ -62,72 +62,74 @@
62
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
63
  }
64
 
65
- .icon-spin4:before { content: '\e800' !important; } /* '' */
66
- .icon-user-secret:before { content: '\e801' !important; } /* '' */
67
- .icon-folder:before { content: '\e802' !important; } /* '' */
68
- .icon-stop:before { content: '\e803' !important; } /* '' */
69
- .icon-left-dir:before { content: '\e804' !important; } /* '' */
70
- .icon-dollar:before { content: '\e805' !important; } /* '' */
71
- .icon-mail-alt:before { content: '\e806' !important; } /* '' */
72
- .icon-download-cloud:before { content: '\e807' !important; } /* '' */
73
- .icon-eye-off:before { content: '\e808' !important; } /* '' */
74
- .icon-attention-circled:before { content: '\e809' !important; } /* '' */
75
- .icon-cog-alt:before { content: '\e80a' !important; } /* '' */
76
- .icon-link-1:before { content: '\e80b' !important; } /* '' */
77
- .icon-user-secret-1:before { content: '\e80c' !important; } /* '' */
78
- .icon-unlink:before { content: '\e80d' !important; } /* '' */
79
- .icon-sort-down:before { content: '\e80e' !important; } /* '' */
80
- .icon-pencil:before { content: '\e80f' !important; } /* '' */
81
- .icon-arrows-cw:before { content: '\e810' !important; } /* '' */
82
- .icon-sort-up:before { content: '\e811' !important; } /* '' */
83
- .icon-sort:before { content: '\e812' !important; } /* '' */
84
- .icon-lock-open-alt:before { content: '\e813' !important; } /* '' */
85
- .icon-plus:before { content: '\e814' !important; } /* '' */
86
- .icon-filter:before { content: '\e815' !important; } /* '' */
87
- .icon-check:before { content: '\e816' !important; } /* '' */
88
- .icon-help-circled:before { content: '\e817' !important; } /* '' */
89
- .icon-file-code:before { content: '\e818' !important; } /* '' */
90
- .icon-users:before { content: '\e819' !important; } /* '' */
91
- .icon-box-1:before { content: '\e81a' !important; } /* '' */
92
- .icon-folder-1:before { content: '\e81b' !important; } /* '' */
93
- .icon-eye-1:before { content: '\e81c' !important; } /* '' */
94
- .icon-upload-cloud:before { content: '\e81d' !important; } /* '' */
95
- .icon-user-plus:before { content: '\e81e' !important; } /* '' */
96
- .icon-gauge:before { content: '\e81f' !important; } /* '' */
97
- .icon-box:before { content: '\e820' !important; } /* 'î  ' */
98
- .icon-plus-circled:before { content: '\e821' !important; } /* 'î ¡' */
99
- .icon-link:before { content: '\e822' !important; } /* 'î ¢' */
100
- .icon-wrench:before { content: '\e823' !important; } /* 'î £' */
101
- .icon-eye:before { content: '\e824' !important; } /* 'î ¤' */
102
- .icon-medkit:before { content: '\e825' !important; } /* 'î ¥' */
103
- .icon-basket:before { content: '\e826' !important; } /* 'î ¦' */
104
- .icon-check-empty:before { content: '\e827' !important; } /* 'î §' */
105
- .icon-doc-text-inv:before { content: '\e828' !important; } /* 'î ¨' */
106
- .icon-home:before { content: '\e829' !important; } /* 'î ©' */
107
- .icon-angle-double-right:before { content: '\e82a' !important; } /* 'î ª' */
108
- .icon-facebook:before { content: '\e82b' !important; } /* 'î «' */
109
- .icon-star:before { content: '\e82c' !important; } /* 'î ¬' */
110
- .icon-list:before { content: '\e82d' !important; } /* 'î ­' */
111
- .icon-up-dir:before { content: '\e82e' !important; } /* 'î ®' */
112
- .icon-dot-circled:before { content: '\e82f' !important; } /* 'î ¯' */
113
- .icon-code:before { content: '\e830' !important; } /* 'î °' */
114
- .icon-bug:before { content: '\e831' !important; } /* 'î ±' */
115
- .icon-heartbeat:before { content: '\e832' !important; } /* 'î ²' */
116
- .icon-connectdevelop:before { content: '\e833' !important; } /* 'î ³' */
117
- .icon-trash-empty:before { content: '\e834' !important; } /* 'î ´' */
118
- .icon-download-cloud-1:before { content: '\e835' !important; } /* 'î µ' */
119
- .icon-github:before { content: '\e836' !important; } /* 'î ' */
120
- .icon-cog:before { content: '\e837' !important; } /* 'î ·' */
121
- .icon-lock:before { content: '\e838' !important; } /* 'î ¸' */
122
- .icon-twitter:before { content: '\e839' !important; } /* 'î ¹' */
123
- .icon-certificate:before { content: '\e83a' !important; } /* 'î º' */
124
- .icon-user:before { content: '\e83b' !important; } /* 'î »' */
125
- .icon-level-down:before { content: '\e83c' !important; } /* 'î ¼' */
126
- .icon-exchange:before { content: '\f0ec' !important; } /* '' */
127
- .icon-circle:before { content: '\f111' !important; } /* '' */
128
- .icon-thumbs-up-alt:before { content: '\f164' !important; } /* '' */
129
- .icon-circle-thin:before { content: '\f1db' !important; } /* '' */
130
- .icon-clone:before { content: '\f24d' !important; } /* '' */
 
 
131
 
132
  .animate-spin {
133
  -moz-animation: spin 2s infinite linear;
@@ -272,6 +274,7 @@ a:focus, a:active {
272
 
273
  .nav-tabs > li > a {
274
  outline: none;
 
275
  }
276
 
277
  .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
@@ -457,12 +460,12 @@ input[type=checkbox] + label:before {
457
  font-family: 'fontello';
458
  display: inline-block;
459
  font-size: 1.2em;
460
- content: "\e827"; /* unchecked icon */
461
  }
462
 
463
  input[type=checkbox]:checked + label:before {
464
  font-size: 1.2em;
465
- content: "\e816"; /* checked icon */
466
  }
467
 
468
  input[type=checkbox].aam-checkbox-danger:checked + label:before {
@@ -486,13 +489,13 @@ input[type=radio] + label:before {
486
  font-family: 'fontello';
487
  display: inline-block;
488
  font-size: 1.2em;
489
- content: "\f1db"; /* unchecked icon */
490
  margin-right: 10px;
491
  }
492
 
493
  input[type=radio]:checked + label:before {
494
  font-size: 1.2em;
495
- content: "\f111"; /* checked icon */
496
  margin-right: 10px;
497
  }
498
 
62
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
63
  }
64
 
65
+
66
+ .icon-asterisk:before { content: '\e800'; } /* '' */
67
+ .icon-spin4:before { content: '\e801'; } /* '' */
68
+ .icon-user-secret:before { content: '\e802'; } /* '' */
69
+ .icon-folder:before { content: '\e803'; } /* '' */
70
+ .icon-stop:before { content: '\e804'; } /* '' */
71
+ .icon-left-dir:before { content: '\e805'; } /* '' */
72
+ .icon-dollar:before { content: '\e806'; } /* '' */
73
+ .icon-mail-alt:before { content: '\e807'; } /* '' */
74
+ .icon-download-cloud:before { content: '\e808'; } /* '' */
75
+ .icon-eye-off:before { content: '\e809'; } /* '' */
76
+ .icon-attention-circled:before { content: '\e80a'; } /* '' */
77
+ .icon-cog-alt:before { content: '\e80b'; } /* '' */
78
+ .icon-link-1:before { content: '\e80c'; } /* '' */
79
+ .icon-user-secret-1:before { content: '\e80d'; } /* '' */
80
+ .icon-unlink:before { content: '\e80e'; } /* '' */
81
+ .icon-sort-down:before { content: '\e80f'; } /* '' */
82
+ .icon-pencil:before { content: '\e810'; } /* '' */
83
+ .icon-arrows-cw:before { content: '\e811'; } /* '' */
84
+ .icon-sort-up:before { content: '\e812'; } /* '' */
85
+ .icon-sort:before { content: '\e813'; } /* '' */
86
+ .icon-lock-open-alt:before { content: '\e814'; } /* '' */
87
+ .icon-plus:before { content: '\e815'; } /* '' */
88
+ .icon-filter:before { content: '\e816'; } /* '' */
89
+ .icon-check:before { content: '\e817'; } /* '' */
90
+ .icon-help-circled:before { content: '\e818'; } /* '' */
91
+ .icon-file-code:before { content: '\e819'; } /* '' */
92
+ .icon-users:before { content: '\e81a'; } /* '' */
93
+ .icon-box-1:before { content: '\e81b'; } /* '' */
94
+ .icon-folder-1:before { content: '\e81c'; } /* '' */
95
+ .icon-eye-1:before { content: '\e81d'; } /* '' */
96
+ .icon-upload-cloud:before { content: '\e81e'; } /* '' */
97
+ .icon-user-plus:before { content: '\e81f'; } /* '' */
98
+ .icon-gauge:before { content: '\e820'; } /* 'î  ' */
99
+ .icon-box:before { content: '\e821'; } /* 'î ¡' */
100
+ .icon-plus-circled:before { content: '\e822'; } /* 'î ¢' */
101
+ .icon-link:before { content: '\e823'; } /* 'î £' */
102
+ .icon-wrench:before { content: '\e824'; } /* 'î ¤' */
103
+ .icon-eye:before { content: '\e825'; } /* 'î ¥' */
104
+ .icon-medkit:before { content: '\e826'; } /* 'î ¦' */
105
+ .icon-basket:before { content: '\e827'; } /* 'î §' */
106
+ .icon-check-empty:before { content: '\e828'; } /* 'î ¨' */
107
+ .icon-doc-text-inv:before { content: '\e829'; } /* 'î ©' */
108
+ .icon-home:before { content: '\e82a'; } /* 'î ª' */
109
+ .icon-angle-double-right:before { content: '\e82b'; } /* 'î «' */
110
+ .icon-facebook:before { content: '\e82c'; } /* 'î ¬' */
111
+ .icon-star:before { content: '\e82d'; } /* 'î ­' */
112
+ .icon-list:before { content: '\e82e'; } /* 'î ®' */
113
+ .icon-up-dir:before { content: '\e82f'; } /* 'î ¯' */
114
+ .icon-dot-circled:before { content: '\e830'; } /* 'î °' */
115
+ .icon-code:before { content: '\e831'; } /* 'î ±' */
116
+ .icon-bug:before { content: '\e832'; } /* 'î ²' */
117
+ .icon-heartbeat:before { content: '\e833'; } /* 'î ³' */
118
+ .icon-connectdevelop:before { content: '\e834'; } /* 'î ´' */
119
+ .icon-trash-empty:before { content: '\e835'; } /* 'î µ' */
120
+ .icon-download-cloud-1:before { content: '\e836'; } /* 'î ' */
121
+ .icon-github:before { content: '\e837'; } /* 'î ·' */
122
+ .icon-cog:before { content: '\e838'; } /* 'î ¸' */
123
+ .icon-lock:before { content: '\e839'; } /* 'î ¹' */
124
+ .icon-twitter:before { content: '\e83a'; } /* 'î º' */
125
+ .icon-certificate:before { content: '\e83b'; } /* 'î »' */
126
+ .icon-user:before { content: '\e83c'; } /* 'î ¼' */
127
+ .icon-level-down:before { content: '\e83d'; } /* 'î ½' */
128
+ .icon-exchange:before { content: '\f0ec'; } /* '' */
129
+ .icon-circle:before { content: '\f111'; } /* '' */
130
+ .icon-thumbs-up-alt:before { content: '\f164'; } /* '' */
131
+ .icon-circle-thin:before { content: '\f1db'; } /* '' */
132
+ .icon-clone:before { content: '\f24d'; } /* '' */
133
 
134
  .animate-spin {
135
  -moz-animation: spin 2s infinite linear;
274
 
275
  .nav-tabs > li > a {
276
  outline: none;
277
+ font-size: 0.9em;
278
  }
279
 
280
  .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
460
  font-family: 'fontello';
461
  display: inline-block;
462
  font-size: 1.2em;
463
+ content: "\E828"; /* unchecked icon */
464
  }
465
 
466
  input[type=checkbox]:checked + label:before {
467
  font-size: 1.2em;
468
+ content: "\E817"; /* checked icon */
469
  }
470
 
471
  input[type=checkbox].aam-checkbox-danger:checked + label:before {
489
  font-family: 'fontello';
490
  display: inline-block;
491
  font-size: 1.2em;
492
+ content: "\F1DB"; /* unchecked icon */
493
  margin-right: 10px;
494
  }
495
 
496
  input[type=radio]:checked + label:before {
497
  font-size: 1.2em;
498
+ content: "\F111"; /* checked icon */
499
  margin-right: 10px;
500
  }
501
 
media/css/datatables.min.css CHANGED
@@ -81,16 +81,16 @@ table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,ta
81
  }
82
  table.dataTable thead .sorting:after {
83
  font-family: "fontello";
84
- content: "\e812";
85
  opacity: 0.2;
86
  }
87
  table.dataTable thead .sorting_asc:after {
88
  font-family: "fontello";
89
- content: "\e80e";
90
  }
91
  table.dataTable thead .sorting_desc:after {
92
  font-family: "fontello";
93
- content: "\e811";
94
  }
95
  table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after {
96
  color: #eee;
81
  }
82
  table.dataTable thead .sorting:after {
83
  font-family: "fontello";
84
+ content: "\E813";
85
  opacity: 0.2;
86
  }
87
  table.dataTable thead .sorting_asc:after {
88
  font-family: "fontello";
89
+ content: "\E80F";
90
  }
91
  table.dataTable thead .sorting_desc:after {
92
  font-family: "fontello";
93
+ content: "\E812";
94
  }
95
  table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after {
96
  color: #eee;
media/font/fontello.eot CHANGED
Binary file
media/font/fontello.svg CHANGED
@@ -6,127 +6,129 @@
6
  <font id="fontello" horiz-adv-x="1000" >
7
  <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
  <missing-glyph horiz-adv-x="1000" />
9
- <glyph glyph-name="spin4" unicode="&#xe800;" d="M498 850c-114 0-228-39-320-116l0 0c173 140 428 130 588-31 134-134 164-332 89-495-10-29-5-50 12-68 21-20 61-23 84 0 3 3 12 15 15 24 71 180 33 393-112 539-99 98-228 147-356 147z m-409-274c-14 0-29-5-39-16-3-3-13-15-15-24-71-180-34-393 112-539 185-185 479-195 676-31l0 0c-173-140-428-130-589 31-134 134-163 333-89 495 11 29 6 50-12 68-11 11-27 17-44 16z" horiz-adv-x="1001" />
10
 
11
- <glyph glyph-name="user-secret" unicode="&#xe801;" d="M321-7l54 250-54 71-71 36z m143 0l72 357-72-36-53-71z m90 564q-1 2-3 3-5 4-53 4-39 0-93-10-4-1-12-1t-12 1q-54 10-93 10-48 0-54-4-1-1-2-3 1-11 2-16 2-1 5-3t4-6q1-2 4-11t4-12 4-9 5-10 5-8 7-7 7-6 10-4 12-2 13-1q20 0 33 7t18 16 8 20 7 16 10 7h6q6 0 10-7t6-16 9-20 18-16 33-7q7 0 13 1t12 2 9 4 8 6 7 7 5 8 5 10 4 9 4 12 4 11q1 4 4 6t4 3q2 5 3 16z m232-491q0-68-41-106t-108-39h-488q-67 0-108 39t-41 106q0 34 3 66t10 70 21 69 36 58 52 41l-51 123h120q-12 36-12 71 0 7 1 18-109 23-109 54 0 32 118 55 9 35 28 75t40 63q18 21 42 21 17 0 47-17t47-18 47 18 47 17q24 0 42-21 20-23 39-63t29-75q117-23 117-55 0-31-108-54 4-45-11-89h119l-45-126q35-18 60-54t36-80 16-84 5-83z" horiz-adv-x="857.1" />
12
 
13
- <glyph glyph-name="folder" unicode="&#xe802;" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
14
 
15
- <glyph glyph-name="stop" unicode="&#xe803;" d="M857 743v-786q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v786q0 14 11 25t25 11h785q15 0 26-11t10-25z" horiz-adv-x="857.1" />
16
 
17
- <glyph glyph-name="left-dir" unicode="&#xe804;" d="M357 600v-500q0-14-10-25t-26-11-25 11l-250 250q-10 11-10 25t10 25l250 250q11 11 25 11t26-11 10-25z" horiz-adv-x="357.1" />
18
 
19
- <glyph glyph-name="dollar" unicode="&#xe805;" d="M546 189q0-86-56-147t-144-77v-97q0-8-5-13t-13-5h-75q-7 0-13 5t-5 13v97q-37 5-71 18t-57 25-41 26-26 21-10 10q-9 12-1 23l58 76q3 5 12 6 9 1 14-5l1-1q63-55 135-70 21-4 42-4 45 0 79 24t35 68q0 16-9 30t-18 23-33 21-37 18-45 18q-21 9-34 14t-34 15-35 17-32 20-29 24-25 27-20 32-11 37-5 44q0 77 55 135t142 75v100q0 7 5 13t13 5h75q8 0 13-5t5-13v-98q32-4 62-13t48-19 36-21 21-16 9-8q9-10 3-21l-46-81q-4-9-12-9-8-2-16 4-1 1-8 6t-21 15-33 18-42 15-47 6q-53 0-87-24t-33-62q0-14 4-27t17-23 22-18 31-18 34-15 39-15q30-11 45-18t43-19 42-24 34-28 30-35 18-43 7-52z" horiz-adv-x="571.4" />
20
 
21
- <glyph glyph-name="mail-alt" unicode="&#xe806;" d="M1000 454v-443q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v443q25-28 56-49 202-137 278-192 32-24 51-37t53-27 61-13h2q28 0 61 13t53 27 51 37q95 68 278 192 32 22 56 49z m0 164q0-44-27-84t-68-69q-210-146-262-181-5-4-23-17t-30-22-29-18-33-15-27-5h-2q-12 0-27 5t-33 15-29 18-30 22-23 17q-51 35-147 101t-114 80q-35 23-65 64t-31 77q0 43 23 72t66 29h822q36 0 62-26t27-63z" horiz-adv-x="1000" />
22
 
23
- <glyph glyph-name="download-cloud" unicode="&#xe807;" d="M714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
24
 
25
- <glyph glyph-name="eye-off" unicode="&#xe808;" d="M310 105l43 79q-48 35-76 88t-27 114q0 67 34 125-128-65-213-197 94-144 239-209z m217 424q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m202 106q0-4 0-5-59-105-176-316t-176-316l-28-50q-5-9-15-9-7 0-75 39-9 6-9 16 0 7 25 49-80 36-147 96t-117 137q-11 17-11 38t11 39q86 131 212 207t277 76q50 0 100-10l31 54q5 9 15 9 3 0 10-3t18-9 18-10 18-10 10-7q9-5 9-15z m21-249q0-78-44-142t-117-92l157 281q4-26 4-47z m250-72q0-19-11-38-22-36-61-81-84-96-194-149t-234-53l41 74q119 10 219 76t169 171q-65 100-158 164l35 63q53-36 102-86t81-102q11-19 11-39z" horiz-adv-x="1000" />
26
 
27
- <glyph glyph-name="attention-circled" unicode="&#xe809;" d="M429 779q116 0 215-58t156-156 57-215-57-215-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58z m71-696v106q0 8-5 13t-12 5h-107q-8 0-13-5t-6-13v-106q0-8 6-13t13-6h107q7 0 12 6t5 13z m-1 192l10 346q0 7-6 10-5 5-13 5h-123q-8 0-13-5-6-3-6-10l10-346q0-6 5-10t14-4h103q8 0 13 4t6 10z" horiz-adv-x="857.1" />
28
 
29
- <glyph glyph-name="cog-alt" unicode="&#xe80a;" d="M500 350q0 59-42 101t-101 42-101-42-42-101 42-101 101-42 101 42 42 101z m429-286q0 29-22 51t-50 21-50-21-21-51q0-29 21-50t50-21 51 21 21 50z m0 572q0 29-22 50t-50 21-50-21-21-50q0-30 21-51t50-21 51 21 21 51z m-215-235v-103q0-6-4-11t-9-6l-86-14q-6-19-18-42 19-27 50-64 4-6 4-11 0-7-4-11-13-17-46-50t-44-33q-6 0-11 4l-64 50q-21-11-43-17-6-60-13-87-4-13-17-13h-104q-6 0-11 4t-5 10l-13 85q-19 6-42 18l-66-50q-4-4-11-4-6 0-12 4-80 75-80 90 0 5 4 10 5 8 23 30t26 34q-13 24-20 46l-85 13q-5 1-9 5t-4 11v103q0 6 4 11t9 6l86 14q7 19 18 42-19 27-50 64-4 6-4 11 0 7 4 11 12 17 46 50t44 33q6 0 12-4l64-50q19 10 43 18 6 60 13 86 3 13 16 13h104q6 0 11-4t6-10l13-85q19-6 41-17l66 49q5 4 11 4 7 0 12-4 81-75 81-90 0-5-4-10-7-9-24-30t-25-34q13-27 19-46l85-12q5-2 9-6t4-11z m357-298v-78q0-9-83-17-6-15-16-29 28-63 28-77 0-2-2-4-68-40-69-40-5 0-26 27t-29 37q-11-1-17-1t-17 1q-7-11-29-37t-25-27q-1 0-69 40-3 2-3 4 0 14 29 77-10 14-17 29-83 8-83 17v78q0 9 83 18 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 1 17 1t17-1q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-9 83-18z m0 572v-78q0-9-83-18-6-15-16-29 28-63 28-77 0-2-2-4-68-39-69-39-5 0-26 26t-29 38q-11-1-17-1t-17 1q-7-12-29-38t-25-26q-1 0-69 39-3 2-3 4 0 14 29 77-10 14-17 29-83 9-83 18v78q0 9 83 17 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 2 17 2t17-2q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-8 83-17z" horiz-adv-x="1071.4" />
30
 
31
- <glyph glyph-name="link-1" unicode="&#xe80b;" d="M812 171q0 23-15 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q15 16 15 37z m-392 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 10-8 12-12 11-11q18 17 18 41z m500-394q0-67-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l114-116q47-46 47-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
32
 
33
- <glyph glyph-name="user-secret-1" unicode="&#xe80c;" d="M321-7l54 250-54 71-71 36z m143 0l72 357-72-36-53-71z m90 563q-2 3-3 4-5 4-53 4-39 0-93-10-4-2-12-2t-12 2q-54 10-93 10-48 0-54-4-1-1-2-4 1-10 2-15 2-1 5-3t4-6q1-2 4-12t4-11 4-10 5-9 5-8 7-7 7-6 10-4 12-2 13-1q20 0 33 6t18 17 8 19 7 17 10 7h6q6 0 10-7t6-17 9-19 18-17 33-6q7 0 13 1t12 2 9 4 8 6 7 7 5 8 5 9 4 10 4 11 4 12q1 4 4 6t4 3q1 5 3 15z m232-490q0-68-41-106t-108-39h-488q-67 0-108 39t-41 106q0 34 3 66t10 70 21 69 36 58 52 41l-51 123h120q-12 36-12 71 0 7 1 18-109 22-109 54 0 32 118 55 9 35 28 75t40 63q18 21 42 21 17 0 47-17t47-18 47 18 47 17q24 0 42-21 20-23 39-63t29-75q117-23 117-55 0-32-108-54 4-45-11-89h119l-45-126q35-18 60-54t36-80 16-84 5-83z" horiz-adv-x="857.1" />
34
 
35
- <glyph glyph-name="unlink" unicode="&#xe80d;" d="M245 141l-143-143q-5-5-13-5-6 0-13 5-5 5-5 13t5 13l143 142q6 5 13 5t13-5q5-5 5-12t-5-13z m94-23v-179q0-8-5-13t-13-5-12 5-5 13v179q0 8 5 13t12 5 13-5 5-13z m-125 125q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13 5 13 13 5h178q8 0 13-5t5-13z m706-72q0-67-48-113l-82-81q-46-47-113-47-68 0-114 48l-186 187q-12 11-24 31l134 10 152-153q15-15 38-15t38 15l82 81q15 16 15 37 0 23-15 38l-153 154 10 133q20-12 31-23l188-188q47-48 47-114z m-345 404l-133-10-152 153q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l153-153-10-134q-20 12-32 24l-187 187q-47 48-47 114 0 67 47 113l82 82q47 46 114 46 67 0 114-47l186-187q12-12 23-32z m354-46q0-8-5-13t-13-5h-179q-8 0-13 5t-5 13 5 12 13 5h179q8 0 13-5t5-12z m-304 303v-178q0-8-5-13t-13-5-13 5-5 13v178q0 8 5 13t13 5 13-5 5-13z m227-84l-143-143q-6-5-13-5t-12 5q-5 6-5 13t5 13l142 142q6 5 13 5t13-5q5-5 5-12t-5-13z" horiz-adv-x="928.6" />
36
 
37
- <glyph glyph-name="sort-down" unicode="&#xe80e;" d="M571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z" horiz-adv-x="571.4" />
38
 
39
- <glyph glyph-name="pencil" unicode="&#xe80f;" d="M203-7l50 51-131 131-51-51v-60h72v-71h60z m291 518q0 12-12 12-5 0-9-4l-303-302q-4-4-4-10 0-12 13-12 5 0 9 4l303 302q3 4 3 10z m-30 107l232-232-464-465h-232v233z m381-54q0-29-20-50l-93-93-232 233 93 92q20 21 50 21 29 0 51-21l131-131q20-22 20-51z" horiz-adv-x="857.1" />
40
 
41
- <glyph glyph-name="arrows-cw" unicode="&#xe810;" d="M843 261q0-3 0-4-36-150-150-243t-267-93q-81 0-157 31t-136 88l-72-72q-11-11-25-11t-25 11-11 25v250q0 14 11 25t25 11h250q14 0 25-11t10-25-10-25l-77-77q40-37 90-57t105-20q74 0 139 37t104 99q6 10 29 66 5 13 17 13h107q8 0 13-6t5-12z m14 446v-250q0-14-10-25t-26-11h-250q-14 0-25 11t-10 25 10 25l77 77q-82 77-194 77-75 0-140-37t-104-99q-6-10-29-66-5-13-17-13h-111q-7 0-13 6t-5 12v4q36 150 151 243t268 93q81 0 158-31t137-88l72 72q11 11 25 11t26-11 10-25z" horiz-adv-x="857.1" />
42
 
43
- <glyph glyph-name="sort-up" unicode="&#xe811;" d="M571 457q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
44
 
45
- <glyph glyph-name="sort" unicode="&#xe812;" d="M571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z m0 214q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
46
 
47
- <glyph glyph-name="lock-open-alt" unicode="&#xe813;" d="M589 421q23 0 38-15t16-38v-322q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v322q0 22 16 38t38 15h17v179q0 103 74 177t176 73 177-73 73-177q0-15-10-25t-25-11h-36q-14 0-25 11t-11 25q0 59-42 101t-101 42-101-42-41-101v-179h410z" horiz-adv-x="642.9" />
48
 
49
- <glyph glyph-name="plus" unicode="&#xe814;" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q22 0 38-16t16-38z" horiz-adv-x="785.7" />
50
 
51
- <glyph glyph-name="filter" unicode="&#xe815;" d="M783 685q9-23-8-39l-275-275v-414q0-23-22-33-7-3-14-3-15 0-25 11l-143 143q-10 10-10 25v271l-275 275q-18 16-8 39 9 22 33 22h714q23 0 33-22z" horiz-adv-x="785.7" />
52
 
53
- <glyph glyph-name="check" unicode="&#xe816;" d="M786 331v-177q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q35 0 65-14 9-4 10-13 2-10-5-16l-27-28q-6-5-13-5-2 0-5 1-13 3-25 3h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v141q0 8 5 13l36 35q6 6 13 6 3 0 7-2 11-4 11-16z m129 273l-455-454q-13-14-31-14t-32 14l-240 240q-14 13-14 31t14 32l61 62q14 13 32 13t32-13l147-147 361 361q13 13 31 13t32-13l62-61q13-14 13-32t-13-32z" horiz-adv-x="928.6" />
54
 
55
- <glyph glyph-name="help-circled" unicode="&#xe817;" d="M500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
56
 
57
- <glyph glyph-name="file-code" unicode="&#xe818;" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 16-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 15t-16 38v233h-429v-858h715z m-518 500q4 7 12 7t13-3l28-21q7-5 7-12t-3-14l-102-135 102-136q4-6 3-13t-7-12l-28-21q-6-4-13-4t-12 7l-126 168q-8 11 0 21z m447-168q8-10 0-21l-126-168q-4-6-11-7t-14 4l-28 21q-6 5-7 12t3 13l102 136-102 135q-4 7-3 14t7 12l28 21q6 4 14 3t11-7z m-346-257q-7 1-11 7t-3 14l77 464q1 7 7 11t14 3l35-5q7-2 11-8t3-13l-77-464q-1-7-7-11t-13-3z" horiz-adv-x="857.1" />
58
 
59
- <glyph glyph-name="users" unicode="&#xe819;" d="M331 350q-90-3-148-71h-75q-45 0-77 22t-31 66q0 197 69 197 4 0 25-11t54-24 66-12q38 0 75 13-3-21-3-37 0-78 45-143z m598-356q0-66-41-105t-108-39h-488q-68 0-108 39t-41 105q0 30 2 58t8 61 14 61 24 54 35 45 48 30 62 11q6 0 24-12t41-26 59-27 76-12 75 12 60 27 41 26 23 12q35 0 63-11t47-30 35-45 24-54 15-61 8-61 2-58z m-572 713q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m393-214q0-89-63-152t-151-62-152 62-63 152 63 151 152 63 151-63 63-151z m321-126q0-43-31-66t-77-22h-75q-57 68-147 71 45 65 45 143 0 16-3 37 37-13 74-13 33 0 67 12t54 24 24 11q69 0 69-197z m-71 340q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z" horiz-adv-x="1071.4" />
60
 
61
- <glyph glyph-name="box-1" unicode="&#xe81a;" d="M607 386q0 14-10 25t-26 10h-142q-15 0-26-10t-10-25 10-25 26-11h142q15 0 26 11t10 25z m322 107v-536q0-14-11-25t-25-11h-786q-14 0-25 11t-11 25v536q0 14 11 25t25 11h786q14 0 25-11t11-25z m35 250v-143q0-15-10-25t-25-11h-858q-14 0-25 11t-10 25v143q0 14 10 25t25 11h858q14 0 25-11t10-25z" horiz-adv-x="1000" />
62
 
63
- <glyph glyph-name="folder-1" unicode="&#xe81b;" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
64
 
65
- <glyph glyph-name="eye-1" unicode="&#xe81c;" d="M929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
66
 
67
- <glyph glyph-name="upload-cloud" unicode="&#xe81d;" d="M714 368q0 8-5 13l-196 196q-5 5-13 5t-13-5l-196-196q-5-6-5-13 0-8 5-13t13-5h125v-196q0-8 5-13t12-5h108q7 0 12 5t5 13v196h125q8 0 13 5t5 13z m357-161q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
68
 
69
- <glyph glyph-name="user-plus" unicode="&#xe81e;" d="M393 350q-89 0-152 63t-62 151 62 152 152 63 151-63 63-152-63-151-151-63z m536-71h196q7 0 13-6t5-12v-107q0-8-5-13t-13-5h-196v-197q0-7-6-12t-12-6h-107q-8 0-13 6t-5 12v197h-197q-7 0-12 5t-6 13v107q0 7 6 12t12 6h197v196q0 7 5 13t13 5h107q7 0 12-5t6-13v-196z m-411-125q0-29 21-51t50-21h143v-133q-38-28-95-28h-488q-67 0-108 39t-41 106q0 30 2 58t8 61 15 60 24 55 34 45 48 30 62 11q11 0 22-10 44-34 86-51t92-17 92 17 86 51q11 10 22 10 73 0 121-54h-125q-29 0-50-21t-21-50v-107z" horiz-adv-x="1142.9" />
70
 
71
- <glyph glyph-name="gauge" unicode="&#xe81f;" d="M214 207q0 30-21 51t-50 21-51-21-21-51 21-50 51-21 50 21 21 50z m107 250q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m239-268l57 213q3 14-5 27t-21 16-27-3-17-22l-56-213q-33-3-60-25t-35-55q-11-43 11-81t66-50 81 11 50 66q9 33-4 65t-40 51z m369 18q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m-358 357q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m250-107q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m179-250q0-145-79-269-10-17-30-17h-782q-20 0-30 17-79 123-79 269 0 102 40 194t106 160 160 107 194 39 194-39 160-107 106-160 40-194z" horiz-adv-x="1000" />
72
 
73
- <glyph glyph-name="box" unicode="&#xe820;" d="M607 386q0 14-10 25t-26 10h-142q-15 0-26-10t-10-25 10-25 26-11h142q15 0 26 11t10 25z m322 107v-536q0-14-11-25t-25-11h-786q-14 0-25 11t-11 25v536q0 14 11 25t25 11h786q14 0 25-11t11-25z m35 250v-143q0-15-10-25t-25-11h-858q-14 0-25 11t-10 25v143q0 14 10 25t25 11h858q14 0 25-11t10-25z" horiz-adv-x="1000" />
74
 
75
- <glyph glyph-name="plus-circled" unicode="&#xe821;" d="M679 314v72q0 14-11 25t-25 10h-143v143q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-143h-143q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h143v-143q0-15 11-25t25-11h71q15 0 25 11t11 25v143h143q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
76
 
77
- <glyph glyph-name="link" unicode="&#xe822;" d="M813 171q0 23-16 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q16 16 16 37z m-393 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 11-8 12-12 10-11q18 17 18 41z m500-394q0-66-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l115-116q46-46 46-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
78
 
79
- <glyph glyph-name="wrench" unicode="&#xe823;" d="M214 29q0 14-10 25t-25 10-26-10-10-25 10-26 26-10 25 10 10 26z m360 234l-381-381q-21-20-50-20-29 0-51 20l-59 61q-21 20-21 50 0 29 21 51l380 380q22-55 64-97t97-64z m353 243q0-22-12-59-27-75-92-122t-144-46q-104 0-177 73t-73 177 73 176 177 74q32 0 67-10t60-26q9-6 9-15t-9-16l-163-94v-125l108-60q2 2 44 27t75 45 40 20q8 0 13-5t4-14z" horiz-adv-x="928.6" />
80
 
81
- <glyph glyph-name="eye" unicode="&#xe824;" d="M929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
82
 
83
- <glyph glyph-name="medkit" unicode="&#xe825;" d="M714 225v107q0 8-5 13t-13 5h-125v125q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-125h-125q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h125v-125q0-8 5-13t12-5h108q7 0 12 5t5 13v125h125q8 0 13 5t5 13z m-357 411h286v71h-286v-71z m-214 0v-715h-18q-51 0-88 37t-37 88v465q0 51 37 88t88 37h18z m661 0v-715h-608v715h90v89q0 22 15 38t38 16h322q22 0 38-16t15-38v-89h90z m196-125v-465q0-51-37-88t-88-37h-18v715h18q51 0 88-37t37-88z" horiz-adv-x="1000" />
84
 
85
- <glyph glyph-name="basket" unicode="&#xe826;" d="M357-7q0-29-21-50t-50-22-50 22-22 50 22 50 50 21 50-21 21-50z m500 0q0-29-21-50t-50-22-51 22-21 50 21 50 51 21 50-21 21-50z m72 607v-286q0-13-10-23t-22-12l-583-68q7-34 7-40 0-8-13-35h513q15 0 26-11t10-25-10-25-26-11h-571q-14 0-25 11t-11 25q0 6 5 18t9 20 12 22 8 16l-98 460h-114q-15 0-25 10t-11 25 11 26 25 10h143q9 0 16-3t10-9 8-14 4-14 3-17 3-14h670q14 0 25-11t11-25z" horiz-adv-x="928.6" />
86
 
87
- <glyph glyph-name="check-empty" unicode="&#xe827;" d="M625 707h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v464q0 37-26 63t-63 26z m161-89v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" />
88
 
89
- <glyph glyph-name="doc-text-inv" unicode="&#xe828;" d="M819 584q8-7 16-20h-264v264q13-8 21-16z m-265-91h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304q0-22 16-38t38-15z m89-411v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 7-5 12t-13 5h-393q-8 0-13-5t-5-12v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v35q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-35q0-8 5-13t13-5h393q8 0 13 5t5 13z" horiz-adv-x="857.1" />
90
 
91
- <glyph glyph-name="home" unicode="&#xe829;" d="M786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z" horiz-adv-x="928.6" />
92
 
93
- <glyph glyph-name="angle-double-right" unicode="&#xe82a;" d="M332 314q0-7-6-13l-260-260q-5-5-12-5t-13 5l-28 28q-6 6-6 13t6 13l219 219-219 220q-6 5-6 12t6 13l28 28q5 6 13 6t12-6l260-260q6-5 6-13z m214 0q0-7-5-13l-260-260q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13z" horiz-adv-x="571.4" />
94
 
95
- <glyph glyph-name="facebook" unicode="&#xe82b;" d="M535 843v-147h-87q-48 0-65-20t-17-60v-106h164l-22-165h-142v-424h-171v424h-142v165h142v122q0 104 58 161t155 57q82 0 127-7z" horiz-adv-x="571.4" />
96
 
97
- <glyph glyph-name="star" unicode="&#xe82c;" d="M929 489q0-12-15-27l-203-197 48-279q1-4 1-12 0-11-6-19t-17-9q-10 0-22 7l-251 132-250-132q-13-7-23-7-11 0-17 9t-6 19q0 4 1 12l48 279-203 197q-14 15-14 27 0 21 31 26l280 40 126 254q11 23 27 23t28-23l125-254 280-40q32-5 32-26z" horiz-adv-x="928.6" />
98
 
99
- <glyph glyph-name="list" unicode="&#xe82d;" d="M143 118v-107q0-7-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 12t13 6h107q7 0 13-6t5-12z m0 214v-107q0-7-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 13t13 5h107q7 0 13-5t5-13z m0 214v-107q0-7-5-12t-13-6h-107q-7 0-13 6t-5 12v107q0 8 5 13t13 5h107q7 0 13-5t5-13z m857-428v-107q0-7-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 12t12 6h750q7 0 13-6t5-12z m-857 643v-107q0-8-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 12t13 6h107q7 0 13-6t5-12z m857-429v-107q0-7-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 13t12 5h750q7 0 13-5t5-13z m0 214v-107q0-7-5-12t-13-6h-750q-7 0-12 6t-6 12v107q0 8 6 13t12 5h750q7 0 13-5t5-13z m0 215v-107q0-8-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 12t12 6h750q7 0 13-6t5-12z" horiz-adv-x="1000" />
100
 
101
- <glyph glyph-name="up-dir" unicode="&#xe82e;" d="M571 171q0-14-10-25t-25-10h-500q-15 0-25 10t-11 25 11 26l250 250q10 10 25 10t25-10l250-250q10-11 10-26z" horiz-adv-x="571.4" />
102
 
103
- <glyph glyph-name="dot-circled" unicode="&#xe82f;" d="M571 350q0-59-41-101t-101-42-101 42-42 101 42 101 101 42 101-42 41-101z m-142 304q-83 0-153-41t-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152-41 152-110 111-152 41z m428-304q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
104
 
105
- <glyph glyph-name="code" unicode="&#xe830;" d="M344 69l-28-28q-5-5-12-5t-13 5l-260 260q-6 6-6 13t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13t-6-12l-219-220 219-219q6-6 6-13t-6-13z m330 596l-208-721q-2-7-9-11t-13-1l-34 9q-8 3-11 9t-2 14l208 720q3 8 9 11t13 2l35-10q7-2 11-9t1-13z m367-364l-260-260q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13t-5-13z" horiz-adv-x="1071.4" />
106
 
107
- <glyph glyph-name="bug" unicode="&#xe831;" d="M911 314q0-14-11-25t-25-10h-125q0-96-37-162l116-117q10-11 10-25t-10-25q-10-11-25-11t-26 11l-110 110q-3-3-8-7t-24-16-36-21-46-16-54-7v500h-71v-500q-29 0-57 7t-49 19-36 22-25 18l-8 8-102-116q-11-12-27-12-13 0-24 9-11 10-11 25t8 26l113 127q-32 63-32 153h-125q-15 0-25 10t-11 25 11 25 25 11h125v164l-97 97q-11 10-11 25t11 25 25 10 25-10l97-97h471l96 97q11 10 25 10t26-10 10-25-10-25l-97-97v-164h125q15 0 25-11t11-25z m-268 322h-357q0 74 52 126t126 52 127-52 52-126z" horiz-adv-x="928.6" />
108
 
109
- <glyph glyph-name="heartbeat" unicode="&#xe832;" d="M714 279h170q-2-4-5-6t-5-4l-2-3-347-335q-10-10-25-10t-25 10l-348 336q-3 2-11 12h205q13 0 22 7t13 19l39 157 106-372q3-11 13-18t22-8q11 0 21 8t13 18l81 271 31-63q11-19 32-19z m286 238q0-80-57-167h-206l-62 123q-5 10-15 15t-20 5q-25-3-31-26l-72-240-110 383q-3 11-13 18t-22 8-21-8-13-19l-64-259h-236q-58 87-58 167 0 123 71 192t196 70q34 0 70-12t67-33 54-38 42-38q20 20 42 38t54 38 67 33 70 12q125 0 196-70t71-192z" horiz-adv-x="1000" />
110
 
111
- <glyph glyph-name="connectdevelop" unicode="&#xe833;" d="M1143 351q0-12-7-21t-19-11l-114-198q1-5 1-10 0-12-7-20t-18-11l-107-188q1-5 1-9 0-13-9-22t-22-10q-14 0-23 10h-224q-9-11-24-11t-24 11h-222q-10-11-24-11-13 0-23 9t-9 23q0 4 2 11l-107 187q-12 2-19 11t-7 20q0 5 2 10l-115 198q-11 3-18 12t-7 20q0 11 8 20t18 11l111 192q0 0 0 1t0 2q0 20 19 29l116 202q-2 6-2 10 0 14 10 23t22 9q14 0 24-12h221q9 12 24 12t24-12h223q10 12 24 12 13 0 22-9t10-23q0-3-2-10l115-200q13 0 22-9t9-22q0-7-4-15l104-181q11-2 18-11t7-19z m-550-446h217l-191 197h-79l-191-197h201q10 9 21 9t22-9z m-530 453q0-2 0-7 0-6-1-9l116-201q1 0 3 0t3-2l2-1 105 111v194l-104 108q-7-5-16-6z m487 437h-216l106-111 309 111h-156q-9-9-22-9t-21 9z m393-676q0 3 2 6l-35 38-10-44h43z m-60 0l13 59-141 148-165-171 35-36h258z m-49-205l9 15 36 173h-238l186-191q4 2 7 3z m-511-9h2l191 197h-208v-187l2-3q8-3 13-7z m-15 214h224l36 37-172 179-88-93v-123z m-108 0h91v105l-93-98q2-5 2-7z m0 460q0 0 0-1t0-1q0-9-4-16l95-99v150z m108 39v-173l85-88 166 175-124 132z m2 170l-2-4v-148l114 42-106 112q-3-1-6-2z m497 7h-8l-347-125 119-125z m-236-274l-166-176 174-178 165 171z m-187-174l-76 78v-158z m195-204l-23-24h47z m188 195l133-140 73 348-1 3-1 0z m192 223q-5 7-5 16v1l-120 210q-3 1-8 3l-243-259 173-182z m-668 69v124l-91-157z m0-528h-91l91-158v158z m606 0l-27-127 73 127h-46z m68 39l115 202q-1 5-1 7 0 1 2 9l-96 166-72-342 43-46q3 2 9 4z" horiz-adv-x="1142.9" />
112
 
113
- <glyph glyph-name="trash-empty" unicode="&#xe834;" d="M286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15 6-5h464q2 0 6 5t8 15 4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q22 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" />
114
 
115
- <glyph glyph-name="download-cloud-1" unicode="&#xe835;" d="M714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
116
 
117
- <glyph glyph-name="github" unicode="&#xe836;" d="M357 171q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m357 0q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m90 0q0 67-39 114t-104 47q-23 0-109-12-40-6-88-6t-87 6q-85 12-109 12-66 0-104-47t-39-114q0-49 18-85t45-58 68-33 78-17 83-4h94q46 0 83 4t78 17 69 33 45 58 18 85z m125 99q0-116-34-185-22-43-59-74t-79-48-95-27-96-12-93-3q-43 0-79 2t-82 7-85 17-77 28-67 46-48 64q-35 69-35 185 0 132 76 221-15 45-15 94 0 65 28 122 61 0 106-22t106-69q82 20 172 20 83 0 156-18 59 46 105 67t105 22q29-57 29-122 0-48-15-93 76-90 76-222z" horiz-adv-x="928.6" />
118
 
119
- <glyph glyph-name="cog" unicode="&#xe837;" d="M571 350q0 59-41 101t-101 42-101-42-42-101 42-101 101-42 101 42 41 101z m286 61v-124q0-7-4-13t-11-7l-104-16q-10-30-21-51 19-27 59-77 6-6 6-13t-5-13q-15-21-55-61t-53-39q-7 0-14 5l-77 60q-25-13-51-21-9-76-16-104-4-16-20-16h-124q-8 0-14 5t-6 12l-16 103q-27 9-50 21l-79-60q-6-5-14-5-8 0-14 6-70 64-92 94-4 5-4 13 0 6 5 12 8 12 28 37t30 40q-15 28-23 55l-102 15q-7 1-11 7t-5 13v124q0 7 5 13t10 7l104 16q8 25 22 51-23 32-60 77-6 7-6 14 0 5 5 12 15 20 55 60t53 40q7 0 15-5l77-60q24 13 50 21 9 76 17 104 3 15 20 15h124q7 0 13-4t7-12l15-103q28-9 50-21l80 60q5 5 13 5 7 0 14-5 72-67 92-95 4-5 4-13 0-6-4-12-9-12-29-38t-30-39q14-28 23-55l102-15q7-1 12-7t4-13z" horiz-adv-x="857.1" />
120
 
121
- <glyph glyph-name="lock" unicode="&#xe838;" d="M179 421h285v108q0 59-42 101t-101 41-101-41-41-101v-108z m464-53v-322q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v322q0 22 16 38t38 15h17v108q0 102 74 176t176 74 177-74 73-176v-108h18q23 0 38-15t16-38z" horiz-adv-x="642.9" />
122
 
123
- <glyph glyph-name="twitter" unicode="&#xe839;" d="M904 622q-37-54-90-93 0-8 0-23 0-73-21-145t-64-139-103-117-144-82-181-30q-151 0-276 81 19-3 43-3 126 0 224 77-59 2-105 36t-64 89q19-2 34-2 24 0 48 6-63 13-104 62t-41 115v2q38-21 82-23-37 25-59 64t-22 86q0 49 25 91 68-83 164-133t208-55q-5 21-5 41 0 75 53 127t127 53q79 0 132-57 61 12 114 44-20-64-79-100 52 6 104 28z" horiz-adv-x="928.6" />
124
 
125
- <glyph glyph-name="certificate" unicode="&#xe83a;" d="M768 350l77-75q17-16 11-39-7-23-29-29l-105-27 30-103q6-23-11-39-16-18-39-11l-104 30-27-105q-5-23-28-30-7-1-11-1-17 0-28 13l-75 77-76-77q-15-17-39-12-23 7-28 30l-27 105-104-30q-23-7-39 11-17 16-10 39l29 103-105 27q-22 6-29 29-6 23 11 39l77 75-77 75q-17 16-11 39 7 23 29 29l105 27-29 103q-7 23 10 39 16 18 39 11l104-29 27 104q5 23 28 29 23 7 39-11l76-77 75 77q16 17 39 11 23-6 28-29l27-104 104 29q23 7 39-11 17-16 11-39l-30-103 105-27q22-6 29-29 6-23-11-39z" horiz-adv-x="857.1" />
126
 
127
- <glyph glyph-name="user" unicode="&#xe83b;" d="M786 66q0-67-41-106t-108-39h-488q-67 0-108 39t-41 106q0 30 2 58t8 61 15 60 24 55 34 45 48 30 62 11q5 0 24-12t41-27 60-27 75-12 74 12 61 27 41 27 24 12q34 0 62-11t48-30 34-45 24-55 15-60 8-61 2-58z m-179 498q0-88-63-151t-151-63-152 63-62 151 62 152 152 63 151-63 63-152z" horiz-adv-x="785.7" />
128
 
129
- <glyph glyph-name="level-down" unicode="&#xe83c;" d="M18 707h393q7 0 12-5t6-13v-482h107q22 0 32-20t-5-39l-178-214q-11-13-28-13t-27 13l-179 214q-14 17-5 39 10 20 33 20h107v357h-179q-8 0-14 6l-89 108q-7 7-2 19 5 10 16 10z" horiz-adv-x="571.4" />
 
 
130
 
131
  <glyph glyph-name="exchange" unicode="&#xf0ec;" d="M1000 189v-107q0-7-5-12t-13-6h-768v-107q0-7-5-12t-13-6q-6 0-13 6l-178 178q-5 6-5 13 0 8 5 13l179 178q5 5 12 5 8 0 13-5t5-13v-107h768q7 0 13-5t5-13z m0 304q0-8-5-13l-179-178q-5-6-12-6-8 0-13 6t-5 12v107h-768q-7 0-13 6t-5 12v107q0 8 5 13t13 5h768v107q0 8 5 13t13 5q6 0 13-5l178-178q5-5 5-13z" horiz-adv-x="1000" />
132
 
6
  <font id="fontello" horiz-adv-x="1000" >
7
  <font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
8
  <missing-glyph horiz-adv-x="1000" />
9
+ <glyph glyph-name="asterisk" unicode="&#xe800;" d="M827 264q26-14 33-43t-7-55l-35-61q-15-26-44-33t-54 7l-149 85v-171q0-29-21-50t-50-22h-71q-29 0-51 22t-21 50v171l-148-85q-26-15-55-7t-43 33l-36 61q-14 26-7 55t34 43l148 86-148 86q-26 14-34 43t7 55l36 61q15 26 43 33t55-7l148-85v171q0 29 21 50t51 22h71q29 0 50-22t21-50v-171l149 85q26 15 54 7t44-33l35-61q15-26 7-55t-33-43l-148-86z" horiz-adv-x="928.6" />
10
 
11
+ <glyph glyph-name="spin4" unicode="&#xe801;" d="M498 850c-114 0-228-39-320-116l0 0c173 140 428 130 588-31 134-134 164-332 89-495-10-29-5-50 12-68 21-20 61-23 84 0 3 3 12 15 15 24 71 180 33 393-112 539-99 98-228 147-356 147z m-409-274c-14 0-29-5-39-16-3-3-13-15-15-24-71-180-34-393 112-539 185-185 479-195 676-31l0 0c-173-140-428-130-589 31-134 134-163 333-89 495 11 29 6 50-12 68-11 11-27 17-44 16z" horiz-adv-x="1001" />
12
 
13
+ <glyph glyph-name="user-secret" unicode="&#xe802;" d="M321-7l54 250-54 71-71 36z m143 0l72 357-72-36-53-71z m90 564q-1 2-3 3-5 4-53 4-39 0-93-10-4-1-12-1t-12 1q-54 10-93 10-48 0-54-4-1-1-2-3 1-11 2-16 2-1 5-3t4-6q1-2 4-11t4-12 4-9 5-10 5-8 7-7 7-6 10-4 12-2 13-1q20 0 33 7t18 16 8 20 7 16 10 7h6q6 0 10-7t6-16 9-20 18-16 33-7q7 0 13 1t12 2 9 4 8 6 7 7 5 8 5 10 4 9 4 12 4 11q1 4 4 6t4 3q2 5 3 16z m232-491q0-68-41-106t-108-39h-488q-67 0-108 39t-41 106q0 34 3 66t10 70 21 69 36 58 52 41l-51 123h120q-12 36-12 71 0 7 1 18-109 23-109 54 0 32 118 55 9 35 28 75t40 63q18 21 42 21 17 0 47-17t47-18 47 18 47 17q24 0 42-21 20-23 39-63t29-75q117-23 117-55 0-31-108-54 4-45-11-89h119l-45-126q35-18 60-54t36-80 16-84 5-83z" horiz-adv-x="857.1" />
14
 
15
+ <glyph glyph-name="folder" unicode="&#xe803;" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
16
 
17
+ <glyph glyph-name="stop" unicode="&#xe804;" d="M857 743v-786q0-14-10-25t-26-11h-785q-15 0-25 11t-11 25v786q0 14 11 25t25 11h785q15 0 26-11t10-25z" horiz-adv-x="857.1" />
18
 
19
+ <glyph glyph-name="left-dir" unicode="&#xe805;" d="M357 600v-500q0-14-10-25t-26-11-25 11l-250 250q-10 11-10 25t10 25l250 250q11 11 25 11t26-11 10-25z" horiz-adv-x="357.1" />
20
 
21
+ <glyph glyph-name="dollar" unicode="&#xe806;" d="M546 189q0-86-56-147t-144-77v-97q0-8-5-13t-13-5h-75q-7 0-13 5t-5 13v97q-37 5-71 18t-57 25-41 26-26 21-10 10q-9 12-1 23l58 76q3 5 12 6 9 1 14-5l1-1q63-55 135-70 21-4 42-4 45 0 79 24t35 68q0 16-9 30t-18 23-33 21-37 18-45 18q-21 9-34 14t-34 15-35 17-32 20-29 24-25 27-20 32-11 37-5 44q0 77 55 135t142 75v100q0 7 5 13t13 5h75q8 0 13-5t5-13v-98q32-4 62-13t48-19 36-21 21-16 9-8q9-10 3-21l-46-81q-4-9-12-9-8-2-16 4-1 1-8 6t-21 15-33 18-42 15-47 6q-53 0-87-24t-33-62q0-14 4-27t17-23 22-18 31-18 34-15 39-15q30-11 45-18t43-19 42-24 34-28 30-35 18-43 7-52z" horiz-adv-x="571.4" />
22
 
23
+ <glyph glyph-name="mail-alt" unicode="&#xe807;" d="M1000 454v-443q0-37-26-63t-63-27h-822q-36 0-63 27t-26 63v443q25-28 56-49 202-137 278-192 32-24 51-37t53-27 61-13h2q28 0 61 13t53 27 51 37q95 68 278 192 32 22 56 49z m0 164q0-44-27-84t-68-69q-210-146-262-181-5-4-23-17t-30-22-29-18-33-15-27-5h-2q-12 0-27 5t-33 15-29 18-30 22-23 17q-51 35-147 101t-114 80q-35 23-65 64t-31 77q0 43 23 72t66 29h822q36 0 62-26t27-63z" horiz-adv-x="1000" />
24
 
25
+ <glyph glyph-name="download-cloud" unicode="&#xe808;" d="M714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
26
 
27
+ <glyph glyph-name="eye-off" unicode="&#xe809;" d="M310 105l43 79q-48 35-76 88t-27 114q0 67 34 125-128-65-213-197 94-144 239-209z m217 424q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m202 106q0-4 0-5-59-105-176-316t-176-316l-28-50q-5-9-15-9-7 0-75 39-9 6-9 16 0 7 25 49-80 36-147 96t-117 137q-11 17-11 38t11 39q86 131 212 207t277 76q50 0 100-10l31 54q5 9 15 9 3 0 10-3t18-9 18-10 18-10 10-7q9-5 9-15z m21-249q0-78-44-142t-117-92l157 281q4-26 4-47z m250-72q0-19-11-38-22-36-61-81-84-96-194-149t-234-53l41 74q119 10 219 76t169 171q-65 100-158 164l35 63q53-36 102-86t81-102q11-19 11-39z" horiz-adv-x="1000" />
28
 
29
+ <glyph glyph-name="attention-circled" unicode="&#xe80a;" d="M429 779q116 0 215-58t156-156 57-215-57-215-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58z m71-696v106q0 8-5 13t-12 5h-107q-8 0-13-5t-6-13v-106q0-8 6-13t13-6h107q7 0 12 6t5 13z m-1 192l10 346q0 7-6 10-5 5-13 5h-123q-8 0-13-5-6-3-6-10l10-346q0-6 5-10t14-4h103q8 0 13 4t6 10z" horiz-adv-x="857.1" />
30
 
31
+ <glyph glyph-name="cog-alt" unicode="&#xe80b;" d="M500 350q0 59-42 101t-101 42-101-42-42-101 42-101 101-42 101 42 42 101z m429-286q0 29-22 51t-50 21-50-21-21-51q0-29 21-50t50-21 51 21 21 50z m0 572q0 29-22 50t-50 21-50-21-21-50q0-30 21-51t50-21 51 21 21 51z m-215-235v-103q0-6-4-11t-9-6l-86-14q-6-19-18-42 19-27 50-64 4-6 4-11 0-7-4-11-13-17-46-50t-44-33q-6 0-11 4l-64 50q-21-11-43-17-6-60-13-87-4-13-17-13h-104q-6 0-11 4t-5 10l-13 85q-19 6-42 18l-66-50q-4-4-11-4-6 0-12 4-80 75-80 90 0 5 4 10 5 8 23 30t26 34q-13 24-20 46l-85 13q-5 1-9 5t-4 11v103q0 6 4 11t9 6l86 14q7 19 18 42-19 27-50 64-4 6-4 11 0 7 4 11 12 17 46 50t44 33q6 0 12-4l64-50q19 10 43 18 6 60 13 86 3 13 16 13h104q6 0 11-4t6-10l13-85q19-6 41-17l66 49q5 4 11 4 7 0 12-4 81-75 81-90 0-5-4-10-7-9-24-30t-25-34q13-27 19-46l85-12q5-2 9-6t4-11z m357-298v-78q0-9-83-17-6-15-16-29 28-63 28-77 0-2-2-4-68-40-69-40-5 0-26 27t-29 37q-11-1-17-1t-17 1q-7-11-29-37t-25-27q-1 0-69 40-3 2-3 4 0 14 29 77-10 14-17 29-83 8-83 17v78q0 9 83 18 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 1 17 1t17-1q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-9 83-18z m0 572v-78q0-9-83-18-6-15-16-29 28-63 28-77 0-2-2-4-68-39-69-39-5 0-26 26t-29 38q-11-1-17-1t-17 1q-7-12-29-38t-25-26q-1 0-69 39-3 2-3 4 0 14 29 77-10 14-17 29-83 9-83 18v78q0 9 83 17 7 16 17 29-29 63-29 77 0 2 3 4 2 1 19 11t33 19 17 9q4 0 25-26t29-38q12 2 17 2t17-2q28 40 51 63l4 1q2 0 69-39 2-2 2-4 0-14-28-77 9-13 16-29 83-8 83-17z" horiz-adv-x="1071.4" />
32
 
33
+ <glyph glyph-name="link-1" unicode="&#xe80c;" d="M812 171q0 23-15 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q15 16 15 37z m-392 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 10-8 12-12 11-11q18 17 18 41z m500-394q0-67-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l114-116q47-46 47-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
34
 
35
+ <glyph glyph-name="user-secret-1" unicode="&#xe80d;" d="M321-7l54 250-54 71-71 36z m143 0l72 357-72-36-53-71z m90 563q-2 3-3 4-5 4-53 4-39 0-93-10-4-2-12-2t-12 2q-54 10-93 10-48 0-54-4-1-1-2-4 1-10 2-15 2-1 5-3t4-6q1-2 4-12t4-11 4-10 5-9 5-8 7-7 7-6 10-4 12-2 13-1q20 0 33 6t18 17 8 19 7 17 10 7h6q6 0 10-7t6-17 9-19 18-17 33-6q7 0 13 1t12 2 9 4 8 6 7 7 5 8 5 9 4 10 4 11 4 12q1 4 4 6t4 3q1 5 3 15z m232-490q0-68-41-106t-108-39h-488q-67 0-108 39t-41 106q0 34 3 66t10 70 21 69 36 58 52 41l-51 123h120q-12 36-12 71 0 7 1 18-109 22-109 54 0 32 118 55 9 35 28 75t40 63q18 21 42 21 17 0 47-17t47-18 47 18 47 17q24 0 42-21 20-23 39-63t29-75q117-23 117-55 0-32-108-54 4-45-11-89h119l-45-126q35-18 60-54t36-80 16-84 5-83z" horiz-adv-x="857.1" />
36
 
37
+ <glyph glyph-name="unlink" unicode="&#xe80e;" d="M245 141l-143-143q-5-5-13-5-6 0-13 5-5 5-5 13t5 13l143 142q6 5 13 5t13-5q5-5 5-12t-5-13z m94-23v-179q0-8-5-13t-13-5-12 5-5 13v179q0 8 5 13t12 5 13-5 5-13z m-125 125q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13 5 13 13 5h178q8 0 13-5t5-13z m706-72q0-67-48-113l-82-81q-46-47-113-47-68 0-114 48l-186 187q-12 11-24 31l134 10 152-153q15-15 38-15t38 15l82 81q15 16 15 37 0 23-15 38l-153 154 10 133q20-12 31-23l188-188q47-48 47-114z m-345 404l-133-10-152 153q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l153-153-10-134q-20 12-32 24l-187 187q-47 48-47 114 0 67 47 113l82 82q47 46 114 46 67 0 114-47l186-187q12-12 23-32z m354-46q0-8-5-13t-13-5h-179q-8 0-13 5t-5 13 5 12 13 5h179q8 0 13-5t5-12z m-304 303v-178q0-8-5-13t-13-5-13 5-5 13v178q0 8 5 13t13 5 13-5 5-13z m227-84l-143-143q-6-5-13-5t-12 5q-5 6-5 13t5 13l142 142q6 5 13 5t13-5q5-5 5-12t-5-13z" horiz-adv-x="928.6" />
38
 
39
+ <glyph glyph-name="sort-down" unicode="&#xe80f;" d="M571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z" horiz-adv-x="571.4" />
40
 
41
+ <glyph glyph-name="pencil" unicode="&#xe810;" d="M203-7l50 51-131 131-51-51v-60h72v-71h60z m291 518q0 12-12 12-5 0-9-4l-303-302q-4-4-4-10 0-12 13-12 5 0 9 4l303 302q3 4 3 10z m-30 107l232-232-464-465h-232v233z m381-54q0-29-20-50l-93-93-232 233 93 92q20 21 50 21 29 0 51-21l131-131q20-22 20-51z" horiz-adv-x="857.1" />
42
 
43
+ <glyph glyph-name="arrows-cw" unicode="&#xe811;" d="M843 261q0-3 0-4-36-150-150-243t-267-93q-81 0-157 31t-136 88l-72-72q-11-11-25-11t-25 11-11 25v250q0 14 11 25t25 11h250q14 0 25-11t10-25-10-25l-77-77q40-37 90-57t105-20q74 0 139 37t104 99q6 10 29 66 5 13 17 13h107q8 0 13-6t5-12z m14 446v-250q0-14-10-25t-26-11h-250q-14 0-25 11t-10 25 10 25l77 77q-82 77-194 77-75 0-140-37t-104-99q-6-10-29-66-5-13-17-13h-111q-7 0-13 6t-5 12v4q36 150 151 243t268 93q81 0 158-31t137-88l72 72q11 11 25 11t26-11 10-25z" horiz-adv-x="857.1" />
44
 
45
+ <glyph glyph-name="sort-up" unicode="&#xe812;" d="M571 457q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
46
 
47
+ <glyph glyph-name="sort" unicode="&#xe813;" d="M571 243q0-15-10-25l-250-250q-11-11-25-11t-25 11l-250 250q-11 10-11 25t11 25 25 11h500q14 0 25-11t10-25z m0 214q0-14-10-25t-25-11h-500q-15 0-25 11t-11 25 11 25l250 250q10 11 25 11t25-11l250-250q10-10 10-25z" horiz-adv-x="571.4" />
48
 
49
+ <glyph glyph-name="lock-open-alt" unicode="&#xe814;" d="M589 421q23 0 38-15t16-38v-322q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v322q0 22 16 38t38 15h17v179q0 103 74 177t176 73 177-73 73-177q0-15-10-25t-25-11h-36q-14 0-25 11t-11 25q0 59-42 101t-101 42-101-42-41-101v-179h410z" horiz-adv-x="642.9" />
50
 
51
+ <glyph glyph-name="plus" unicode="&#xe815;" d="M786 439v-107q0-22-16-38t-38-15h-232v-233q0-22-16-37t-38-16h-107q-22 0-38 16t-15 37v233h-232q-23 0-38 15t-16 38v107q0 23 16 38t38 16h232v232q0 22 15 38t38 16h107q23 0 38-16t16-38v-232h232q22 0 38-16t16-38z" horiz-adv-x="785.7" />
52
 
53
+ <glyph glyph-name="filter" unicode="&#xe816;" d="M783 685q9-23-8-39l-275-275v-414q0-23-22-33-7-3-14-3-15 0-25 11l-143 143q-10 10-10 25v271l-275 275q-18 16-8 39 9 22 33 22h714q23 0 33-22z" horiz-adv-x="785.7" />
54
 
55
+ <glyph glyph-name="check" unicode="&#xe817;" d="M786 331v-177q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q35 0 65-14 9-4 10-13 2-10-5-16l-27-28q-6-5-13-5-2 0-5 1-13 3-25 3h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v141q0 8 5 13l36 35q6 6 13 6 3 0 7-2 11-4 11-16z m129 273l-455-454q-13-14-31-14t-32 14l-240 240q-14 13-14 31t14 32l61 62q14 13 32 13t32-13l147-147 361 361q13 13 31 13t32-13l62-61q13-14 13-32t-13-32z" horiz-adv-x="928.6" />
56
 
57
+ <glyph glyph-name="help-circled" unicode="&#xe818;" d="M500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
58
 
59
+ <glyph glyph-name="file-code" unicode="&#xe819;" d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5 16-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 15t-16 38v233h-429v-858h715z m-518 500q4 7 12 7t13-3l28-21q7-5 7-12t-3-14l-102-135 102-136q4-6 3-13t-7-12l-28-21q-6-4-13-4t-12 7l-126 168q-8 11 0 21z m447-168q8-10 0-21l-126-168q-4-6-11-7t-14 4l-28 21q-6 5-7 12t3 13l102 136-102 135q-4 7-3 14t7 12l28 21q6 4 14 3t11-7z m-346-257q-7 1-11 7t-3 14l77 464q1 7 7 11t14 3l35-5q7-2 11-8t3-13l-77-464q-1-7-7-11t-13-3z" horiz-adv-x="857.1" />
60
 
61
+ <glyph glyph-name="users" unicode="&#xe81a;" d="M331 350q-90-3-148-71h-75q-45 0-77 22t-31 66q0 197 69 197 4 0 25-11t54-24 66-12q38 0 75 13-3-21-3-37 0-78 45-143z m598-356q0-66-41-105t-108-39h-488q-68 0-108 39t-41 105q0 30 2 58t8 61 14 61 24 54 35 45 48 30 62 11q6 0 24-12t41-26 59-27 76-12 75 12 60 27 41 26 23 12q35 0 63-11t47-30 35-45 24-54 15-61 8-61 2-58z m-572 713q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m393-214q0-89-63-152t-151-62-152 62-63 152 63 151 152 63 151-63 63-151z m321-126q0-43-31-66t-77-22h-75q-57 68-147 71 45 65 45 143 0 16-3 37 37-13 74-13 33 0 67 12t54 24 24 11q69 0 69-197z m-71 340q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z" horiz-adv-x="1071.4" />
62
 
63
+ <glyph glyph-name="box-1" unicode="&#xe81b;" d="M607 386q0 14-10 25t-26 10h-142q-15 0-26-10t-10-25 10-25 26-11h142q15 0 26 11t10 25z m322 107v-536q0-14-11-25t-25-11h-786q-14 0-25 11t-11 25v536q0 14 11 25t25 11h786q14 0 25-11t11-25z m35 250v-143q0-15-10-25t-25-11h-858q-14 0-25 11t-10 25v143q0 14 10 25t25 11h858q14 0 25-11t10-25z" horiz-adv-x="1000" />
64
 
65
+ <glyph glyph-name="folder-1" unicode="&#xe81c;" d="M929 511v-393q0-51-37-88t-88-37h-679q-51 0-88 37t-37 88v536q0 51 37 88t88 37h179q51 0 88-37t37-88v-18h375q51 0 88-37t37-88z" horiz-adv-x="928.6" />
66
 
67
+ <glyph glyph-name="eye-1" unicode="&#xe81d;" d="M929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-12 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
68
 
69
+ <glyph glyph-name="upload-cloud" unicode="&#xe81e;" d="M714 368q0 8-5 13l-196 196q-5 5-13 5t-13-5l-196-196q-5-6-5-13 0-8 5-13t13-5h125v-196q0-8 5-13t12-5h108q7 0 12 5t5 13v196h125q8 0 13 5t5 13z m357-161q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
70
 
71
+ <glyph glyph-name="user-plus" unicode="&#xe81f;" d="M393 350q-89 0-152 63t-62 151 62 152 152 63 151-63 63-152-63-151-151-63z m536-71h196q7 0 13-6t5-12v-107q0-8-5-13t-13-5h-196v-197q0-7-6-12t-12-6h-107q-8 0-13 6t-5 12v197h-197q-7 0-12 5t-6 13v107q0 7 6 12t12 6h197v196q0 7 5 13t13 5h107q7 0 12-5t6-13v-196z m-411-125q0-29 21-51t50-21h143v-133q-38-28-95-28h-488q-67 0-108 39t-41 106q0 30 2 58t8 61 15 60 24 55 34 45 48 30 62 11q11 0 22-10 44-34 86-51t92-17 92 17 86 51q11 10 22 10 73 0 121-54h-125q-29 0-50-21t-21-50v-107z" horiz-adv-x="1142.9" />
72
 
73
+ <glyph glyph-name="gauge" unicode="&#xe820;" d="M214 207q0 30-21 51t-50 21-51-21-21-51 21-50 51-21 50 21 21 50z m107 250q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m239-268l57 213q3 14-5 27t-21 16-27-3-17-22l-56-213q-33-3-60-25t-35-55q-11-43 11-81t66-50 81 11 50 66q9 33-4 65t-40 51z m369 18q0 30-21 51t-51 21-50-21-21-51 21-50 50-21 51 21 21 50z m-358 357q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m250-107q0 30-20 51t-51 21-50-21-21-51 21-50 50-21 51 21 20 50z m179-250q0-145-79-269-10-17-30-17h-782q-20 0-30 17-79 123-79 269 0 102 40 194t106 160 160 107 194 39 194-39 160-107 106-160 40-194z" horiz-adv-x="1000" />
74
 
75
+ <glyph glyph-name="box" unicode="&#xe821;" d="M607 386q0 14-10 25t-26 10h-142q-15 0-26-10t-10-25 10-25 26-11h142q15 0 26 11t10 25z m322 107v-536q0-14-11-25t-25-11h-786q-14 0-25 11t-11 25v536q0 14 11 25t25 11h786q14 0 25-11t11-25z m35 250v-143q0-15-10-25t-25-11h-858q-14 0-25 11t-10 25v143q0 14 10 25t25 11h858q14 0 25-11t10-25z" horiz-adv-x="1000" />
76
 
77
+ <glyph glyph-name="plus-circled" unicode="&#xe822;" d="M679 314v72q0 14-11 25t-25 10h-143v143q0 15-11 25t-25 11h-71q-15 0-25-11t-11-25v-143h-143q-14 0-25-10t-10-25v-72q0-14 10-25t25-10h143v-143q0-15 11-25t25-11h71q15 0 25 11t11 25v143h143q14 0 25 10t11 25z m178 36q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
78
 
79
+ <glyph glyph-name="link" unicode="&#xe823;" d="M813 171q0 23-16 38l-116 116q-16 16-38 16-24 0-40-18 1-1 10-10t12-12 9-11 7-14 2-15q0-23-16-38t-38-16q-8 0-15 2t-14 7-11 9-12 12-10 10q-19-17-19-40 0-23 16-38l115-116q15-15 38-15 22 0 38 15l82 81q16 16 16 37z m-393 394q0 22-15 38l-115 115q-16 16-38 16-22 0-38-15l-82-82q-16-15-16-37 0-22 16-38l116-116q15-15 38-15 23 0 40 17-2 2-11 11t-12 12-8 10-7 14-2 16q0 22 15 38t38 15q9 0 16-2t14-7 11-8 12-12 10-11q18 17 18 41z m500-394q0-66-48-113l-82-81q-46-47-113-47-68 0-114 48l-115 115q-46 47-46 114 0 68 49 116l-49 49q-48-49-116-49-67 0-114 47l-116 116q-47 47-47 114t47 113l82 82q47 46 114 46 67 0 114-47l115-116q46-46 46-113 0-69-49-117l49-49q48 49 116 49 67 0 114-47l116-116q47-47 47-114z" horiz-adv-x="928.6" />
80
 
81
+ <glyph glyph-name="wrench" unicode="&#xe824;" d="M214 29q0 14-10 25t-25 10-26-10-10-25 10-26 26-10 25 10 10 26z m360 234l-381-381q-21-20-50-20-29 0-51 20l-59 61q-21 20-21 50 0 29 21 51l380 380q22-55 64-97t97-64z m353 243q0-22-12-59-27-75-92-122t-144-46q-104 0-177 73t-73 177 73 176 177 74q32 0 67-10t60-26q9-6 9-15t-9-16l-163-94v-125l108-60q2 2 44 27t75 45 40 20q8 0 13-5t4-14z" horiz-adv-x="928.6" />
82
 
83
+ <glyph glyph-name="eye" unicode="&#xe825;" d="M929 314q-85 132-213 197 34-58 34-125 0-104-73-177t-177-73-177 73-73 177q0 67 34 125-128-65-213-197 75-114 187-182t242-68 242 68 187 182z m-402 215q0 11-8 19t-19 7q-70 0-120-50t-50-119q0-11 8-19t19-8 19 8 8 19q0 48 34 82t82 34q11 0 19 8t8 19z m473-215q0-19-11-38-78-129-210-206t-279-77-279 77-210 206q-11 19-11 38t11 39q78 128 210 205t279 78 279-78 210-205q11-20 11-39z" horiz-adv-x="1000" />
84
 
85
+ <glyph glyph-name="medkit" unicode="&#xe826;" d="M714 225v107q0 8-5 13t-13 5h-125v125q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-125h-125q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h125v-125q0-8 5-13t12-5h108q7 0 12 5t5 13v125h125q8 0 13 5t5 13z m-357 411h286v71h-286v-71z m-214 0v-715h-18q-51 0-88 37t-37 88v465q0 51 37 88t88 37h18z m661 0v-715h-608v715h90v89q0 22 15 38t38 16h322q22 0 38-16t15-38v-89h90z m196-125v-465q0-51-37-88t-88-37h-18v715h18q51 0 88-37t37-88z" horiz-adv-x="1000" />
86
 
87
+ <glyph glyph-name="basket" unicode="&#xe827;" d="M357-7q0-29-21-50t-50-22-50 22-22 50 22 50 50 21 50-21 21-50z m500 0q0-29-21-50t-50-22-51 22-21 50 21 50 51 21 50-21 21-50z m72 607v-286q0-13-10-23t-22-12l-583-68q7-34 7-40 0-8-13-35h513q15 0 26-11t10-25-10-25-26-11h-571q-14 0-25 11t-11 25q0 6 5 18t9 20 12 22 8 16l-98 460h-114q-15 0-25 10t-11 25 11 26 25 10h143q9 0 16-3t10-9 8-14 4-14 3-17 3-14h670q14 0 25-11t11-25z" horiz-adv-x="928.6" />
88
 
89
+ <glyph glyph-name="check-empty" unicode="&#xe828;" d="M625 707h-464q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v464q0 37-26 63t-63 26z m161-89v-464q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h464q66 0 114-48t47-113z" horiz-adv-x="785.7" />
90
 
91
+ <glyph glyph-name="doc-text-inv" unicode="&#xe829;" d="M819 584q8-7 16-20h-264v264q13-8 21-16z m-265-91h303v-589q0-23-15-38t-38-16h-750q-23 0-38 16t-16 38v892q0 23 16 38t38 16h446v-304q0-22 16-38t38-15z m89-411v36q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v36q0 7-5 12t-13 5h-393q-8 0-13-5t-5-12v-36q0-8 5-13t13-5h393q8 0 13 5t5 13z m0 143v35q0 8-5 13t-13 5h-393q-8 0-13-5t-5-13v-35q0-8 5-13t13-5h393q8 0 13 5t5 13z" horiz-adv-x="857.1" />
92
 
93
+ <glyph glyph-name="home" unicode="&#xe82a;" d="M786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z" horiz-adv-x="928.6" />
94
 
95
+ <glyph glyph-name="angle-double-right" unicode="&#xe82b;" d="M332 314q0-7-6-13l-260-260q-5-5-12-5t-13 5l-28 28q-6 6-6 13t6 13l219 219-219 220q-6 5-6 12t6 13l28 28q5 6 13 6t12-6l260-260q6-5 6-13z m214 0q0-7-5-13l-260-260q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13z" horiz-adv-x="571.4" />
96
 
97
+ <glyph glyph-name="facebook" unicode="&#xe82c;" d="M535 843v-147h-87q-48 0-65-20t-17-60v-106h164l-22-165h-142v-424h-171v424h-142v165h142v122q0 104 58 161t155 57q82 0 127-7z" horiz-adv-x="571.4" />
98
 
99
+ <glyph glyph-name="star" unicode="&#xe82d;" d="M929 489q0-12-15-27l-203-197 48-279q1-4 1-12 0-11-6-19t-17-9q-10 0-22 7l-251 132-250-132q-13-7-23-7-11 0-17 9t-6 19q0 4 1 12l48 279-203 197q-14 15-14 27 0 21 31 26l280 40 126 254q11 23 27 23t28-23l125-254 280-40q32-5 32-26z" horiz-adv-x="928.6" />
100
 
101
+ <glyph glyph-name="list" unicode="&#xe82e;" d="M143 118v-107q0-7-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 12t13 6h107q7 0 13-6t5-12z m0 214v-107q0-7-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 13t13 5h107q7 0 13-5t5-13z m0 214v-107q0-7-5-12t-13-6h-107q-7 0-13 6t-5 12v107q0 8 5 13t13 5h107q7 0 13-5t5-13z m857-428v-107q0-7-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 12t12 6h750q7 0 13-6t5-12z m-857 643v-107q0-8-5-13t-13-5h-107q-7 0-13 5t-5 13v107q0 7 5 12t13 6h107q7 0 13-6t5-12z m857-429v-107q0-7-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 13t12 5h750q7 0 13-5t5-13z m0 214v-107q0-7-5-12t-13-6h-750q-7 0-12 6t-6 12v107q0 8 6 13t12 5h750q7 0 13-5t5-13z m0 215v-107q0-8-5-13t-13-5h-750q-7 0-12 5t-6 13v107q0 7 6 12t12 6h750q7 0 13-6t5-12z" horiz-adv-x="1000" />
102
 
103
+ <glyph glyph-name="up-dir" unicode="&#xe82f;" d="M571 171q0-14-10-25t-25-10h-500q-15 0-25 10t-11 25 11 26l250 250q10 10 25 10t25-10l250-250q10-11 10-26z" horiz-adv-x="571.4" />
104
 
105
+ <glyph glyph-name="dot-circled" unicode="&#xe830;" d="M571 350q0-59-41-101t-101-42-101 42-42 101 42 101 101 42 101-42 41-101z m-142 304q-83 0-153-41t-110-111-41-152 41-152 110-111 153-41 152 41 110 111 41 152-41 152-110 111-152 41z m428-304q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z" horiz-adv-x="857.1" />
106
 
107
+ <glyph glyph-name="code" unicode="&#xe831;" d="M344 69l-28-28q-5-5-12-5t-13 5l-260 260q-6 6-6 13t6 13l260 260q5 6 13 6t12-6l28-28q6-5 6-13t-6-12l-219-220 219-219q6-6 6-13t-6-13z m330 596l-208-721q-2-7-9-11t-13-1l-34 9q-8 3-11 9t-2 14l208 720q3 8 9 11t13 2l35-10q7-2 11-9t1-13z m367-364l-260-260q-6-5-13-5t-13 5l-28 28q-5 6-5 13t5 13l219 219-219 220q-5 5-5 12t5 13l28 28q6 6 13 6t13-6l260-260q5-5 5-13t-5-13z" horiz-adv-x="1071.4" />
108
 
109
+ <glyph glyph-name="bug" unicode="&#xe832;" d="M911 314q0-14-11-25t-25-10h-125q0-96-37-162l116-117q10-11 10-25t-10-25q-10-11-25-11t-26 11l-110 110q-3-3-8-7t-24-16-36-21-46-16-54-7v500h-71v-500q-29 0-57 7t-49 19-36 22-25 18l-8 8-102-116q-11-12-27-12-13 0-24 9-11 10-11 25t8 26l113 127q-32 63-32 153h-125q-15 0-25 10t-11 25 11 25 25 11h125v164l-97 97q-11 10-11 25t11 25 25 10 25-10l97-97h471l96 97q11 10 25 10t26-10 10-25-10-25l-97-97v-164h125q15 0 25-11t11-25z m-268 322h-357q0 74 52 126t126 52 127-52 52-126z" horiz-adv-x="928.6" />
110
 
111
+ <glyph glyph-name="heartbeat" unicode="&#xe833;" d="M714 279h170q-2-4-5-6t-5-4l-2-3-347-335q-10-10-25-10t-25 10l-348 336q-3 2-11 12h205q13 0 22 7t13 19l39 157 106-372q3-11 13-18t22-8q11 0 21 8t13 18l81 271 31-63q11-19 32-19z m286 238q0-80-57-167h-206l-62 123q-5 10-15 15t-20 5q-25-3-31-26l-72-240-110 383q-3 11-13 18t-22 8-21-8-13-19l-64-259h-236q-58 87-58 167 0 123 71 192t196 70q34 0 70-12t67-33 54-38 42-38q20 20 42 38t54 38 67 33 70 12q125 0 196-70t71-192z" horiz-adv-x="1000" />
112
 
113
+ <glyph glyph-name="connectdevelop" unicode="&#xe834;" d="M1143 351q0-12-7-21t-19-11l-114-198q1-5 1-10 0-12-7-20t-18-11l-107-188q1-5 1-9 0-13-9-22t-22-10q-14 0-23 10h-224q-9-11-24-11t-24 11h-222q-10-11-24-11-13 0-23 9t-9 23q0 4 2 11l-107 187q-12 2-19 11t-7 20q0 5 2 10l-115 198q-11 3-18 12t-7 20q0 11 8 20t18 11l111 192q0 0 0 1t0 2q0 20 19 29l116 202q-2 6-2 10 0 14 10 23t22 9q14 0 24-12h221q9 12 24 12t24-12h223q10 12 24 12 13 0 22-9t10-23q0-3-2-10l115-200q13 0 22-9t9-22q0-7-4-15l104-181q11-2 18-11t7-19z m-550-446h217l-191 197h-79l-191-197h201q10 9 21 9t22-9z m-530 453q0-2 0-7 0-6-1-9l116-201q1 0 3 0t3-2l2-1 105 111v194l-104 108q-7-5-16-6z m487 437h-216l106-111 309 111h-156q-9-9-22-9t-21 9z m393-676q0 3 2 6l-35 38-10-44h43z m-60 0l13 59-141 148-165-171 35-36h258z m-49-205l9 15 36 173h-238l186-191q4 2 7 3z m-511-9h2l191 197h-208v-187l2-3q8-3 13-7z m-15 214h224l36 37-172 179-88-93v-123z m-108 0h91v105l-93-98q2-5 2-7z m0 460q0 0 0-1t0-1q0-9-4-16l95-99v150z m108 39v-173l85-88 166 175-124 132z m2 170l-2-4v-148l114 42-106 112q-3-1-6-2z m497 7h-8l-347-125 119-125z m-236-274l-166-176 174-178 165 171z m-187-174l-76 78v-158z m195-204l-23-24h47z m188 195l133-140 73 348-1 3-1 0z m192 223q-5 7-5 16v1l-120 210q-3 1-8 3l-243-259 173-182z m-668 69v124l-91-157z m0-528h-91l91-158v158z m606 0l-27-127 73 127h-46z m68 39l115 202q-1 5-1 7 0 1 2 9l-96 166-72-342 43-46q3 2 9 4z" horiz-adv-x="1142.9" />
114
 
115
+ <glyph glyph-name="trash-empty" unicode="&#xe835;" d="M286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15 6-5h464q2 0 6 5t8 15 4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q22 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" />
116
 
117
+ <glyph glyph-name="download-cloud-1" unicode="&#xe836;" d="M714 332q0 8-5 13t-13 5h-125v196q0 8-5 13t-12 5h-108q-7 0-12-5t-5-13v-196h-125q-8 0-13-5t-5-13q0-8 5-13l196-196q5-5 13-5t13 5l196 196q5 6 5 13z m357-125q0-89-62-151t-152-63h-607q-103 0-177 73t-73 177q0 72 39 134t105 92q-1 17-1 24 0 118 84 202t202 84q87 0 159-49t105-129q40 35 93 35 59 0 101-42t42-101q0-43-23-77 72-17 119-76t46-133z" horiz-adv-x="1071.4" />
118
 
119
+ <glyph glyph-name="github" unicode="&#xe837;" d="M357 171q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m357 0q0-22-7-45t-24-43-40-19-41 19-24 43-7 45 7 46 24 43 41 19 40-19 24-43 7-46z m90 0q0 67-39 114t-104 47q-23 0-109-12-40-6-88-6t-87 6q-85 12-109 12-66 0-104-47t-39-114q0-49 18-85t45-58 68-33 78-17 83-4h94q46 0 83 4t78 17 69 33 45 58 18 85z m125 99q0-116-34-185-22-43-59-74t-79-48-95-27-96-12-93-3q-43 0-79 2t-82 7-85 17-77 28-67 46-48 64q-35 69-35 185 0 132 76 221-15 45-15 94 0 65 28 122 61 0 106-22t106-69q82 20 172 20 83 0 156-18 59 46 105 67t105 22q29-57 29-122 0-48-15-93 76-90 76-222z" horiz-adv-x="928.6" />
120
 
121
+ <glyph glyph-name="cog" unicode="&#xe838;" d="M571 350q0 59-41 101t-101 42-101-42-42-101 42-101 101-42 101 42 41 101z m286 61v-124q0-7-4-13t-11-7l-104-16q-10-30-21-51 19-27 59-77 6-6 6-13t-5-13q-15-21-55-61t-53-39q-7 0-14 5l-77 60q-25-13-51-21-9-76-16-104-4-16-20-16h-124q-8 0-14 5t-6 12l-16 103q-27 9-50 21l-79-60q-6-5-14-5-8 0-14 6-70 64-92 94-4 5-4 13 0 6 5 12 8 12 28 37t30 40q-15 28-23 55l-102 15q-7 1-11 7t-5 13v124q0 7 5 13t10 7l104 16q8 25 22 51-23 32-60 77-6 7-6 14 0 5 5 12 15 20 55 60t53 40q7 0 15-5l77-60q24 13 50 21 9 76 17 104 3 15 20 15h124q7 0 13-4t7-12l15-103q28-9 50-21l80 60q5 5 13 5 7 0 14-5 72-67 92-95 4-5 4-13 0-6-4-12-9-12-29-38t-30-39q14-28 23-55l102-15q7-1 12-7t4-13z" horiz-adv-x="857.1" />
122
 
123
+ <glyph glyph-name="lock" unicode="&#xe839;" d="M179 421h285v108q0 59-42 101t-101 41-101-41-41-101v-108z m464-53v-322q0-22-16-37t-38-16h-535q-23 0-38 16t-16 37v322q0 22 16 38t38 15h17v108q0 102 74 176t176 74 177-74 73-176v-108h18q23 0 38-15t16-38z" horiz-adv-x="642.9" />
124
 
125
+ <glyph glyph-name="twitter" unicode="&#xe83a;" d="M904 622q-37-54-90-93 0-8 0-23 0-73-21-145t-64-139-103-117-144-82-181-30q-151 0-276 81 19-3 43-3 126 0 224 77-59 2-105 36t-64 89q19-2 34-2 24 0 48 6-63 13-104 62t-41 115v2q38-21 82-23-37 25-59 64t-22 86q0 49 25 91 68-83 164-133t208-55q-5 21-5 41 0 75 53 127t127 53q79 0 132-57 61 12 114 44-20-64-79-100 52 6 104 28z" horiz-adv-x="928.6" />
126
 
127
+ <glyph glyph-name="certificate" unicode="&#xe83b;" d="M768 350l77-75q17-16 11-39-7-23-29-29l-105-27 30-103q6-23-11-39-16-18-39-11l-104 30-27-105q-5-23-28-30-7-1-11-1-17 0-28 13l-75 77-76-77q-15-17-39-12-23 7-28 30l-27 105-104-30q-23-7-39 11-17 16-10 39l29 103-105 27q-22 6-29 29-6 23 11 39l77 75-77 75q-17 16-11 39 7 23 29 29l105 27-29 103q-7 23 10 39 16 18 39 11l104-29 27 104q5 23 28 29 23 7 39-11l76-77 75 77q16 17 39 11 23-6 28-29l27-104 104 29q23 7 39-11 17-16 11-39l-30-103 105-27q22-6 29-29 6-23-11-39z" horiz-adv-x="857.1" />
128
 
129
+ <glyph glyph-name="user" unicode="&#xe83c;" d="M786 66q0-67-41-106t-108-39h-488q-67 0-108 39t-41 106q0 30 2 58t8 61 15 60 24 55 34 45 48 30 62 11q5 0 24-12t41-27 60-27 75-12 74 12 61 27 41 27 24 12q34 0 62-11t48-30 34-45 24-55 15-60 8-61 2-58z m-179 498q0-88-63-151t-151-63-152 63-62 151 62 152 152 63 151-63 63-152z" horiz-adv-x="785.7" />
130
+
131
+ <glyph glyph-name="level-down" unicode="&#xe83d;" d="M18 707h393q7 0 12-5t6-13v-482h107q22 0 32-20t-5-39l-178-214q-11-13-28-13t-27 13l-179 214q-14 17-5 39 10 20 33 20h107v357h-179q-8 0-14 6l-89 108q-7 7-2 19 5 10 16 10z" horiz-adv-x="571.4" />
132
 
133
  <glyph glyph-name="exchange" unicode="&#xf0ec;" d="M1000 189v-107q0-7-5-12t-13-6h-768v-107q0-7-5-12t-13-6q-6 0-13 6l-178 178q-5 6-5 13 0 8 5 13l179 178q5 5 12 5 8 0 13-5t5-13v-107h768q7 0 13-5t5-13z m0 304q0-8-5-13l-179-178q-5-6-12-6-8 0-13 6t-5 12v107h-768q-7 0-13 6t-5 12v107q0 8 5 13t13 5h768v107q0 8 5 13t13 5q6 0 13-5l178-178q5-5 5-13z" horiz-adv-x="1000" />
134
 
media/font/fontello.ttf CHANGED
Binary file
media/font/fontello.woff CHANGED
Binary file
media/font/fontello.woff2 CHANGED
Binary file
media/js/aam-ui.js CHANGED
@@ -680,12 +680,8 @@
680
  */
681
  (function ($) {
682
 
683
- /**
684
- *
685
- * @returns {undefined}
686
- */
687
- function initialize() {
688
- $('#manage-visitor').bind('click', function (event) {
689
  event.preventDefault();
690
  aam.setSubject('visitor', null, aam.__('Anonymous'), 0);
691
  $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
@@ -694,11 +690,29 @@
694
  //hide post & pages access control groups that belong to backend
695
  $('.aam-backend-post-access').hide();
696
  });
697
- }
 
 
698
 
699
- //add setSubject hook
700
- aam.addHook('init', initialize);
 
 
 
 
 
 
701
 
 
 
 
 
 
 
 
 
 
 
702
  })(jQuery);
703
 
704
 
@@ -1400,6 +1414,13 @@
1400
  success: function (response) {
1401
  if (response.status === 'failure') {
1402
  aam.notification('danger', response.error);
 
 
 
 
 
 
 
1403
  }
1404
  result = response;
1405
  },
@@ -1590,10 +1611,6 @@
1590
  $('#post-overwritten').addClass('hidden');
1591
  loadAccessForm(type, id);
1592
  }
1593
- },
1594
- error: function () {
1595
- },
1596
- complete: function () {
1597
  }
1598
  });
1599
  });
@@ -1653,6 +1670,7 @@
1653
  }
1654
  });
1655
  }
 
1656
  /**
1657
  *
1658
  * @returns {undefined}
@@ -1685,6 +1703,72 @@
1685
 
1686
  })(jQuery);
1687
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1688
  /**
1689
  * Teaser Interface
1690
  *
680
  */
681
  (function ($) {
682
 
683
+ $('document').ready(function() {
684
+ $('#manage-visitor').bind('click', function (event) {
 
 
 
 
685
  event.preventDefault();
686
  aam.setSubject('visitor', null, aam.__('Anonymous'), 0);
687
  $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
690
  //hide post & pages access control groups that belong to backend
691
  $('.aam-backend-post-access').hide();
692
  });
693
+ });
694
+
695
+ })(jQuery);
696
 
697
+ /**
698
+ * Default Interface
699
+ *
700
+ * @param {jQuery} $
701
+ *
702
+ * @returns {void}
703
+ */
704
+ (function ($) {
705
 
706
+ $('document').ready(function() {
707
+ $('#manage-default').bind('click', function (event) {
708
+ event.preventDefault();
709
+ aam.setSubject('default', null, aam.__('All Users, Roles and Visitor'), 0);
710
+ $('i.icon-cog', $(this)).attr('class', 'icon-spin4 animate-spin');
711
+ aam.fetchContent();
712
+ $('i.icon-spin4', $(this)).attr('class', 'icon-cog');
713
+ });
714
+ });
715
+
716
  })(jQuery);
717
 
718
 
1414
  success: function (response) {
1415
  if (response.status === 'failure') {
1416
  aam.notification('danger', response.error);
1417
+ } else {
1418
+ $('#post-overwritten').removeClass('hidden');
1419
+ //add some specific attributes to reset button
1420
+ $('#post-reset').attr({
1421
+ 'data-type': object,
1422
+ 'data-id': object_id
1423
+ });
1424
  }
1425
  result = response;
1426
  },
1611
  $('#post-overwritten').addClass('hidden');
1612
  loadAccessForm(type, id);
1613
  }
 
 
 
 
1614
  }
1615
  });
1616
  });
1670
  }
1671
  });
1672
  }
1673
+
1674
  /**
1675
  *
1676
  * @returns {undefined}
1703
 
1704
  })(jQuery);
1705
 
1706
+ /**
1707
+ * Login Redirect Interface
1708
+ *
1709
+ * @param {jQuery} $
1710
+ *
1711
+ * @returns {void}
1712
+ */
1713
+ (function ($) {
1714
+
1715
+ /**
1716
+ *
1717
+ * @param {type} param
1718
+ * @param {type} value
1719
+ * @returns {undefined}
1720
+ */
1721
+ function save(param, value) {
1722
+ $.ajax(aamLocal.ajaxurl, {
1723
+ type: 'POST',
1724
+ dataType: 'json',
1725
+ data: {
1726
+ action: 'aam',
1727
+ sub_action: 'LoginRedirect.save',
1728
+ _ajax_nonce: aamLocal.nonce,
1729
+ subject: aam.getSubject().type,
1730
+ subjectId: aam.getSubject().id,
1731
+ param: param,
1732
+ value: value
1733
+ },
1734
+ error: function () {
1735
+ aam.notification('danger', aam.__('Application error'));
1736
+ }
1737
+ });
1738
+ }
1739
+
1740
+ /**
1741
+ *
1742
+ * @returns {undefined}
1743
+ */
1744
+ function initialize() {
1745
+ var container = '#login_redirect-content';
1746
+
1747
+ $('input[type="radio"]', container).each(function () {
1748
+ $(this).bind('click', function () {
1749
+ //hide all fields
1750
+ $('.login-redirect-action').hide();
1751
+
1752
+ //show the specific one
1753
+ $($(this).data('action')).show();
1754
+
1755
+ //save redirect type
1756
+ save($(this).attr('name'), $(this).val());
1757
+ });
1758
+ });
1759
+
1760
+ $('input[type="text"],select,textarea', container).each(function () {
1761
+ $(this).bind('change', function () {
1762
+ //save redirect type
1763
+ save($(this).attr('name'), $(this).val());
1764
+ });
1765
+ });
1766
+ }
1767
+
1768
+ aam.addHook('init', initialize);
1769
+
1770
+ })(jQuery);
1771
+
1772
  /**
1773
  * Teaser Interface
1774
  *
media/js/bootstrap.min.js DELETED
@@ -1,7 +0,0 @@
1
- /*!
2
- * Bootstrap v3.3.5 (http://getbootstrap.com)
3
- * Copyright 2011-2015 Twitter, Inc.
4
- * Licensed under the MIT license
5
- */
6
- if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");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":"focusin",i="hover"==g?"mouseleave":"focusout";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()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.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},c.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},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(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())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(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())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var 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),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.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")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.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","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.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}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.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)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
7
- d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
 
 
 
 
 
 
 
media/js/download.min.js DELETED
@@ -1,2 +0,0 @@
1
- //download.js v3.1, by dandavis; 2008-2015. [CCBY2] see http://danml.com/download.html for tests/usage
2
- (function(f,a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():f.download=a()})(this,function(){return function(f,a,b){function n(l){var a=l.split(/[:;,]/);l=a[1];var a=("base64"==a[2]?atob:decodeURIComponent)(a.pop()),c=a.length,b=0,d=new Uint8Array(c);for(b;b<c;++b)d[b]=a.charCodeAt(b);return new g([d],{type:l})}function k(a,b){if("download"in d)return d.href=a,d.setAttribute("download",m),d.innerHTML="downloading...",h.body.appendChild(d),setTimeout(function(){d.click(),h.body.removeChild(d),!0===b&&setTimeout(function(){e.URL.revokeObjectURL(d.href)},250)},66),!0;if("undefined"!=typeof safari)return a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream"),!window.open(a)&&confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=a),!0;var c=h.createElement("iframe");h.body.appendChild(c),b||(a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),c.src=a,setTimeout(function(){h.body.removeChild(c)},333)}var e=window;b=b||"application/octet-stream";var c=f,h=document,d=h.createElement("a");f=function(a){return String(a)};var g=e.Blob||e.MozBlob||e.WebKitBlob||f,g=g.call?g.bind(e):Blob,m=a||"download";"true"===String(this)&&(c=[c,b],b=c[0],c=c[1]);if(String(c).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(n(c),m):k(c);a=c instanceof g?c:new g([c],{type:b});if(navigator.msSaveBlob)return navigator.msSaveBlob(a,m);if(e.URL)k(e.URL.createObjectURL(a),!0);else{if("string"==typeof a||a.constructor===f)try{return k("data:"+b+";base64,"+e.btoa(a))}catch(p){return k("data:"+b+","+encodeURIComponent(a))}b=new FileReader,b.onload=function(a){k(this.result)},b.readAsDataURL(a)}return!0}});
 
 
media/js/toggle.min.js DELETED
@@ -1,9 +0,0 @@
1
- /*! ========================================================================
2
- * Bootstrap Toggle: bootstrap-toggle.js v2.2.0
3
- * http://www.bootstraptoggle.com
4
- * ========================================================================
5
- * Copyright 2014 Min Hur, The New York Times Company
6
- * Licensed under MIT
7
- * ======================================================================== */
8
- +function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-lg":"small"===this.options.size?"btn-sm":"mini"===this.options.size?"btn-xs":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.outerWidth(),d.outerWidth())+e.outerWidth()/2,i=this.options.height||Math.max(c.outerHeight(),d.outerHeight());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
9
- //# sourceMappingURL=bootstrap-toggle.min.js.map
 
 
 
 
 
 
 
 
 
media/js/{datatables.min.js → vendor.js} RENAMED
@@ -1,3 +1,11 @@
 
 
 
 
 
 
 
 
1
  /*
2
  * This combined file was created by the DataTables downloader builder:
3
  * https://datatables.net/download
@@ -207,4 +215,15 @@ type:"inline"}};var m=e.fn.dataTable.Api;m.register("responsive()",function(){re
207
  h.version="1.0.7";e.fn.dataTable.Responsive=h;e.fn.DataTable.Responsive=h;e(p).on("init.dt.dtr",function(d,a){if("dt"===d.namespace&&(e(a.nTable).hasClass("responsive")||e(a.nTable).hasClass("dt-responsive")||a.oInit.responsive||k.defaults.responsive)){var c=a.oInit.responsive;!1!==c&&new h(a,e.isPlainObject(c)?c:{})}});return h};"function"===typeof define&&define.amd?define(["jquery","datatables"],o):"object"===typeof exports?o(require("jquery"),require("datatables")):jQuery&&!jQuery.fn.dataTable.Responsive&&
208
  o(jQuery,jQuery.fn.dataTable)})(window,document);
209
 
 
 
210
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under the MIT license
5
+ */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");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":"focusin",i="hover"==g?"mouseleave":"focusout";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()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.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},c.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},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(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())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(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())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var 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),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.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")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.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","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.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}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.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)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),
7
+ d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.5",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
8
+
9
  /*
10
  * This combined file was created by the DataTables downloader builder:
11
  * https://datatables.net/download
215
  h.version="1.0.7";e.fn.dataTable.Responsive=h;e.fn.DataTable.Responsive=h;e(p).on("init.dt.dtr",function(d,a){if("dt"===d.namespace&&(e(a.nTable).hasClass("responsive")||e(a.nTable).hasClass("dt-responsive")||a.oInit.responsive||k.defaults.responsive)){var c=a.oInit.responsive;!1!==c&&new h(a,e.isPlainObject(c)?c:{})}});return h};"function"===typeof define&&define.amd?define(["jquery","datatables"],o):"object"===typeof exports?o(require("jquery"),require("datatables")):jQuery&&!jQuery.fn.dataTable.Responsive&&
216
  o(jQuery,jQuery.fn.dataTable)})(window,document);
217
 
218
+ //download.js v3.1, by dandavis; 2008-2015. [CCBY2] see http://danml.com/download.html for tests/usage
219
+ (function(f,a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():f.download=a()})(this,function(){return function(f,a,b){function n(l){var a=l.split(/[:;,]/);l=a[1];var a=("base64"==a[2]?atob:decodeURIComponent)(a.pop()),c=a.length,b=0,d=new Uint8Array(c);for(b;b<c;++b)d[b]=a.charCodeAt(b);return new g([d],{type:l})}function k(a,b){if("download"in d)return d.href=a,d.setAttribute("download",m),d.innerHTML="downloading...",h.body.appendChild(d),setTimeout(function(){d.click(),h.body.removeChild(d),!0===b&&setTimeout(function(){e.URL.revokeObjectURL(d.href)},250)},66),!0;if("undefined"!=typeof safari)return a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream"),!window.open(a)&&confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=a),!0;var c=h.createElement("iframe");h.body.appendChild(c),b||(a="data:"+a.replace(/^data:([\w\/\-\+]+)/,"application/octet-stream")),c.src=a,setTimeout(function(){h.body.removeChild(c)},333)}var e=window;b=b||"application/octet-stream";var c=f,h=document,d=h.createElement("a");f=function(a){return String(a)};var g=e.Blob||e.MozBlob||e.WebKitBlob||f,g=g.call?g.bind(e):Blob,m=a||"download";"true"===String(this)&&(c=[c,b],b=c[0],c=c[1]);if(String(c).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/))return navigator.msSaveBlob?navigator.msSaveBlob(n(c),m):k(c);a=c instanceof g?c:new g([c],{type:b});if(navigator.msSaveBlob)return navigator.msSaveBlob(a,m);if(e.URL)k(e.URL.createObjectURL(a),!0);else{if("string"==typeof a||a.constructor===f)try{return k("data:"+b+";base64,"+e.btoa(a))}catch(p){return k("data:"+b+","+encodeURIComponent(a))}b=new FileReader,b.onload=function(a){k(this.result)},b.readAsDataURL(a)}return!0}});
220
 
221
+ /*! ========================================================================
222
+ * Bootstrap Toggle: bootstrap-toggle.js v2.2.0
223
+ * http://www.bootstraptoggle.com
224
+ * ========================================================================
225
+ * Copyright 2014 Min Hur, The New York Times Company
226
+ * Licensed under MIT
227
+ * ======================================================================== */
228
+ +function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.toggle"),f="object"==typeof b&&b;e||d.data("bs.toggle",e=new c(this,f)),"string"==typeof b&&e[b]&&e[b]()})}var c=function(b,c){this.$element=a(b),this.options=a.extend({},this.defaults(),c),this.render()};c.VERSION="2.2.0",c.DEFAULTS={on:"On",off:"Off",onstyle:"primary",offstyle:"default",size:"normal",style:"",width:null,height:null},c.prototype.defaults=function(){return{on:this.$element.attr("data-on")||c.DEFAULTS.on,off:this.$element.attr("data-off")||c.DEFAULTS.off,onstyle:this.$element.attr("data-onstyle")||c.DEFAULTS.onstyle,offstyle:this.$element.attr("data-offstyle")||c.DEFAULTS.offstyle,size:this.$element.attr("data-size")||c.DEFAULTS.size,style:this.$element.attr("data-style")||c.DEFAULTS.style,width:this.$element.attr("data-width")||c.DEFAULTS.width,height:this.$element.attr("data-height")||c.DEFAULTS.height}},c.prototype.render=function(){this._onstyle="btn-"+this.options.onstyle,this._offstyle="btn-"+this.options.offstyle;var b="large"===this.options.size?"btn-lg":"small"===this.options.size?"btn-sm":"mini"===this.options.size?"btn-xs":"",c=a('<label class="btn">').html(this.options.on).addClass(this._onstyle+" "+b),d=a('<label class="btn">').html(this.options.off).addClass(this._offstyle+" "+b+" active"),e=a('<span class="toggle-handle btn btn-default">').addClass(b),f=a('<div class="toggle-group">').append(c,d,e),g=a('<div class="toggle btn" data-toggle="toggle">').addClass(this.$element.prop("checked")?this._onstyle:this._offstyle+" off").addClass(b).addClass(this.options.style);this.$element.wrap(g),a.extend(this,{$toggle:this.$element.parent(),$toggleOn:c,$toggleOff:d,$toggleGroup:f}),this.$toggle.append(f);var h=this.options.width||Math.max(c.outerWidth(),d.outerWidth())+e.outerWidth()/2,i=this.options.height||Math.max(c.outerHeight(),d.outerHeight());c.addClass("toggle-on"),d.addClass("toggle-off"),this.$toggle.css({width:h,height:i}),this.options.height&&(c.css("line-height",c.height()+"px"),d.css("line-height",d.height()+"px")),this.update(!0),this.trigger(!0)},c.prototype.toggle=function(){this.$element.prop("checked")?this.off():this.on()},c.prototype.on=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._offstyle+" off").addClass(this._onstyle),this.$element.prop("checked",!0),void(a||this.trigger()))},c.prototype.off=function(a){return this.$element.prop("disabled")?!1:(this.$toggle.removeClass(this._onstyle).addClass(this._offstyle+" off"),this.$element.prop("checked",!1),void(a||this.trigger()))},c.prototype.enable=function(){this.$toggle.removeAttr("disabled"),this.$element.prop("disabled",!1)},c.prototype.disable=function(){this.$toggle.attr("disabled","disabled"),this.$element.prop("disabled",!0)},c.prototype.update=function(a){this.$element.prop("disabled")?this.disable():this.enable(),this.$element.prop("checked")?this.on(a):this.off(a)},c.prototype.trigger=function(b){this.$element.off("change.bs.toggle"),b||this.$element.change(),this.$element.on("change.bs.toggle",a.proxy(function(){this.update()},this))},c.prototype.destroy=function(){this.$element.off("change.bs.toggle"),this.$toggleGroup.remove(),this.$element.removeData("bs.toggle"),this.$element.unwrap()};var d=a.fn.bootstrapToggle;a.fn.bootstrapToggle=b,a.fn.bootstrapToggle.Constructor=c,a.fn.toggle.noConflict=function(){return a.fn.bootstrapToggle=d,this},a(function(){a("input[type=checkbox][data-toggle^=toggle]").bootstrapToggle()}),a(document).on("click.bs.toggle","div[data-toggle^=toggle]",function(b){var c=a(this).find("input[type=checkbox]");c.bootstrapToggle("toggle"),b.preventDefault()})}(jQuery);
229
+ //# sourceMappingURL=bootstrap-toggle.min.js.map
readme.txt CHANGED
@@ -1,18 +1,18 @@
1
  === Advanced Access Manager ===
2
  Contributors: vasyltech
3
- Tags: access, role, user, visitor, capability, page, post, permission, security, redirect
4
  Requires at least: 3.8
5
  Tested up to: 4.7
6
- Stable tag: 3.9.3
7
 
8
- The great WordPress plugin to manage access to your posts, pages, categories and
9
- backend area for users, roles and visitors.
10
 
11
  == Description ==
12
 
13
  > Advanced Access Manager (aka AAM) is probably the only plugin that allows you to
14
- > control access to your posts, pages or backend area on user, visitor and role
15
- > levels.
16
 
17
  AAM is well documented so even inexperienced WordPress user can easily understand
18
  how to use it in the most efficient way.
@@ -20,15 +20,17 @@ how to use it in the most efficient way.
20
  Please note! Some of the features are limited with the basic version and if
21
  necessary, consider to get recommended free or premium extension.
22
 
23
- AAM the main objectives are:
24
 
25
- * Manage access to your posts, pages, custom post types and categories;
26
- * Manage access to post's and page's content by displaying teaser message;
27
- * Filter backend metaboxes and widgets as well as frontend widgets;
28
- * Control access to backend menu;
29
- * Manage redirect when access is denied to any restricted resource;
30
- * Create, edit or delete user roles;
31
- * Manage role capabilities
 
 
32
 
33
  > AAM is very flexible and customizable plugin that is used by a lot of developers
34
  > around the world to create secure and powerful WordPress solutions.
@@ -64,6 +66,11 @@ out more about the Advanced Access Manager.
64
 
65
  == Changelog ==
66
 
 
 
 
 
 
67
  = 3.9.3 =
68
  * Bug fixing
69
  * Implemented license check mechanism
1
  === Advanced Access Manager ===
2
  Contributors: vasyltech
3
+ Tags: access, role, user, visitor, capability, page, post, permission, security, redirect, access
4
  Requires at least: 3.8
5
  Tested up to: 4.7
6
+ Stable tag: 3.9.5
7
 
8
+ Set of tools to manage access to your website resources like posts, pages or menus for
9
+ any user, role or visitors.
10
 
11
  == Description ==
12
 
13
  > Advanced Access Manager (aka AAM) is probably the only plugin that allows you to
14
+ > manage access to a website in the backend and frontend for any user, role or
15
+ > visitors.
16
 
17
  AAM is well documented so even inexperienced WordPress user can easily understand
18
  how to use it in the most efficient way.
20
  Please note! Some of the features are limited with the basic version and if
21
  necessary, consider to get recommended free or premium extension.
22
 
23
+ Below is the list of some of the most used features:
24
 
25
+ * Create, edit or delete Roles;
26
+ * Create, edit or delete Capabilities;
27
+ * Manage access to the Backend Menu;
28
+ * Manage access to Widgets & Metaboxes;
29
+ * Manage access to Posts, Pages, Custom Post Types or Categories;
30
+ * Limit access the a post's content with Teaser Message;
31
+ * Manage Access Denied Redirect for any restricted website resource;
32
+ * Manage Login Redirect after user authenticated successfully;
33
+ * And many more...
34
 
35
  > AAM is very flexible and customizable plugin that is used by a lot of developers
36
  > around the world to create secure and powerful WordPress solutions.
66
 
67
  == Changelog ==
68
 
69
+ = 3.9.5 =
70
+ * General bug fixing and improvements
71
+ * Added ability to setup access settings to all Users, Roles and Visitors
72
+ * Added Login Redirect feature
73
+
74
  = 3.9.3 =
75
  * Bug fixing
76
  * Implemented license check mechanism