object(yii\web\HttpException)#311 (8) { ["statusCode"]=> int(400) ["message":protected]=> string(57) "Invalid request. Please do not repeat this request again." ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(45) "/var/www/html/controllers/FundsController.php" ["line":protected]=> int(232) ["trace":"Exception":private]=> array(7) { [0]=> array(4) { ["function"]=> string(22) "actionFund_description" ["class"]=> string(37) "Lifecycle\controllers\FundsController" ["type"]=> string(2) "->" ["args"]=> array(3) { [0]=> string(37) "FondsderevenustratégiqueLawrencePark" [1]=> int(0) [2]=> int(289) } } [1]=> array(4) { ["file"]=> string(55) "/var/www/html/vendor/yiisoft/yii2/base/InlineAction.php" ["line"]=> int(57) ["function"]=> string(20) "call_user_func_array" ["args"]=> array(2) { [0]=> array(2) { [0]=> object(Lifecycle\controllers\FundsController)#173 (40) { ["layout"]=> string(11) "default.php" ["cache_time"]=> int(86400) ["cache_params":"Lifecycle\controllers\FundsController":private]=> array(6) { [0]=> string(5) "alias" [1]=> string(3) "cat" [2]=> string(16) "currencySelector" [3]=> string(8) "seriesId" [4]=> string(7) "classId" [5]=> string(13) "redirect_type" } ["view_vars"]=> NULL ["userData"]=> NULL ["route"]=> object(Lifecycle\models\SsPages)#125 (10) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(42) { ["id"]=> int(2) ["alias_fr"]=> string(15) "prix-quotidien2" ["alias_en"]=> string(12) "daily-prices" ["title_fr"]=> string(42) "Fonds de revenu stratégique Lawrence Park" ["title_en"]=> string(6) "Prices" ["controller"]=> string(5) "funds" ["action"]=> string(16) "fund_description" ["params"]=> string(10) "fund_cat_5" ["context"]=> int(0) ["type"]=> int(0) ["parent_id"]=> int(2) ["meta_description_en"]=> string(107) "View all of the latest pricing and information on CI Investments mutual funds and structured products here." ["meta_description_fr"]=> string(121) "Obtenez les derniers cours et d’autres renseignements sur les fonds communs de placement et produits structurés de CI." ["meta_keywords_en"]=> string(58) "Daily Prices | Equity | Funds | Income | Money | Canadian " ["meta_keywords_fr"]=> string(9) "Produits " ["position"]=> int(4) ["published"]=> int(1) ["request_id"]=> string(32) "f7001ff9f1abe0b0dce5888f12faafbd" ["search_index"]=> string(3) "YES" ["alias_advisor"]=> string(1) "1" ["updated_on"]=> int(0) ["title_advisor"]=> string(3) "gdg" ["meta_canonical_en"]=> NULL ["meta_canonical_fr"]=> string(122) "https://ci.com/fr/produits/prix-quotidien2/Fondsderevenustrat%C3%A9giqueLawrencePark.html?seriesId=1097¤cySelector=1" ["twitter_card"]=> NULL ["twitter_site"]=> NULL ["twitter_title"]=> NULL ["twitter_desc"]=> NULL ["twitter_img"]=> NULL ["og_title"]=> NULL ["og_desc"]=> NULL ["og_img"]=> NULL ["twitter_card_fr"]=> NULL ["twitter_site_fr"]=> NULL ["twitter_title_fr"]=> NULL ["twitter_desc_fr"]=> NULL ["twitter_img_fr"]=> NULL ["og_title_fr"]=> NULL ["og_desc_fr"]=> NULL ["og_img_fr"]=> NULL ["og_site"]=> NULL ["og_site_fr"]=> NULL } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(42) { ["id"]=> int(2) ["alias_fr"]=> string(15) "prix-quotidien2" ["alias_en"]=> string(12) "daily-prices" ["title_fr"]=> string(4) "Prix" ["title_en"]=> string(6) "Prices" ["controller"]=> string(7) "summary" ["action"]=> string(5) "daily" ["params"]=> string(10) "fund_cat_5" ["context"]=> int(0) ["type"]=> int(0) ["parent_id"]=> int(20) ["meta_description_en"]=> string(107) "View all of the latest pricing and information on CI Investments mutual funds and structured products here." ["meta_description_fr"]=> string(121) "Obtenez les derniers cours et d’autres renseignements sur les fonds communs de placement et produits structurés de CI." ["meta_keywords_en"]=> string(58) "Daily Prices | Equity | Funds | Income | Money | Canadian " ["meta_keywords_fr"]=> string(9) "Produits " ["position"]=> int(4) ["published"]=> int(1) ["request_id"]=> string(32) "f7001ff9f1abe0b0dce5888f12faafbd" ["search_index"]=> string(3) "YES" ["alias_advisor"]=> string(1) "1" ["updated_on"]=> int(0) ["title_advisor"]=> string(3) "gdg" ["meta_canonical_en"]=> NULL ["meta_canonical_fr"]=> NULL ["twitter_card"]=> NULL ["twitter_site"]=> NULL ["twitter_title"]=> NULL ["twitter_desc"]=> NULL ["twitter_img"]=> NULL ["og_title"]=> NULL ["og_desc"]=> NULL ["og_img"]=> NULL ["twitter_card_fr"]=> NULL ["twitter_site_fr"]=> NULL ["twitter_title_fr"]=> NULL ["twitter_desc_fr"]=> NULL ["twitter_img_fr"]=> NULL ["og_title_fr"]=> NULL ["og_desc_fr"]=> NULL ["og_img_fr"]=> NULL ["og_site"]=> NULL ["og_site_fr"]=> NULL } ["_related":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_relationsDependencies":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["alias_en"]=> string(12) "daily-prices" ["alias_fr"]=> string(15) "prix-quotidien2" ["cat"]=> int(5) ["mobile_device"]=> bool(false) ["serviceMenu"]=> NULL ["queryParams"]=> string(0) "" ["numUnreadMessages"]=> int(0) ["get"]=> array(0) { } ["isInternalUser"]=> bool(false) ["pageTitle"]=> bool(false) ["breadcrumbs"]=> NULL ["viewPath"]=> NULL ["showBreadcrumbs"]=> bool(false) ["meta_description"]=> string(0) "" ["meta_keywords"]=> string(0) "" ["current_fund"]=> object(Lifecycle\models\SsFund)#180 (10) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(47) { ["id"]=> int(93) ["fund_category_id"]=> int(18) ["name_en"]=> string(35) "Lawrence Park Strategic Income Fund" ["terminated"]=> int(0) ["name_fr"]=> string(42) "Fonds de revenu stratégique Lawrence Park" ["overview_en"]=> string(491) "This fund invests primarily in investment grade debt of corporate issuers throughout the world, and may also invest in securities that the portfolio adviser believes offer higher relative yields and opportunities for capital appreciation, including corporate bonds that have a below-investment grade credit rating or are unrated, preferred shares, convertible bonds, floating rate debt instruments, emerging market bonds and exchange-traded funds. The fund may also hedge interest rate risk." ["overview_fr"]=> string(721) "Ce fonds investit principalement dans des titres de créance de catégorie investissement de sociétés émettrices dans le monde entier. Le fonds peut également investir dans des titres qui, selon le conseiller en valeurs, offrent un rendement relatif plus élevé et la possibilité de réaliser une plus-value en capital, notamment des obligations de sociétés qui ne sont pas notées ou dont la notation est inférieure à celle des titres de catégorie investissement, des actions privilégiées, des obligations convertibles, des titres de créance à taux variable, des obligations des marchés émergents et des fonds négociés en bourse. Le fonds peut également couvrir le risque lié aux taux d’intérêt." ["foreign_objective"]=> NULL ["volatility"]=> int(1) ["suitability_en"]=> string(103) "
  • want to receive income
  • are investing for the medium term
  • can tolerate low risk
  • " ["suitability_fr"]=> string(117) "
  • souhaitez recevoir un revenu
  • investissez à moyen terme
  • avez une tolérance au risque faible
  • " ["small_cap"]=> NULL ["medium_cap"]=> NULL ["large_cap"]=> NULL ["highlights_en"]=> string(491) "This fund invests primarily in investment grade debt of corporate issuers throughout the world, and may also invest in securities that the portfolio adviser believes offer higher relative yields and opportunities for capital appreciation, including corporate bonds that have a below-investment grade credit rating or are unrated, preferred shares, convertible bonds, floating rate debt instruments, emerging market bonds and exchange-traded funds. The fund may also hedge interest rate risk." ["highlights_fr"]=> string(721) "Ce fonds investit principalement dans des titres de créance de catégorie investissement de sociétés émettrices dans le monde entier. Le fonds peut également investir dans des titres qui, selon le conseiller en valeurs, offrent un rendement relatif plus élevé et la possibilité de réaliser une plus-value en capital, notamment des obligations de sociétés qui ne sont pas notées ou dont la notation est inférieure à celle des titres de catégorie investissement, des actions privilégiées, des obligations convertibles, des titres de créance à taux variable, des obligations des marchés émergents et des fonds négociés en bourse. Le fonds peut également couvrir le risque lié aux taux d’intérêt." ["page_alias_en"]=> string(31) "LawrenceParkStrategicIncomeFund" ["page_alias_fr"]=> string(37) "FondsderevenustratégiqueLawrencePark" ["short_summary_en"]=> string(0) "" ["short_summary_fr"]=> string(0) "" ["mpower_id"]=> string(3) "671" ["legal_structure_id"]=> int(2) ["marketing_category_id"]=> int(3) ["marketing_focus_id"]=> int(26) ["mandate_id"]=> int(67) ["accredited_only"]=> int(0) ["rrsp"]=> int(2) ["cfr_fund_code"]=> string(0) "" ["g520_accumulation_from"]=> NULL ["g520_accumulation_to"]=> NULL ["g520_distr_from"]=> NULL ["g520_distr_to"]=> NULL ["g520_issue_date_from"]=> NULL ["g520_issue_date_to"]=> NULL ["g520_guarantee_from"]=> NULL ["g520_guarantee_to"]=> NULL ["g520_target_date"]=> NULL ["cfr_product_id"]=> NULL ["seg_volatility"]=> int(2) ["had_a_null"]=> int(0) ["termination_date"]=> string(10) "2019-11-22" ["prev_name_en"]=> NULL ["prev_name_fr"]=> NULL ["fund_rename_date"]=> NULL ["fund_merged_data_en"]=> NULL ["fund_merged_data_fr"]=> NULL ["cinchy_code"]=> NULL } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(47) { ["id"]=> int(93) ["fund_category_id"]=> int(18) ["name_en"]=> string(35) "Lawrence Park Strategic Income Fund" ["terminated"]=> int(0) ["name_fr"]=> string(42) "Fonds de revenu stratégique Lawrence Park" ["overview_en"]=> string(491) "This fund invests primarily in investment grade debt of corporate issuers throughout the world, and may also invest in securities that the portfolio adviser believes offer higher relative yields and opportunities for capital appreciation, including corporate bonds that have a below-investment grade credit rating or are unrated, preferred shares, convertible bonds, floating rate debt instruments, emerging market bonds and exchange-traded funds. The fund may also hedge interest rate risk." ["overview_fr"]=> string(721) "Ce fonds investit principalement dans des titres de créance de catégorie investissement de sociétés émettrices dans le monde entier. Le fonds peut également investir dans des titres qui, selon le conseiller en valeurs, offrent un rendement relatif plus élevé et la possibilité de réaliser une plus-value en capital, notamment des obligations de sociétés qui ne sont pas notées ou dont la notation est inférieure à celle des titres de catégorie investissement, des actions privilégiées, des obligations convertibles, des titres de créance à taux variable, des obligations des marchés émergents et des fonds négociés en bourse. Le fonds peut également couvrir le risque lié aux taux d’intérêt." ["foreign_objective"]=> NULL ["volatility"]=> int(1) ["suitability_en"]=> string(103) "
  • want to receive income
  • are investing for the medium term
  • can tolerate low risk
  • " ["suitability_fr"]=> string(117) "
  • souhaitez recevoir un revenu
  • investissez à moyen terme
  • avez une tolérance au risque faible
  • " ["small_cap"]=> NULL ["medium_cap"]=> NULL ["large_cap"]=> NULL ["highlights_en"]=> string(491) "This fund invests primarily in investment grade debt of corporate issuers throughout the world, and may also invest in securities that the portfolio adviser believes offer higher relative yields and opportunities for capital appreciation, including corporate bonds that have a below-investment grade credit rating or are unrated, preferred shares, convertible bonds, floating rate debt instruments, emerging market bonds and exchange-traded funds. The fund may also hedge interest rate risk." ["highlights_fr"]=> string(721) "Ce fonds investit principalement dans des titres de créance de catégorie investissement de sociétés émettrices dans le monde entier. Le fonds peut également investir dans des titres qui, selon le conseiller en valeurs, offrent un rendement relatif plus élevé et la possibilité de réaliser une plus-value en capital, notamment des obligations de sociétés qui ne sont pas notées ou dont la notation est inférieure à celle des titres de catégorie investissement, des actions privilégiées, des obligations convertibles, des titres de créance à taux variable, des obligations des marchés émergents et des fonds négociés en bourse. Le fonds peut également couvrir le risque lié aux taux d’intérêt." ["page_alias_en"]=> string(31) "LawrenceParkStrategicIncomeFund" ["page_alias_fr"]=> string(37) "FondsderevenustratégiqueLawrencePark" ["short_summary_en"]=> string(0) "" ["short_summary_fr"]=> string(0) "" ["mpower_id"]=> string(3) "671" ["legal_structure_id"]=> int(2) ["marketing_category_id"]=> int(3) ["marketing_focus_id"]=> int(26) ["mandate_id"]=> int(67) ["accredited_only"]=> int(0) ["rrsp"]=> int(2) ["cfr_fund_code"]=> string(0) "" ["g520_accumulation_from"]=> NULL ["g520_accumulation_to"]=> NULL ["g520_distr_from"]=> NULL ["g520_distr_to"]=> NULL ["g520_issue_date_from"]=> NULL ["g520_issue_date_to"]=> NULL ["g520_guarantee_from"]=> NULL ["g520_guarantee_to"]=> NULL ["g520_target_date"]=> NULL ["cfr_product_id"]=> NULL ["seg_volatility"]=> int(2) ["had_a_null"]=> int(0) ["termination_date"]=> string(10) "2019-11-22" ["prev_name_en"]=> NULL ["prev_name_fr"]=> NULL ["fund_rename_date"]=> NULL ["fund_merged_data_en"]=> NULL ["fund_merged_data_fr"]=> NULL ["cinchy_code"]=> NULL } ["_related":"yii\db\BaseActiveRecord":private]=> array(2) { ["fundCategory"]=> object(Lifecycle\models\SsFundCategory)#232 (10) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(7) { ["id"]=> int(18) ["name_en"]=> string(19) "Global Fixed Income" ["name_fr"]=> string(19) "Revenu fixe mondial" ["list_position"]=> int(127) ["fund_type_id"]=> int(5) ["is_hidden"]=> string(2) "NO" ["marketing_asset_id"]=> int(6) } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(7) { ["id"]=> int(18) ["name_en"]=> string(19) "Global Fixed Income" ["name_fr"]=> string(19) "Revenu fixe mondial" ["list_position"]=> int(127) ["fund_type_id"]=> int(5) ["is_hidden"]=> string(2) "NO" ["marketing_asset_id"]=> int(6) } ["_related":"yii\db\BaseActiveRecord":private]=> array(1) { ["fundType"]=> object(Lifecycle\models\SsFundType)#242 (10) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(17) { ["id"]=> int(5) ["name_en"]=> string(12) "Mutual Funds" ["name_fr"]=> string(26) "Fonds communs de placement" ["pro_modx_parent_fr"]=> int(1) ["pro_modx_parent_en"]=> int(1) ["modx_parent_fr"]=> int(1) ["modx_parent_en"]=> int(1) ["res_en"]=> int(1) ["res_fr"]=> int(1) ["pro_res_en"]=> int(1) ["pro_res_fr"]=> int(1) ["mobile_en"]=> NULL ["mobile_fr"]=> NULL ["hide_holdings"]=> int(0) ["hide_funds"]=> int(0) ["position"]=> int(1) ["bulk_prefix"]=> NULL } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(17) { ["id"]=> int(5) ["name_en"]=> string(12) "Mutual Funds" ["name_fr"]=> string(26) "Fonds communs de placement" ["pro_modx_parent_fr"]=> int(1) ["pro_modx_parent_en"]=> int(1) ["modx_parent_fr"]=> int(1) ["modx_parent_en"]=> int(1) ["res_en"]=> int(1) ["res_fr"]=> int(1) ["pro_res_en"]=> int(1) ["pro_res_fr"]=> int(1) ["mobile_en"]=> NULL ["mobile_fr"]=> NULL ["hide_holdings"]=> int(0) ["hide_funds"]=> int(0) ["position"]=> int(1) ["bulk_prefix"]=> NULL } ["_related":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_relationsDependencies":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } } ["_relationsDependencies":"yii\db\BaseActiveRecord":private]=> array(1) { ["fund_type_id"]=> array(1) { ["fundType"]=> string(8) "fundType" } } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["main_series"]=> NULL } ["_relationsDependencies":"yii\db\BaseActiveRecord":private]=> array(2) { ["fund_category_id"]=> array(1) { ["fundCategory"]=> string(12) "fundCategory" } ["id"]=> array(1) { ["main_series"]=> string(11) "main_series" } } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["alias"]=> string(31) "LawrenceParkStrategicIncomeFund" ["restricted_account"]=> bool(false) ["endParam"]=> string(0) "" ["showLoginMessage"]=> bool(false) ["menus"]=> NULL ["enableCsrfValidation"]=> bool(true) ["actionParams"]=> array(3) { ["alias"]=> string(37) "FondsderevenustratégiqueLawrencePark" ["type"]=> int(0) ["classId"]=> int(0) } ["id"]=> string(5) "funds" ["module"]=> object(yii\web\Application)#5 (33) { ["defaultRoute"]=> string(4) "site" ["catchAll"]=> NULL ["controller"]=> *RECURSION* ["_homeUrl":"yii\web\Application":private]=> NULL ["controllerNamespace"]=> string(21) "Lifecycle\controllers" ["name"]=> string(14) "My Application" ["charset"]=> string(5) "UTF-8" ["language"]=> string(2) "fr" ["sourceLanguage"]=> string(5) "en-US" ["layout"]=> string(4) "main" ["requestedRoute"]=> string(22) "funds/fund_description" ["requestedAction"]=> object(yii\base\InlineAction)#178 (6) { ["actionMethod"]=> string(22) "actionFund_description" ["id"]=> string(16) "fund_description" ["controller"]=> *RECURSION* ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["requestedParams"]=> array(3) { ["alias"]=> string(37) "FondsderevenustratégiqueLawrencePark" ["type"]=> int(0) ["classId"]=> int(0) } ["extensions"]=> array(34) { ["linslin/yii2-curl"]=> array(3) { ["name"]=> string(17) "linslin/yii2-curl" ["version"]=> string(7) "1.5.0.0" ["alias"]=> array(1) { ["@linslin/yii2/curl"]=> string(38) "/var/www/html/vendor/linslin/yii2-curl" } } ["nex/yii2-chosen"]=> array(3) { ["name"]=> string(15) "nex/yii2-chosen" ["version"]=> string(7) "1.0.0.0" ["alias"]=> array(1) { ["@nex/chosen"]=> string(36) "/var/www/html/vendor/nex/yii2-chosen" } } ["kartik-v/yii2-krajee-base"]=> array(3) { ["name"]=> string(25) "kartik-v/yii2-krajee-base" ["version"]=> string(7) "2.0.6.0" ["alias"]=> array(1) { ["@kartik/base"]=> string(50) "/var/www/html/vendor/kartik-v/yii2-krajee-base/src" } } ["kartik-v/yii2-widget-typeahead"]=> array(3) { ["name"]=> string(30) "kartik-v/yii2-widget-typeahead" ["version"]=> string(7) "1.0.4.0" ["alias"]=> array(1) { ["@kartik/typeahead"]=> string(55) "/var/www/html/vendor/kartik-v/yii2-widget-typeahead/src" } } ["yiisoft/yii2-bootstrap"]=> array(3) { ["name"]=> string(22) "yiisoft/yii2-bootstrap" ["version"]=> string(8) "2.0.10.0" ["alias"]=> array(1) { ["@yii/bootstrap"]=> string(47) "/var/www/html/vendor/yiisoft/yii2-bootstrap/src" } } ["kartik-v/yii2-widget-touchspin"]=> array(3) { ["name"]=> string(30) "kartik-v/yii2-widget-touchspin" ["version"]=> string(7) "1.2.3.0" ["alias"]=> array(1) { ["@kartik/touchspin"]=> string(55) "/var/www/html/vendor/kartik-v/yii2-widget-touchspin/src" } } ["kartik-v/yii2-widget-timepicker"]=> array(3) { ["name"]=> string(31) "kartik-v/yii2-widget-timepicker" ["version"]=> string(7) "1.0.4.0" ["alias"]=> array(1) { ["@kartik/time"]=> string(56) "/var/www/html/vendor/kartik-v/yii2-widget-timepicker/src" } } ["kartik-v/yii2-widget-switchinput"]=> array(3) { ["name"]=> string(32) "kartik-v/yii2-widget-switchinput" ["version"]=> string(7) "1.3.1.0" ["alias"]=> array(1) { ["@kartik/switchinput"]=> string(53) "/var/www/html/vendor/kartik-v/yii2-widget-switchinput" } } ["kartik-v/yii2-widget-spinner"]=> array(3) { ["name"]=> string(28) "kartik-v/yii2-widget-spinner" ["version"]=> string(7) "1.0.1.0" ["alias"]=> array(1) { ["@kartik/spinner"]=> string(53) "/var/www/html/vendor/kartik-v/yii2-widget-spinner/src" } } ["kartik-v/yii2-widget-sidenav"]=> array(3) { ["name"]=> string(28) "kartik-v/yii2-widget-sidenav" ["version"]=> string(7) "1.0.1.0" ["alias"]=> array(1) { ["@kartik/sidenav"]=> string(49) "/var/www/html/vendor/kartik-v/yii2-widget-sidenav" } } ["kartik-v/yii2-widget-select2"]=> array(3) { ["name"]=> string(28) "kartik-v/yii2-widget-select2" ["version"]=> string(7) "2.2.1.0" ["alias"]=> array(1) { ["@kartik/select2"]=> string(53) "/var/www/html/vendor/kartik-v/yii2-widget-select2/src" } } ["kartik-v/yii2-widget-rating"]=> array(3) { ["name"]=> string(27) "kartik-v/yii2-widget-rating" ["version"]=> string(7) "1.0.4.0" ["alias"]=> array(1) { ["@kartik/rating"]=> string(52) "/var/www/html/vendor/kartik-v/yii2-widget-rating/src" } } ["kartik-v/yii2-widget-rangeinput"]=> array(3) { ["name"]=> string(31) "kartik-v/yii2-widget-rangeinput" ["version"]=> string(7) "1.0.2.0" ["alias"]=> array(1) { ["@kartik/range"]=> string(56) "/var/www/html/vendor/kartik-v/yii2-widget-rangeinput/src" } } ["kartik-v/yii2-widget-growl"]=> array(3) { ["name"]=> string(26) "kartik-v/yii2-widget-growl" ["version"]=> string(7) "1.1.2.0" ["alias"]=> array(1) { ["@kartik/growl"]=> string(51) "/var/www/html/vendor/kartik-v/yii2-widget-growl/src" } } ["kartik-v/yii2-widget-fileinput"]=> array(3) { ["name"]=> string(30) "kartik-v/yii2-widget-fileinput" ["version"]=> string(7) "1.1.0.0" ["alias"]=> array(1) { ["@kartik/file"]=> string(55) "/var/www/html/vendor/kartik-v/yii2-widget-fileinput/src" } } ["kartik-v/yii2-widget-depdrop"]=> array(3) { ["name"]=> string(28) "kartik-v/yii2-widget-depdrop" ["version"]=> string(7) "1.0.6.0" ["alias"]=> array(1) { ["@kartik/depdrop"]=> string(53) "/var/www/html/vendor/kartik-v/yii2-widget-depdrop/src" } } ["kartik-v/yii2-widget-datetimepicker"]=> array(3) { ["name"]=> string(35) "kartik-v/yii2-widget-datetimepicker" ["version"]=> string(7) "1.4.9.0" ["alias"]=> array(1) { ["@kartik/datetime"]=> string(60) "/var/www/html/vendor/kartik-v/yii2-widget-datetimepicker/src" } } ["kartik-v/yii2-widget-datepicker"]=> array(3) { ["name"]=> string(31) "kartik-v/yii2-widget-datepicker" ["version"]=> string(7) "1.4.7.0" ["alias"]=> array(1) { ["@kartik/date"]=> string(56) "/var/www/html/vendor/kartik-v/yii2-widget-datepicker/src" } } ["kartik-v/yii2-widget-colorinput"]=> array(3) { ["name"]=> string(31) "kartik-v/yii2-widget-colorinput" ["version"]=> string(7) "1.0.6.0" ["alias"]=> array(1) { ["@kartik/color"]=> string(56) "/var/www/html/vendor/kartik-v/yii2-widget-colorinput/src" } } ["kartik-v/yii2-widget-alert"]=> array(3) { ["name"]=> string(26) "kartik-v/yii2-widget-alert" ["version"]=> string(7) "1.1.4.0" ["alias"]=> array(1) { ["@kartik/alert"]=> string(51) "/var/www/html/vendor/kartik-v/yii2-widget-alert/src" } } ["kartik-v/yii2-widget-affix"]=> array(3) { ["name"]=> string(26) "kartik-v/yii2-widget-affix" ["version"]=> string(7) "1.0.0.0" ["alias"]=> array(1) { ["@kartik/affix"]=> string(47) "/var/www/html/vendor/kartik-v/yii2-widget-affix" } } ["kartik-v/yii2-widget-activeform"]=> array(3) { ["name"]=> string(31) "kartik-v/yii2-widget-activeform" ["version"]=> string(7) "1.5.8.0" ["alias"]=> array(1) { ["@kartik/form"]=> string(56) "/var/www/html/vendor/kartik-v/yii2-widget-activeform/src" } } ["kartik-v/yii2-widgets"]=> array(3) { ["name"]=> string(21) "kartik-v/yii2-widgets" ["version"]=> string(11) "9999999-dev" ["alias"]=> array(1) { ["@kartik/widgets"]=> string(46) "/var/www/html/vendor/kartik-v/yii2-widgets/src" } } ["mg-code/yii2-assets"]=> array(3) { ["name"]=> string(19) "mg-code/yii2-assets" ["version"]=> string(7) "1.2.0.0" ["alias"]=> array(1) { ["@mgcode/assets"]=> string(40) "/var/www/html/vendor/mg-code/yii2-assets" } } ["mg-code/yii2-helpers"]=> array(3) { ["name"]=> string(20) "mg-code/yii2-helpers" ["version"]=> string(7) "1.0.3.0" ["alias"]=> array(1) { ["@mgcode/helpers"]=> string(41) "/var/www/html/vendor/mg-code/yii2-helpers" } } ["mg-code/yii2-session-timeout-warning"]=> array(3) { ["name"]=> string(36) "mg-code/yii2-session-timeout-warning" ["version"]=> string(11) "9999999-dev" ["alias"]=> array(1) { ["@mgcode/sessionWarning"]=> string(57) "/var/www/html/vendor/mg-code/yii2-session-timeout-warning" } } ["himiklab/yii2-search-component-v2"]=> array(3) { ["name"]=> string(33) "himiklab/yii2-search-component-v2" ["version"]=> string(7) "2.0.7.0" ["alias"]=> array(1) { ["@himiklab/yii2/search"]=> string(58) "/var/www/html/vendor/himiklab/yii2-search-component-v2/src" } } ["yiisoft/yii2-swiftmailer"]=> array(3) { ["name"]=> string(24) "yiisoft/yii2-swiftmailer" ["version"]=> string(7) "2.0.7.0" ["alias"]=> array(1) { ["@yii/swiftmailer"]=> string(45) "/var/www/html/vendor/yiisoft/yii2-swiftmailer" } } ["yii2tech/ar-softdelete"]=> array(3) { ["name"]=> string(22) "yii2tech/ar-softdelete" ["version"]=> string(7) "1.0.4.0" ["alias"]=> array(1) { ["@yii2tech/ar/softdelete"]=> string(47) "/var/www/html/vendor/yii2tech/ar-softdelete/src" } } ["yiisoft/yii2-twig"]=> array(3) { ["name"]=> string(17) "yiisoft/yii2-twig" ["version"]=> string(7) "2.1.1.0" ["alias"]=> array(1) { ["@yii/twig"]=> string(38) "/var/www/html/vendor/yiisoft/yii2-twig" } } ["bazilio/yii2-newrelic"]=> array(3) { ["name"]=> string(21) "bazilio/yii2-newrelic" ["version"]=> string(7) "0.0.7.0" ["alias"]=> array(1) { ["@bazilio/yii/newrelic"]=> string(42) "/var/www/html/vendor/bazilio/yii2-newrelic" } } ["yiisoft/yii2-jui"]=> array(3) { ["name"]=> string(16) "yiisoft/yii2-jui" ["version"]=> string(7) "2.0.7.0" ["alias"]=> array(1) { ["@yii/jui"]=> string(37) "/var/www/html/vendor/yiisoft/yii2-jui" } } ["kartik-v/yii2-mpdf"]=> array(3) { ["name"]=> string(18) "kartik-v/yii2-mpdf" ["version"]=> string(7) "1.0.1.0" ["alias"]=> array(1) { ["@kartik/mpdf"]=> string(39) "/var/www/html/vendor/kartik-v/yii2-mpdf" } } ["yiisoft/yii2-debug"]=> array(3) { ["name"]=> string(18) "yiisoft/yii2-debug" ["version"]=> string(8) "2.1.17.0" ["alias"]=> array(1) { ["@yii/debug"]=> string(43) "/var/www/html/vendor/yiisoft/yii2-debug/src" } } } ["bootstrap"]=> array(2) { [0]=> string(3) "log" [1]=> string(8) "newrelic" } ["state"]=> int(3) ["loadedModules"]=> array(1) { ["yii\web\Application"]=> *RECURSION* } ["_runtimePath":"yii\base\Application":private]=> string(21) "/var/www/html/runtime" ["_vendorPath":"yii\base\Application":private]=> string(20) "/var/www/html/vendor" ["params"]=> array(98) { ["translatedLanguages"]=> array(2) { ["fr"]=> string(6) "French" ["en"]=> string(7) "English" } ["route"]=> object(Lifecycle\models\SsPages)#125 (10) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(42) { ["id"]=> int(2) ["alias_fr"]=> string(15) "prix-quotidien2" ["alias_en"]=> string(12) "daily-prices" ["title_fr"]=> string(42) "Fonds de revenu stratégique Lawrence Park" ["title_en"]=> string(6) "Prices" ["controller"]=> string(5) "funds" ["action"]=> string(16) "fund_description" ["params"]=> string(10) "fund_cat_5" ["context"]=> int(0) ["type"]=> int(0) ["parent_id"]=> int(2) ["meta_description_en"]=> string(107) "View all of the latest pricing and information on CI Investments mutual funds and structured products here." ["meta_description_fr"]=> string(121) "Obtenez les derniers cours et d’autres renseignements sur les fonds communs de placement et produits structurés de CI." ["meta_keywords_en"]=> string(58) "Daily Prices | Equity | Funds | Income | Money | Canadian " ["meta_keywords_fr"]=> string(9) "Produits " ["position"]=> int(4) ["published"]=> int(1) ["request_id"]=> string(32) "f7001ff9f1abe0b0dce5888f12faafbd" ["search_index"]=> string(3) "YES" ["alias_advisor"]=> string(1) "1" ["updated_on"]=> int(0) ["title_advisor"]=> string(3) "gdg" ["meta_canonical_en"]=> NULL ["meta_canonical_fr"]=> string(122) "https://ci.com/fr/produits/prix-quotidien2/Fondsderevenustrat%C3%A9giqueLawrencePark.html?seriesId=1097¤cySelector=1" ["twitter_card"]=> NULL ["twitter_site"]=> NULL ["twitter_title"]=> NULL ["twitter_desc"]=> NULL ["twitter_img"]=> NULL ["og_title"]=> NULL ["og_desc"]=> NULL ["og_img"]=> NULL ["twitter_card_fr"]=> NULL ["twitter_site_fr"]=> NULL ["twitter_title_fr"]=> NULL ["twitter_desc_fr"]=> NULL ["twitter_img_fr"]=> NULL ["og_title_fr"]=> NULL ["og_desc_fr"]=> NULL ["og_img_fr"]=> NULL ["og_site"]=> NULL ["og_site_fr"]=> NULL } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(42) { ["id"]=> int(2) ["alias_fr"]=> string(15) "prix-quotidien2" ["alias_en"]=> string(12) "daily-prices" ["title_fr"]=> string(4) "Prix" ["title_en"]=> string(6) "Prices" ["controller"]=> string(7) "summary" ["action"]=> string(5) "daily" ["params"]=> string(10) "fund_cat_5" ["context"]=> int(0) ["type"]=> int(0) ["parent_id"]=> int(20) ["meta_description_en"]=> string(107) "View all of the latest pricing and information on CI Investments mutual funds and structured products here." ["meta_description_fr"]=> string(121) "Obtenez les derniers cours et d’autres renseignements sur les fonds communs de placement et produits structurés de CI." ["meta_keywords_en"]=> string(58) "Daily Prices | Equity | Funds | Income | Money | Canadian " ["meta_keywords_fr"]=> string(9) "Produits " ["position"]=> int(4) ["published"]=> int(1) ["request_id"]=> string(32) "f7001ff9f1abe0b0dce5888f12faafbd" ["search_index"]=> string(3) "YES" ["alias_advisor"]=> string(1) "1" ["updated_on"]=> int(0) ["title_advisor"]=> string(3) "gdg" ["meta_canonical_en"]=> NULL ["meta_canonical_fr"]=> NULL ["twitter_card"]=> NULL ["twitter_site"]=> NULL ["twitter_title"]=> NULL ["twitter_desc"]=> NULL ["twitter_img"]=> NULL ["og_title"]=> NULL ["og_desc"]=> NULL ["og_img"]=> NULL ["twitter_card_fr"]=> NULL ["twitter_site_fr"]=> NULL ["twitter_title_fr"]=> NULL ["twitter_desc_fr"]=> NULL ["twitter_img_fr"]=> NULL ["og_title_fr"]=> NULL ["og_desc_fr"]=> NULL ["og_img_fr"]=> NULL ["og_site"]=> NULL ["og_site_fr"]=> NULL } ["_related":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_relationsDependencies":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["brand"]=> string(0) "" ["filterFundCategory"]=> int(0) ["ci_site_url"]=> string(15) "https://ci.com/" ["defaultLanguage"]=> string(2) "en" ["context"]=> string(6) "public" ["context_int"]=> int(0) ["javaApi"]=> string(14) "localhost:8080" ["enableAdvisorAppDashboard"]=> bool(false) ["zendLucenePath"]=> string(59) "/var/www/html/webb/shared_assets/lucene_index/indexed_files" ["zendLucenePathTmp"]=> string(48) "/var/www/html/runtime/lucene_index/indexed_files" ["testMode"]=> bool(false) ["pdf_dir"]=> string(25) "/var/www/html/runtime/pdf" ["test_pdf_dir"]=> string(31) "/var/www/html/runtime/tests/pdf" ["pdf_version"]=> int(1) ["pdf_filename_max_length"]=> int(255) ["result_validation_window"]=> string(2) "60" ["debug"]=> bool(false) ["sentry_api"]=> string(17) "http://localhost/" ["auth"]=> array(2) { ["user"]=> string(6) "sentry" ["pass"]=> string(11) "k2digital12" } ["max_bookmarks"]=> int(200) ["adminEmail"]=> string(19) "ebusiness@sentry.ca" ["email_registration_flag_receiver"]=> string(14) "info@sentry.ca" ["email.institutional"]=> string(26) "sentryinvest2016@gmail.com" ["email.contact_us"]=> string(26) "sentryinvest2016@gmail.com" ["email.site_feedback"]=> string(20) "CISiteSupport@ci.com" ["email.request_material"]=> string(26) "sentryinvest2016@gmail.com" ["email.client_view_req"]=> string(26) "sentryinvest2016@gmail.com" ["email.spam"]=> string(19) "ebusiness@sentry.ca" ["email.contact"]=> string(15) "sfrancis@ci.com" ["CASLSubscriptionEndpoint"]=> string(22) "https://casl/api/index" ["cacheTime"]=> NULL ["domain"]=> string(15) "https://ci.com/" ["indexingDomain"]=> string(46) "https://web.production.ci-web.ci-internal.com/" ["local"]=> string(15) "https://ci.com/" ["pro_site"]=> string(15) "https://ci.com/" ["public_site"]=> string(15) "https://ci.com/" ["open_site"]=> string(15) "https://ci.com/" ["clientCookie"]=> string(6) "client" ["advisor_images_uri"]=> string(16) "/images/advisors" ["sentryBasePath"]=> string(24) "/var/www/html/config/../" ["advisor_images_path"]=> string(58) "/var/www/html/config/../webb/shared_assets/images/advisors" ["quoteMedia_api_token_url"]=> string(51) "https://app.quotemedia.com/auth/v0/enterprise/token" ["quoteMedia_api_history_url"]=> string(46) "http://app.quotemedia.com/data/getHistory.json" ["quoteMedia_api_webmaster_id"]=> string(6) "103160" ["quoteMedia_api_webservice_pwd"]=> string(13) "Financial2018" ["manager_photos_uri"]=> string(41) "/webb/shared_assets/images/managerphotos/" ["articles_photos_uri"]=> string(39) "/webb/shared_assets/files/pdf/articles/" ["blogs_pdfs_uri"]=> string(36) "/webb/shared_assets/files/pdf/blogs/" ["images_photos_path"]=> string(50) "/var/www/html/config/../webb/shared_assets/images/" ["images_uri"]=> string(27) "/webb/shared_assets/images/" ["webb_path"]=> string(29) "/var/www/html/config/../webb/" ["articles_photos_path"]=> string(62) "/var/www/html/config/../webb/shared_assets/files/pdf/articles/" ["manager_photos_path"]=> string(63) "/var/www/html/config/../webb/shared_assets/images/managerphotos" ["blogs_thumb_path"]=> string(56) "/var/www/html/config/../webb/shared_assets/images/blogs/" ["blogs_thumb_url"]=> string(28) "/shared_assets/images/blogs/" ["manager_bio_path"]=> string(53) "/var/www/html/config/../webb/files/pdf/Managers-bios/" ["manager_pages_uri"]=> string(16) "/images/PmPages/" ["documents_path"]=> string(53) "/var/www/html/config/../webb/shared_assets/documents/" ["documents_uri"]=> string(30) "/webb/shared_assets/documents/" ["zip_folder"]=> string(30) "/webb/shared_assets/files/zips" ["search_folder"]=> string(27) "/webb/shared_assets/search/" ["content_assets"]=> string(26) "/webb/shared_assets/files/" ["banners_uri"]=> string(30) "/shared_assets/images/banners/" ["banners_path"]=> string(58) "/var/www/html/config/../webb/shared_assets/images/banners/" ["shared_assets_uri"]=> string(42) "/var/www/html/config/../webb/shared_assets" ["fund_facts_list_file"]=> string(79) "/var/www/html/config/../webb/shared_assets/files/fund_codes_with_fund_fact.json" ["all_fund_facts_list_file"]=> string(83) "/var/www/html/config/../webb/shared_assets/files/all_fund_codes_with_fund_fact.json" ["default_banner_image"]=> string(18) "default_banner.jpg" ["mobile_default_banner_image"]=> string(25) "mobile_default_banner.jpg" ["event_banners_uri"]=> string(15) "/images/events/" ["event_banners_path"]=> string(57) "/var/www/html/config/../webb/shared_assets/images/events/" ["default_event_image"]=> string(17) "default_event.png" ["mobile_default_event_image"]=> string(24) "mobile_default_event.png" ["events_pdf_path"]=> string(37) "/webb/shared_assets/files/pdf/events/" ["gitHash"]=> string(0) "" ["statement_download_user"]=> string(16) "annualStatements" ["alexaInfo"]=> array(7) { ["y_key"]=> string(16) "018836a573de78dc" ["alexaVerifyID"]=> string(27) "RX1g8qca260vZvJdi9YColpPBB4" ["msvalidate.01"]=> string(32) "8E369332EE5A0F1FBE3BA6CB6D36F3C7" ["geo.region"]=> string(5) "CA-ON" ["geo.placename"]=> string(7) "Toronto" ["geo.position"]=> string(20) "43.648294;-79.380081" ["ICBM"]=> string(21) "43.648294, -79.380081" } ["order_form"]=> array(2) { ["url"]=> string(33) "https://aol.ci.com/cissapi/aolws/" ["order"]=> string(10) "placeOrder" } ["salesforce"]=> array(6) { ["password"]=> string(8) "changeme" ["leadRecordType"]=> string(3) "Web" ["userName"]=> string(19) "sfconsent@sentry.ca" ["security-token"]=> string(8) "changeme" ["wsd-file-path"]=> string(53) "/var/www/html/config/../components/salesforce/toolkit" ["location"]=> string(65) "https://login.salesforce.com/services/Soap/c/40.0/0DF44000000PDeY" } ["tableau"]=> array(1) { ["url"]=> string(180) "https://tableau.uat.aws.ciglobe.net/t/CRDM1/views/Dummy_AdvisorPortal_V0_4Inprogress/AdvisorSummaryDashboard_Revised?:embed=y&:display_count=n&:origin=viz_share_link&:showVizHome=n" } ["global_chart_colors"]=> array(12) { [0]=> string(7) "#5d8211" [1]=> string(7) "#976d0a" [2]=> string(7) "#666e8c" [3]=> string(7) "#21252b" [4]=> string(7) "#6a3460" [5]=> string(7) "#63666a" [6]=> string(7) "#bbc2c5" [7]=> string(7) "#ecf0f1" [8]=> string(7) "#4a690e" [9]=> string(7) "#7d5a09" [10]=> string(7) "#914683" [11]=> string(7) "#f4f6f6" } ["authTimeoutWarning"]=> int(900) ["aolTimeoutRoute"]=> string(13) "login/timeout" ["secret_key"]=> string(16) "G}]pkErp)4P};Y8n" ["advisorHub"]=> array(3) { ["url"]=> string(38) "https://cinchytst.dev.aws.ciglobe.net/" ["registration_portal"]=> string(73) "Cinchy/BasicAuthAPI/Advisor%20Integration/Advisor%20Portal%20Registration" ["auth"]=> string(32) "QWR2aXNvclBvcnRhbDpjaW5jaHkxMg==" } ["advisor_hub_api"]=> array(36) { ["request_url"]=> string(35) "https://cinchy.prod.aws.ciglobe.net" ["get-bearer-token"]=> string(33) "/cinchysso/identity/connect/token" ["token_client_id"]=> string(19) "advisor-portal-prod" ["token_client_secret"]=> string(36) "E2B28390-E0D2-4AF8-8955-01D2A0E465DF" ["token_username"]=> string(13) "AdvisorPortal" ["token_password"]=> string(8) "cinchy12" ["token_grant_type"]=> string(8) "password" ["token_scope"]=> string(6) "js_api" ["get-user-info"]=> string(37) "/Cinchy/API/Advisors/AP%20Get%20Users" ["create-user-info"]=> string(39) "/Cinchy/API/Advisors/AP%20Insert%20User" ["update-user-info"]=> string(39) "/Cinchy/API/Advisors/AP%20Update%20User" ["get-associate-group"]=> string(44) "/Cinchy/API/Advisors/Get%20Associate%20Group" ["check-dealer-rep-code"]=> string(54) "/Cinchy/API/Advisors/AP%20Check%20Dealer%20Rep%20Codes" ["get-advisor-info"]=> string(53) "/Cinchy/API/Advisors/AP%20Get%20Advisor%20Information" ["create-advisor-info"]=> string(56) "/Cinchy/API/Advisors/AP%20Insert%20Advisor%20Information" ["update-advisor-info"]=> string(56) "/Cinchy/API/Advisors/AP%20Update%20Advisor%20Information" ["get-advisor-rep-codes"]=> string(53) "/Cinchy/API/Advisors/AP%20Get%20Advisor%20Rep%20Codes" ["create-advisor-rep-code"]=> string(55) "/Cinchy/API/Advisors/AP%20Insert%20Advisor%20Rep%20Code" ["delete-advisor-rep-code"]=> string(55) "/Cinchy/API/Advisors/AP%20Delete%20Advisor%20Rep%20Code" ["get-assistant-rep-codes"]=> string(55) "/Cinchy/API/Advisors/AP%20Get%20Assistant%20Rep%20Codes" ["create-assistant-rep-code"]=> string(57) "/Cinchy/API/Advisors/AP%20Insert%20Assistant%20Rep%20Code" ["update-assistant-rep-code"]=> string(57) "/Cinchy/API/Advisors/AP%20Update%20Assistant%20Rep%20Code" ["delete-assistant-rep-code"]=> string(57) "/Cinchy/API/Advisors/AP%20Delete%20Assistant%20Rep%20Code" ["get-memberships"]=> string(43) "/Cinchy/API/Advisors/AP%20Get%20Memberships" ["create-membership"]=> string(45) "/Cinchy/API/Advisors/AP%20Insert%20Membership" ["delete-membership"]=> string(45) "/Cinchy/API/Advisors/AP%20Delete%20Membership" ["get-advisor-memberships"]=> string(53) "/Cinchy/API/Advisors/AP%20Get%20Advisor%20Memberships" ["create-advisor-membership"]=> string(55) "/Cinchy/API/Advisors/AP%20Insert%20Advisor%20Membership" ["delete-advisor-membership"]=> string(55) "/Cinchy/API/Advisors/AP%20Delete%20Advisor%20Membership" ["get-preferences"]=> string(43) "/Cinchy/API/Advisors/AP%20Get%20Preferences" ["create-preference"]=> string(45) "/Cinchy/API/Advisors/AP%20Insert%20Preference" ["delete-preference"]=> string(45) "/Cinchy/API/Advisors/AP%20Delete%20Preference" ["get-advisor-preferences"]=> string(53) "/Cinchy/API/Advisors/AP%20Get%20Advisor%20Preferences" ["create-advisor-preference"]=> string(55) "/Cinchy/API/Advisors/AP%20Insert%20Advisor%20Preference" ["delete-advisor-preference"]=> string(55) "/Cinchy/API/Advisors/AP%20Delete%20Advisor%20Preference" ["get-sales-team"]=> string(44) "/Cinchy/API/Advisors/AP%20Get%20Sales%20Team" } ["okta_arc_api"]=> array(5) { ["request_url"]=> string(20) "https://login.ci.com" ["client_id"]=> string(20) "0oaucid6dPCLmQZS84x6" ["client_secret"]=> string(40) "IiH7tAO9kvsD45hfktBhDYeooWN5U39XdoACsUYh" ["api_key"]=> string(42) "00MyQuFL6z3CYUmfnsdsOTrc1tkhKSAf4N2SLaJiBP" ["state"]=> string(7) "rwerwer" } ["okta_hub_api"]=> array(4) { ["request_url"]=> string(20) "https://login.ci.com" ["api_key"]=> string(42) "00aYsu5dG0q0AtjB2Y3MJ0XqU7wAcj0RP85_LKMfXD" ["api_users"]=> string(13) "/api/v1/users" ["api_groups"]=> string(14) "/api/v1/groups" } ["swesmc"]=> array(2) { ["auth"]=> string(41) "https://ci.com/swesmc/ilustrator/auth.jsp" ["tool"]=> string(42) "https://ci.com/swesmc/ilustrator/index.jsp" } ["swesmc2"]=> array(2) { ["auth"]=> string(42) "https://ci.com/swesmc2/ilustrator/auth.jsp" ["tool"]=> string(43) "https://ci.com/swesmc2/ilustrator/index.jsp" } ["elite"]=> array(2) { ["auth"]=> string(49) "https://ci.com/sunwiseeliteplus/gmwblife/auth.jsp" ["tool"]=> string(50) "https://ci.com/sunwiseeliteplus/gmwblife/index.jsp" } ["prince_auth"]=> string(38) "Basic Y2lfY29tX3ByaW5jZTpUZXN0VGdzamZn" ["assante_api"]=> array(2) { ["request_url"]=> string(46) "https://production.assante-web.ci-internal.com" ["funds-with-fund-fact"]=> string(34) "/en/ajax/funds-with-fund-fact.html" } ["ci_api"]=> array(2) { ["request_url"]=> string(14) "https://ci.com" ["funds-with-fund-fact"]=> string(51) "/shared_assets/files/fund_codes_with_fund_fact.json" } ["blog_subscribe"]=> array(2) { ["request_url"]=> string(97) "https://cifinancial.us18.list-manage.com/subscribe/post?u=072a4f2ec11588a4e43ec9bb6&id=b4ced2dd2d" ["hidden_name"]=> string(38) "b_072a4f2ec11588a4e43ec9bb6_b4ced2dd2d" } ["querystring"]=> string(32) "seriesId=1097¤cySelector=1" } ["id"]=> string(5) "basic" ["module"]=> NULL ["controllerMap"]=> array(0) { } ["_basePath":"yii\base\Module":private]=> string(13) "/var/www/html" ["_viewPath":"yii\base\Module":private]=> NULL ["_layoutPath":"yii\base\Module":private]=> NULL ["_modules":"yii\base\Module":private]=> array(0) { } ["_version":"yii\base\Module":private]=> NULL ["_components":"yii\di\ServiceLocator":private]=> array(12) { ["errorHandler"]=> object(yii\web\ErrorHandler)#8 (19) { ["maxSourceLines"]=> int(19) ["maxTraceSourceLines"]=> int(13) ["errorAction"]=> string(10) "home/error" ["errorView"]=> string(33) "@yii/views/errorHandler/error.php" ["exceptionView"]=> string(37) "@yii/views/errorHandler/exception.php" ["callStackItemView"]=> string(41) "@yii/views/errorHandler/callStackItem.php" ["previousExceptionView"]=> string(45) "@yii/views/errorHandler/previousException.php" ["displayVars"]=> array(5) { [0]=> string(4) "_GET" [1]=> string(5) "_POST" [2]=> string(6) "_FILES" [3]=> string(7) "_COOKIE" [4]=> string(8) "_SESSION" } ["traceLine"]=> string(6) "{html}" ["discardExistingOutput"]=> bool(true) ["memoryReserveSize"]=> int(262144) ["exception"]=> NULL ["silentExitOnException"]=> bool(false) ["_memoryReserve":"yii\base\ErrorHandler":private]=> string(262144) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ["_hhvmException":"yii\base\ErrorHandler":private]=> NULL ["_registered":"yii\base\ErrorHandler":private]=> bool(true) ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["request"]=> object(yii\web\Request)#10 (35) { ["enableCsrfValidation"]=> bool(true) ["csrfParam"]=> string(14) "YII_CSRF_TOKEN" ["csrfCookie"]=> array(1) { ["httpOnly"]=> bool(true) } ["enableCsrfCookie"]=> bool(true) ["enableCookieValidation"]=> bool(true) ["cookieValidationKey"]=> string(8) "changeme" ["methodParam"]=> string(7) "_method" ["parsers"]=> array(0) { } ["trustedHosts"]=> array(0) { } ["secureHeaders"]=> array(6) { [0]=> string(15) "X-Forwarded-For" [1]=> string(16) "X-Forwarded-Host" [2]=> string(17) "X-Forwarded-Proto" [3]=> string(15) "Front-End-Https" [4]=> string(13) "X-Rewrite-Url" [5]=> string(15) "X-Original-Host" } ["ipHeaders"]=> array(1) { [0]=> string(15) "X-Forwarded-For" } ["secureProtocolHeaders"]=> array(2) { ["X-Forwarded-Proto"]=> array(1) { [0]=> string(5) "https" } ["Front-End-Https"]=> array(1) { [0]=> string(2) "on" } } ["_cookies":"yii\web\Request":private]=> object(yii\web\CookieCollection)#174 (2) { ["readOnly"]=> bool(true) ["_cookies":"yii\web\CookieCollection":private]=> array(0) { } } ["_headers":"yii\web\Request":private]=> object(yii\web\HeaderCollection)#100 (1) { ["_headers":"yii\web\HeaderCollection":private]=> array(14) { ["x-forwarded-port"]=> array(1) { [0]=> string(3) "443" } ["host"]=> array(1) { [0]=> string(37) "web.production.ci-web.ci-internal.com" } ["x-amzn-trace-id"]=> array(1) { [0]=> string(40) "Root=1-60c7abff-429720076be656e602af087a" } ["accept-encoding"]=> array(1) { [0]=> string(4) "gzip" } ["cf-ipcountry"]=> array(1) { [0]=> string(2) "US" } ["cf-ray"]=> array(1) { [0]=> string(20) "65f5ea9d8d825c29-IAD" } ["cf-visitor"]=> array(1) { [0]=> string(18) "{"scheme":"https"}" } ["user-agent"]=> array(1) { [0]=> string(40) "CCBot/2.0 (https://commoncrawl.org/faq/)" } ["accept"]=> array(1) { [0]=> string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" } ["accept-language"]=> array(1) { [0]=> string(14) "en-US,en;q=0.5" } ["cf-connecting-ip"]=> array(1) { [0]=> string(13) "3.238.249.157" } ["cdn-loop"]=> array(1) { [0]=> string(10) "cloudflare" } ["cf-request-id"]=> array(1) { [0]=> string(32) "0aad90f67500005c294902b000000001" } ["x-forwarded-server"]=> array(1) { [0]=> string(10) "www.ci.com" } } } ["_rawBody":"yii\web\Request":private]=> NULL ["_bodyParams":"yii\web\Request":private]=> NULL ["_queryParams":"yii\web\Request":private]=> NULL ["_hostInfo":"yii\web\Request":private]=> NULL ["_hostName":"yii\web\Request":private]=> NULL ["_baseUrl":"yii\web\Request":private]=> string(0) "" ["_scriptUrl":"yii\web\Request":private]=> string(10) "/index.php" ["_scriptFile":"yii\web\Request":private]=> NULL ["_pathInfo":"yii\web\Request":private]=> string(70) "fr/produits/prix-quotidien2/FondsderevenustratégiqueLawrencePark.html" ["_url":"yii\web\Request":private]=> string(108) "/fr/produits/prix-quotidien2/Fondsderevenustrat%C3%A9giqueLawrencePark.html?seriesId=1097¤cySelector=1" ["_port":"yii\web\Request":private]=> NULL ["_securePort":"yii\web\Request":private]=> NULL ["_contentTypes":"yii\web\Request":private]=> NULL ["_languages":"yii\web\Request":private]=> NULL ["_csrfToken":"yii\web\Request":private]=> NULL ["_secureForwardedHeaderParts":"yii\web\Request":private]=> NULL ["_isConsoleRequest":"yii\base\Request":private]=> NULL ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL ["_scriptFile":"yii\base\Request":private]=> NULL } ["log"]=> object(yii\log\Dispatcher)#12 (5) { ["targets"]=> array(1) { ["app"]=> object(Lifecycle\components\log\JsonFileTarget)#17 (20) { ["logFile"]=> string(34) "/var/www/html/runtime/logs/app.log" ["enableRotation"]=> bool(true) ["maxFileSize"]=> int(10240) ["maxLogFiles"]=> int(5) ["fileMode"]=> NULL ["dirMode"]=> int(509) ["rotateByCopy"]=> bool(true) ["categories"]=> array(0) { } ["except"]=> array(0) { } ["logVars"]=> array(6) { [0]=> string(4) "_GET" [1]=> string(5) "_POST" [2]=> string(6) "_FILES" [3]=> string(7) "_COOKIE" [4]=> string(8) "_SESSION" [5]=> string(7) "_SERVER" } ["maskVars"]=> array(3) { [0]=> string(26) "_SERVER.HTTP_AUTHORIZATION" [1]=> string(21) "_SERVER.PHP_AUTH_USER" [2]=> string(19) "_SERVER.PHP_AUTH_PW" } ["prefix"]=> NULL ["exportInterval"]=> int(1000) ["messages"]=> array(0) { } ["microtime"]=> bool(false) ["_levels":"yii\log\Target":private]=> int(3) ["_enabled":"yii\log\Target":private]=> bool(true) ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } } ["_logger":"yii\log\Dispatcher":private]=> object(yii\log\Logger)#14 (8) { ["messages"]=> array(66) { [0]=> array(6) { [0]=> string(94) "Opening DB connection: mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" [1]=> int(4) [2]=> string(23) "yii\db\Connection::open" [3]=> float(1623698431.9123) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(121) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1715784) } [1]=> array(6) { [0]=> string(94) "Opening DB connection: mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" [1]=> int(80) [2]=> string(23) "yii\db\Connection::open" [3]=> float(1623698431.9124) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(121) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1718416) } [2]=> array(6) { [0]=> string(94) "Opening DB connection: mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" [1]=> int(96) [2]=> string(23) "yii\db\Connection::open" [3]=> float(1623698431.922) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(121) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1764632) } [3]=> array(6) { [0]=> string(291) "SELECT `ss_pages`.* FROM `ss_pages` LEFT JOIN `ss_pages` `parent` ON `ss_pages`.`parent_id` = `parent`.`id` WHERE ((`ss_pages`.`alias_fr`='FondsderevenustratégiqueLawrencePark') AND (`parent`.`alias_fr`='prix-quotidien2')) AND (`ss_pages`.`published`=1) AND (`parent`.`published`=1) LIMIT 1" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9228) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(121) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1783216) } [4]=> array(6) { [0]=> string(291) "SELECT `ss_pages`.* FROM `ss_pages` LEFT JOIN `ss_pages` `parent` ON `ss_pages`.`parent_id` = `parent`.`id` WHERE ((`ss_pages`.`alias_fr`='FondsderevenustratégiqueLawrencePark') AND (`parent`.`alias_fr`='prix-quotidien2')) AND (`ss_pages`.`published`=1) AND (`parent`.`published`=1) LIMIT 1" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9228) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(121) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1785536) } [5]=> array(6) { [0]=> string(291) "SELECT `ss_pages`.* FROM `ss_pages` LEFT JOIN `ss_pages` `parent` ON `ss_pages`.`parent_id` = `parent`.`id` WHERE ((`ss_pages`.`alias_fr`='FondsderevenustratégiqueLawrencePark') AND (`parent`.`alias_fr`='prix-quotidien2')) AND (`ss_pages`.`published`=1) AND (`parent`.`published`=1) LIMIT 1" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9264) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(121) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1791320) } [6]=> array(6) { [0]=> string(100) "Opening DB connection: mysql:host=production.db.web.ci-internal.com;dbname=ci_web_audit;charset=utf8" [1]=> int(4) [2]=> string(23) "yii\db\Connection::open" [3]=> float(1623698431.9267) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(126) ["function"]=> string(11) "queryScalar" ["class"]=> string(14) "yii\db\Command" ["type"]=> string(2) "->" } } [5]=> int(1792744) } [7]=> array(6) { [0]=> string(100) "Opening DB connection: mysql:host=production.db.web.ci-internal.com;dbname=ci_web_audit;charset=utf8" [1]=> int(80) [2]=> string(23) "yii\db\Connection::open" [3]=> float(1623698431.9267) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(126) ["function"]=> string(11) "queryScalar" ["class"]=> string(14) "yii\db\Command" ["type"]=> string(2) "->" } } [5]=> int(1793872) } [8]=> array(6) { [0]=> string(100) "Opening DB connection: mysql:host=production.db.web.ci-internal.com;dbname=ci_web_audit;charset=utf8" [1]=> int(96) [2]=> string(23) "yii\db\Connection::open" [3]=> float(1623698431.93) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(126) ["function"]=> string(11) "queryScalar" ["class"]=> string(14) "yii\db\Command" ["type"]=> string(2) "->" } } [5]=> int(1838968) } [9]=> array(6) { [0]=> string(104) "select id from ss_pages where alias_fr='FondsderevenustratégiqueLawrencePark' and published = 1 limit 1" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.93) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(126) ["function"]=> string(11) "queryScalar" ["class"]=> string(14) "yii\db\Command" ["type"]=> string(2) "->" } } [5]=> int(1835048) } [10]=> array(6) { [0]=> string(104) "select id from ss_pages where alias_fr='FondsderevenustratégiqueLawrencePark' and published = 1 limit 1" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.93) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(126) ["function"]=> string(11) "queryScalar" ["class"]=> string(14) "yii\db\Command" ["type"]=> string(2) "->" } } [5]=> int(1836632) } [11]=> array(6) { [0]=> string(104) "select id from ss_pages where alias_fr='FondsderevenustratégiqueLawrencePark' and published = 1 limit 1" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9307) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(126) ["function"]=> string(11) "queryScalar" ["class"]=> string(14) "yii\db\Command" ["type"]=> string(2) "->" } } [5]=> int(1837936) } [12]=> array(6) { [0]=> string(89) "SELECT * FROM `ss_pages` WHERE (`alias_fr`='prix-quotidien2') AND (`published`=1) LIMIT 1" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9309) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1846072) } [13]=> array(6) { [0]=> string(89) "SELECT * FROM `ss_pages` WHERE (`alias_fr`='prix-quotidien2') AND (`published`=1) LIMIT 1" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9309) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1848448) } [14]=> array(6) { [0]=> string(89) "SELECT * FROM `ss_pages` WHERE (`alias_fr`='prix-quotidien2') AND (`published`=1) LIMIT 1" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9313) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1857728) } [15]=> array(6) { [0]=> string(33) "SHOW FULL COLUMNS FROM `ss_pages`" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9315) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1862120) } [16]=> array(6) { [0]=> string(33) "SHOW FULL COLUMNS FROM `ss_pages`" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9315) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1864616) } [17]=> array(6) { [0]=> string(33) "SHOW FULL COLUMNS FROM `ss_pages`" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9327) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1912536) } [18]=> array(6) { [0]=> string(772) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_pages' AND `kcu`.`TABLE_NAME` = 'ss_pages'" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9333) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1964880) } [19]=> array(6) { [0]=> string(772) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_pages' AND `kcu`.`TABLE_NAME` = 'ss_pages'" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9333) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1968872) } [20]=> array(6) { [0]=> string(772) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_pages' AND `kcu`.`TABLE_NAME` = 'ss_pages'" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9341) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(36) "/var/www/html/components/Routing.php" ["line"]=> int(148) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(1973232) } [21]=> array(6) { [0]=> string(93) "SELECT * FROM `ss_fund` WHERE `page_alias_fr`='FondsderevenustratégiqueLawrencePark' LIMIT 1" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9354) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2154296) } [22]=> array(6) { [0]=> string(93) "SELECT * FROM `ss_fund` WHERE `page_alias_fr`='FondsderevenustratégiqueLawrencePark' LIMIT 1" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9354) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2156264) } [23]=> array(6) { [0]=> string(93) "SELECT * FROM `ss_fund` WHERE `page_alias_fr`='FondsderevenustratégiqueLawrencePark' LIMIT 1" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9364) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2168696) } [24]=> array(6) { [0]=> string(32) "SHOW FULL COLUMNS FROM `ss_fund`" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9364) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2171824) } [25]=> array(6) { [0]=> string(32) "SHOW FULL COLUMNS FROM `ss_fund`" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9365) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2174320) } [26]=> array(6) { [0]=> string(32) "SHOW FULL COLUMNS FROM `ss_fund`" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9382) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2225856) } [27]=> array(6) { [0]=> string(770) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund' AND `kcu`.`TABLE_NAME` = 'ss_fund'" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9387) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2204864) } [28]=> array(6) { [0]=> string(770) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund' AND `kcu`.`TABLE_NAME` = 'ss_fund'" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9388) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2208856) } [29]=> array(6) { [0]=> string(770) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund' AND `kcu`.`TABLE_NAME` = 'ss_fund'" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9395) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(84) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2215440) } [30]=> array(6) { [0]=> string(46) "SELECT * FROM `ss_fund_category` WHERE `id`=18" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9399) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2230040) } [31]=> array(6) { [0]=> string(46) "SELECT * FROM `ss_fund_category` WHERE `id`=18" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9399) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2232624) } [32]=> array(6) { [0]=> string(46) "SELECT * FROM `ss_fund_category` WHERE `id`=18" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9403) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2236056) } [33]=> array(6) { [0]=> string(41) "SHOW FULL COLUMNS FROM `ss_fund_category`" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9404) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2241248) } [34]=> array(6) { [0]=> string(41) "SHOW FULL COLUMNS FROM `ss_fund_category`" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9404) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2243768) } [35]=> array(6) { [0]=> string(41) "SHOW FULL COLUMNS FROM `ss_fund_category`" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9411) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2253936) } [36]=> array(6) { [0]=> string(788) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund_category' AND `kcu`.`TABLE_NAME` = 'ss_fund_category'" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9413) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2255304) } [37]=> array(6) { [0]=> string(788) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund_category' AND `kcu`.`TABLE_NAME` = 'ss_fund_category'" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9413) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2259296) } [38]=> array(6) { [0]=> string(788) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund_category' AND `kcu`.`TABLE_NAME` = 'ss_fund_category'" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.942) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2264216) } [39]=> array(6) { [0]=> string(41) "SELECT * FROM `ss_fund_type` WHERE `id`=5" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9423) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2277896) } [40]=> array(6) { [0]=> string(41) "SELECT * FROM `ss_fund_type` WHERE `id`=5" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9423) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2280472) } [41]=> array(6) { [0]=> string(41) "SELECT * FROM `ss_fund_type` WHERE `id`=5" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9427) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2285888) } [42]=> array(6) { [0]=> string(37) "SHOW FULL COLUMNS FROM `ss_fund_type`" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9427) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2289384) } [43]=> array(6) { [0]=> string(37) "SHOW FULL COLUMNS FROM `ss_fund_type`" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9427) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2291880) } [44]=> array(6) { [0]=> string(37) "SHOW FULL COLUMNS FROM `ss_fund_type`" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9437) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2312576) } [45]=> array(6) { [0]=> string(780) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund_type' AND `kcu`.`TABLE_NAME` = 'ss_fund_type'" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9439) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2308160) } [46]=> array(6) { [0]=> string(780) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund_type' AND `kcu`.`TABLE_NAME` = 'ss_fund_type'" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9439) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2312152) } [47]=> array(6) { [0]=> string(780) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_fund_type' AND `kcu`.`TABLE_NAME` = 'ss_fund_type'" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9446) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(115) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2315664) } [48]=> array(6) { [0]=> string(34) "SHOW FULL COLUMNS FROM `ss_series`" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9449) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2325200) } [49]=> array(6) { [0]=> string(34) "SHOW FULL COLUMNS FROM `ss_series`" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9449) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2326568) } [50]=> array(6) { [0]=> string(34) "SHOW FULL COLUMNS FROM `ss_series`" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9463) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2375216) } [51]=> array(6) { [0]=> string(774) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_series' AND `kcu`.`TABLE_NAME` = 'ss_series'" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9468) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2356080) } [52]=> array(6) { [0]=> string(774) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_series' AND `kcu`.`TABLE_NAME` = 'ss_series'" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9468) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2358944) } [53]=> array(6) { [0]=> string(774) "SELECT `kcu`.`CONSTRAINT_NAME` AS `constraint_name`, `kcu`.`COLUMN_NAME` AS `column_name`, `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`, `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name` FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc` JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON ( `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL) ) AND `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME` WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database() AND `rc`.`TABLE_NAME` = 'ss_series' AND `kcu`.`TABLE_NAME` = 'ss_series'" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9475) [4]=> array(1) { [0]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2363248) } [54]=> array(6) { [0]=> string(43) "SELECT * FROM `ss_series` WHERE `id`='1097'" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9477) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2366704) } [55]=> array(6) { [0]=> string(43) "SELECT * FROM `ss_series` WHERE `id`='1097'" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9478) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2369280) } [56]=> array(6) { [0]=> string(43) "SELECT * FROM `ss_series` WHERE `id`='1097'" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9483) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(195) ["function"]=> string(7) "findOne" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "::" } } [5]=> int(2378648) } [57]=> array(6) { [0]=> string(241) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` `classob` ON `ss_series`.`class_id` = `classob`.`id` WHERE ((`fund_id`=93) AND (`classob`.`id`=289) AND (`currency_id`=1) AND (`archived`=0)) AND (ss_series.cinchy_status=1 ) LIMIT 1" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9488) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(204) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2398432) } [58]=> array(6) { [0]=> string(241) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` `classob` ON `ss_series`.`class_id` = `classob`.`id` WHERE ((`fund_id`=93) AND (`classob`.`id`=289) AND (`currency_id`=1) AND (`archived`=0)) AND (ss_series.cinchy_status=1 ) LIMIT 1" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9488) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(204) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2400024) } [59]=> array(6) { [0]=> string(241) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` `classob` ON `ss_series`.`class_id` = `classob`.`id` WHERE ((`fund_id`=93) AND (`classob`.`id`=289) AND (`currency_id`=1) AND (`archived`=0)) AND (ss_series.cinchy_status=1 ) LIMIT 1" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9497) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(204) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2405984) } [60]=> array(6) { [0]=> string(216) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` `classob` ON `ss_series`.`class_id` = `classob`.`id` WHERE ((`fund_id`=93) AND (`currency_id`=1) AND (`archived`=0)) AND (ss_series.cinchy_status=1 ) LIMIT 1" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9499) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(207) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2404904) } [61]=> array(6) { [0]=> string(216) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` `classob` ON `ss_series`.`class_id` = `classob`.`id` WHERE ((`fund_id`=93) AND (`currency_id`=1) AND (`archived`=0)) AND (ss_series.cinchy_status=1 ) LIMIT 1" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9499) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(207) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2406696) } [62]=> array(6) { [0]=> string(216) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` `classob` ON `ss_series`.`class_id` = `classob`.`id` WHERE ((`fund_id`=93) AND (`currency_id`=1) AND (`archived`=0)) AND (ss_series.cinchy_status=1 ) LIMIT 1" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9506) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(207) ["function"]=> string(3) "one" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } } [5]=> int(2412592) } [63]=> array(6) { [0]=> string(450) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` ON `ss_series`.`class_id` = `ss_class`.`id` WHERE (`ss_series`.`id` != 'null') AND ((`ss_series`.`termination_date` > '2021-06-14') OR (`ss_series`.`termination_date`='') OR (`ss_series`.`termination_date` IS NULL)) AND (`ss_series`.`archived`=0) AND (ss_series.cinchy_status=1 ) AND (`ss_series`.`fund_id`=93) ORDER BY `ss_series`.`currency_id`, `ss_class`.`parent_id`, `ss_class`.`name_en`" [1]=> int(4) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.951) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(225) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2423568) } [64]=> array(6) { [0]=> string(450) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` ON `ss_series`.`class_id` = `ss_class`.`id` WHERE (`ss_series`.`id` != 'null') AND ((`ss_series`.`termination_date` > '2021-06-14') OR (`ss_series`.`termination_date`='') OR (`ss_series`.`termination_date` IS NULL)) AND (`ss_series`.`archived`=0) AND (ss_series.cinchy_status=1 ) AND (`ss_series`.`fund_id`=93) ORDER BY `ss_series`.`currency_id`, `ss_class`.`parent_id`, `ss_class`.`name_en`" [1]=> int(80) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9511) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(225) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2425920) } [65]=> array(6) { [0]=> string(450) "SELECT `ss_series`.* FROM `ss_series` LEFT JOIN `ss_class` ON `ss_series`.`class_id` = `ss_class`.`id` WHERE (`ss_series`.`id` != 'null') AND ((`ss_series`.`termination_date` > '2021-06-14') OR (`ss_series`.`termination_date`='') OR (`ss_series`.`termination_date` IS NULL)) AND (`ss_series`.`archived`=0) AND (ss_series.cinchy_status=1 ) AND (`ss_series`.`fund_id`=93) ORDER BY `ss_series`.`currency_id`, `ss_class`.`parent_id`, `ss_class`.`name_en`" [1]=> int(96) [2]=> string(21) "yii\db\Command::query" [3]=> float(1623698431.9521) [4]=> array(4) { [0]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(167) ["function"]=> string(3) "one" ["class"]=> string(18) "yii\db\ActiveQuery" ["type"]=> string(2) "->" } [1]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(176) ["function"]=> string(26) "Lifecycle\models\{closure}" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [2]=> array(5) { ["file"]=> string(44) "/var/www/html/models/CachableActiveQuery.php" ["line"]=> int(50) ["function"]=> string(3) "run" ["class"]=> string(36) "Lifecycle\models\CachableActiveQuery" ["type"]=> string(2) "->" } [3]=> array(5) { ["file"]=> string(45) "/var/www/html/controllers/FundsController.php" ["line"]=> int(225) ["function"]=> string(5) "__get" ["class"]=> string(23) "yii\db\BaseActiveRecord" ["type"]=> string(2) "->" } } [5]=> int(2437704) } } ["flushInterval"]=> int(1000) ["traceLevel"]=> int(10) ["dispatcher"]=> *RECURSION* ["dbEventNames"]=> array(2) { [0]=> string(21) "yii\db\Command::query" [1]=> string(23) "yii\db\Command::execute" } ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["newrelic"]=> object(bazilio\yii\newrelic\Newrelic)#19 (9) { ["enabled"]=> bool(true) ["agent"]=> object(NewRelic\NewRelic)#18 (0) { } ["name"]=> string(6) "ci.com" ["licence"]=> string(40) "2041b36e5687a5169b89cdde5879066470286b1d" ["handler"]=> NULL ["enableEndUser"]=> bool(true) ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["cache"]=> object(yii\caching\FileCache)#31 (13) { ["keyPrefix"]=> string(0) "" ["cachePath"]=> string(27) "/var/www/html/runtime/cache" ["cacheFileSuffix"]=> string(4) ".bin" ["directoryLevel"]=> int(1) ["gcProbability"]=> int(10) ["fileMode"]=> NULL ["dirMode"]=> int(509) ["serializer"]=> NULL ["defaultDuration"]=> int(0) ["_igbinaryAvailable":"yii\caching\Cache":private]=> bool(false) ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["urlManager"]=> object(yii\web\UrlManager)#28 (17) { ["enablePrettyUrl"]=> bool(true) ["enableStrictParsing"]=> bool(false) ["rules"]=> array(70) { [0]=> object(yii\web\UrlRule)#27 (16) { ["name"]=> string(3) "gii" ["pattern"]=> string(8) "#^gii$#u" ["host"]=> NULL ["route"]=> string(3) "gii" ["defaults"]=> array(0) { } ["suffix"]=> NULL ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(0) { } ["_template":"yii\web\UrlRule":private]=> string(5) "/gii/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [1]=> object(yii\web\UrlRule)#30 (16) { ["name"]=> string(20) "gii/" ["pattern"]=> string(27) "#^gii/(?P\w+)$#u" ["host"]=> NULL ["route"]=> string(16) "gii/" ["defaults"]=> array(0) { } ["suffix"]=> NULL ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a4cf2669a"]=> string(10) "controller" } ["_template":"yii\web\UrlRule":private]=> string(18) "/gii//" ["_routeRule":"yii\web\UrlRule":private]=> string(27) "#^gii/(?P\w+)$#u" ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(1) { ["controller"]=> string(12) "" } } [2]=> object(yii\web\UrlRule)#32 (16) { ["name"]=> string(33) "gii//" ["pattern"]=> string(46) "#^gii/(?P\w+)/(?P\w+)$#u" ["host"]=> NULL ["route"]=> string(25) "gii//" ["defaults"]=> array(0) { } ["suffix"]=> NULL ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(2) { ["a4cf2669a"]=> string(10) "controller" ["a47cc8c92"]=> string(6) "action" } ["_template":"yii\web\UrlRule":private]=> string(27) "/gii///" ["_routeRule":"yii\web\UrlRule":private]=> string(46) "#^gii/(?P\w+)/(?P\w+)$#u" ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(2) { ["controller"]=> string(12) "" ["action"]=> string(8) "" } } [3]=> object(yii\web\UrlRule)#33 (16) { ["name"]=> string(87) "/documents/static////" ["pattern"]=> string(116) "#^(?P(en|fr))/documents/static/(?P.+)/(?P.+)/(?P.+)/(?P.+)$#u" ["host"]=> NULL ["route"]=> string(16) "documents/static" ["defaults"]=> array(0) { } ["suffix"]=> string(4) ".pdf" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(5) { ["a31098462"]=> string(4) "lang" ["a37d482d4"]=> string(7) "doc_cat" ["a7f1109ed"]=> string(10) "doc_subcat" ["a895648bc"]=> string(6) "doc_id" ["ad7df1668"]=> string(9) "file_name" } ["_template":"yii\web\UrlRule":private]=> string(69) "//documents/static/////" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(5) { ["lang"]=> string(12) "#^(en|fr)$#u" ["doc_cat"]=> string(7) "#^.+$#u" ["doc_subcat"]=> string(7) "#^.+$#u" ["doc_id"]=> string(7) "#^.+$#u" ["file_name"]=> string(7) "#^.+$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [4]=> object(yii\web\UrlRule)#34 (16) { ["name"]=> string(37) "/documents/download_zip" ["pattern"]=> string(50) "#^(?P(en|fr))/documents/download_zip$#u" ["host"]=> NULL ["route"]=> string(22) "documents/download_zip" ["defaults"]=> array(0) { } ["suffix"]=> NULL ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(31) "//documents/download_zip/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [5]=> object(yii\web\UrlRule)#35 (16) { ["name"]=> string(42) "/documents/download_zip.html" ["pattern"]=> string(56) "#^(?P(en|fr))/documents/download_zip\.html$#u" ["host"]=> NULL ["route"]=> string(22) "documents/download_zip" ["defaults"]=> array(0) { } ["suffix"]=> NULL ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(36) "//documents/download_zip.html/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [6]=> object(yii\web\UrlRule)#36 (16) { ["name"]=> string(27) "//GeneratePDF" ["pattern"]=> string(42) "#^((?P(en|fr))/)?GeneratePDF$#u" ["host"]=> NULL ["route"]=> string(23) "ajax/fund-page-redirect" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".aspx" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(20) "//GeneratePDF/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [7]=> object(yii\web\UrlRule)#37 (16) { ["name"]=> string(34) "//daily-return" ["pattern"]=> string(64) "#^((?P(en|fr))/)?daily-return(?P[^\/]+)$#u" ["host"]=> NULL ["route"]=> string(17) "ajax/daily-return" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(4) ".csv" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(2) { ["a31098462"]=> string(4) "lang" ["aaa9e377a"]=> string(4) "date" } ["_template":"yii\web\UrlRule":private]=> string(27) "//daily-return/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(2) { ["lang"]=> string(12) "#^(en|fr)$#u" ["date"]=> string(0) "" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [8]=> object(yii\web\UrlRule)#38 (16) { ["name"]=> string(18) "/en/closedendfunds" ["pattern"]=> string(22) "#^en/closedendfunds$#u" ["host"]=> NULL ["route"]=> string(13) "summary/daily" ["defaults"]=> array(2) { ["BC"]=> string(2) "CI" ["FT"]=> int(0) } ["suffix"]=> string(5) ".aspx" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(0) { } ["_template":"yii\web\UrlRule":private]=> string(19) "/en/closedendfunds/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [9]=> object(yii\web\UrlRule)#39 (16) { ["name"]=> string(37) "/ajax/get-distributions" ["pattern"]=> string(53) "#^((?P(en|fr))/)?ajax/get-distributions$#u" ["host"]=> NULL ["route"]=> string(22) "ajax/get-distributions" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(31) "//ajax/get-distributions/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [10]=> object(yii\web\UrlRule)#40 (16) { ["name"]=> string(37) "/ajax/change_watch_list" ["pattern"]=> string(53) "#^((?P(en|fr))/)?ajax/change_watch_list$#u" ["host"]=> NULL ["route"]=> string(22) "ajax/change_watch_list" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(31) "//ajax/change_watch_list/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [11]=> object(yii\web\UrlRule)#41 (16) { ["name"]=> string(37) "/ajax/change_watch_list" ["pattern"]=> string(53) "#^((?P(en|fr))/)?ajax/change_watch_list$#u" ["host"]=> NULL ["route"]=> string(22) "ajax/change_watch_list" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(31) "//ajax/change_watch_list/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [12]=> object(yii\web\UrlRule)#42 (16) { ["name"]=> string(40) "/ajax/change_shopping_cart" ["pattern"]=> string(56) "#^((?P(en|fr))/)?ajax/change_shopping_cart$#u" ["host"]=> NULL ["route"]=> string(25) "ajax/change_shopping_cart" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(34) "//ajax/change_shopping_cart/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [13]=> object(yii\web\UrlRule)#43 (16) { ["name"]=> string(42) "/ajax/get_email_verification" ["pattern"]=> string(58) "#^((?P(en|fr))/)?ajax/get_email_verification$#u" ["host"]=> NULL ["route"]=> string(27) "ajax/get_email_verification" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(36) "//ajax/get_email_verification/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [14]=> object(yii\web\UrlRule)#44 (16) { ["name"]=> string(55) "/ajax/get-watched-funds-daily-performance" ["pattern"]=> string(71) "#^((?P(en|fr))/)?ajax/get-watched-funds-daily-performance$#u" ["host"]=> NULL ["route"]=> string(40) "ajax/get-watched-funds-daily-performance" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(49) "//ajax/get-watched-funds-daily-performance/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [15]=> object(yii\web\UrlRule)#45 (16) { ["name"]=> string(43) "/documents/return-booklet-pdf" ["pattern"]=> string(59) "#^((?P(en|fr))/)?documents/return-booklet-pdf$#u" ["host"]=> NULL ["route"]=> string(28) "documents/return_booklet_pdf" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(37) "//documents/return-booklet-pdf/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [16]=> object(yii\web\UrlRule)#46 (16) { ["name"]=> string(25) "/return-pdf" ["pattern"]=> string(41) "#^((?P(en|fr))/)?return-pdf$#u" ["host"]=> NULL ["route"]=> string(22) "documents/pdf-download" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(4) ".pdf" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(19) "//return-pdf/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [17]=> object(yii\web\UrlRule)#47 (16) { ["name"]=> string(40) "/login/okta-login-redirect" ["pattern"]=> string(56) "#^((?P(en|fr))/)?login/okta-login-redirect$#u" ["host"]=> NULL ["route"]=> string(25) "login/okta-login-redirect" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(34) "//login/okta-login-redirect/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [18]=> object(yii\web\UrlRule)#48 (16) { ["name"]=> string(50) "/documents//" ["pattern"]=> string(83) "#^((?P(en|fr))/)?documents/(?P(1|2|3|4))/(?P.+)$#u" ["host"]=> NULL ["route"]=> string(18) "documents/download" ["defaults"]=> array(2) { ["lang"]=> string(2) "en" ["ext"]=> string(3) "csv" } ["suffix"]=> string(4) ".csv" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(3) { ["a31098462"]=> string(4) "lang" ["a8cde5729"]=> string(4) "type" ["a8641fd64"]=> string(3) "doc" } ["_template":"yii\web\UrlRule":private]=> string(31) "//documents///" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(3) { ["lang"]=> string(12) "#^(en|fr)$#u" ["type"]=> string(14) "#^(1|2|3|4)$#u" ["doc"]=> string(7) "#^.+$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [19]=> object(yii\web\UrlRule)#49 (16) { ["name"]=> string(50) "/documents//" ["pattern"]=> string(83) "#^((?P(en|fr))/)?documents/(?P(1|2|3|4))/(?P.+)$#u" ["host"]=> NULL ["route"]=> string(18) "documents/download" ["defaults"]=> array(2) { ["lang"]=> string(2) "en" ["ext"]=> string(3) "pdf" } ["suffix"]=> string(4) ".pdf" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(3) { ["a31098462"]=> string(4) "lang" ["a8cde5729"]=> string(4) "type" ["a8641fd64"]=> string(3) "doc" } ["_template":"yii\web\UrlRule":private]=> string(31) "//documents///" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(3) { ["lang"]=> string(12) "#^(en|fr)$#u" ["type"]=> string(14) "#^(1|2|3|4)$#u" ["doc"]=> string(7) "#^.+$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [20]=> object(yii\web\UrlRule)#50 (16) { ["name"]=> string(35) "/create-html-for-pdf" ["pattern"]=> string(51) "#^((?P(en|fr)?)/)?create-html-for-pdf$#u" ["host"]=> NULL ["route"]=> string(18) "funds/html-for-pdf" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(28) "//create-html-for-pdf/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [21]=> object(yii\web\UrlRule)#51 (16) { ["name"]=> string(19) "/qpd" ["pattern"]=> string(35) "#^((?P(en|fr)?)/)?qpd$#u" ["host"]=> NULL ["route"]=> string(9) "funds/qpd" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(12) "//qpd/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [22]=> object(yii\web\UrlRule)#52 (16) { ["name"]=> string(30) "/non-pim-client" ["pattern"]=> string(46) "#^((?P(en|fr)?)/)?non-pim-client$#u" ["host"]=> NULL ["route"]=> string(20) "funds/non-pim-client" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(23) "//non-pim-client/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [23]=> object(yii\web\UrlRule)#53 (16) { ["name"]=> string(26) "/pim-client" ["pattern"]=> string(42) "#^((?P(en|fr)?)/)?pim-client$#u" ["host"]=> NULL ["route"]=> string(16) "funds/pim-client" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(19) "//pim-client/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [24]=> object(yii\web\UrlRule)#54 (16) { ["name"]=> string(20) "/mrfp" ["pattern"]=> string(36) "#^((?P(en|fr)?)/)?mrfp$#u" ["host"]=> NULL ["route"]=> string(10) "funds/mrfp" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(13) "//mrfp/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [25]=> object(yii\web\UrlRule)#55 (16) { ["name"]=> string(23) "/letter1" ["pattern"]=> string(39) "#^((?P(en|fr)?)/)?letter1$#u" ["host"]=> NULL ["route"]=> string(14) "funds/letter-1" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(16) "//letter1/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [26]=> object(yii\web\UrlRule)#56 (16) { ["name"]=> string(27) "/pim-nominee" ["pattern"]=> string(43) "#^((?P(en|fr)?)/)?pim-nominee$#u" ["host"]=> NULL ["route"]=> string(17) "funds/pim-nominee" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(20) "//pim-nominee/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [27]=> object(yii\web\UrlRule)#57 (16) { ["name"]=> string(30) "/non-pim-client" ["pattern"]=> string(46) "#^((?P(en|fr)?)/)?non-pim-client$#u" ["host"]=> NULL ["route"]=> string(20) "funds/non-pim-client" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(23) "//non-pim-client/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [28]=> object(yii\web\UrlRule)#58 (16) { ["name"]=> string(31) "/non-pim-nominee" ["pattern"]=> string(47) "#^((?P(en|fr)?)/)?non-pim-nominee$#u" ["host"]=> NULL ["route"]=> string(21) "funds/non-pim-nominee" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(24) "//non-pim-nominee/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [29]=> object(yii\web\UrlRule)#59 (16) { ["name"]=> string(26) "/pim-client" ["pattern"]=> string(42) "#^((?P(en|fr)?)/)?pim-client$#u" ["host"]=> NULL ["route"]=> string(16) "funds/pim-client" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(19) "//pim-client/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [30]=> object(yii\web\UrlRule)#60 (16) { ["name"]=> string(20) "/mrfp" ["pattern"]=> string(36) "#^((?P(en|fr)?)/)?mrfp$#u" ["host"]=> NULL ["route"]=> string(10) "funds/mrfp" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(13) "//mrfp/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [31]=> object(yii\web\UrlRule)#61 (16) { ["name"]=> string(21) "/chart" ["pattern"]=> string(37) "#^((?P(en|fr)?)/)?chart$#u" ["host"]=> NULL ["route"]=> string(11) "funds/chart" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(14) "//chart/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [32]=> object(yii\web\UrlRule)#62 (16) { ["name"]=> string(21) "/chart" ["pattern"]=> string(37) "#^((?P(en|fr)?)/)?chart$#u" ["host"]=> NULL ["route"]=> string(11) "funds/chart" ["defaults"]=> array(1) { ["lang"]=> string(2) "en" } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(14) "//chart/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [33]=> object(yii\web\UrlRule)#63 (16) { ["name"]=> string(35) "/ajax/get_fund_chunk" ["pattern"]=> string(48) "#^(?P(en|fr)?)/ajax/get_fund_chunk$#u" ["host"]=> NULL ["route"]=> string(19) "ajax/get_fund_chunk" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(28) "//ajax/get_fund_chunk/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [34]=> object(yii\web\UrlRule)#64 (16) { ["name"]=> string(33) "/ajax/getCompanies" ["pattern"]=> string(46) "#^(?P(en|fr)?)/ajax/getCompanies$#u" ["host"]=> NULL ["route"]=> string(18) "ajax/get-companies" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(26) "//ajax/getCompanies/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [35]=> object(yii\web\UrlRule)#65 (16) { ["name"]=> string(28) "/ajax/getFees" ["pattern"]=> string(41) "#^(?P(en|fr)?)/ajax/getFees$#u" ["host"]=> NULL ["route"]=> string(13) "ajax/get-fees" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(21) "//ajax/getFees/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [36]=> object(yii\web\UrlRule)#66 (16) { ["name"]=> string(30) "/ajax/getSeries" ["pattern"]=> string(43) "#^(?P(en|fr)?)/ajax/getSeries$#u" ["host"]=> NULL ["route"]=> string(15) "ajax/get-series" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(23) "//ajax/getSeries/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [37]=> object(yii\web\UrlRule)#67 (16) { ["name"]=> string(31) "/ajax/getTrailer" ["pattern"]=> string(44) "#^(?P(en|fr)?)/ajax/getTrailer$#u" ["host"]=> NULL ["route"]=> string(16) "ajax/get-trailer" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(24) "//ajax/getTrailer/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [38]=> object(yii\web\UrlRule)#68 (16) { ["name"]=> string(27) "/ajax/footer" ["pattern"]=> string(40) "#^(?P(en|fr)?)/ajax/footer$#u" ["host"]=> NULL ["route"]=> string(11) "ajax/footer" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(20) "//ajax/footer/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [39]=> object(yii\web\UrlRule)#69 (16) { ["name"]=> string(31) "/pfic-statements" ["pattern"]=> string(44) "#^(?P(en|fr)?)/pfic-statements$#u" ["host"]=> NULL ["route"]=> string(10) "funds/pfic" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(24) "//pfic-statements/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [40]=> object(yii\web\UrlRule)#70 (16) { ["name"]=> string(25) "/pfic-form" ["pattern"]=> string(38) "#^(?P(en|fr)?)/pfic-form$#u" ["host"]=> NULL ["route"]=> string(15) "funds/pfic-form" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(18) "//pfic-form/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [41]=> object(yii\web\UrlRule)#71 (16) { ["name"]=> string(31) "/ajax/quickLinks" ["pattern"]=> string(44) "#^(?P(en|fr)?)/ajax/quickLinks$#u" ["host"]=> NULL ["route"]=> string(16) "ajax/quick-links" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(24) "//ajax/quickLinks/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [42]=> object(yii\web\UrlRule)#72 (16) { ["name"]=> string(45) "/ajax/getGIPageFundPerformance" ["pattern"]=> string(58) "#^(?P(en|fr)?)/ajax/getGIPageFundPerformance$#u" ["host"]=> NULL ["route"]=> string(34) "ajax/get-g-i-page-fund-performance" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(38) "//ajax/getGIPageFundPerformance/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [43]=> object(yii\web\UrlRule)#73 (16) { ["name"]=> string(33) "/ajax/costOfLiving" ["pattern"]=> string(46) "#^(?P(en|fr)?)/ajax/costOfLiving$#u" ["host"]=> NULL ["route"]=> string(19) "ajax/cost-of-living" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(26) "//ajax/costOfLiving/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [44]=> object(yii\web\UrlRule)#74 (16) { ["name"]=> string(30) "/ajax/QACleanup" ["pattern"]=> string(43) "#^(?P(en|fr)?)/ajax/QACleanup$#u" ["host"]=> NULL ["route"]=> string(16) "ajax/q-a-cleanup" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(23) "//ajax/QACleanup/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [45]=> object(yii\web\UrlRule)#75 (16) { ["name"]=> string(33) "/ajax/getFundChunk" ["pattern"]=> string(46) "#^(?P(en|fr)?)/ajax/getFundChunk$#u" ["host"]=> NULL ["route"]=> string(19) "ajax/get-fund-chunk" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(26) "//ajax/getFundChunk/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [46]=> object(yii\web\UrlRule)#76 (16) { ["name"]=> string(44) "/ajax/downloadFundCodeMapping" ["pattern"]=> string(57) "#^(?P(en|fr)?)/ajax/downloadFundCodeMapping$#u" ["host"]=> NULL ["route"]=> string(31) "ajax/download-fund-code-mapping" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(37) "//ajax/downloadFundCodeMapping/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [47]=> object(yii\web\UrlRule)#77 (16) { ["name"]=> string(34) "/ajax/add_assistant" ["pattern"]=> string(47) "#^(?P(en|fr)?)/ajax/add_assistant$#u" ["host"]=> NULL ["route"]=> string(18) "ajax/add_assistant" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(27) "//ajax/add_assistant/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [48]=> object(yii\web\UrlRule)#78 (16) { ["name"]=> string(32) "/ajax/delete_code" ["pattern"]=> string(45) "#^(?P(en|fr)?)/ajax/delete_code$#u" ["host"]=> NULL ["route"]=> string(16) "ajax/delete_code" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(25) "//ajax/delete_code/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [49]=> object(yii\web\UrlRule)#79 (16) { ["name"]=> string(16) "fr/ticker-quebec" ["pattern"]=> string(21) "#^fr/ticker-quebec$#u" ["host"]=> NULL ["route"]=> string(18) "ajax/ticker-quebec" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(0) { } ["_template":"yii\web\UrlRule":private]=> string(18) "/fr/ticker-quebec/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [50]=> object(yii\web\UrlRule)#80 (16) { ["name"]=> string(44) "/ajax/change_assistant_status" ["pattern"]=> string(57) "#^(?P(en|fr)?)/ajax/change_assistant_status$#u" ["host"]=> NULL ["route"]=> string(28) "ajax/change_assistant_status" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(37) "//ajax/change_assistant_status/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [51]=> object(yii\web\UrlRule)#81 (16) { ["name"]=> string(52) "/documents/download-distribution-file" ["pattern"]=> string(65) "#^(?P(en|fr)?)/documents/download-distribution-file$#u" ["host"]=> NULL ["route"]=> string(36) "documents/download-distribution-file" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(45) "//documents/download-distribution-file/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [52]=> object(yii\web\UrlRule)#82 (16) { ["name"]=> string(51) "/documents/verify-distribution-token" ["pattern"]=> string(64) "#^(?P(en|fr)?)/documents/verify-distribution-token$#u" ["host"]=> NULL ["route"]=> string(35) "documents/verify-distribution-token" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(44) "//documents/verify-distribution-token/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [53]=> object(yii\web\UrlRule)#83 (16) { ["name"]=> string(30) "/profile/swesmc" ["pattern"]=> string(43) "#^(?P(en|fr)?)/profile/swesmc$#u" ["host"]=> NULL ["route"]=> string(14) "profile/swesmc" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(23) "//profile/swesmc/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [54]=> object(yii\web\UrlRule)#84 (16) { ["name"]=> string(31) "/profile/swesmc2" ["pattern"]=> string(44) "#^(?P(en|fr)?)/profile/swesmc2$#u" ["host"]=> NULL ["route"]=> string(15) "profile/swesmc2" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(24) "//profile/swesmc2/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [55]=> object(yii\web\UrlRule)#85 (16) { ["name"]=> string(29) "/profile/elite" ["pattern"]=> string(42) "#^(?P(en|fr)?)/profile/elite$#u" ["host"]=> NULL ["route"]=> string(13) "profile/elite" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(22) "//profile/elite/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [56]=> object(yii\web\UrlRule)#86 (16) { ["name"]=> string(38) "/documents/order-status" ["pattern"]=> string(51) "#^(?P(en|fr)?)/documents/order-status$#u" ["host"]=> NULL ["route"]=> string(22) "documents/order-status" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(31) "//documents/order-status/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [57]=> object(yii\web\UrlRule)#87 (16) { ["name"]=> string(29) "/ajax/" ["pattern"]=> string(55) "#^(?P(en|fr)?)/ajax/(?P[^\/]+)$#u" ["host"]=> NULL ["route"]=> string(13) "ajax/" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(2) { ["a31098462"]=> string(4) "lang" ["a47cc8c92"]=> string(6) "action" } ["_template":"yii\web\UrlRule":private]=> string(22) "//ajax//" ["_routeRule":"yii\web\UrlRule":private]=> string(31) "#^ajax/(?P[^\/]+)$#u" ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(1) { ["action"]=> string(8) "" } } [58]=> object(yii\web\UrlRule)#88 (16) { ["name"]=> string(10) "en/sitemap" ["pattern"]=> string(15) "#^en/sitemap$#u" ["host"]=> NULL ["route"]=> string(12) "home/sitemap" ["defaults"]=> array(0) { } ["suffix"]=> string(4) ".xml" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(0) { } ["_template":"yii\web\UrlRule":private]=> string(12) "/en/sitemap/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [59]=> object(yii\web\UrlRule)#89 (16) { ["name"]=> string(13) "en/ticker-q-m" ["pattern"]=> string(18) "#^en/ticker-q-m$#u" ["host"]=> NULL ["route"]=> string(15) "home/ticker-q-m" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".json" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(0) { } ["_template":"yii\web\UrlRule":private]=> string(15) "/en/ticker-q-m/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(0) { } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [60]=> object(yii\web\UrlRule)#90 (16) { ["name"]=> string(20) "/blog" ["pattern"]=> string(33) "#^(?P(en|fr)?)/blog$#u" ["host"]=> NULL ["route"]=> string(9) "home/blog" ["defaults"]=> array(0) { } ["suffix"]=> string(4) ".xml" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(13) "//blog/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(13) "#^(en|fr)?$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [61]=> object(yii\web\UrlRule)#91 (16) { ["name"]=> string(44) "/contact-us//" ["pattern"]=> string(78) "#^(?P(en|fr))/contact-us/(?P[^\/]+)/(?P.+)$#u" ["host"]=> NULL ["route"]=> string(16) "contact/" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(3) { ["a31098462"]=> string(4) "lang" ["a47cc8c92"]=> string(6) "action" ["a5288fd4f"]=> string(4) "form" } ["_template":"yii\web\UrlRule":private]=> string(35) "//contact-us//
    /" ["_routeRule":"yii\web\UrlRule":private]=> string(34) "#^contact/(?P[^\/]+)$#u" ["_paramRules":"yii\web\UrlRule":private]=> array(2) { ["lang"]=> string(12) "#^(en|fr)$#u" ["form"]=> string(7) "#^.+$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(1) { ["action"]=> string(8) "" } } [62]=> object(yii\web\UrlRule)#92 (16) { ["name"]=> string(29) "/styles/" ["pattern"]=> string(56) "#^(?P(en|fr))/styles/(?P[^\/]+)$#u" ["host"]=> NULL ["route"]=> string(37) "portfolio-management-expertise/styles" ["defaults"]=> array(0) { } ["suffix"]=> string(4) ".css" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(2) { ["a31098462"]=> string(4) "lang" ["ae16c6b94"]=> string(5) "alias" } ["_template":"yii\web\UrlRule":private]=> string(23) "//styles//" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(2) { ["lang"]=> string(12) "#^(en|fr)$#u" ["alias"]=> string(0) "" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [63]=> object(yii\web\UrlRule)#93 (16) { ["name"]=> string(29) "/modal/" ["pattern"]=> string(55) "#^(?P(en|fr))/modal/(?P[^\/]+)$#u" ["host"]=> NULL ["route"]=> string(14) "modal/" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(2) { ["a31098462"]=> string(4) "lang" ["a47cc8c92"]=> string(6) "action" } ["_template":"yii\web\UrlRule":private]=> string(23) "//modal//" ["_routeRule":"yii\web\UrlRule":private]=> string(32) "#^modal/(?P[^\/]+)$#u" ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(1) { ["action"]=> string(8) "" } } [64]=> object(yii\web\UrlRule)#94 (16) { ["name"]=> string(30) "/widget/" ["pattern"]=> string(56) "#^(?P(en|fr))/widget/(?P[^\/]+)$#u" ["host"]=> NULL ["route"]=> string(15) "widget/" ["defaults"]=> array(0) { } ["suffix"]=> string(0) "" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(2) { ["a31098462"]=> string(4) "lang" ["a47cc8c92"]=> string(6) "action" } ["_template":"yii\web\UrlRule":private]=> string(24) "//widget//" ["_routeRule":"yii\web\UrlRule":private]=> string(33) "#^widget/(?P[^\/]+)$#u" ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(1) { ["action"]=> string(8) "" } } [65]=> object(yii\web\UrlRule)#95 (16) { ["name"]=> string(31) "/ajax/verify_user" ["pattern"]=> string(44) "#^(?P(en|fr))/ajax/verify_user$#u" ["host"]=> NULL ["route"]=> string(16) "ajax/verify_user" ["defaults"]=> array(0) { } ["suffix"]=> string(4) "html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(25) "//ajax/verify_user/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [66]=> object(yii\web\UrlRule)#96 (16) { ["name"]=> string(27) "/ajax/resolve" ["pattern"]=> string(40) "#^(?P(en|fr))/ajax/resolve$#u" ["host"]=> NULL ["route"]=> string(12) "ajax/resolve" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(21) "//ajax/resolve/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [67]=> object(yii\web\UrlRule)#97 (16) { ["name"]=> string(28) "/search-lucine" ["pattern"]=> string(41) "#^(?P(en|fr))/search-lucine$#u" ["host"]=> NULL ["route"]=> string(18) "home/search-lucine" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(22) "//search-lucine/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [68]=> object(yii\web\UrlRule)#98 (16) { ["name"]=> string(39) "/insert-lucene-collection" ["pattern"]=> string(52) "#^(?P(en|fr))/insert-lucene-collection$#u" ["host"]=> NULL ["route"]=> string(29) "home/insert-lucene-collection" ["defaults"]=> array(0) { } ["suffix"]=> string(5) ".html" ["verb"]=> NULL ["mode"]=> NULL ["encodeParams"]=> bool(true) ["normalizer"]=> NULL ["createStatus":protected]=> NULL ["placeholders":protected]=> array(1) { ["a31098462"]=> string(4) "lang" } ["_template":"yii\web\UrlRule":private]=> string(33) "//insert-lucene-collection/" ["_routeRule":"yii\web\UrlRule":private]=> NULL ["_paramRules":"yii\web\UrlRule":private]=> array(1) { ["lang"]=> string(12) "#^(en|fr)$#u" } ["_routeParams":"yii\web\UrlRule":private]=> array(0) { } } [69]=> object(Lifecycle\components\Routing)#99 (1) { ["connectionID"]=> string(2) "db" } } ["suffix"]=> string(5) ".html" ["showScriptName"]=> bool(false) ["routeParam"]=> string(1) "r" ["cache"]=> object(yii\caching\FileCache)#31 (13) { ["keyPrefix"]=> string(0) "" ["cachePath"]=> string(27) "/var/www/html/runtime/cache" ["cacheFileSuffix"]=> string(4) ".bin" ["directoryLevel"]=> int(1) ["gcProbability"]=> int(10) ["fileMode"]=> NULL ["dirMode"]=> int(509) ["serializer"]=> NULL ["defaultDuration"]=> int(0) ["_igbinaryAvailable":"yii\caching\Cache":private]=> bool(false) ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["ruleConfig"]=> array(1) { ["class"]=> string(15) "yii\web\UrlRule" } ["normalizer"]=> bool(false) ["cacheKey":protected]=> string(18) "yii\web\UrlManager" ["_baseUrl":"yii\web\UrlManager":private]=> NULL ["_scriptUrl":"yii\web\UrlManager":private]=> NULL ["_hostInfo":"yii\web\UrlManager":private]=> NULL ["_ruleCache":"yii\web\UrlManager":private]=> NULL ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["db"]=> object(yii\db\Connection)#109 (43) { ["dsn"]=> string(71) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" ["attributes"]=> NULL ["pdo"]=> NULL ["enableSchemaCache"]=> bool(false) ["schemaCacheDuration"]=> int(3600) ["schemaCacheExclude"]=> array(0) { } ["schemaCache"]=> string(5) "cache" ["enableQueryCache"]=> bool(true) ["queryCacheDuration"]=> int(3600) ["queryCache"]=> string(5) "cache" ["charset"]=> string(4) "utf8" ["emulatePrepare"]=> NULL ["tablePrefix"]=> string(0) "" ["schemaMap"]=> array(10) { ["pgsql"]=> string(19) "yii\db\pgsql\Schema" ["mysqli"]=> string(19) "yii\db\mysql\Schema" ["mysql"]=> string(19) "yii\db\mysql\Schema" ["sqlite"]=> string(20) "yii\db\sqlite\Schema" ["sqlite2"]=> string(20) "yii\db\sqlite\Schema" ["sqlsrv"]=> string(19) "yii\db\mssql\Schema" ["oci"]=> string(17) "yii\db\oci\Schema" ["mssql"]=> string(19) "yii\db\mssql\Schema" ["dblib"]=> string(19) "yii\db\mssql\Schema" ["cubrid"]=> string(20) "yii\db\cubrid\Schema" } ["pdoClass"]=> NULL ["commandClass"]=> string(14) "yii\db\Command" ["commandMap"]=> array(10) { ["pgsql"]=> string(14) "yii\db\Command" ["mysqli"]=> string(14) "yii\db\Command" ["mysql"]=> string(14) "yii\db\Command" ["sqlite"]=> string(21) "yii\db\sqlite\Command" ["sqlite2"]=> string(21) "yii\db\sqlite\Command" ["sqlsrv"]=> string(14) "yii\db\Command" ["oci"]=> string(18) "yii\db\oci\Command" ["mssql"]=> string(14) "yii\db\Command" ["dblib"]=> string(14) "yii\db\Command" ["cubrid"]=> string(14) "yii\db\Command" } ["enableSavepoint"]=> bool(true) ["serverStatusCache"]=> string(5) "cache" ["serverRetryInterval"]=> int(600) ["enableSlaves"]=> bool(true) ["slaves"]=> array(1) { [0]=> array(1) { ["dsn"]=> string(71) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" } } ["slaveConfig"]=> array(2) { ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" } ["masters"]=> array(0) { } ["masterConfig"]=> array(0) { } ["shuffleMasters"]=> bool(true) ["enableLogging"]=> bool(true) ["enableProfiling"]=> bool(true) ["isSybase"]=> bool(false) ["_queryBuilderConfigurations":"yii\db\Connection":private]=> array(0) { } ["_transaction":"yii\db\Connection":private]=> NULL ["_schema":"yii\db\Connection":private]=> object(yii\db\mysql\Schema)#111 (13) { ["columnSchemaClass"]=> string(25) "yii\db\mysql\ColumnSchema" ["_oldMysql":"yii\db\mysql\Schema":private]=> NULL ["typeMap"]=> array(29) { ["tinyint"]=> string(7) "tinyint" ["bit"]=> string(7) "integer" ["smallint"]=> string(8) "smallint" ["mediumint"]=> string(7) "integer" ["int"]=> string(7) "integer" ["integer"]=> string(7) "integer" ["bigint"]=> string(6) "bigint" ["float"]=> string(5) "float" ["double"]=> string(6) "double" ["real"]=> string(5) "float" ["decimal"]=> string(7) "decimal" ["numeric"]=> string(7) "decimal" ["tinytext"]=> string(4) "text" ["mediumtext"]=> string(4) "text" ["longtext"]=> string(4) "text" ["longblob"]=> string(6) "binary" ["blob"]=> string(6) "binary" ["text"]=> string(4) "text" ["varchar"]=> string(6) "string" ["string"]=> string(6) "string" ["char"]=> string(4) "char" ["datetime"]=> string(8) "datetime" ["year"]=> string(4) "date" ["date"]=> string(4) "date" ["time"]=> string(4) "time" ["timestamp"]=> string(9) "timestamp" ["enum"]=> string(6) "string" ["varbinary"]=> string(6) "binary" ["json"]=> string(4) "json" } ["tableQuoteCharacter":protected]=> string(1) "`" ["columnQuoteCharacter":protected]=> string(1) "`" ["db"]=> *RECURSION* ["defaultSchema"]=> NULL ["exceptionMap"]=> array(1) { ["SQLSTATE[23"]=> string(25) "yii\db\IntegrityException" } ["_schemaNames":"yii\db\Schema":private]=> NULL ["_tableNames":"yii\db\Schema":private]=> array(0) { } ["_tableMetadata":"yii\db\Schema":private]=> array(5) { ["ss_pages"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#126 (7) { ["schemaName"]=> NULL ["name"]=> string(8) "ss_pages" ["fullName"]=> string(8) "ss_pages" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(1) { ["ss_pages_ibfk_1"]=> array(2) { [0]=> string(8) "ss_pages" ["parent_id"]=> string(2) "id" } } ["columns"]=> array(42) { ["id"]=> object(yii\db\mysql\ColumnSchema)#129 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["alias_fr"]=> object(yii\db\mysql\ColumnSchema)#128 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "alias_fr" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["alias_en"]=> object(yii\db\mysql\ColumnSchema)#130 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "alias_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["title_fr"]=> object(yii\db\mysql\ColumnSchema)#131 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "title_fr" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["title_en"]=> object(yii\db\mysql\ColumnSchema)#132 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "title_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["controller"]=> object(yii\db\mysql\ColumnSchema)#133 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "controller" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["action"]=> object(yii\db\mysql\ColumnSchema)#134 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "action" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["params"]=> object(yii\db\mysql\ColumnSchema)#135 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "params" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["context"]=> object(yii\db\mysql\ColumnSchema)#136 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "context" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["type"]=> object(yii\db\mysql\ColumnSchema)#137 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(4) "type" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(4)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(4) ["precision"]=> int(4) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["parent_id"]=> object(yii\db\mysql\ColumnSchema)#138 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "parent_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_description_en"]=> object(yii\db\mysql\ColumnSchema)#139 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "meta_description_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_description_fr"]=> object(yii\db\mysql\ColumnSchema)#140 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "meta_description_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_keywords_en"]=> object(yii\db\mysql\ColumnSchema)#141 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "meta_keywords_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_keywords_fr"]=> object(yii\db\mysql\ColumnSchema)#142 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "meta_keywords_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["position"]=> object(yii\db\mysql\ColumnSchema)#143 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "position" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(2)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(2) ["precision"]=> int(2) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["published"]=> object(yii\db\mysql\ColumnSchema)#144 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "published" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["request_id"]=> object(yii\db\mysql\ColumnSchema)#145 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "request_id" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["search_index"]=> object(yii\db\mysql\ColumnSchema)#146 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "search_index" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(16) "enum('YES','NO')" ["defaultValue"]=> string(3) "YES" ["enumValues"]=> array(2) { [0]=> string(3) "YES" [1]=> string(2) "NO" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["alias_advisor"]=> object(yii\db\mysql\ColumnSchema)#147 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "alias_advisor" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["updated_on"]=> object(yii\db\mysql\ColumnSchema)#148 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "updated_on" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["title_advisor"]=> object(yii\db\mysql\ColumnSchema)#149 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "title_advisor" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(45)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(45) ["precision"]=> int(45) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_canonical_en"]=> object(yii\db\mysql\ColumnSchema)#150 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "meta_canonical_en" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(150)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(150) ["precision"]=> int(150) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_canonical_fr"]=> object(yii\db\mysql\ColumnSchema)#151 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "meta_canonical_fr" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(150)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(150) ["precision"]=> int(150) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_card"]=> object(yii\db\mysql\ColumnSchema)#152 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "twitter_card" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_site"]=> object(yii\db\mysql\ColumnSchema)#153 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "twitter_site" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_title"]=> object(yii\db\mysql\ColumnSchema)#154 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "twitter_title" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_desc"]=> object(yii\db\mysql\ColumnSchema)#155 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "twitter_desc" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_img"]=> object(yii\db\mysql\ColumnSchema)#156 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "twitter_img" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_title"]=> object(yii\db\mysql\ColumnSchema)#157 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "og_title" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_desc"]=> object(yii\db\mysql\ColumnSchema)#158 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "og_desc" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_img"]=> object(yii\db\mysql\ColumnSchema)#159 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "og_img" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_card_fr"]=> object(yii\db\mysql\ColumnSchema)#160 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "twitter_card_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_site_fr"]=> object(yii\db\mysql\ColumnSchema)#161 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "twitter_site_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_title_fr"]=> object(yii\db\mysql\ColumnSchema)#162 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "twitter_title_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_desc_fr"]=> object(yii\db\mysql\ColumnSchema)#163 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "twitter_desc_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_img_fr"]=> object(yii\db\mysql\ColumnSchema)#164 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "twitter_img_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_title_fr"]=> object(yii\db\mysql\ColumnSchema)#165 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "og_title_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_desc_fr"]=> object(yii\db\mysql\ColumnSchema)#166 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "og_desc_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_img_fr"]=> object(yii\db\mysql\ColumnSchema)#167 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "og_img_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_site"]=> object(yii\db\mysql\ColumnSchema)#168 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "og_site" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_site_fr"]=> object(yii\db\mysql\ColumnSchema)#169 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "og_site_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } } } } ["ss_fund"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#183 (7) { ["schemaName"]=> NULL ["name"]=> string(7) "ss_fund" ["fullName"]=> string(7) "ss_fund" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(5) { ["fk-fund_category_id"]=> array(2) { [0]=> string(16) "ss_fund_category" ["fund_category_id"]=> string(2) "id" } ["FK_cfr_product"]=> array(2) { [0]=> string(15) "ss_cfr_products" ["cfr_product_id"]=> string(2) "id" } ["FK_ss_marketing_category"]=> array(2) { [0]=> string(21) "ss_marketing_category" ["marketing_category_id"]=> string(2) "id" } ["FK_ss_marketing_focus"]=> array(2) { [0]=> string(18) "ss_marketing_focus" ["marketing_focus_id"]=> string(2) "id" } ["ss_fund_ss_legal_structure_FK"]=> array(2) { [0]=> string(18) "ss_legal_structure" ["legal_structure_id"]=> string(2) "id" } } ["columns"]=> array(47) { ["id"]=> object(yii\db\mysql\ColumnSchema)#184 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["fund_category_id"]=> object(yii\db\mysql\ColumnSchema)#185 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "fund_category_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["name_en"]=> object(yii\db\mysql\ColumnSchema)#186 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["terminated"]=> object(yii\db\mysql\ColumnSchema)#187 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "terminated" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["name_fr"]=> object(yii\db\mysql\ColumnSchema)#188 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_fr" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["overview_en"]=> object(yii\db\mysql\ColumnSchema)#189 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "overview_en" ["allowNull"]=> bool(false) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["overview_fr"]=> object(yii\db\mysql\ColumnSchema)#190 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "overview_fr" ["allowNull"]=> bool(false) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["foreign_objective"]=> object(yii\db\mysql\ColumnSchema)#191 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "foreign_objective" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(4)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(4) ["precision"]=> int(4) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["volatility"]=> object(yii\db\mysql\ColumnSchema)#192 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "volatility" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(4)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(4) ["precision"]=> int(4) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["suitability_en"]=> object(yii\db\mysql\ColumnSchema)#193 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "suitability_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "mediumtext" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["suitability_fr"]=> object(yii\db\mysql\ColumnSchema)#194 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "suitability_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "mediumtext" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["small_cap"]=> object(yii\db\mysql\ColumnSchema)#195 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "small_cap" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(6)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(6) ["precision"]=> int(6) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["medium_cap"]=> object(yii\db\mysql\ColumnSchema)#196 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "medium_cap" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(6)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(6) ["precision"]=> int(6) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["large_cap"]=> object(yii\db\mysql\ColumnSchema)#197 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "large_cap" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(6)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(6) ["precision"]=> int(6) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["highlights_en"]=> object(yii\db\mysql\ColumnSchema)#198 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "highlights_en" ["allowNull"]=> bool(false) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["highlights_fr"]=> object(yii\db\mysql\ColumnSchema)#199 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "highlights_fr" ["allowNull"]=> bool(false) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["page_alias_en"]=> object(yii\db\mysql\ColumnSchema)#200 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "page_alias_en" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["page_alias_fr"]=> object(yii\db\mysql\ColumnSchema)#201 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "page_alias_fr" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["short_summary_en"]=> object(yii\db\mysql\ColumnSchema)#202 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "short_summary_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["short_summary_fr"]=> object(yii\db\mysql\ColumnSchema)#203 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "short_summary_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["mpower_id"]=> object(yii\db\mysql\ColumnSchema)#204 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "mpower_id" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(15)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(15) ["precision"]=> int(15) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["legal_structure_id"]=> object(yii\db\mysql\ColumnSchema)#205 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "legal_structure_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["marketing_category_id"]=> object(yii\db\mysql\ColumnSchema)#206 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(21) "marketing_category_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["marketing_focus_id"]=> object(yii\db\mysql\ColumnSchema)#207 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "marketing_focus_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["mandate_id"]=> object(yii\db\mysql\ColumnSchema)#208 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "mandate_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["accredited_only"]=> object(yii\db\mysql\ColumnSchema)#209 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "accredited_only" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["rrsp"]=> object(yii\db\mysql\ColumnSchema)#210 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(4) "rrsp" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["cfr_fund_code"]=> object(yii\db\mysql\ColumnSchema)#211 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "cfr_fund_code" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(15)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(15) ["precision"]=> int(15) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_accumulation_from"]=> object(yii\db\mysql\ColumnSchema)#212 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(22) "g520_accumulation_from" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_accumulation_to"]=> object(yii\db\mysql\ColumnSchema)#213 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(20) "g520_accumulation_to" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_distr_from"]=> object(yii\db\mysql\ColumnSchema)#214 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "g520_distr_from" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_distr_to"]=> object(yii\db\mysql\ColumnSchema)#215 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "g520_distr_to" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_issue_date_from"]=> object(yii\db\mysql\ColumnSchema)#216 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(20) "g520_issue_date_from" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_issue_date_to"]=> object(yii\db\mysql\ColumnSchema)#217 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "g520_issue_date_to" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_guarantee_from"]=> object(yii\db\mysql\ColumnSchema)#218 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "g520_guarantee_from" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_guarantee_to"]=> object(yii\db\mysql\ColumnSchema)#219 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "g520_guarantee_to" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["g520_target_date"]=> object(yii\db\mysql\ColumnSchema)#220 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "g520_target_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["cfr_product_id"]=> object(yii\db\mysql\ColumnSchema)#221 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "cfr_product_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["seg_volatility"]=> object(yii\db\mysql\ColumnSchema)#222 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "seg_volatility" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["had_a_null"]=> object(yii\db\mysql\ColumnSchema)#223 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "had_a_null" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["termination_date"]=> object(yii\db\mysql\ColumnSchema)#224 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "termination_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["prev_name_en"]=> object(yii\db\mysql\ColumnSchema)#225 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "prev_name_en" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["prev_name_fr"]=> object(yii\db\mysql\ColumnSchema)#226 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "prev_name_fr" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["fund_rename_date"]=> object(yii\db\mysql\ColumnSchema)#227 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "fund_rename_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["fund_merged_data_en"]=> object(yii\db\mysql\ColumnSchema)#228 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "fund_merged_data_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["fund_merged_data_fr"]=> object(yii\db\mysql\ColumnSchema)#229 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "fund_merged_data_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["cinchy_code"]=> object(yii\db\mysql\ColumnSchema)#230 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "cinchy_code" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(20)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(20) ["precision"]=> int(20) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } } } } ["ss_fund_category"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#233 (7) { ["schemaName"]=> NULL ["name"]=> string(16) "ss_fund_category" ["fullName"]=> string(16) "ss_fund_category" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(2) { ["fk-fund_type_id"]=> array(2) { [0]=> string(12) "ss_fund_type" ["fund_type_id"]=> string(2) "id" } ["FK_marketing_asset"]=> array(2) { [0]=> string(26) "ss_marketing_asset_classes" ["marketing_asset_id"]=> string(2) "id" } } ["columns"]=> array(7) { ["id"]=> object(yii\db\mysql\ColumnSchema)#235 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["name_en"]=> object(yii\db\mysql\ColumnSchema)#236 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_en" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["name_fr"]=> object(yii\db\mysql\ColumnSchema)#237 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_fr" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["list_position"]=> object(yii\db\mysql\ColumnSchema)#238 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "list_position" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(4)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(4) ["precision"]=> int(4) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["fund_type_id"]=> object(yii\db\mysql\ColumnSchema)#239 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "fund_type_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["is_hidden"]=> object(yii\db\mysql\ColumnSchema)#240 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "is_hidden" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(16) "enum('YES','NO')" ["defaultValue"]=> string(2) "NO" ["enumValues"]=> array(2) { [0]=> string(3) "YES" [1]=> string(2) "NO" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["marketing_asset_id"]=> object(yii\db\mysql\ColumnSchema)#241 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "marketing_asset_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } } } } ["ss_fund_type"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#243 (7) { ["schemaName"]=> NULL ["name"]=> string(12) "ss_fund_type" ["fullName"]=> string(12) "ss_fund_type" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(0) { } ["columns"]=> array(17) { ["id"]=> object(yii\db\mysql\ColumnSchema)#244 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["name_en"]=> object(yii\db\mysql\ColumnSchema)#245 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(45)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(45) ["precision"]=> int(45) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["name_fr"]=> object(yii\db\mysql\ColumnSchema)#246 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_fr" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(45)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(45) ["precision"]=> int(45) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["pro_modx_parent_fr"]=> object(yii\db\mysql\ColumnSchema)#247 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "pro_modx_parent_fr" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["pro_modx_parent_en"]=> object(yii\db\mysql\ColumnSchema)#248 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "pro_modx_parent_en" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["modx_parent_fr"]=> object(yii\db\mysql\ColumnSchema)#249 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "modx_parent_fr" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["modx_parent_en"]=> object(yii\db\mysql\ColumnSchema)#250 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "modx_parent_en" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["res_en"]=> object(yii\db\mysql\ColumnSchema)#251 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "res_en" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["res_fr"]=> object(yii\db\mysql\ColumnSchema)#252 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "res_fr" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["pro_res_en"]=> object(yii\db\mysql\ColumnSchema)#253 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "pro_res_en" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["pro_res_fr"]=> object(yii\db\mysql\ColumnSchema)#254 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "pro_res_fr" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["mobile_en"]=> object(yii\db\mysql\ColumnSchema)#255 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "mobile_en" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["mobile_fr"]=> object(yii\db\mysql\ColumnSchema)#256 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "mobile_fr" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["hide_holdings"]=> object(yii\db\mysql\ColumnSchema)#257 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "hide_holdings" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["hide_funds"]=> object(yii\db\mysql\ColumnSchema)#258 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "hide_funds" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(19) "tinyint(1) unsigned" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["position"]=> object(yii\db\mysql\ColumnSchema)#259 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "position" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["bulk_prefix"]=> object(yii\db\mysql\ColumnSchema)#260 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "bulk_prefix" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(20)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(20) ["precision"]=> int(20) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } } } } ["ss_series"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#181 (7) { ["schemaName"]=> NULL ["name"]=> string(9) "ss_series" ["fullName"]=> string(9) "ss_series" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(3) { ["ss_series_ss_class_FK"]=> array(2) { [0]=> string(8) "ss_class" ["class_id"]=> string(2) "id" } ["ss_series_ss_currency_FK"]=> array(2) { [0]=> string(11) "ss_currency" ["currency_id"]=> string(2) "id" } ["ss_series_ss_fund_FK"]=> array(2) { [0]=> string(7) "ss_fund" ["fund_id"]=> string(2) "id" } } ["columns"]=> array(45) { ["id"]=> object(yii\db\mysql\ColumnSchema)#231 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["mpower_id"]=> object(yii\db\mysql\ColumnSchema)#261 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "mpower_id" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(15)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(15) ["precision"]=> int(15) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["fund_id"]=> object(yii\db\mysql\ColumnSchema)#262 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "fund_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["currency_id"]=> object(yii\db\mysql\ColumnSchema)#263 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "currency_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["sentry_series"]=> object(yii\db\mysql\ColumnSchema)#264 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "sentry_series" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(15)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(15) ["precision"]=> int(15) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["security_type_id"]=> object(yii\db\mysql\ColumnSchema)#265 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "security_type_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["statestreet_fund_code"]=> object(yii\db\mysql\ColumnSchema)#266 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(21) "statestreet_fund_code" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(8)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(8) ["precision"]=> int(8) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["statestreet_series_id"]=> object(yii\db\mysql\ColumnSchema)#267 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(21) "statestreet_series_id" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(3)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(3) ["precision"]=> int(3) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["period_cron"]=> object(yii\db\mysql\ColumnSchema)#268 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "period_cron" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(25)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(25) ["precision"]=> int(25) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["recon_inception_date"]=> object(yii\db\mysql\ColumnSchema)#269 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(20) "recon_inception_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["inception_date"]=> object(yii\db\mysql\ColumnSchema)#270 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "inception_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["conversion_date"]=> object(yii\db\mysql\ColumnSchema)#271 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "conversion_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["termination_date"]=> object(yii\db\mysql\ColumnSchema)#272 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "termination_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["maturity_date"]=> object(yii\db\mysql\ColumnSchema)#273 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "maturity_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["income_dist_freq"]=> object(yii\db\mysql\ColumnSchema)#274 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "income_dist_freq" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(7) "char(2)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(2) ["precision"]=> int(2) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["income_dist"]=> object(yii\db\mysql\ColumnSchema)#275 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "income_dist" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(4)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(4) ["precision"]=> int(4) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["min_investment"]=> object(yii\db\mysql\ColumnSchema)#276 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "min_investment" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(7)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(7) ["precision"]=> int(7) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["sub_investment"]=> object(yii\db\mysql\ColumnSchema)#277 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "sub_investment" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(10) "varchar(7)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(7) ["precision"]=> int(7) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["is_rrsp"]=> object(yii\db\mysql\ColumnSchema)#278 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "is_rrsp" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(7) "char(2)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(2) ["precision"]=> int(2) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["yield"]=> object(yii\db\mysql\ColumnSchema)#279 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(5) "yield" ["allowNull"]=> bool(true) ["type"]=> string(7) "decimal" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "decimal(3,2)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(3) ["precision"]=> int(3) ["scale"]=> int(2) ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["yield_updated_on"]=> object(yii\db\mysql\ColumnSchema)#280 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "yield_updated_on" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["average_return"]=> object(yii\db\mysql\ColumnSchema)#281 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "average_return" ["allowNull"]=> bool(true) ["type"]=> string(7) "decimal" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "decimal(8,2)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(8) ["precision"]=> int(8) ["scale"]=> int(2) ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["average_return_percent"]=> object(yii\db\mysql\ColumnSchema)#282 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(22) "average_return_percent" ["allowNull"]=> bool(true) ["type"]=> string(7) "decimal" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "decimal(3,1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(3) ["precision"]=> int(3) ["scale"]=> int(1) ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["redemption_period"]=> object(yii\db\mysql\ColumnSchema)#283 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "redemption_period" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(7) "char(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["min_invest_term"]=> object(yii\db\mysql\ColumnSchema)#284 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "min_invest_term" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(45)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(45) ["precision"]=> int(45) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["investment_type"]=> object(yii\db\mysql\ColumnSchema)#285 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "investment_type" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(7) "char(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(23) "should be enum from 1-5" } ["archived"]=> object(yii\db\mysql\ColumnSchema)#286 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "archived" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["morningstar_key"]=> object(yii\db\mysql\ColumnSchema)#287 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "morningstar_key" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(10)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(10) ["precision"]=> int(10) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["class_id"]=> object(yii\db\mysql\ColumnSchema)#288 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "class_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["fund_data_key"]=> object(yii\db\mysql\ColumnSchema)#289 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "fund_data_key" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["purchase_avb"]=> object(yii\db\mysql\ColumnSchema)#290 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "purchase_avb" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["had_a_null"]=> object(yii\db\mysql\ColumnSchema)#291 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "had_a_null" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["cfr_id"]=> object(yii\db\mysql\ColumnSchema)#292 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "cfr_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["program"]=> object(yii\db\mysql\ColumnSchema)#293 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "program" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(50) "enum('Evolution','None','Optima','Private Client')" ["defaultValue"]=> string(4) "None" ["enumValues"]=> array(4) { [0]=> string(9) "Evolution" [1]=> string(4) "None" [2]=> string(6) "Optima" [3]=> string(14) "Private Client" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["website_disclosure"]=> object(yii\db\mysql\ColumnSchema)#294 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "website_disclosure" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(1) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["is_disclosure_required"]=> object(yii\db\mysql\ColumnSchema)#295 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(22) "is_disclosure_required" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["is_merged"]=> object(yii\db\mysql\ColumnSchema)#296 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "is_merged" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(16) "enum('YES','NO')" ["defaultValue"]=> string(2) "NO" ["enumValues"]=> array(2) { [0]=> string(3) "YES" [1]=> string(2) "NO" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["has_merges"]=> object(yii\db\mysql\ColumnSchema)#297 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "has_merges" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(16) "enum('YES','NO')" ["defaultValue"]=> string(2) "NO" ["enumValues"]=> array(2) { [0]=> string(3) "YES" [1]=> string(2) "NO" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["merge_parent_id"]=> object(yii\db\mysql\ColumnSchema)#298 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "merge_parent_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["merge_date"]=> object(yii\db\mysql\ColumnSchema)#299 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "merge_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["last_merge_date"]=> object(yii\db\mysql\ColumnSchema)#300 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "last_merge_date" ["allowNull"]=> bool(true) ["type"]=> string(4) "date" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "date" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["cinchy_code"]=> object(yii\db\mysql\ColumnSchema)#301 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "cinchy_code" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(20)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(20) ["precision"]=> int(20) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["reg_disclosure"]=> object(yii\db\mysql\ColumnSchema)#302 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "reg_disclosure" ["allowNull"]=> bool(true) ["type"]=> string(8) "smallint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(11) "smallint(1)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["cinchy_status"]=> object(yii\db\mysql\ColumnSchema)#303 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "cinchy_status" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(1) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["private_series_pos"]=> object(yii\db\mysql\ColumnSchema)#304 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(18) "private_series_pos" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(16) "enum('YES','NO')" ["defaultValue"]=> string(2) "NO" ["enumValues"]=> array(2) { [0]=> string(3) "YES" [1]=> string(2) "NO" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } } } } } ["_builder":"yii\db\Schema":private]=> object(yii\db\mysql\QueryBuilder)#110 (6) { ["typeMap"]=> array(22) { ["pk"]=> string(43) "int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY" ["upk"]=> string(52) "int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY" ["bigpk"]=> string(46) "bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY" ["ubigpk"]=> string(55) "bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY" ["char"]=> string(7) "char(1)" ["string"]=> string(12) "varchar(255)" ["text"]=> string(4) "text" ["tinyint"]=> string(10) "tinyint(3)" ["smallint"]=> string(11) "smallint(6)" ["integer"]=> string(7) "int(11)" ["bigint"]=> string(10) "bigint(20)" ["float"]=> string(5) "float" ["double"]=> string(6) "double" ["decimal"]=> string(13) "decimal(10,0)" ["date"]=> string(4) "date" ["binary"]=> string(4) "blob" ["boolean"]=> string(10) "tinyint(1)" ["money"]=> string(13) "decimal(19,4)" ["json"]=> string(4) "json" ["datetime"]=> string(11) "datetime(0)" ["timestamp"]=> string(12) "timestamp(0)" ["time"]=> string(7) "time(0)" } ["db"]=> *RECURSION* ["separator"]=> string(1) " " ["conditionBuilders":protected]=> array(0) { } ["conditionClasses":protected]=> array(13) { ["NOT"]=> string(30) "yii\db\conditions\NotCondition" ["AND"]=> string(30) "yii\db\conditions\AndCondition" ["OR"]=> string(29) "yii\db\conditions\OrCondition" ["BETWEEN"]=> string(34) "yii\db\conditions\BetweenCondition" ["NOT BETWEEN"]=> string(34) "yii\db\conditions\BetweenCondition" ["IN"]=> string(29) "yii\db\conditions\InCondition" ["NOT IN"]=> string(29) "yii\db\conditions\InCondition" ["LIKE"]=> string(31) "yii\db\conditions\LikeCondition" ["NOT LIKE"]=> string(31) "yii\db\conditions\LikeCondition" ["OR LIKE"]=> string(31) "yii\db\conditions\LikeCondition" ["OR NOT LIKE"]=> string(31) "yii\db\conditions\LikeCondition" ["EXISTS"]=> string(33) "yii\db\conditions\ExistsCondition" ["NOT EXISTS"]=> string(33) "yii\db\conditions\ExistsCondition" } ["expressionBuilders":protected]=> array(15) { ["yii\db\Query"]=> string(29) "yii\db\QueryExpressionBuilder" ["yii\db\PdoValue"]=> string(22) "yii\db\PdoValueBuilder" ["yii\db\Expression"]=> string(24) "yii\db\ExpressionBuilder" ["yii\db\conditions\ConjunctionCondition"]=> string(45) "yii\db\conditions\ConjunctionConditionBuilder" ["yii\db\conditions\NotCondition"]=> string(37) "yii\db\conditions\NotConditionBuilder" ["yii\db\conditions\AndCondition"]=> object(yii\db\conditions\ConjunctionConditionBuilder)#118 (1) { ["queryBuilder":protected]=> *RECURSION* } ["yii\db\conditions\OrCondition"]=> object(yii\db\conditions\ConjunctionConditionBuilder)#319 (1) { ["queryBuilder":protected]=> *RECURSION* } ["yii\db\conditions\BetweenCondition"]=> string(41) "yii\db\conditions\BetweenConditionBuilder" ["yii\db\conditions\InCondition"]=> object(yii\db\conditions\InConditionBuilder)#234 (1) { ["queryBuilder":protected]=> *RECURSION* } ["yii\db\conditions\LikeCondition"]=> string(38) "yii\db\conditions\LikeConditionBuilder" ["yii\db\conditions\ExistsCondition"]=> string(40) "yii\db\conditions\ExistsConditionBuilder" ["yii\db\conditions\SimpleCondition"]=> object(yii\db\conditions\SimpleConditionBuilder)#318 (1) { ["queryBuilder":protected]=> *RECURSION* } ["yii\db\conditions\HashCondition"]=> object(yii\db\conditions\HashConditionBuilder)#120 (1) { ["queryBuilder":protected]=> *RECURSION* } ["yii\db\conditions\BetweenColumnsCondition"]=> string(48) "yii\db\conditions\BetweenColumnsConditionBuilder" ["yii\db\JsonExpression"]=> string(34) "yii\db\mysql\JsonExpressionBuilder" } } ["_serverVersion":"yii\db\Schema":private]=> NULL } ["_driverName":"yii\db\Connection":private]=> string(5) "mysql" ["_master":"yii\db\Connection":private]=> bool(false) ["_slave":"yii\db\Connection":private]=> object(yii\db\Connection)#112 (43) { ["dsn"]=> string(71) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" ["attributes"]=> NULL ["pdo"]=> object(PDO)#113 (0) { } ["enableSchemaCache"]=> bool(false) ["schemaCacheDuration"]=> int(3600) ["schemaCacheExclude"]=> array(0) { } ["schemaCache"]=> string(5) "cache" ["enableQueryCache"]=> bool(true) ["queryCacheDuration"]=> int(3600) ["queryCache"]=> string(5) "cache" ["charset"]=> NULL ["emulatePrepare"]=> NULL ["tablePrefix"]=> string(0) "" ["schemaMap"]=> array(10) { ["pgsql"]=> string(19) "yii\db\pgsql\Schema" ["mysqli"]=> string(19) "yii\db\mysql\Schema" ["mysql"]=> string(19) "yii\db\mysql\Schema" ["sqlite"]=> string(20) "yii\db\sqlite\Schema" ["sqlite2"]=> string(20) "yii\db\sqlite\Schema" ["sqlsrv"]=> string(19) "yii\db\mssql\Schema" ["oci"]=> string(17) "yii\db\oci\Schema" ["mssql"]=> string(19) "yii\db\mssql\Schema" ["dblib"]=> string(19) "yii\db\mssql\Schema" ["cubrid"]=> string(20) "yii\db\cubrid\Schema" } ["pdoClass"]=> NULL ["commandClass"]=> string(14) "yii\db\Command" ["commandMap"]=> array(10) { ["pgsql"]=> string(14) "yii\db\Command" ["mysqli"]=> string(14) "yii\db\Command" ["mysql"]=> string(14) "yii\db\Command" ["sqlite"]=> string(21) "yii\db\sqlite\Command" ["sqlite2"]=> string(21) "yii\db\sqlite\Command" ["sqlsrv"]=> string(14) "yii\db\Command" ["oci"]=> string(18) "yii\db\oci\Command" ["mssql"]=> string(14) "yii\db\Command" ["dblib"]=> string(14) "yii\db\Command" ["cubrid"]=> string(14) "yii\db\Command" } ["enableSavepoint"]=> bool(true) ["serverStatusCache"]=> string(5) "cache" ["serverRetryInterval"]=> int(600) ["enableSlaves"]=> bool(true) ["slaves"]=> array(0) { } ["slaveConfig"]=> array(0) { } ["masters"]=> array(0) { } ["masterConfig"]=> array(0) { } ["shuffleMasters"]=> bool(true) ["enableLogging"]=> bool(true) ["enableProfiling"]=> bool(true) ["isSybase"]=> bool(false) ["_queryBuilderConfigurations":"yii\db\Connection":private]=> array(0) { } ["_transaction":"yii\db\Connection":private]=> NULL ["_schema":"yii\db\Connection":private]=> NULL ["_driverName":"yii\db\Connection":private]=> string(5) "mysql" ["_master":"yii\db\Connection":private]=> bool(false) ["_slave":"yii\db\Connection":private]=> bool(false) ["_queryCacheInfo":"yii\db\Connection":private]=> array(0) { } ["_quotedTableNames":"yii\db\Connection":private]=> NULL ["_quotedColumnNames":"yii\db\Connection":private]=> NULL ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["_queryCacheInfo":"yii\db\Connection":private]=> array(0) { } ["_quotedTableNames":"yii\db\Connection":private]=> array(8) { ["ss_pages"]=> string(10) "`ss_pages`" ["parent"]=> string(8) "`parent`" ["ss_fund"]=> string(9) "`ss_fund`" ["ss_fund_category"]=> string(18) "`ss_fund_category`" ["ss_fund_type"]=> string(14) "`ss_fund_type`" ["ss_series"]=> string(11) "`ss_series`" ["ss_class"]=> string(10) "`ss_class`" ["classob"]=> string(9) "`classob`" } ["_quotedColumnNames":"yii\db\Connection":private]=> array(63) { ["ss_pages.*"]=> string(12) "`ss_pages`.*" ["ss_pages.alias_fr"]=> string(21) "`ss_pages`.`alias_fr`" ["parent.alias_fr"]=> string(19) "`parent`.`alias_fr`" ["ss_pages.published"]=> string(22) "`ss_pages`.`published`" ["parent.published"]=> string(20) "`parent`.`published`" ["parent_id"]=> string(11) "`parent_id`" ["id"]=> string(4) "`id`" ["alias_fr"]=> string(10) "`alias_fr`" ["published"]=> string(11) "`published`" ["page_alias_fr"]=> string(15) "`page_alias_fr`" ["mpower_id"]=> string(11) "`mpower_id`" ["fund_id"]=> string(9) "`fund_id`" ["currency_id"]=> string(13) "`currency_id`" ["sentry_series"]=> string(15) "`sentry_series`" ["security_type_id"]=> string(18) "`security_type_id`" ["statestreet_fund_code"]=> string(23) "`statestreet_fund_code`" ["statestreet_series_id"]=> string(23) "`statestreet_series_id`" ["period_cron"]=> string(13) "`period_cron`" ["recon_inception_date"]=> string(22) "`recon_inception_date`" ["inception_date"]=> string(16) "`inception_date`" ["conversion_date"]=> string(17) "`conversion_date`" ["termination_date"]=> string(18) "`termination_date`" ["maturity_date"]=> string(15) "`maturity_date`" ["income_dist_freq"]=> string(18) "`income_dist_freq`" ["income_dist"]=> string(13) "`income_dist`" ["min_investment"]=> string(16) "`min_investment`" ["sub_investment"]=> string(16) "`sub_investment`" ["is_rrsp"]=> string(9) "`is_rrsp`" ["yield"]=> string(7) "`yield`" ["yield_updated_on"]=> string(18) "`yield_updated_on`" ["average_return"]=> string(16) "`average_return`" ["average_return_percent"]=> string(24) "`average_return_percent`" ["redemption_period"]=> string(19) "`redemption_period`" ["min_invest_term"]=> string(17) "`min_invest_term`" ["investment_type"]=> string(17) "`investment_type`" ["archived"]=> string(10) "`archived`" ["morningstar_key"]=> string(17) "`morningstar_key`" ["class_id"]=> string(10) "`class_id`" ["fund_data_key"]=> string(15) "`fund_data_key`" ["purchase_avb"]=> string(14) "`purchase_avb`" ["had_a_null"]=> string(12) "`had_a_null`" ["cfr_id"]=> string(8) "`cfr_id`" ["program"]=> string(9) "`program`" ["website_disclosure"]=> string(20) "`website_disclosure`" ["is_disclosure_required"]=> string(24) "`is_disclosure_required`" ["is_merged"]=> string(11) "`is_merged`" ["has_merges"]=> string(12) "`has_merges`" ["merge_parent_id"]=> string(17) "`merge_parent_id`" ["merge_date"]=> string(12) "`merge_date`" ["last_merge_date"]=> string(17) "`last_merge_date`" ["cinchy_code"]=> string(13) "`cinchy_code`" ["reg_disclosure"]=> string(16) "`reg_disclosure`" ["cinchy_status"]=> string(15) "`cinchy_status`" ["private_series_pos"]=> string(20) "`private_series_pos`" ["ss_series.*"]=> string(13) "`ss_series`.*" ["classob.id"]=> string(14) "`classob`.`id`" ["ss_series.id"]=> string(16) "`ss_series`.`id`" ["ss_series.termination_date"]=> string(30) "`ss_series`.`termination_date`" ["ss_series.archived"]=> string(22) "`ss_series`.`archived`" ["ss_series.fund_id"]=> string(21) "`ss_series`.`fund_id`" ["ss_series.currency_id"]=> string(25) "`ss_series`.`currency_id`" ["ss_class.parent_id"]=> string(22) "`ss_class`.`parent_id`" ["ss_class.name_en"]=> string(20) "`ss_class`.`name_en`" } ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["db_audit"]=> object(yii\db\Connection)#106 (43) { ["dsn"]=> string(77) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web_audit;charset=utf8" ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" ["attributes"]=> NULL ["pdo"]=> NULL ["enableSchemaCache"]=> bool(false) ["schemaCacheDuration"]=> int(3600) ["schemaCacheExclude"]=> array(0) { } ["schemaCache"]=> string(5) "cache" ["enableQueryCache"]=> bool(true) ["queryCacheDuration"]=> int(3600) ["queryCache"]=> string(5) "cache" ["charset"]=> string(4) "utf8" ["emulatePrepare"]=> NULL ["tablePrefix"]=> string(0) "" ["schemaMap"]=> array(10) { ["pgsql"]=> string(19) "yii\db\pgsql\Schema" ["mysqli"]=> string(19) "yii\db\mysql\Schema" ["mysql"]=> string(19) "yii\db\mysql\Schema" ["sqlite"]=> string(20) "yii\db\sqlite\Schema" ["sqlite2"]=> string(20) "yii\db\sqlite\Schema" ["sqlsrv"]=> string(19) "yii\db\mssql\Schema" ["oci"]=> string(17) "yii\db\oci\Schema" ["mssql"]=> string(19) "yii\db\mssql\Schema" ["dblib"]=> string(19) "yii\db\mssql\Schema" ["cubrid"]=> string(20) "yii\db\cubrid\Schema" } ["pdoClass"]=> NULL ["commandClass"]=> string(14) "yii\db\Command" ["commandMap"]=> array(10) { ["pgsql"]=> string(14) "yii\db\Command" ["mysqli"]=> string(14) "yii\db\Command" ["mysql"]=> string(14) "yii\db\Command" ["sqlite"]=> string(21) "yii\db\sqlite\Command" ["sqlite2"]=> string(21) "yii\db\sqlite\Command" ["sqlsrv"]=> string(14) "yii\db\Command" ["oci"]=> string(18) "yii\db\oci\Command" ["mssql"]=> string(14) "yii\db\Command" ["dblib"]=> string(14) "yii\db\Command" ["cubrid"]=> string(14) "yii\db\Command" } ["enableSavepoint"]=> bool(true) ["serverStatusCache"]=> string(5) "cache" ["serverRetryInterval"]=> int(600) ["enableSlaves"]=> bool(true) ["slaves"]=> array(1) { [0]=> array(1) { ["dsn"]=> string(77) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web_audit;charset=utf8" } } ["slaveConfig"]=> array(2) { ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" } ["masters"]=> array(0) { } ["masterConfig"]=> array(0) { } ["shuffleMasters"]=> bool(true) ["enableLogging"]=> bool(true) ["enableProfiling"]=> bool(true) ["isSybase"]=> bool(false) ["_queryBuilderConfigurations":"yii\db\Connection":private]=> array(0) { } ["_transaction":"yii\db\Connection":private]=> NULL ["_schema":"yii\db\Connection":private]=> object(yii\db\mysql\Schema)#117 (13) { ["columnSchemaClass"]=> string(25) "yii\db\mysql\ColumnSchema" ["_oldMysql":"yii\db\mysql\Schema":private]=> NULL ["typeMap"]=> array(29) { ["tinyint"]=> string(7) "tinyint" ["bit"]=> string(7) "integer" ["smallint"]=> string(8) "smallint" ["mediumint"]=> string(7) "integer" ["int"]=> string(7) "integer" ["integer"]=> string(7) "integer" ["bigint"]=> string(6) "bigint" ["float"]=> string(5) "float" ["double"]=> string(6) "double" ["real"]=> string(5) "float" ["decimal"]=> string(7) "decimal" ["numeric"]=> string(7) "decimal" ["tinytext"]=> string(4) "text" ["mediumtext"]=> string(4) "text" ["longtext"]=> string(4) "text" ["longblob"]=> string(6) "binary" ["blob"]=> string(6) "binary" ["text"]=> string(4) "text" ["varchar"]=> string(6) "string" ["string"]=> string(6) "string" ["char"]=> string(4) "char" ["datetime"]=> string(8) "datetime" ["year"]=> string(4) "date" ["date"]=> string(4) "date" ["time"]=> string(4) "time" ["timestamp"]=> string(9) "timestamp" ["enum"]=> string(6) "string" ["varbinary"]=> string(6) "binary" ["json"]=> string(4) "json" } ["tableQuoteCharacter":protected]=> string(1) "`" ["columnQuoteCharacter":protected]=> string(1) "`" ["db"]=> *RECURSION* ["defaultSchema"]=> NULL ["exceptionMap"]=> array(1) { ["SQLSTATE[23"]=> string(25) "yii\db\IntegrityException" } ["_schemaNames":"yii\db\Schema":private]=> NULL ["_tableNames":"yii\db\Schema":private]=> array(0) { } ["_tableMetadata":"yii\db\Schema":private]=> array(0) { } ["_builder":"yii\db\Schema":private]=> NULL ["_serverVersion":"yii\db\Schema":private]=> NULL } ["_driverName":"yii\db\Connection":private]=> string(5) "mysql" ["_master":"yii\db\Connection":private]=> bool(false) ["_slave":"yii\db\Connection":private]=> object(yii\db\Connection)#121 (43) { ["dsn"]=> string(77) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web_audit;charset=utf8" ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" ["attributes"]=> NULL ["pdo"]=> object(PDO)#122 (0) { } ["enableSchemaCache"]=> bool(false) ["schemaCacheDuration"]=> int(3600) ["schemaCacheExclude"]=> array(0) { } ["schemaCache"]=> string(5) "cache" ["enableQueryCache"]=> bool(true) ["queryCacheDuration"]=> int(3600) ["queryCache"]=> string(5) "cache" ["charset"]=> NULL ["emulatePrepare"]=> NULL ["tablePrefix"]=> string(0) "" ["schemaMap"]=> array(10) { ["pgsql"]=> string(19) "yii\db\pgsql\Schema" ["mysqli"]=> string(19) "yii\db\mysql\Schema" ["mysql"]=> string(19) "yii\db\mysql\Schema" ["sqlite"]=> string(20) "yii\db\sqlite\Schema" ["sqlite2"]=> string(20) "yii\db\sqlite\Schema" ["sqlsrv"]=> string(19) "yii\db\mssql\Schema" ["oci"]=> string(17) "yii\db\oci\Schema" ["mssql"]=> string(19) "yii\db\mssql\Schema" ["dblib"]=> string(19) "yii\db\mssql\Schema" ["cubrid"]=> string(20) "yii\db\cubrid\Schema" } ["pdoClass"]=> NULL ["commandClass"]=> string(14) "yii\db\Command" ["commandMap"]=> array(10) { ["pgsql"]=> string(14) "yii\db\Command" ["mysqli"]=> string(14) "yii\db\Command" ["mysql"]=> string(14) "yii\db\Command" ["sqlite"]=> string(21) "yii\db\sqlite\Command" ["sqlite2"]=> string(21) "yii\db\sqlite\Command" ["sqlsrv"]=> string(14) "yii\db\Command" ["oci"]=> string(18) "yii\db\oci\Command" ["mssql"]=> string(14) "yii\db\Command" ["dblib"]=> string(14) "yii\db\Command" ["cubrid"]=> string(14) "yii\db\Command" } ["enableSavepoint"]=> bool(true) ["serverStatusCache"]=> string(5) "cache" ["serverRetryInterval"]=> int(600) ["enableSlaves"]=> bool(true) ["slaves"]=> array(0) { } ["slaveConfig"]=> array(0) { } ["masters"]=> array(0) { } ["masterConfig"]=> array(0) { } ["shuffleMasters"]=> bool(true) ["enableLogging"]=> bool(true) ["enableProfiling"]=> bool(true) ["isSybase"]=> bool(false) ["_queryBuilderConfigurations":"yii\db\Connection":private]=> array(0) { } ["_transaction":"yii\db\Connection":private]=> NULL ["_schema":"yii\db\Connection":private]=> NULL ["_driverName":"yii\db\Connection":private]=> string(5) "mysql" ["_master":"yii\db\Connection":private]=> bool(false) ["_slave":"yii\db\Connection":private]=> bool(false) ["_queryCacheInfo":"yii\db\Connection":private]=> array(0) { } ["_quotedTableNames":"yii\db\Connection":private]=> NULL ["_quotedColumnNames":"yii\db\Connection":private]=> NULL ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["_queryCacheInfo":"yii\db\Connection":private]=> array(0) { } ["_quotedTableNames":"yii\db\Connection":private]=> NULL ["_quotedColumnNames":"yii\db\Connection":private]=> NULL ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["view"]=> object(yii\web\View)#124 (21) { ["assetBundles"]=> array(0) { } ["title"]=> NULL ["metaTags"]=> array(0) { } ["linkTags"]=> array(0) { } ["css"]=> array(0) { } ["cssFiles"]=> array(0) { } ["js"]=> array(2) { [1]=> array(1) { ["newrelic-head"]=> string(0) "" } [3]=> array(1) { ["newrelic-end"]=> string(0) "" } } ["jsFiles"]=> array(0) { } ["_assetManager":"yii\web\View":private]=> NULL ["context"]=> NULL ["params"]=> array(2) { ["route"]=> object(Lifecycle\models\SsPages)#125 (10) { ["_attributes":"yii\db\BaseActiveRecord":private]=> array(42) { ["id"]=> int(2) ["alias_fr"]=> string(15) "prix-quotidien2" ["alias_en"]=> string(12) "daily-prices" ["title_fr"]=> string(42) "Fonds de revenu stratégique Lawrence Park" ["title_en"]=> string(6) "Prices" ["controller"]=> string(5) "funds" ["action"]=> string(16) "fund_description" ["params"]=> string(10) "fund_cat_5" ["context"]=> int(0) ["type"]=> int(0) ["parent_id"]=> int(2) ["meta_description_en"]=> string(107) "View all of the latest pricing and information on CI Investments mutual funds and structured products here." ["meta_description_fr"]=> string(121) "Obtenez les derniers cours et d’autres renseignements sur les fonds communs de placement et produits structurés de CI." ["meta_keywords_en"]=> string(58) "Daily Prices | Equity | Funds | Income | Money | Canadian " ["meta_keywords_fr"]=> string(9) "Produits " ["position"]=> int(4) ["published"]=> int(1) ["request_id"]=> string(32) "f7001ff9f1abe0b0dce5888f12faafbd" ["search_index"]=> string(3) "YES" ["alias_advisor"]=> string(1) "1" ["updated_on"]=> int(0) ["title_advisor"]=> string(3) "gdg" ["meta_canonical_en"]=> NULL ["meta_canonical_fr"]=> string(122) "https://ci.com/fr/produits/prix-quotidien2/Fondsderevenustrat%C3%A9giqueLawrencePark.html?seriesId=1097¤cySelector=1" ["twitter_card"]=> NULL ["twitter_site"]=> NULL ["twitter_title"]=> NULL ["twitter_desc"]=> NULL ["twitter_img"]=> NULL ["og_title"]=> NULL ["og_desc"]=> NULL ["og_img"]=> NULL ["twitter_card_fr"]=> NULL ["twitter_site_fr"]=> NULL ["twitter_title_fr"]=> NULL ["twitter_desc_fr"]=> NULL ["twitter_img_fr"]=> NULL ["og_title_fr"]=> NULL ["og_desc_fr"]=> NULL ["og_img_fr"]=> NULL ["og_site"]=> NULL ["og_site_fr"]=> NULL } ["_oldAttributes":"yii\db\BaseActiveRecord":private]=> array(42) { ["id"]=> int(2) ["alias_fr"]=> string(15) "prix-quotidien2" ["alias_en"]=> string(12) "daily-prices" ["title_fr"]=> string(4) "Prix" ["title_en"]=> string(6) "Prices" ["controller"]=> string(7) "summary" ["action"]=> string(5) "daily" ["params"]=> string(10) "fund_cat_5" ["context"]=> int(0) ["type"]=> int(0) ["parent_id"]=> int(20) ["meta_description_en"]=> string(107) "View all of the latest pricing and information on CI Investments mutual funds and structured products here." ["meta_description_fr"]=> string(121) "Obtenez les derniers cours et d’autres renseignements sur les fonds communs de placement et produits structurés de CI." ["meta_keywords_en"]=> string(58) "Daily Prices | Equity | Funds | Income | Money | Canadian " ["meta_keywords_fr"]=> string(9) "Produits " ["position"]=> int(4) ["published"]=> int(1) ["request_id"]=> string(32) "f7001ff9f1abe0b0dce5888f12faafbd" ["search_index"]=> string(3) "YES" ["alias_advisor"]=> string(1) "1" ["updated_on"]=> int(0) ["title_advisor"]=> string(3) "gdg" ["meta_canonical_en"]=> NULL ["meta_canonical_fr"]=> NULL ["twitter_card"]=> NULL ["twitter_site"]=> NULL ["twitter_title"]=> NULL ["twitter_desc"]=> NULL ["twitter_img"]=> NULL ["og_title"]=> NULL ["og_desc"]=> NULL ["og_img"]=> NULL ["twitter_card_fr"]=> NULL ["twitter_site_fr"]=> NULL ["twitter_title_fr"]=> NULL ["twitter_desc_fr"]=> NULL ["twitter_img_fr"]=> NULL ["og_title_fr"]=> NULL ["og_desc_fr"]=> NULL ["og_img_fr"]=> NULL ["og_site"]=> NULL ["og_site_fr"]=> NULL } ["_related":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_relationsDependencies":"yii\db\BaseActiveRecord":private]=> array(0) { } ["_errors":"yii\base\Model":private]=> NULL ["_validators":"yii\base\Model":private]=> NULL ["_scenario":"yii\base\Model":private]=> string(7) "default" ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> array(0) { } } ["querystring"]=> string(32) "seriesId=1097¤cySelector=1" } ["renderers"]=> array(1) { ["twig"]=> array(7) { ["class"]=> string(21) "yii\twig\ViewRenderer" ["cachePath"]=> string(19) "@runtime/Twig/cache" ["options"]=> array(1) { ["auto_reload"]=> bool(true) } ["extensions"]=> array(1) { [0]=> string(42) "Lifecycle\components\twig\TwigExtensionsUi" } ["globals"]=> array(7) { ["html"]=> array(1) { ["class"]=> string(17) "\yii\helpers\Html" } ["utils"]=> array(1) { ["class"]=> string(26) "Lifecycle\components\Utils" } ["helpers"]=> array(1) { ["class"]=> string(28) "Lifecycle\components\Helpers" } ["serviceMenu"]=> array(1) { ["class"]=> string(32) "Lifecycle\components\ServiceMenu" } ["arrayHelper"]=> array(1) { ["class"]=> string(24) "\yii\helpers\ArrayHelper" } ["communicationCentre"]=> array(1) { ["class"]=> string(40) "Lifecycle\components\CommunicationCentre" } ["SsPhone"]=> array(1) { ["class"]=> string(24) "Lifecycle\models\SsPhone" } } ["uses"]=> array(1) { [0]=> string(13) "yii\bootstrap" } ["functions"]=> array(15) { ["print_r"]=> string(7) "print_r" ["base64_encode"]=> string(13) "base64_encode" ["trim"]=> string(4) "trim" ["implode"]=> string(7) "implode" ["sprintf"]=> string(7) "sprintf" ["json_decode"]=> string(11) "json_decode" ["var_dump"]=> string(8) "var_dump" ["str_pad"]=> string(7) "str_pad" ["strtolower"]=> string(10) "strtolower" ["intval"]=> string(6) "intval" ["count"]=> string(5) "count" ["wordwrap"]=> string(8) "wordwrap" ["strtotime"]=> string(9) "strtotime" ["date"]=> string(4) "date" ["strip_tags"]=> string(10) "strip_tags" } } } ["defaultExtension"]=> string(3) "php" ["theme"]=> NULL ["blocks"]=> NULL ["cacheStack"]=> array(0) { } ["dynamicPlaceholders"]=> array(0) { } ["_viewFiles":"yii\base\View":private]=> array(0) { } ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["user"]=> object(yii\web\User)#171 (20) { ["identityClass"]=> string(26) "Lifecycle\models\SsWebuser" ["enableAutoLogin"]=> bool(false) ["enableSession"]=> bool(true) ["loginUrl"]=> array(1) { [0]=> string(10) "site/login" } ["identityCookie"]=> array(2) { ["name"]=> string(9) "_identity" ["httpOnly"]=> bool(true) } ["authTimeout"]=> int(3600) ["accessChecker"]=> NULL ["absoluteAuthTimeout"]=> NULL ["autoRenewCookie"]=> bool(true) ["idParam"]=> string(4) "__id" ["authKeyParam"]=> string(9) "__authKey" ["authTimeoutParam"]=> string(8) "__expire" ["absoluteAuthTimeoutParam"]=> string(16) "__absoluteExpire" ["returnUrlParam"]=> string(11) "__returnUrl" ["acceptableRedirectTypes"]=> array(2) { [0]=> string(9) "text/html" [1]=> string(21) "application/xhtml+xml" } ["_access":"yii\web\User":private]=> array(0) { } ["_identity":"yii\web\User":private]=> NULL ["_events":"yii\base\Component":private]=> array(0) { } ["_eventWildcards":"yii\base\Component":private]=> array(0) { } ["_behaviors":"yii\base\Component":private]=> NULL } ["session"]=> object(yii\web\DbSession)#175 (14) { ["db"]=> object(yii\db\Connection)#109 (43) { ["dsn"]=> string(71) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" ["attributes"]=> NULL ["pdo"]=> NULL ["enableSchemaCache"]=> bool(false) ["schemaCacheDuration"]=> int(3600) ["schemaCacheExclude"]=> array(0) { } ["schemaCache"]=> string(5) "cache" ["enableQueryCache"]=> bool(true) ["queryCacheDuration"]=> int(3600) ["queryCache"]=> string(5) "cache" ["charset"]=> string(4) "utf8" ["emulatePrepare"]=> NULL ["tablePrefix"]=> string(0) "" ["schemaMap"]=> array(10) { ["pgsql"]=> string(19) "yii\db\pgsql\Schema" ["mysqli"]=> string(19) "yii\db\mysql\Schema" ["mysql"]=> string(19) "yii\db\mysql\Schema" ["sqlite"]=> string(20) "yii\db\sqlite\Schema" ["sqlite2"]=> string(20) "yii\db\sqlite\Schema" ["sqlsrv"]=> string(19) "yii\db\mssql\Schema" ["oci"]=> string(17) "yii\db\oci\Schema" ["mssql"]=> string(19) "yii\db\mssql\Schema" ["dblib"]=> string(19) "yii\db\mssql\Schema" ["cubrid"]=> string(20) "yii\db\cubrid\Schema" } ["pdoClass"]=> NULL ["commandClass"]=> string(14) "yii\db\Command" ["commandMap"]=> array(10) { ["pgsql"]=> string(14) "yii\db\Command" ["mysqli"]=> string(14) "yii\db\Command" ["mysql"]=> string(14) "yii\db\Command" ["sqlite"]=> string(21) "yii\db\sqlite\Command" ["sqlite2"]=> string(21) "yii\db\sqlite\Command" ["sqlsrv"]=> string(14) "yii\db\Command" ["oci"]=> string(18) "yii\db\oci\Command" ["mssql"]=> string(14) "yii\db\Command" ["dblib"]=> string(14) "yii\db\Command" ["cubrid"]=> string(14) "yii\db\Command" } ["enableSavepoint"]=> bool(true) ["serverStatusCache"]=> string(5) "cache" ["serverRetryInterval"]=> int(600) ["enableSlaves"]=> bool(true) ["slaves"]=> array(1) { [0]=> array(1) { ["dsn"]=> string(71) "mysql:host=production.db.web.ci-internal.com;dbname=ci_web;charset=utf8" } } ["slaveConfig"]=> array(2) { ["username"]=> string(6) "ci-web" ["password"]=> string(32) "BdjzfrJtRsAlqWrQuP6wyVUkbjmmOxkT" } ["masters"]=> array(0) { } ["masterConfig"]=> array(0) { } ["shuffleMasters"]=> bool(true) ["enableLogging"]=> bool(true) ["enableProfiling"]=> bool(true) ["isSybase"]=> bool(false) ["_queryBuilderConfigurations":"yii\db\Connection":private]=> array(0) { } ["_transaction":"yii\db\Connection":private]=> NULL ["_schema":"yii\db\Connection":private]=> object(yii\db\mysql\Schema)#111 (13) { ["columnSchemaClass"]=> string(25) "yii\db\mysql\ColumnSchema" ["_oldMysql":"yii\db\mysql\Schema":private]=> NULL ["typeMap"]=> array(29) { ["tinyint"]=> string(7) "tinyint" ["bit"]=> string(7) "integer" ["smallint"]=> string(8) "smallint" ["mediumint"]=> string(7) "integer" ["int"]=> string(7) "integer" ["integer"]=> string(7) "integer" ["bigint"]=> string(6) "bigint" ["float"]=> string(5) "float" ["double"]=> string(6) "double" ["real"]=> string(5) "float" ["decimal"]=> string(7) "decimal" ["numeric"]=> string(7) "decimal" ["tinytext"]=> string(4) "text" ["mediumtext"]=> string(4) "text" ["longtext"]=> string(4) "text" ["longblob"]=> string(6) "binary" ["blob"]=> string(6) "binary" ["text"]=> string(4) "text" ["varchar"]=> string(6) "string" ["string"]=> string(6) "string" ["char"]=> string(4) "char" ["datetime"]=> string(8) "datetime" ["year"]=> string(4) "date" ["date"]=> string(4) "date" ["time"]=> string(4) "time" ["timestamp"]=> string(9) "timestamp" ["enum"]=> string(6) "string" ["varbinary"]=> string(6) "binary" ["json"]=> string(4) "json" } ["tableQuoteCharacter":protected]=> string(1) "`" ["columnQuoteCharacter":protected]=> string(1) "`" ["db"]=> *RECURSION* ["defaultSchema"]=> NULL ["exceptionMap"]=> array(1) { ["SQLSTATE[23"]=> string(25) "yii\db\IntegrityException" } ["_schemaNames":"yii\db\Schema":private]=> NULL ["_tableNames":"yii\db\Schema":private]=> array(0) { } ["_tableMetadata":"yii\db\Schema":private]=> array(5) { ["ss_pages"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#126 (7) { ["schemaName"]=> NULL ["name"]=> string(8) "ss_pages" ["fullName"]=> string(8) "ss_pages" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(1) { ["ss_pages_ibfk_1"]=> array(2) { [0]=> string(8) "ss_pages" ["parent_id"]=> string(2) "id" } } ["columns"]=> array(42) { ["id"]=> object(yii\db\mysql\ColumnSchema)#129 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["alias_fr"]=> object(yii\db\mysql\ColumnSchema)#128 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "alias_fr" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["alias_en"]=> object(yii\db\mysql\ColumnSchema)#130 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "alias_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["title_fr"]=> object(yii\db\mysql\ColumnSchema)#131 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "title_fr" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["title_en"]=> object(yii\db\mysql\ColumnSchema)#132 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "title_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["controller"]=> object(yii\db\mysql\ColumnSchema)#133 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "controller" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["action"]=> object(yii\db\mysql\ColumnSchema)#134 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "action" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["params"]=> object(yii\db\mysql\ColumnSchema)#135 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "params" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(200)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(200) ["precision"]=> int(200) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["context"]=> object(yii\db\mysql\ColumnSchema)#136 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "context" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["type"]=> object(yii\db\mysql\ColumnSchema)#137 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(4) "type" ["allowNull"]=> bool(false) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(4)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(4) ["precision"]=> int(4) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["parent_id"]=> object(yii\db\mysql\ColumnSchema)#138 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "parent_id" ["allowNull"]=> bool(true) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_description_en"]=> object(yii\db\mysql\ColumnSchema)#139 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "meta_description_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_description_fr"]=> object(yii\db\mysql\ColumnSchema)#140 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(19) "meta_description_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_keywords_en"]=> object(yii\db\mysql\ColumnSchema)#141 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "meta_keywords_en" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_keywords_fr"]=> object(yii\db\mysql\ColumnSchema)#142 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "meta_keywords_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["position"]=> object(yii\db\mysql\ColumnSchema)#143 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "position" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(2)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(2) ["precision"]=> int(2) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["published"]=> object(yii\db\mysql\ColumnSchema)#144 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "published" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["request_id"]=> object(yii\db\mysql\ColumnSchema)#145 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "request_id" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["search_index"]=> object(yii\db\mysql\ColumnSchema)#146 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "search_index" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(16) "enum('YES','NO')" ["defaultValue"]=> string(3) "YES" ["enumValues"]=> array(2) { [0]=> string(3) "YES" [1]=> string(2) "NO" } ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["alias_advisor"]=> object(yii\db\mysql\ColumnSchema)#147 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "alias_advisor" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(100)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(100) ["precision"]=> int(100) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["updated_on"]=> object(yii\db\mysql\ColumnSchema)#148 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "updated_on" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(7) "int(11)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["title_advisor"]=> object(yii\db\mysql\ColumnSchema)#149 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "title_advisor" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(11) "varchar(45)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(45) ["precision"]=> int(45) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_canonical_en"]=> object(yii\db\mysql\ColumnSchema)#150 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "meta_canonical_en" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(150)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(150) ["precision"]=> int(150) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["meta_canonical_fr"]=> object(yii\db\mysql\ColumnSchema)#151 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(17) "meta_canonical_fr" ["allowNull"]=> bool(true) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(150)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(150) ["precision"]=> int(150) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_card"]=> object(yii\db\mysql\ColumnSchema)#152 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "twitter_card" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_site"]=> object(yii\db\mysql\ColumnSchema)#153 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "twitter_site" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_title"]=> object(yii\db\mysql\ColumnSchema)#154 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(13) "twitter_title" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_desc"]=> object(yii\db\mysql\ColumnSchema)#155 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(12) "twitter_desc" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_img"]=> object(yii\db\mysql\ColumnSchema)#156 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "twitter_img" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_title"]=> object(yii\db\mysql\ColumnSchema)#157 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(8) "og_title" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_desc"]=> object(yii\db\mysql\ColumnSchema)#158 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "og_desc" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_img"]=> object(yii\db\mysql\ColumnSchema)#159 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(6) "og_img" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_card_fr"]=> object(yii\db\mysql\ColumnSchema)#160 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "twitter_card_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_site_fr"]=> object(yii\db\mysql\ColumnSchema)#161 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "twitter_site_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_title_fr"]=> object(yii\db\mysql\ColumnSchema)#162 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "twitter_title_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_desc_fr"]=> object(yii\db\mysql\ColumnSchema)#163 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(15) "twitter_desc_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["twitter_img_fr"]=> object(yii\db\mysql\ColumnSchema)#164 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(14) "twitter_img_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_title_fr"]=> object(yii\db\mysql\ColumnSchema)#165 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(11) "og_title_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_desc_fr"]=> object(yii\db\mysql\ColumnSchema)#166 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "og_desc_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "text" ["phpType"]=> string(6) "string" ["dbType"]=> string(4) "text" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> NULL ["precision"]=> NULL ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_img_fr"]=> object(yii\db\mysql\ColumnSchema)#167 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(9) "og_img_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_site"]=> object(yii\db\mysql\ColumnSchema)#168 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "og_site" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["og_site_fr"]=> object(yii\db\mysql\ColumnSchema)#169 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "og_site_fr" ["allowNull"]=> bool(true) ["type"]=> string(4) "char" ["phpType"]=> string(6) "string" ["dbType"]=> string(9) "char(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } } } } ["ss_fund"]=> array(1) { ["schema"]=> object(yii\db\TableSchema)#183 (7) { ["schemaName"]=> NULL ["name"]=> string(7) "ss_fund" ["fullName"]=> string(7) "ss_fund" ["primaryKey"]=> array(1) { [0]=> string(2) "id" } ["sequenceName"]=> string(0) "" ["foreignKeys"]=> array(5) { ["fk-fund_category_id"]=> array(2) { [0]=> string(16) "ss_fund_category" ["fund_category_id"]=> string(2) "id" } ["FK_cfr_product"]=> array(2) { [0]=> string(15) "ss_cfr_products" ["cfr_product_id"]=> string(2) "id" } ["FK_ss_marketing_category"]=> array(2) { [0]=> string(21) "ss_marketing_category" ["marketing_category_id"]=> string(2) "id" } ["FK_ss_marketing_focus"]=> array(2) { [0]=> string(18) "ss_marketing_focus" ["marketing_focus_id"]=> string(2) "id" } ["ss_fund_ss_legal_structure_FK"]=> array(2) { [0]=> string(18) "ss_legal_structure" ["legal_structure_id"]=> string(2) "id" } } ["columns"]=> array(47) { ["id"]=> object(yii\db\mysql\ColumnSchema)#184 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(2) "id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(true) ["autoIncrement"]=> bool(true) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["fund_category_id"]=> object(yii\db\mysql\ColumnSchema)#185 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(16) "fund_category_id" ["allowNull"]=> bool(false) ["type"]=> string(7) "integer" ["phpType"]=> string(7) "integer" ["dbType"]=> string(16) "int(11) unsigned" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(11) ["precision"]=> int(11) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(true) ["comment"]=> string(0) "" } ["name_en"]=> object(yii\db\mysql\ColumnSchema)#186 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_en" ["allowNull"]=> bool(false) ["type"]=> string(6) "string" ["phpType"]=> string(6) "string" ["dbType"]=> string(12) "varchar(255)" ["defaultValue"]=> NULL ["enumValues"]=> NULL ["size"]=> int(255) ["precision"]=> int(255) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["terminated"]=> object(yii\db\mysql\ColumnSchema)#187 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(10) "terminated" ["allowNull"]=> bool(true) ["type"]=> string(7) "tinyint" ["phpType"]=> string(7) "integer" ["dbType"]=> string(10) "tinyint(1)" ["defaultValue"]=> int(0) ["enumValues"]=> NULL ["size"]=> int(1) ["precision"]=> int(1) ["scale"]=> NULL ["isPrimaryKey"]=> bool(false) ["autoIncrement"]=> bool(false) ["unsigned"]=> bool(false) ["comment"]=> string(0) "" } ["name_fr"]=> object(yii\db\mysql\ColumnSchema)#188 (15) { ["disableJsonSupport"]=> bool(false) ["name"]=> string(7) "name_fr" ["allowNull"]=> bool(true)