Card image cap

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis perferendis rem accusantium ducimus animi nesciunt expedita omnis aut quas molestias!

Mauris viverra cursus ante laoreet eleifend. Donec vel fringilla ante. Aenean finibus velit id urna vehicula, nec maximus est sollicitudin. Praesent at tempus lectus, eleifend blandit felis. Fusce augue arcu, consequat a nisl aliquet, consectetur elementum turpis. Donec iaculis lobortis nisl, et viverra risus imperdiet eu. Etiam mollis posuere elit non sagittis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis arcu a magna sodales venenatis. Integer non diam sit amet magna luctus mollis ac eu nisi. In accumsan tellus ut dapibus blandit.

Quisque sagittis non ex eget vestibulum. Sed nec ultrices dui. Cras et sagittis erat. Maecenas pulvinar, turpis in dictum tincidunt, dolor nibh lacinia lacus.

Praesent ac magna sed massa euismod congue vitae vitae risus. Nulla lorem augue, mollis non est et, eleifend elementum ante. Nunc id pharetra magna. Praesent vel orci ornare, blandit mi sed, aliquet nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Card image cap

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis perferendis rem accusantium ducimus animi nesciunt expedita omnis aut quas molestias!

Mauris viverra cursus ante laoreet eleifend. Donec vel fringilla ante. Aenean finibus velit id urna vehicula, nec maximus est sollicitudin. Praesent at tempus lectus, eleifend blandit felis. Fusce augue arcu, consequat a nisl aliquet, consectetur elementum turpis. Donec iaculis lobortis nisl, et viverra risus imperdiet eu. Etiam mollis posuere elit non sagittis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis arcu a magna sodales venenatis. Integer non diam sit amet magna luctus mollis ac eu nisi. In accumsan tellus ut dapibus blandit.

Quisque sagittis non ex eget vestibulum. Sed nec ultrices dui. Cras et sagittis erat. Maecenas pulvinar, turpis in dictum tincidunt, dolor nibh lacinia lacus.

Praesent ac magna sed massa euismod congue vitae vitae risus. Nulla lorem augue, mollis non est et, eleifend elementum ante. Nunc id pharetra magna. Praesent vel orci ornare, blandit mi sed, aliquet nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Card image cap

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corporis perferendis rem accusantium ducimus animi nesciunt expedita omnis aut quas molestias!

Mauris viverra cursus ante laoreet eleifend. Donec vel fringilla ante. Aenean finibus velit id urna vehicula, nec maximus est sollicitudin. Praesent at tempus lectus, eleifend blandit felis. Fusce augue arcu, consequat a nisl aliquet, consectetur elementum turpis. Donec iaculis lobortis nisl, et viverra risus imperdiet eu. Etiam mollis posuere elit non sagittis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc quis arcu a magna sodales venenatis. Integer non diam sit amet magna luctus mollis ac eu nisi. In accumsan tellus ut dapibus blandit.

Quisque sagittis non ex eget vestibulum. Sed nec ultrices dui. Cras et sagittis erat. Maecenas pulvinar, turpis in dictum tincidunt, dolor nibh lacinia lacus.

Praesent ac magna sed massa euismod congue vitae vitae risus. Nulla lorem augue, mollis non est et, eleifend elementum ante. Nunc id pharetra magna. Praesent vel orci ornare, blandit mi sed, aliquet nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Card image cap

All in the world know the beauty of the beautiful, and in doing this they have (the idea of) what ugliness is; they all know the skill of the skilful, and in doing this they have (the idea of) what the want of skill is.

So it is that existence and nonexistence give birth the one to (the idea of) the other; that difficulty and ease produce the one (the idea of) the other; that length and shortness fashion out the one the figure of the other; that (the ideas of) height and lowness arise from the contrast of the one with the other; that the musical notes and tones become harmonious through the relation of one with another; and that being before and behind give the idea of one following another.

Therefore the sage manages affairs without doing anything, and conveys his instructions without the use of speech.

All things spring up, and there is not one which declines to show itself; they grow, and there is no claim made for their ownership; they go through their processes, and there is no expectation (of a reward for the results). The work is accomplished, and there is no resting in it (as an achievement).

The work is done, but how no one can see;
`This this that makes the power not cease to be.

  1. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  2. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  3. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  4. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  5. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  6. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  7. [10] => products.399fdb682aebe152957659eee0cef4ef
  8. [11] => products.399fdb682aebe152957659eee0cef4ef_expire
  9. )
  10. [27-May-2026 02:04:25 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/cart
  11. [27-May-2026 02:04:26 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/shop
  12. s.d94e88b79394c4004b5322416beadb1c_expire
  13. [10] => comments.188dc7c9db1576016a7ef1e300cd1096
  14. [11] => comments.188dc7c9db1576016a7ef1e300cd1096_expire
  15. [12] => content\categories.c5f09ba3257d23587936d87ea55124da
  16. [13] => content\categories.c5f09ba3257d23587936d87ea55124da_expire
  17. [14] => content\categories.21b383783637152eb488559a25b8eefa
  18. [15] => content\categories.21b383783637152eb488559a25b8eefa_expire
  19. [16] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  20. [17] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  21. [18] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea
  22. [19] => content\archives.7dd3ad53d7acb600b6cc89c01126d6ea_expire
  23. )
  24. [27-May-2026 02:03:47 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/author/admin
  25. [27-May-2026 02:04:22 PRC] wait cache /cartArray
  26. (
  27. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  28. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  29. [2] => menu.94598630b740ec08860f5f0e9483c030
  30. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  31. )
  32. [27-May-2026 02:04:23 PRC] wait cache /shopArray
  33. (
  34. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  35. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  36. [2] => menu.94598630b740ec08860f5f0e9483c030
  37. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  38. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  39. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  40. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  41. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  42. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  43. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  44. [10] => products.399fdb682aebe152957659eee0cef4ef
  45. [11] => products.399fdb682aebe152957659eee0cef4ef_expire
  46. )
  47. [27-May-2026 02:04:23 PRC] wait cache /cartArray
  48. (
  49. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  50. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  51. [2] => menu.94598630b740ec08860f5f0e9483c030
  52. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  53. )
  54. [27-May-2026 02:04:24 PRC] wait cache /shopArray
  55. (
  56. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  57. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  58. [2] => menu.94598630b740ec08860f5f0e9483c030
  59. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  60. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  61. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  62. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  63. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  64. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  65. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  66. [10] => products.399fdb682aebe152957659eee0cef4ef
  67. [11] => products.399fdb682aebe152957659eee0cef4ef_expire
  68. )
  69. [27-May-2026 02:04:24 PRC] wait cache /cartArray
  70. (
  71. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  72. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  73. [2] => menu.94598630b740ec08860f5f0e9483c030
  74. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  75. )
  76. [27-May-2026 02:04:25 PRC] wait cache /shopArray
  77. (
  78. [0] => menu.48ac5d25ab7fb8065a03b2a19458089a
  79. [1] => menu.48ac5d25ab7fb8065a03b2a19458089a_expire
  80. [2] => menu.94598630b740ec08860f5f0e9483c030
  81. [3] => menu.94598630b740ec08860f5f0e9483c030_expire
  82. [4] => product\categories.0aa33edbb495d97c6d2b3a822402efbd
  83. [5] => product\categories.0aa33edbb495d97c6d2b3a822402efbd_expire
  84. [6] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d
  85. [7] => product\manufacturers.3e6ebb0a290606bd4d579be65f73c65d_expire
  86. [8] => product\vendors.75c39f80a2dd80756eefbe25d898ad78
  87. [9] => product\vendors.75c39f80a2dd80756eefbe25d898ad78_expire
  88. [10] => products.399fdb682aebe152957659eee0cef4ef
  89. [11] => products.399fdb682aebe152957659eee0cef4ef_expire
  90. )
  91. [27-May-2026 02:04:25 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/cart
  92. [27-May-2026 02:04:26 PRC] error:CACHE max retry reached for ecomdemo.micodetest.com/shop
    1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
      1. insert-scripts
        1. header
        2. footer
      2. 1
      3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'insert-scripts' AND _.`key` IN ('header','footer')
    1. SELECT pd.*,post.*,ad.username,ad.display_name,ad.admin_id,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name ,(SELECT COUNT(c.comment_id) FROM comment c WHERE post.post_id = c.post_id AND c.status = :comment_status ) AS comment_count ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = :language_id) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = :language_id AND t2s.site_id = :site_id AND pt.post_id = post.post_id AND t.type = "categories" AND pt.post_id = post.post_id LIMIT :categories ) as categories ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = :language_id) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = :language_id AND t2s.site_id = :site_id AND pt.post_id = post.post_id AND t.type = "tags" AND pt.post_id = post.post_id LIMIT :tags ) as tags FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.l
      1. 1
      2. 1
      3. 1
      4. en_US
      5. en_US
      6. 1
      7. 1
        1. autocomplete
        2. post
        3. 4
        4. post_id
        5. desc
        6. publish
        7. 200
        8. 1
        9. 1
        10. 1
        11. large
        12. 3
        13. 5
        14. SELECT pd.*,post.*,ad.username,ad.display_name,ad.admin_id,ad.email, ad.avatar, ad.bio, ad.first_name, ad.last_name ,(SELECT COUNT(c.comment_id) FROM comment c WHERE post.post_id = c.post_id AND c.status = 1 ) AS comment_count ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = 1) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = 1 AND t2s.site_id = 1 AND pt.post_id = post.post_id AND t.type = "categories" AND pt.post_id = post.post_id LIMIT 3 ) as categories ,(SELECT JSON_ARRAYAGG( JSON_OBJECT('taxonomy_item_id', taxonomies.taxonomy_item_id, 'name' , td.name, 'slug' , td.slug) ) FROM taxonomy_item AS taxonomies INNER JOIN taxonomy_to_site t2s ON (taxonomies.taxonomy_item_id = t2s.taxonomy_item_id AND t2s.site_id = site_id) INNER JOIN taxonomy_item_content td ON (taxonomies.taxonomy_item_id = td.taxonomy_item_id AND td.language_id = 1) INNER JOIN taxonomy t ON (taxonomies.taxonomy_id = t.taxonomy_id) LEFT JOIN post_to_taxonomy_item pt ON (taxonomies.taxonomy_item_id = pt.taxonomy_item_id) WHERE td.language_id = 1 AND t2s.site_id = 1 AND pt.post_id = post.post_id AND t.type = "tags" AND pt.post_id = post.post_id LIMIT 5 ) as tags FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = 1 ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id
      1. SELECT count(*) FROM ( SELECT post.post_id FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = :language_id ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = :type AND post.status = :status AND ps.site_id = :site_id ORDER BY post.post_id desc ) as count
        1. 1
        2. 1
        3. 1
        4. en_US
        5. en_US
        6. 1
        7. 1
          1. autocomplete
          2. post
          3. 4
          4. post_id
          5. desc
          6. publish
          7. 200
          8. 1
          9. 1
          10. 1
          11. large
          12. 3
          13. 5
          14. SELECT count(*) FROM ( SELECT post.post_id FROM post LEFT JOIN post_content pd ON ( post.post_id = pd.post_id AND pd.language_id = 1 ) LEFT JOIN post_to_site ps ON (post.post_id = ps.post_id) LEFT JOIN admin ad ON (post.admin_id = ad.admin_id) WHERE 1 = 1 AND post.type = 'post' AND post.status = 'publish' AND ps.site_id = 1 ORDER BY post.post_id desc ) as count
        1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
          1. dicebear
            1. url
            2. size
            3. style
            4. flip
          2. 1
          3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'dicebear' AND _.`key` IN ('url','size','style','flip')
        1. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = :site_id AND _.namespace = :namespace AND _.`key` IN (:key)
          1. gravatar
            1. size
            2. rating
            3. default
          2. 1
          3. SELECT namespace, `key`, value FROM setting AS _ WHERE 1 = 1 AND _.site_id = 1 AND _.namespace = 'gravatar' AND _.`key` IN ('size','rating','default')
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/cdn/plugin.php [line: 75 - 83] */
              function ($publicPath, $type, $image, $size){
              			$publicPath = $options['url'];
              			$publicPath = str_replace(
              				['%host%', '%type%', '%image%', '%size%'],
              				[$_SERVER['HTTP_HOST'], $type, $image, $size],
              				$publicPath);
              
              			return [$publicPath, $type, $image, $size];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 107 - 113] */
              function ($image, $type, $size){
              			if ($type == 'product') {
              				$image = str_replace('/media/', '', $image);
              			}
              
              			return [$image, $type, $size];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/debug/plugin.php [line: 124 - 129] */
              function ($sql, $params){
              			$debugSql = $db->debugSql($sql, $params);
              			$this->view->debug['data']['sql'][] = [$sql, $params + ['sql' => $debugSql]];
              
              			return [$sql, $params];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/debug/plugin.php [line: 167 - 180] */
              function (){
              			$events = Event::getEvents();
              
              			array_walk_recursive($events, function (&$value, $key) {
              				if (is_object($value)) {
              					if ($value instanceof \Closure) {
              						$value = $this->closureDump($value);
              					}
              				}
              			});
              
              			$this->view->debug['data']['filters'] = $events;
              			$this->view->debug['data']['request'] = Routes::getUrlData();
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 90 - 99] */
              function ($template, $htmlFile, $tplFile, $vTpl, $view){
              			// add captcha js and field to page
              			//if ($url = Routes::getUrlData()) {
              			//if (in_array($url['module'], $routes)) {
              			$vTpl->loadTemplateFile(__DIR__ . '/app/template/common.tpl');
              			//}
              			//}
              
              			return [$template, $htmlFile, $tplFile, $vTpl, $view];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
              function ($comments){
              			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
              						(isset($comment['email']) || ! $comment['email'])) {
              						$comment['avatar'] = $this->getDiceBear(
              								$comment['email'],
              								$options['url'] ?? DICEBAR_URL,
              								$options['size'] ?? 60,
              								$options['style'] ?? 'fun-emoji',
              								$options['flip'] ?? 'false'
              							);
              					}
              
              					if (isset($options['size'])) {
              						$comment['size'] = $options['size'];
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
              function ($comments){
              			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if (! isset($comment['avatar']) || ! $comment['avatar']) {
              						$comment['avatar'] = $this->getGravatar(
              								$comment['email'],
              								$options['size'] ?? 60,
              								$options['default'] ?? 'mm',
              								$options['rating'] ?? 'g'
              							);
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
              function ($comments){
              			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
              						(isset($comment['email']) || ! $comment['email'])) {
              						$comment['avatar'] = $this->getDiceBear(
              								$comment['email'],
              								$options['url'] ?? DICEBAR_URL,
              								$options['size'] ?? 60,
              								$options['style'] ?? 'fun-emoji',
              								$options['flip'] ?? 'false'
              							);
              					}
              
              					if (isset($options['size'])) {
              						$comment['size'] = $options['size'];
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
              function ($comments){
              			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if (! isset($comment['avatar']) || ! $comment['avatar']) {
              						$comment['avatar'] = $this->getGravatar(
              								$comment['email'],
              								$options['size'] ?? 60,
              								$options['default'] ?? 'mm',
              								$options['rating'] ?? 'g'
              							);
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/dicebear/plugin.php [line: 61 - 94] */
              function ($comments){
              			$options = \Vvveb\getSetting('dicebear', ['url', 'size', 'style', 'flip']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if ((! isset($comment['avatar']) || ! $comment['avatar']) &&
              						(isset($comment['email']) || ! $comment['email'])) {
              						$comment['avatar'] = $this->getDiceBear(
              								$comment['email'],
              								$options['url'] ?? DICEBAR_URL,
              								$options['size'] ?? 60,
              								$options['style'] ?? 'fun-emoji',
              								$options['flip'] ?? 'false'
              							);
              					}
              
              					if (isset($options['size'])) {
              						$comment['size'] = $options['size'];
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            2. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/gravatar/plugin.php [line: 61 - 88] */
              function ($comments){
              			$options = \Vvveb\getSetting('gravatar', ['size', 'rating', 'default']);
              
              			$commentType = false;
              
              			foreach ($types as $type) {
              				if (isset($comments[$type])) {
              					$commentType = $type;
              
              					break;
              				}
              			}
              
              			if ($commentType) {
              				foreach ($comments[$commentType] as &$comment) {
              					if (! isset($comment['avatar']) || ! $comment['avatar']) {
              						$comment['avatar'] = $this->getGravatar(
              								$comment['email'],
              								$options['size'] ?? 60,
              								$options['default'] ?? 'mm',
              								$options['rating'] ?? 'g'
              							);
              					}
              				}
              			}
              
              			return [$comments];
              		};
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/shipping/plugin.php [line: 79 - 89] */
              function ($site){
              			$request = Request::getInstance();
              			$route = $request->get['route'] ?? '';
              			$module = $request->get['module'] ?? '';
              
              			if ($route == '/checkout' || $module == 'checkout/checkout/index') {
              				$this->init();
              			}
              
              			return [$site];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 116 - 120] */
              function ($options){
              			$options['type'] = 'theme';
              
              			return [$options];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 123 - 131] */
              function ($results){
              			if (isset($results['product'])) {
              				foreach ($results['product'] as &$product) {
              					$product['download_link'] = PUBLIC_PATH . 'market/themes/' . $product['slug'] . '.zip';
              				}
              			}
              
              			return [$results];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/theme-market/plugin.php [line: 134 - 140] */
              function ($results){
              			if ($results) {
              				$results['download_link'] = PUBLIC_PATH . 'market/themes/' . $results['slug'] . '.zip';
              			}
              
              			return [$results];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/toc-posts/plugin.php [line: 174 - 180] */
              function ($results = false){
              			if ($results && isset($results['content'])) {
              				$this->toc($results);
              			}
              
              			return [$results];
              		});
              
            1. /* /www/wwwroot/ecomdemo.micodetest.com/plugins/toc-posts/plugin.php [line: 182 - 188] */
              function ($results = false){
              			if ($results && isset($results[0])) {
              				$this->toc($results[0]);
              			}
              
              			return [$results];
              		});
              
      1. /blog
      2. content
      3. \/blog