using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.DataSourcesGDB; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Geodatabase; using IDEParameter; using KGIS.Framework.Utils; using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace GPHelper { class Program { [STAThread] static void Main(string[] args) { try { //LogAPI.Debug("GP分析开始"); //args = new string[1] { "PFhNTFBlcnNpc3RlZE9iamVjdCB4c2k6dHlwZT0ndHlwZW5zOlhNTFBlcnNpc3RlZE9iamVjdCcgeG1sbnM6eHNpPSdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScgeG1sbnM6eHM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hJyB4bWxuczp0eXBlbnM9J2h0dHA6Ly93d3cuZXNyaS5jb20vc2NoZW1hcy9BcmNHSVMvMTAuMSc+PEJ5dGVzPmRBUXZkcUxzVzBlWjlDWm5qWGxEYmdBQUFBQUJBQVlBQUFBTkFBQUFBQUFBQUFBQUFBQUFBQUFBVWFaajVxMkswQkcreHdDQVgzeEMNCmFBRUFBQUFpQUJJQUFBQXdWM3Q4L2xhUlpmUm1zR1hIand0NkFBQStBQUFBUmdCcEFHd0FaUUFnQUVjQVpRQnZBR1FBWVFCMEFHRUENCllnQmhBSE1BWlFBZ0FFWUFaUUJoQUhRQWRRQnlBR1VBSUFCREFHd0FZUUJ6QUhNQUFBRC8vd0FBQUFDR0FPRjFKa0tzUXEvc3k3bTMNClNQaEhBZ0FBQUFFQUFBQUNBQklBQUFCRUFFd0FWQUJDQUVjQVdBQkhBRU1BQUFBQ0FBQUFBQUErQUFBQVJnQnBBR3dBWlFBZ0FFY0ENClpRQnZBR1FBWVFCMEFHRUFZZ0JoQUhNQVpRQWdBRVlBWlFCaEFIUUFkUUJ5QUdVQUlBQkRBR3dBWVFCekFITUFBQUFNQUFBQVV3QkkNCkFFRUFVQUJGQUFBQUJBQUFBQUVBQUFBQkFNOUdpQmxDeXRFUnFud0F3RStqT2hVREFBQUFBUUFNQUFBQW5salBrZlJtc0dXVFhnQUENCkFnQUFBQUFBUWdBQUFFWUFhUUJzQUdVQUlBQkhBR1VBYndCa0FHRUFkQUJoQUdJQVlRQnpBR1VBSUFCR0FHVUFZUUIwQUhVQWNnQmwNCkFDQUFSQUJoQUhRQVlRQnpBR1VBZEFBQUFENEFBQUJHQUdrQWJBQmxBQ0FBUndCbEFHOEFaQUJoQUhRQVlRQmlBR0VBY3dCbEFDQUENClJnQmxBR0VBZEFCMUFISUFaUUFnQUVNQWJBQmhBSE1BY3dBQUFBQVJBRFZhY2VQUkVhcUNBTUJQb3pvVkJBQUFBQUVBZEFBQUFFVUENCk9nQmNBRytQOWs2blRzRlVTMjNWaXp0ZzduWlZYMXdBTkFDRlVScE9CRmtHZEcrUDlrN2xYUXQ2WEFCL2xZbGJPbE1vQURZQU1RQXcNCkFERUFNUUEyQUNrQVhBRGxYUXQ2N25aVlgxd0FmNVdKVzB5SVAyVTZVMHR0MVlzeUFGd0FXZ0JNQUVRQVFnQXVBR2NBWkFCaUFBQUENCkFnQUFBQUFBQ2dBQUFGb0FUQUJFQUVJQUFBQVJXbzVZbTlEUkVhcDhBTUJQb3pvVkJRQUFBQUVBQVFBQUFCSUFBQUJFQUVFQVZBQkINCkFFSUFRUUJUQUVVQUFBQUlBSFFBQUFCRkFEb0FYQUJ2ai9aT3AwN0JWRXR0MVlzN1lPNTJWVjljQURRQWhWRWFUZ1JaQm5SdmovWk8NCjVWMExlbHdBZjVXSld6cFRLQUEyQURFQU1BQXhBREVBTmdBcEFGd0E1VjBMZXU1MlZWOWNBSCtWaVZ0TWlEOWxPbE5MYmRXTE1nQmMNCkFGb0FUQUJFQUVJQUxnQm5BR1FBWWdBQUFBSHdkZjV4RE9vR1JJYyt0OVUzU0s1K0FRQUFBQUFBQVZoRDgzbFgwQkdZdndDQVgzenQNCklRWUFBQUFEQUFQbUZIbVN5TkFSaTdZSUFBbnVUa0VIQUFBQUFRRDU1UlI1a3NqUUVZdTJDQUFKN2s1QkNBQUFBQUVBbHNUcGZpUFINCjBCR0Rnd2dBQ2JtV3pBa0FBQUFCQUFFQUFCTEZxQ1NhQlV0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQW1wbVptWm1aMlQ4QUFBQUENCkRRQUFBQUFBQUFDV3hPbCtJOUhRRVlPRENBQUp1WmJNQ2dBQUFBRUFBUUFBejRLWUxCbWNWVUFNbmo1V1hPSHBQdzQ1ZElIaHpTL0ENCkFBQU5BQUFBQUFBQUFBQUFBQUNpWG53V0lLL1JFWWdYQ0FBSjdITXFDd0FBQUFNQS8vLy8vd0lBQUFBQUFBRUFBQUNqWG53V0lLL1INCkVZZ1hDQUFKN0hNcURBQUFBQUlBQStZVWVaTEkwQkdMdGdnQUNlNU9RUWNBQUFBQ0FBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBLy8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUlBQUFBQUFBRUFBQUFBQUFBQUFBQUMNCkFBQUFBQUFDQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQjJRQUFBQUFBQWdIWkENCkFBQUFBQUNBZGtBQkFBQUFBQUFDQUFBQUFBQ2FtWm1abVptNVB3QUFBQUFBQUZsQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQkMNCkFGTUFUUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQWdBQUFBQUENCkFBQUFBRDhBQUFBU0FBQUFUd0JDQUVvQVJRQkRBRlFBU1FCRUFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektnMEFBQUFFQVAvL0FBQVMNCkFBQUFUd0JDQUVvQVJRQkRBRlFBU1FCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQS8vOE1BQUFBVXdCSUFFRUENClVBQkZBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLZzRBQUFBRUFQLy9BQUFNQUFBQVV3QklBRUVBVUFCRkFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBSUFBQUFRZ0JUQUUwQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcUR3QUFBQVFBLy84QUFBZ0ENCkFBQUhhTWFMQVhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUNnQUFBRUlBUndCWUFGY0FBQUF0cnJxaW01YlMNCkVhNTNDQUFKN0hNcUVBQUFBQVFBLy84QUFBb0FBQURZVS9SbVRJZzZUZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUENCkFBQU9BQUFBVkFCQ0FFSUFSd0JOQUVvQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcUVRQUFBQVFBLy84QUFBNEFBQUQrVnBGbDJGUDANClptS1g3M2tBQUJsSFQzNVVqdElScXRnQUFBQUFBQUFTQUFBQUFRQUFBQUFBQmdBQUFBQUFBQUFNQUFBQUFBQUFBQUFBLy8vLy8vLy8NCkFBQUFBQklBQUFCQ0FFY0FVUUJVQUVJQVFnQlRBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xRXdBQUFBUUEvLzhBQUJJQUFBRFkNClUvUm1UVkwrVnBGbEIyakdpd0Y0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBVVFCRUFFd0ENClFnQk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLaFFBQUFBRUFQLy9BQUFRQUFBQTJGUDBaazFTTUZkN2ZCWi9BWGdBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUVJQVJ3QlJBRVFBVEFCTkFFTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENCkZRQUFBQVFBLy84QUFCQUFBQURZVS9SbVRWSXdWM3Q4RFZUd2VRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVENCkFBQUFRZ0JIQUZFQVVRQlRBRmdBV2dBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvV0FBQUFCQUQvL3dBQUVBQUFBTmhUOUdaTlVrTm4NClhsd25ZQ2lOQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJRQUFBQkNBRWNBVVFCUkFGTUFSQUJYQUVRQVRRQUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lvWEFBQUFCQUQvL3dBQUZBQUFBTmhUOUdaTlVrTm5YbHhWVTAxUDQwNEJlQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVVBQUFBUWdCSEFGRUFVUUJUQUVRQVZ3Qk5BRU1BQUFBdHJycWltNWJTRWE1M0NBQUoNCjdITXFHQUFBQUFRQS8vOEFBQlFBQUFEWVUvUm1UVkpEWjE1Y1ZWTk5UdzFVOEhrQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8NCi8vOEFBQUFBRkFBQUFFSUFSd0JSQUZvQVRBQkVBRmNBUkFCTkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektoa0FBQUFFQVAvL0FBQVUNCkFBQUEyRlAwWmsxU1VGYzloRlZUVFUvalRnRjRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQlFBQUFCQ0FFY0ENClVRQmFBRXdBUkFCWEFFMEFRd0FBQUMydXVxS2JsdElScm5jSUFBbnNjeW9hQUFBQUJBRC8vd0FBRkFBQUFOaFQ5R1pOVWxCWFBZUlYNClUwMVBEVlR3ZVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBVUFBQUFRZ0JIQUZFQVN3QkRBRVFBVEFCQ0FFMEENCkFBQXRycnFpbTViU0VhNTNDQUFKN0hNcUd3QUFBQVFBLy84QUFCUUFBQURZVS9SbVRWSmpZbVNXTUZkN2ZCWi9BWGdBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUVJQVJ3QlJBRXNBUXdCWUFGTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENCkhBQUFBQVFBLy84QUFCUUFBQURZVS9SbVRWSmpZbVNXTUZkN2ZQdDhjR1VBQUJsSFQzNVVqdElScXRnQUFBQUFBQUFkQUFBQUFRQUENCkFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQkFBQUFCQ0FFY0FVUUJMQUVNQVRRQktBQUFBTGE2Nm9wdVcNCjBoR3Vkd2dBQ2V4ektoNEFBQUFFQVAvL0FBQVVBQUFBMkZQMFprMVNZMkprbGpCWGUzeGlsKzk1QUFBWlIwOStWSTdTRWFyWUFBQUENCkFBQUFId0FBQUFFQUFBQUFBQVlBQUFBQUFBQUFEQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkhBRkVBVkFCQ0FFUUENClRBQk5BRW9BQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xSUFBQUFBUUEvLzhBQUJRQUFBRFlVL1JtVFZMK1ZwRmxNRmQ3ZkdLWDcza0ENCkFCbEhUMzVVanRJUnF0Z0FBQUFBQUFBaEFBQUFBUUFBQUFBQUJnQUFBQUFBQUFBTUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCQUENCkFBQkNBRWNBVVFCSEFFUUFUQUJZQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2lJQUFBQUVBUC8vQUFBUUFBQUEyRlAwWmsxU0ZZQXcNClYzdDhpMWNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRkFBQUFFSUFSd0JSQUVjQVJBQlFBRVFBU2dCQ0FBQUENCkxhNjZvcHVXMGhHdWR3Z0FDZXh6S2lNQUFBQUVBUC8vQUFBVUFBQUEyRlAwWmsxU0ZZQXdWMkZYcGw2bmZpdFNBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCUUFBQUJDQUVjQVVRQllBRm9BUkFCWEFFc0FSQUFBQUMydXVxS2JsdElScm5jSUFBbnMNCmN5b2tBQUFBQkFELy93QUFGQUFBQU5oVDlHWk5VcjkrdG5Jd1YybHl2VnVtWGdBQUdVZFBmbFNPMGhHcTJBQUFBQUFBQUNVQUFBQUINCkFBQUFBQUFHQUFBQUFBQUFBQXdBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRkFBQUFFSUFSd0JSQUZRQVFnQllBRWdBUkFCTkFBQUENCkxhNjZvcHVXMGhHdWR3Z0FDZXh6S2lZQUFBQUVBUC8vQUFBVUFBQUEyRlAwWmsxUy9sYVJaY1orRmxQalRnRjRBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCUUFBQUJDQUVjQVVRQlVBRUlBV0FCSUFFMEFRd0FBQUMydXVxS2JsdElScm5jSUFBbnMNCmN5b25BQUFBQkFELy93QUFGQUFBQU5oVDlHWk5VdjVXa1dYR2ZoWlREVlR3ZVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8NCi93QUFBQUFVQUFBQVFnQkhBRkVBV2dCYUFGTUFXQUJFQUUwQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcUtBQUFBQVFBLy84QUFCUUENCkFBRFlVL1JtVFZMTmVRMXBYbHduWU9OT0FYZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFGQUFBQUVJQVJ3QlINCkFGb0FXZ0JUQUZnQVRRQkRBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLaWtBQUFBRUFQLy9BQUFVQUFBQTJGUDBaazFTelhrTmFWNWMNCkoyQU5WUEI1QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBVVFCSEFFUUFSQUJDQUFBQUxhNjYNCm9wdVcwaEd1ZHdnQUNleHpLaW9BQUFBRUFQLy9BQUFRQUFBQTJGUDBaazFTRllBd1YwbDdLMUlBQUJsSFQzNVVqdElScXRnQUFBQUENCkFBQXJBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQklBQUFCQ0FFY0FVUUJHQUZJQVJBQkMNCkFGTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFMQUFBQUFRQS8vOEFBQklBQUFEWVUvUm1UVkxlbUdWUk1GY0hhTWFMQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQlFBQUFCQ0FFY0FVUUJEQUZvQVF3QlRBRmdBVFFBQUFDMnV1cUtibHRJUnJuY0kNCkFBbnNjeW90QUFBQUJBRC8vd0FBRkFBQUFOaFQ5R1pOVXM1WFI1VlJaMTVjSjJBQmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBUUFBQUFRZ0JIQUZFQVRRQlRBRk1BVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvdUFBQUFCQUQvL3dBQUVBQUENCkFOaFQ5R1pOVXM5ajhJLzBpdzVtQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBVVFCSUFFUUENClRRQkRBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLaThBQUFBRUFQLy9BQUFRQUFBQTJGUDBaazFTZDIyYlhBMVU4SGtBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFZ0FBQUVJQVJ3QklBRlFBUWdCQ0FGTUFUUUFBQUMydXVxS2JsdElScm5jSUFBbnMNCmN5b3dBQUFBQkFELy93QUFFZ0FBQU5oVDlHWU9WUDVXa1dVSGFNYUxBWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFFQUFBQUVJQVJ3QklBRVFBVEFCQ0FFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFNUUFBQUFRQS8vOEFBQkFBQUFEWVUvUm0NCkRsUXdWM3Q4Rm44QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFFZ0FSQUJNQUUwQVF3QUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lveUFBQUFCQUQvL3dBQUVBQUFBTmhUOUdZT1ZEQlhlM3dOVlBCNUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBU0FCUkFGTUFXQUJhQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2pNQUFBQUUNCkFQLy9BQUFRQUFBQTJGUDBaZzVVUTJkZVhDZGdLSTBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRkFBQUFFSUENClJ3QklBRkVBVXdCRUFGY0FSQUJOQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2pRQUFBQUVBUC8vQUFBVUFBQUEyRlAwWmc1VVEyZGUNClhGVlRUVS9qVGdGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCUUFBQUJDQUVjQVNBQlJBRk1BUkFCWEFFMEENClF3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5bzFBQUFBQkFELy93QUFGQUFBQU5oVDlHWU9WRU5uWGx4VlUwMVBEVlR3ZVFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkhBRWdBV2dCTUFFUUFWd0JFQUUwQUFBQXRycnFpbTViU0VhNTMNCkNBQUo3SE1xTmdBQUFBUUEvLzhBQUJRQUFBRFlVL1JtRGxSUVZ6MkVWVk5OVCtOT0FYZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8NCi8vLy8vLzhBQUFBQUZBQUFBRUlBUndCSUFGb0FUQUJFQUZjQVRRQkRBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLamNBQUFBRUFQLy8NCkFBQVVBQUFBMkZQMFpnNVVVRmM5aEZWVFRVOE5WUEI1QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJRQUFBQkMNCkFFY0FTQUJMQUVNQVJBQk1BRUlBVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvNEFBQUFCQUQvL3dBQUZBQUFBTmhUOUdZT1ZHTmkNClpKWXdWM3Q4Rm44QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFFZ0FTd0JEQUZnQVV3QUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lvNUFBQUFCQUQvL3dBQUZBQUFBTmhUOUdZT1ZHTmlaSll3VjN0OCszeHdaUUFBR1VkUGZsU08NCjBoR3EyQUFBQUFBQUFEb0FBQUFCQUFBQUFBQUdBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUVJQVJ3QkkNCkFFc0FRd0JOQUVvQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcU93QUFBQVFBLy84QUFCUUFBQURZVS9SbURsUmpZbVNXTUZkN2ZHS1gNCjcza0FBQmxIVDM1VWp0SVJxdGdBQUFBQUFBQThBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUENCkFCUUFBQUJDQUVjQVNBQlVBRUlBUkFCTUFFMEFTZ0FBQUMydXVxS2JsdElScm5jSUFBbnNjeW85QUFBQUJBRC8vd0FBRkFBQUFOaFQNCjlHWU9WUDVXa1dVd1YzdDhZcGZ2ZVFBQUdVZFBmbFNPMGhHcTJBQUFBQUFBQUQ0QUFBQUJBQUFBQUFBR0FBQUFBQUFBQUF3QUFBQUENCkFBQUFBQUQvLy8vLy8vOEFBQUFBRUFBQUFFSUFSd0JJQUVjQVJBQk1BRmdBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xUHdBQUFBUUENCi8vOEFBQkFBQUFEWVUvUm1EbFFWZ0RCWGUzeUxWd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkgNCkFFZ0FSd0JFQUZBQVJBQktBRUlBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xUUFBQUFBUUEvLzhBQUJRQUFBRFlVL1JtRGxRVmdEQlgNCllWZW1YcWQrSzFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUZBQUFBRUlBUndCSUFGZ0FXZ0JFQUZjQVN3QkUNCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektrRUFBQUFFQVAvL0FBQVVBQUFBMkZQMFpnNVV2MzYyY2pCWGFYSzlXNlplQUFBWlIwOSsNClZJN1NFYXJZQUFBQUFBQUFRZ0FBQUFFQUFBQUFBQVlBQUFBQUFBQUFEQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkgNCkFFZ0FWQUJDQUZnQVNBQkVBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xUXdBQUFBUUEvLzhBQUJRQUFBRFlVL1JtRGxUK1ZwRmwNCnhuNFdVK05PQVhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUZBQUFBRUlBUndCSUFGUUFRZ0JZQUVnQVRRQkQNCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektrUUFBQUFFQVAvL0FBQVVBQUFBMkZQMFpnNVUvbGFSWmNaK0ZsTU5WUEI1QUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQlFBQUFCQ0FFY0FTQUJhQUZvQVV3QllBRVFBVFFBQUFDMnV1cUtibHRJUnJuY0kNCkFBbnNjeXBGQUFBQUJBRC8vd0FBRkFBQUFOaFQ5R1lPVk0xNURXbGVYQ2RnNDA0QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBVUFBQUFRZ0JIQUVnQVdnQmFBRk1BV0FCTkFFTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFSZ0FBQUFRQS8vOEENCkFCUUFBQURZVS9SbURsVE5lUTFwWGx3bllBMVU4SGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRUFBQUFFSUENClJ3QklBRWNBUkFCRUFFSUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFSd0FBQUFRQS8vOEFBQkFBQUFEWVUvUm1EbFFWZ0RCWFNYc3INClVnQUFHVWRQZmxTTzBoR3EyQUFBQUFBQUFFZ0FBQUFCQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUENCkVnQUFBRUlBUndCSUFFWUFVZ0JFQUVJQVV3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cEpBQUFBQkFELy93QUFFZ0FBQU5oVDlHWU8NClZONllaVkV3Vndkb3hvc0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFGQUFBQUVJQVJ3QklBRU1BV2dCREFGTUENCldBQk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLa29BQUFBRUFQLy9BQUFVQUFBQTJGUDBaZzVVemxkSGxWRm5YbHduWUFGNEFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBU0FCTkFGTUFVd0JOQUFBQUxhNjZvcHVXMGhHdWR3Z0ENCkNleHpLa3NBQUFBRUFQLy9BQUFRQUFBQTJGUDBaZzVVejJQd2ovU0xEbVlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFFQUFBQUVJQVJ3QklBRWdBUkFCTkFFTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFUQUFBQUFRQS8vOEFBQkFBQUFEWVUvUm0NCkRsUjNiWnRjRFZUd2VRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQUtBQUFBUndCWUFGTUFTZ0FBQUMydXVxS2INCmx0SVJybmNJQUFuc2N5cE5BQUFBQkFELy93QUFDZ0FBQVBSbXNHWDJaZlNWQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy8NCkFBQUFBQkFBQUFCS0FFTUFWQUJDQUVJQVV3Qk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLazRBQUFBRUFQLy9BQUFRQUFBQStsZEENCmVQNVdrV1VIYU1hTEFYZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFHZ0FBQUZNQVNBQkJBRkFBUlFCZkFFd0ENClpRQnVBR2NBZEFCb0FBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektrOEFBQUFFQVAvL0FBQWFBQUFBVXdCSUFFRUFVQUJGQUY4QVRBQmwNCkFHNEFad0IwQUdnQUFBQVpSMDkrVkk3U0VhcllBQUFBQUFBQVVBQUFBQUVBQUFBQUFBWUFBQUFBQUFBQURBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBLy84V0FBQUFVd0JJQUVFQVVBQkZBRjhBUVFCeUFHVUFZUUFBQUMydXVxS2JsdElScm5jSUFBbnNjeXBSQUFBQUJBRC8NCi93QUFGZ0FBQUZNQVNBQkJBRkFBUlFCZkFFRUFjZ0JsQUdFQUFBQVpSMDkrVkk3U0VhcllBQUFBQUFBQVVnQUFBQUVBQUFBQUFBWUENCkFBQUFBQUFBREFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBLy84UUFBQUFRZ0JIQUZFQVZBQkNBRUlBU0FBQUFDMnV1cUtibHRJUnJuY0kNCkFBbnNjeXBUQUFBQUJBRC8vd0FBRUFBQUFOaFQ5R1pOVXY1V2tXVVdmL2RUQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy8NCkFBQUFBQkFBQUFCQ0FFY0FTQUJVQUVJQVFnQklBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLbFFBQUFBRUFQLy9BQUFRQUFBQTJGUDANClpnNVUvbGFSWlJaLzkxTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUZnQVdnQlJBRlFBV2dCTUFGZ0ENCkFBQXRycnFpbTViU0VhNTNDQUFKN0hNcVZRQUFBQVFBLy84QUFCQUFBQUJNaUQ5bE9sTURqSFJsZTN5TFZ3QUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUFTZ0JEQUZvQVZBQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cFdBQUFBQkFELy93QUENCkNnQUFBTUJvNVdlMmNnRmdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQW9BQUFCS0FFTUFTZ0JIQUFBQUxhNjYNCm9wdVcwaEd1ZHdnQUNleHpLbGNBQUFBRUFQLy9BQUFLQUFBQXdHamxaOU4rbkdjQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8NCi8vOEFBQUFBRWdBQUFFOEFUZ0JNQUZrQVdnQk1BRUlBUndBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lwWUFBQUFCQUQvL3dBQUVnQUENCkFFOEFUZ0JNQUZrQVdnQk1BRUlBUndBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBaUV1NzFhSGcwaEdmVFFEQVQydkhqbGtBQUFBQkFBQUFBQUFBQUFBQS8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBOEw4RDVoUjVrc2pRRVl1MkNBQUo3azVCV2dBQUFBRUErZVVVZVpMSTBCR0x0Z2dBQ2U1T1FWc0FBQUFCQUpiRTZYNGoNCjBkQVJnNE1JQUFtNWxzeGNBQUFBQVFBQkFBQTIyeUQ1UUdsV1FCRDlvLzNHd2tuQTlteVhHUGhNTU1BQkFBQUFBQUFBQUFCQUFBQUENCkFBMEFBQUFBQUFBQWxzVHBmaVBSMEJHRGd3Z0FDYm1XekYwQUFBQUJBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBSC9EUUFBQUFBQUFBQUFBQUFBLy84RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLRi8vM2d2KzlFUmxLSUlBQW51dnN0ZUFBQUENCkFRQUJSVUVBQVJ3TjBoR2lid2dBQ2JieUt3QUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vd0FBQUFBQUFBQUENCkFBQUFBQUFBLy84QUFQLy9BZ0FBQUFBQUFnQUFBQUFBQWdBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnQUENCkFBQUFBZ0FBQUFBQUFnQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBZ0FBQUFBQUFnQUFBQUFBQWdBQUFBQUENCkFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVBQWdBQUFBQUFBZ0FBQUFBQUFRQUFBQUFBQUFBQUFBQUFCQUFBQUFBQUFBQUENCkFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEwQUFBQUFBQUFBQUFBQUFBQUFBQUJScG1QbXJZclFFYjdIQUlCZmZFSm8NClh3QUFBQ0lBQ0FBQUFGZ0FXZ0JSQUFBQVBnQUFBRVlBYVFCc0FHVUFJQUJIQUdVQWJ3QmtBR0VBZEFCaEFHSUFZUUJ6QUdVQUlBQkcNCkFHVUFZUUIwQUhVQWNnQmxBQ0FBUXdCc0FHRUFjd0J6QUFBQS8vOEFBQUFBaGdEaGRTWkNyRUt2N011NXQwajRSMkFBQUFBQkFBQUENCkFnQUlBQUFBV0FCYUFGRUFBQUFDQUFBQUFBQStBQUFBUmdCcEFHd0FaUUFnQUVjQVpRQnZBR1FBWVFCMEFHRUFZZ0JoQUhNQVpRQWcNCkFFWUFaUUJoQUhRQWRRQnlBR1VBSUFCREFHd0FZUUJ6QUhNQUFBQU1BQUFBVXdCSUFFRUFVQUJGQUFBQUJBQUFBQUVBQUFBQkFNOUcNCmlCbEN5dEVScW53QXdFK2pPaFZoQUFBQUFRQVFBQUFBUkFCaEFIUUFZUUJ6QUdVQWRBQUFBQUlBQUFBQUFFSUFBQUJHQUdrQWJBQmwNCkFDQUFSd0JsQUc4QVpBQmhBSFFBWVFCaUFHRUFjd0JsQUNBQVJnQmxBR0VBZEFCMUFISUFaUUFnQUVRQVlRQjBBR0VBY3dCbEFIUUENCkFBQStBQUFBUmdCcEFHd0FaUUFnQUVjQVpRQnZBR1FBWVFCMEFHRUFZZ0JoQUhNQVpRQWdBRVlBWlFCaEFIUUFkUUJ5QUdVQUlBQkQNCkFHd0FZUUJ6QUhNQUFBQUFFUUExV25IajBSR3FnZ0RBVDZNNkZXSUFBQUFCQUd3QUFBQkZBRG9BWEFCdmovWk9wMDdCVkV0dDFZczcNCllPNTJWVjljQURRQWhWRWFUZ1JaQm5SdmovWk81VjBMZWx3QWY1V0pXenBUS0FBMkFERUFNQUF4QURFQU5nQXBBRndBZEY0ZFVuQmwNCmJtTmNBRFlBTVFBd0FERUFNUUEyQUgrVmlWczZVeTRBWndCa0FHSUFBQUFDQUFBQUFBQVVBQUFBTmdBeEFEQUFNUUF4QURZQWY1V0oNCld6cFRBQUFSV281WW05RFJFYXA4QU1CUG96b1ZZd0FBQUFFQUFRQUFBQklBQUFCRUFFRUFWQUJCQUVJQVFRQlRBRVVBQUFBSUFHd0ENCkFBQkZBRG9BWEFCdmovWk9wMDdCVkV0dDFZczdZTzUyVlY5Y0FEUUFoVkVhVGdSWkJuUnZqL1pPNVYwTGVsd0FmNVdKV3pwVEtBQTINCkFERUFNQUF4QURFQU5nQXBBRndBZEY0ZFVuQmxibU5jQURZQU1RQXdBREVBTVFBMkFIK1ZpVnM2VXk0QVp3QmtBR0lBQUFBQjhIWCsNCmNRenFCa1NIUHJmVk4waXVmZ0VBQUFBQUFBRllRL041VjlBUm1MOEFnRjk4N1NGa0FBQUFBd0FENWhSNWtzalFFWXUyQ0FBSjdrNUINClpRQUFBQUVBK2VVVWVaTEkwQkdMdGdnQUNlNU9RV1lBQUFBQkFKYkU2WDRqMGRBUmc0TUlBQW01bHN4bkFBQUFBUUFCQUFBU3hhZ2sNCm1nVkxRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBSnFabVptWm1kay9BQUFBQUEwQUFBQUFBQUFBbHNUcGZpUFIwQkdEZ3dnQUNibVcNCnpHZ0FBQUFCQUFFQUFFZytRUElRQ1ZoQUUyZ3VpWWZSSU1BU3ZTMkdJNXdxUUFBQURRQUFBQUFBQUFBQUFBQUFvbDU4RmlDdjBSR0kNCkZ3Z0FDZXh6S21rQUFBQURBUC8vLy84Q0FBQUFBQUFCQUFBQW8xNThGaUN2MFJHSUZ3Z0FDZXh6S21vQUFBQUNBQVBtRkhtU3lOQVINCmk3WUlBQW51VGtGbEFBQUFBZ0FBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy84QUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFJQUFBQUFBQUFBQUFBQ0FBQUFBQUFCQUFBQUFBQUFBQUFBQWdBQUFBQUFBZ0FBQUFBQUFnQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBZGtBQUFBQUFBSUIyUUFBQUFBQUFnSFpBQVFBQUFBQUFBZ0FBQUFBQW1wbVoNCm1abVp1VDhBQUFBQUFBQlpRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlBQUFBUWdCVEFFMEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBSUFBQUFBQUFBQUFBQVFBQUFBRWdBQUFFOEFRZ0JLQUVVQVF3QlUNCkFFa0FSQUFBQUMydXVxS2JsdElScm5jSUFBbnNjeXByQUFBQUJBRC8vd0FBRWdBQUFFOEFRZ0JLQUVVQVF3QlVBRWtBUkFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBUC8vREFBQUFGTUFTQUJCQUZBQVJRQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cHMNCkFBQUFCQUQvL3dBQUVnQUFBRWNBWlFCdkFHMEFaUUIwQUhJQWVRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUENCkNBQUFBRUlBVXdCTkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ekttMEFBQUFFQVAvL0FBQUlBQUFBQjJqR2l3RjRBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBb0FBQUJaQUZNQVJBQk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLbTRBQUFBRUFQLy8NCkFBQUtBQUFBZ1lrZ2ZlTk9BWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBREFBQUFGZ0FXZ0JSQUVRQVRRQUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lwdkFBQUFCQUQvL3dBQURBQUFBRXlJUDJVNlUrTk9BWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBRC8vLy8vLy84QUFBQUFEQUFBQUZnQVdnQlJBRTBBUXdBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lwd0FBQUFCQUQvL3dBQURBQUENCkFFeUlQMlU2VXcxVThIa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFDZ0FBQUVRQVF3Qk5BRW9BQUFBdHJycWkNCm01YlNFYTUzQ0FBSjdITXFjUUFBQUFRQS8vOEFBQW9BQUFBRGpPVm5ZcGZ2ZVFBQUdVZFBmbFNPMGhHcTJBQUFBQUFBQUhJQUFBQUINCkFBQUFBQUFHQUFBQUFBQUFBQXdBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBQ2dBQUFFb0FVd0JOQUVvQUFBQXRycnFpbTViU0VhNTMNCkNBQUo3SE1xY3dBQUFBUUEvLzhBQUFvQUFBQ2hpNWQ3WXBmdmVRQUFHVWRQZmxTTzBoR3EyQUFBQUFBQUFIUUFBQUFCQUFBQUFBQUcNCkFBQUFBQUFBQUF3QUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUNnQUFBRTBBVXdCVEFFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENCmRRQUFBQVFBLy84QUFBb0FBQURQWS9DUDlJc09aZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFLQUFBQVNBQkUNCkFFMEFRd0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXAyQUFBQUJBRC8vd0FBQ2dBQUFIZHRtMXdOVlBCNUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBLy8vLy8vLy9BQUFBQUFvQUFBQlFBRU1BVFFCS0FBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektuY0FBQUFFQVAvL0FBQUsNCkFBQUFjMTd1WFdLWDcza0FBQmxIVDM1VWp0SVJxdGdBQUFBQUFBQjRBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFBWUFBQUJDQUZvQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcWVRQUFBQVFBLy84QUFBWUFBQUFIV2Voc0FBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFvQUFBQkhBRmdBVXdCS0FBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektub0ENCkFBQUVBUC8vQUFBS0FBQUE5R2F3WmZabDlKVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFEZ0FBQUZNQVVnQkQNCkFFOEFTUUJFQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S25zQUFBQUVBUC8vQUFBTUFBQUFrRzcrVmxkWFNRQkVBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQWFBQUFBVXdCSUFFRUFVQUJGQUY4QVRBQmxBRzRBWndCMEFHZ0FBQUF0cnJxaW01YlMNCkVhNTNDQUFKN0hNcWZBQUFBQVFBLy84QUFCb0FBQUJUQUVnQVFRQlFBRVVBWHdCTUFHVUFiZ0JuQUhRQWFBQUFBQmxIVDM1VWp0SVINCnF0Z0FBQUFBQUFCOUFBQUFBUUFBQUFBQUJnQUFBQUFBQUFBTUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFELy94WUFBQUJUQUVnQVFRQlENCkFFVUFYd0JCQUhJQVpRQmhBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLbjRBQUFBRUFQLy9BQUFXQUFBQVV3QklBRUVBVUFCRkFGOEENClFRQnlBR1VBWVFBQUFCbEhUMzVVanRJUnF0Z0FBQUFBQUFCL0FBQUFBUUFBQUFBQUJnQUFBQUFBQUFBTUFBQUFBQUFBQUFBQS8vLy8NCi8vLy9BQUQvL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUloTHU5V2g0TklSbjAwQXdFOXJ4NDZBQUFBQUFRQUFBQUFBQUFBQUFQLy8NCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVBDL0ErWVVlWkxJMEJHTHRnZ0FDZTVPUVlFQUFBQUJBUG5sRkhtU3lOQVINCmk3WUlBQW51VGtHQ0FBQUFBUUNXeE9sK0k5SFFFWU9EQ0FBSnVaYk1nd0FBQUFFQUFRQUFOdHNnK1VCcFZrQVEvYVA5eHNKSndQWnMNCmx4ajRURERBQVFBQUFBQUFBQUFBUUFBQUFBQU5BQUFBQUFBQUFKYkU2WDRqMGRBUmc0TUlBQW01bHN5RUFBQUFBUUFCQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUIvdzBBQUFBQUFBQUFBQUFBQVAvL0JBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2gNCmYvOTRML3ZSRVpTaUNBQUo3cjdMaFFBQUFBRUFBVVZCQUFFY0RkSVJvbThJQUFtMjhpc0FBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vOEFBQUFBQUFBQUFBQUFBQUFBQVAvL0FBRC8vd0lBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUINCkFBSUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFJQUFBQUFBQUlBQUFBQUFBRUENCkFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTkFBQUFBQUFBQUFBQUFBQUENCkFBQUFVYVpqNXEySzBCRyt4d0NBWDN4Q2FJWUFBQUFpQUJJQUFBQkVBRXdBVkFCQ0FGOEFUZ0JOQUVzQUFBQStBQUFBUmdCcEFHd0ENClpRQWdBRWNBWlFCdkFHUUFZUUIwQUdFQVlnQmhBSE1BWlFBZ0FFWUFaUUJoQUhRQWRRQnlBR1VBSUFCREFHd0FZUUJ6QUhNQUFBRC8NCi93QUFBQUNHQU9GMUprS3NRcS9zeTdtM1NQaEhod0FBQUFFQUFBQUNBQklBQUFCRUFFd0FWQUJDQUY4QVRnQk5BRXNBQUFBQ0FBQUENCkFBQStBQUFBUmdCcEFHd0FaUUFnQUVjQVpRQnZBR1FBWVFCMEFHRUFZZ0JoQUhNQVpRQWdBRVlBWlFCaEFIUUFkUUJ5QUdVQUlBQkQNCkFHd0FZUUJ6QUhNQUFBQU1BQUFBVXdCb0FHRUFjQUJsQUFBQUJBQUFBQUVBQUFBQUFCRUFOVnB4NDlFUnFvSUF3RStqT2hXSUFBQUENCkFRQjBBQUFBUlFBNkFGd0FiNC8yVHFkT3dWUkxiZFdMTzJEdWRsVmZYQUEwQUlWUkdrNEVXUVowYjQvMlR1VmRDM3BjQUgrVmlWczYNClV5Z0FOZ0F4QURBQU1RQXhBRFlBS1FCY0FPVmRDM3J1ZGxWZlhBQi9sWWxiVElnL1pUcFRTMjNWaXpJQVhBQk9BRTBBUkFCQ0FDNEENClp3QmtBR0lBQUFBQ0FBQUFBQUFLQUFBQVRnQk5BRVFBUWdBQUFCRmFqbGliME5FUnFud0F3RStqT2hXSkFBQUFBUUFCQUFBQUVnQUENCkFFUUFRUUJVQUVFQVFnQkJBRk1BUlFBQUFBZ0FkQUFBQUVVQU9nQmNBRytQOWs2blRzRlVTMjNWaXp0ZzduWlZYMXdBTkFDRlVScE8NCkJGa0dkRytQOWs3bFhRdDZYQUIvbFlsYk9sTW9BRFlBTVFBd0FERUFNUUEyQUNrQVhBRGxYUXQ2N25aVlgxd0FmNVdKVzB5SVAyVTYNClUwdHQxWXN5QUZ3QVRnQk5BRVFBUWdBdUFHY0FaQUJpQUFBQUFmQjEvbkVNNmdaRWh6NjMxVGRJcm40QkFBQUFBQUFCV0VQemVWZlENCkVaaS9BSUJmZk8waGlnQUFBQU1BQStZVWVaTEkwQkdMdGdnQUNlNU9RWXNBQUFBQkFQbmxGSG1TeU5BUmk3WUlBQW51VGtHTUFBQUENCkFRQ1d4T2wrSTlIUUVZT0RDQUFKdVpiTWpRQUFBQUVBQVFBQUVzV29KSm9GUzBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFDYW1abVoNCm1ablpQd0FBQUFBTkFBQUFBQUFBQUpiRTZYNGowZEFSZzRNSUFBbTVsc3lPQUFBQUFRQUJBQUNYVGJSWjQrZFZRRndDZFQ4UjFqQkENCi9oUlN4QzRrTGNBQUFBMEFBQUFBQUFBQUFBQUFBS0plZkJZZ3I5RVJpQmNJQUFuc2N5cVBBQUFBQXdELy8vLy9BZ0FBQUFBQUFRQUENCkFLTmVmQllncjlFUmlCY0lBQW5zY3lxUUFBQUFBZ0FENWhSNWtzalFFWXUyQ0FBSjdrNUJpd0FBQUFJQUFBQUFBQUlBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFBQUFBZ0FBQUFBQUFRQUENCkFBQUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdIWkENCkFBQUFBQUNBZGtBQUFBQUFBSUIyUUFFQUFBQUFBQUlBQUFBQUFKcVptWm1abWJrL0FBQUFBQUFBV1VBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFDQUFBQUVJQVV3Qk5BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUENCkFBQUNBQUFBQUFBQUFBQUFOQUFBQUJJQUFBQlBBRUlBU2dCRkFFTUFWQUJKQUVRQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcWtRQUENCkFBUUEvLzhBQUJJQUFBQlBBRUlBU2dCRkFFTUFWQUJKQUVRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFELy93d0ENCkFBQlRBR2dBWVFCd0FHVUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFrZ0FBQUFRQS8vOEFBQXdBQUFCVEFHZ0FZUUJ3QUdVQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFnQUFBQkNBRk1BVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lxVEFBQUENCkJBRC8vd0FBQ0FBQUFBZG94b3NCZUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUFXUUJUQUVRQVRRQUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lxVUFBQUFCQUQvL3dBQUNnQUFBSUdKSUgzalRnRjRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFBd0FBQUJVQUVJQVdRQkNBRWdBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xbFFBQUFBUUEvLzhBQUF3QUFBRCsNClZwRmxoSmdXZi9kVEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBb0FBQUJVQUVJQVFnQklBQUFBTGE2Nm9wdVcNCjBoR3Vkd2dBQ2V4ektwWUFBQUFFQVAvL0FBQUtBQUFBL2xhUlpSWi85MU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFDZ0FBQUVRQVRBQkNBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xbHdBQUFBUUEvLzhBQUFvQUFBQXdWM3Q4Rm44QmVBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUFSQUJNQUUwQVF3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cVkNCkFBQUFCQUQvL3dBQUNnQUFBREJYZTN3TlZQQjVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQW9BQUFCUkFGTUENCldBQmFBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLcGtBQUFBRUFQLy9BQUFLQUFBQVEyZGVYQ2RnS0kwQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUQvLy8vLy8vOEFBQUFBRGdBQUFGRUFVd0JFQUZjQVJBQk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLcG9BQUFBRUFQLy8NCkFBQU9BQUFBUTJkZVhGVlRUVS9qVGdGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBNEFBQUJSQUZNQVJBQlgNCkFFMEFRd0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXFiQUFBQUJBRC8vd0FBRGdBQUFFTm5YbHhWVTAxUERWVHdlUUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQU9BQUFBV2dCTUFFUUFWd0JFQUUwQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcW5BQUENCkFBUUEvLzhBQUE0QUFBQlFWejJFVlZOTlQrTk9BWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRGdBQUFGb0ENClRBQkVBRmNBVFFCREFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektwMEFBQUFFQVAvL0FBQU9BQUFBVUZjOWhGVlRUVThOVlBCNUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFvQUFBQlVBRUlBVFFCS0FBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektwNEENCkFBQUVBUC8vQUFBS0FBQUEvbGFSWldLWDcza0FBQmxIVDM1VWp0SVJxdGdBQUFBQUFBQ2ZBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU0NCkFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBNEFBQUJMQUVNQVJBQk1BRUlBVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lxZ0FBQUENCkJBRC8vd0FBRGdBQUFHTmlaSll3VjN0OEZuOEJlQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFLQUFBQVN3QkQNCkFGZ0FVd0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXFoQUFBQUJBRC8vd0FBRGdBQUFHTmlaSll3VjN0OCszeHdaUUFBR1VkUGZsU08NCjBoR3EyQUFBQUFBQUFLSUFBQUFCQUFBQUFBQUdBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFDZ0FBQUVzQVF3Qk4NCkFFb0FBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFvd0FBQUFRQS8vOEFBQTRBQUFCalltU1dNRmQ3ZkdLWDcza0FBQmxIVDM1VWp0SVINCnF0Z0FBQUFBQUFDa0FBQUFBUUFBQUFBQUJnQUFBQUFBQUFBTUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBNEFBQUJVQUVJQVJBQk0NCkFFMEFTZ0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXFsQUFBQUJBRC8vd0FBRGdBQUFQNVdrV1V3VjN0OFlwZnZlUUFBR1VkUGZsU08NCjBoR3EyQUFBQUFBQUFLWUFBQUFCQUFBQUFBQUdBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFDZ0FBQUVjQVJBQk0NCkFGZ0FBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFwd0FBQUFRQS8vOEFBQW9BQUFBVmdEQlhlM3lMVndBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBUC8vLy8vLy93QUFBQUFPQUFBQVJ3QkVBRkFBUkFCS0FFSUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFxQUFBQUFRQS8vOEENCkFBNEFBQUFWZ0RCWFlWZW1YcWQrSzFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQURnQUFBRmdBV2dCRUFGY0ENClN3QkVBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLcWtBQUFBRUFQLy9BQUFPQUFBQXYzNjJjakJYYVhLOVc2WmVBQUFaUjA5K1ZJN1MNCkVhcllBQUFBQUFBQXFnQUFBQUVBQUFBQUFBWUFBQUFBQUFBQURBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQU9BQUFBVkFCQ0FGZ0ENClNBQkVBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xcXdBQUFBUUEvLzhBQUE0QUFBRCtWcEZseG40V1UrTk9BWGdBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFEZ0FBQUZRQVFnQllBRWdBVFFCREFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektxd0ENCkFBQUVBUC8vQUFBT0FBQUEvbGFSWmNaK0ZsTU5WUEI1QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUE0QUFBQmENCkFGb0FVd0JZQUVRQVRRQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cXRBQUFBQkFELy93QUFEZ0FBQU0xNURXbGVYQ2RnNDA0QmVBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBT0FBQUFXZ0JhQUZNQVdBQk5BRU1BQUFBdHJycWltNWJTRWE1M0NBQUoNCjdITXFyZ0FBQUFRQS8vOEFBQTRBQUFETmVRMXBYbHduWUExVThIa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUENCkNnQUFBRWNBUkFCRUFFSUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFyd0FBQUFRQS8vOEFBQW9BQUFBVmdEQlhTWHNyVWdBQUdVZFANCmZsU08waEdxMkFBQUFBQUFBTEFBQUFBQkFBQUFBQUFBQUFBQUFBQUFBQXdBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBREFBQUFFWUENClVnQkVBRUlBVXdBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lxeEFBQUFCQUQvL3dBQURBQUFBTjZZWlZFd1Z3ZG94b3NBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFEZ0FBQUVNQVdnQkRBRk1BV0FCTkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektySUENCkFBQUVBUC8vQUFBT0FBQUF6bGRIbFZGblhsd25ZQUY0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFvQUFBQlQNCkFFb0FUZ0JHQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3JNQUFBQUVBUC8vQUFBS0FBQUFjR1Z1WTNSZS9VNEFBQmxIVDM1VWp0SVINCnF0Z0FBQUFBQUFDMEFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBTUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBb0FBQUJOQUZNQVV3Qk4NCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektyVUFBQUFFQVAvL0FBQUtBQUFBejJQd2ovU0xEbVlBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBRC8vLy8vLy84QUFBQUFDZ0FBQUVnQVJBQk5BRU1BQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xdGdBQUFBUUEvLzhBQUFvQUFBQjMNCmJadGNEVlR3ZVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBR0FBQUFRZ0JhQUFBQUxhNjZvcHVXMGhHdWR3Z0ENCkNleHpLcmNBQUFBRUFQLy9BQUFHQUFBQUIxbm9iQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFLQUFBQVNnQlQNCkFFMEFTZ0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXE0QUFBQUJBRC8vd0FBQ2dBQUFLR0xsM3RpbCs5NUFBQVpSMDkrVkk3U0VhclkNCkFBQUFBQUFBdVFBQUFBRUFBQUFBQUFZQUFBQUFBQUFBREFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUFSQUJNQUVJQVdnQUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lxNkFBQUFCQUQvL3dBQUNnQUFBREJYZTN3SGFPaHNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFBd0FBQUJaQUVRQVRBQkNBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xdXdBQUFBUUEvLzhBQUF3QUFBQ2YNClV6QlhlM3dXZndGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBNEFBQUJNQUZnQVJBQlhBRTBBU2dBQUFDMnUNCnVxS2JsdElScm5jSUFBbnNjeXE4QUFBQUJBRC8vd0FBRGdBQUFQYVdIMll3VjJseVlwZnZlUUFBR1VkUGZsU08waEdxMkFBQUFBQUENCkFMMEFBQUFCQUFBQUFBQUdBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFEZ0FBQUZnQVdnQkVBRmNBVFFCS0FBQUENCkxhNjZvcHVXMGhHdWR3Z0FDZXh6S3I0QUFBQUVBUC8vQUFBT0FBQUF2MzYyY2pCWGFYSmlsKzk1QUFBWlIwOStWSTdTRWFyWUFBQUENCkFBQUF2d0FBQUFFQUFBQUFBQVlBQUFBQUFBQUFEQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFLQUFBQVN3QkRBRXdBV0FBQUFDMnUNCnVxS2JsdElScm5jSUFBbnNjeXJBQUFBQUJBRC8vd0FBQ2dBQUFHTmlaSlo3Zkl0WEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8NCi8vLy9BQUFBQUJBQUFBQlpBRXNBUXdCRUFFd0FRZ0JOQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3NFQUFBQUVBUC8vQUFBUUFBQUENCm4xTmpZbVNXTUZkN2ZCWi9BWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBQ2dBQUFFY0FXQUJUQUVvQUFBQXQNCnJycWltNWJTRWE1M0NBQUo3SE1xd2dBQUFBUUEvLzhBQUFvQUFBRDBackJsOW1YMGxRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBTUFBQUFRZ0JIQUVvQVRBQklBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLc01BQUFBRUFQLy9BQUFNQUFBQTJGUDANClpyQ0xWVi8zVXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBU0FBQUFVd0JFQUVRQVRBQmFBRWdBUWdCYUFBQUENCkxhNjZvcHVXMGhHdWR3Z0FDZXh6S3NRQUFBQUVBUC8vQUFBU0FBQUFDVTREakRCWGUzeHNqMkpqQjFub2JBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUFXUUJDQUZNQVRRQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5ckZBQUFBQkFELy93QUENCkNnQUFBSjlUQjJqR2l3RjRBQUFaUjA5K1ZJN1NFYXJZQUFBQUFBQUF4Z0FBQUFFQUFBQUFBQUFBQUFBQUFBQUFEQUFBQUFBQUFBQUENCkFQLy8vLy8vL3dBQUFBQU9BQUFBU2dCQ0FFNEFWQUJDQUZNQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcXh3QUFBQVFBLy84QUFBNEENCkFBRDZWeXhubkZFd2RRZG94b3NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBQ2dBQUFGQUFSQUJDQUZNQUFBQXQNCnJycWltNWJTRWE1M0NBQUo3SE1xeUFBQUFBUUEvLzhBQUFvQUFBQWtVdnVMQjJqR2l3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBUUFBQUFXUUJDQUZRQVFnQlpBRUlBU0FBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lySkFBQUFCQUQvL3dBQUVBQUENCkFEZG9MR2YrVnBGbGhKZ1dmL2RUQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkhBRXdBVkFCQ0FGa0ENClFnQklBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLc29BQUFBRUFQLy9BQUFVQUFBQWMxRlVnRDVPd1l2K1ZwRmxoSmdXZi9kVEFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUE0QUFBQlRBRklBUXdCUEFFa0FSQUFBQUMydXVxS2JsdElScm5jSUFBbnMNCmN5ckxBQUFBQkFELy93QUFEQUFBQUpCdS9sWlhWMGtBUkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUVBQUENCkFGZ0FXZ0JSQUZRQVdnQk1BRmdBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xekFBQUFBUUEvLzhBQUJBQUFBQk1pRDlsT2xNRGpIUmwNCmUzeUxWd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFhQUFBQVV3Qm9BR0VBY0FCbEFGOEFUQUJsQUc0QVp3QjANCkFHZ0FBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXF6UUFBQUFRQS8vOEFBQm9BQUFCVEFHZ0FZUUJ3QUdVQVh3Qk1BR1VBYmdCbkFIUUENCmFBQUFBQmxIVDM1VWp0SVJxdGdBQUFBQUFBRE9BQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBRC8NCi94WUFBQUJUQUdnQVlRQndBR1VBWHdCQkFISUFaUUJoQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3M4QUFBQUVBUC8vQUFBV0FBQUENClV3Qm9BR0VBY0FCbEFGOEFRUUJ5QUdVQVlRQUFBQmxIVDM1VWp0SVJxdGdBQUFBQUFBRFFBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU0NCkFBQUFBQUFBQUFBQS8vLy8vLy8vQUFELy93d0FBQUJZQUZvQVVRQkVBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xMFFBQUFBUUENCi8vOEFBQXdBQUFCTWlEOWxPbFBqVGdGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUloTHU5V2g0TklSbjAwQXdFOXJ4NDdTQUFBQUFRQUFBQUFBQUFBQUFQLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQVBDL0ErWVVlWkxJMEJHTHRnZ0FDZTVPUWRNQUFBQUJBUG5sRkhtU3lOQVJpN1lJQUFudVRrSFVBQUFBQVFDV3hPbCsNCkk5SFFFWU9EQ0FBSnVaYk0xUUFBQUFFQUFRQUFOdHNnK1VCcFZrQVEvYVA5eHNKSndQWnNseGo0VEREQUFRQUFBQUFBQUFBQVFBQUENCkFBQU5BQUFBQUFBQUFKYkU2WDRqMGRBUmc0TUlBQW01bHN6V0FBQUFBUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUIvdzBBQUFBQUFBQUFBQUFBQVAvL0JBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2hmLzk0TC92UkVaU2lDQUFKN3I3TDF3QUENCkFBRUFBVVZCQUFFY0RkSVJvbThJQUFtMjhpc0FBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLzhBQUFBQUFBQUENCkFBQUFBQUFBQVAvL0FBRC8vd0lBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUENCkFBQUFBQUlBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUlBQUFBQUFBSUFBQUFBQUFJQUFBQUENCkFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFJQUFBQUFBQUlBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUENCkFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBbGdBQUFFVUFPZ0JjQUcrUDlrNm4NClRzRlVYQUIwWHFaZTJGUDBadnBlazE1dmovWk9YQUJMQUdrQWJnQm5BRzhBTGdCQ0FIVUFhUUJzQUdRQVJBQkNBRndBUVFCd0FIQUENCmN3QmNBRlFBWlFCdEFIQUFYQUJZQUZvQVVRQmNBRElBTUFBeUFETUFNQUEwQURJQU9BQXhBREFBTVFBMkFEVUFNZ0F6QURVQU5nQmMNCkFGUUFaUUJ0QUhBQVJ3QkVBRUlBTGdCbkFHUUFZZ0FBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUNXQUFBQVJRQTZBRndBYjQvMlRxZE8NCndWUmNBSFJlcGw3WVUvUm0rbDZUWG0rUDlrNWNBRXNBYVFCdUFHY0Fid0F1QUVJQWRRQnBBR3dBWkFCRUFFSUFYQUJCQUhBQWNBQnoNCkFGd0FWQUJsQUcwQWNBQmNBRmdBV2dCUkFGd0FNZ0F3QURJQU13QXdBRFFBTWdBNEFERUFNQUF4QURZQU5RQXlBRE1BTlFBMkFGd0ENClZBQmxBRzBBY0FBdUFITUFjUUJzQUdrQWRBQmxBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQXdBQUFCWUFGb0FVUUJDQUVjQUFBQT0NCjwvQnl0ZXM+PC9YTUxQZXJzaXN0ZWRPYmplY3Q+" }; //if (args.Length == 0) // args = new string[] { @"PFhNTFBlcnNpc3RlZE9iamVjdCB4c2k6dHlwZT0ndHlwZW5zOlhNTFBlcnNpc3RlZE9iamVjdCcgeG1sbnM6eHNpPSdodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZScgeG1sbnM6eHM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hJyB4bWxuczp0eXBlbnM9J2h0dHA6Ly93d3cuZXNyaS5jb20vc2NoZW1hcy9BcmNHSVMvMTAuMSc+PEJ5dGVzPmRBUXZkcUxzVzBlWjlDWm5qWGxEYmdBQUFBQUJBQVlBQUFBTkFBQUFBQUFBQUFBQUFBQUFBQUFBVWFaajVxMkswQkcreHdDQVgzeEMNCmFBRUFBQUFpQUJJQUFBQXdWM3Q4L2xhUlpmUm1zR1hIand0NkFBQStBQUFBUmdCcEFHd0FaUUFnQUVjQVpRQnZBR1FBWVFCMEFHRUENCllnQmhBSE1BWlFBZ0FFWUFaUUJoQUhRQWRRQnlBR1VBSUFCREFHd0FZUUJ6QUhNQUFBRC8vd0FBQUFDR0FPRjFKa0tzUXEvc3k3bTMNClNQaEhBZ0FBQUFFQUFBQUNBQklBQUFCRUFFd0FWQUJDQUVjQVdBQkhBRU1BQUFBQ0FBQUFBQUErQUFBQVJnQnBBR3dBWlFBZ0FFY0ENClpRQnZBR1FBWVFCMEFHRUFZZ0JoQUhNQVpRQWdBRVlBWlFCaEFIUUFkUUJ5QUdVQUlBQkRBR3dBWVFCekFITUFBQUFNQUFBQVV3QkkNCkFFRUFVQUJGQUFBQUJBQUFBQUVBQUFBQkFNOUdpQmxDeXRFUnFud0F3RStqT2hVREFBQUFBUUFNQUFBQW5salBrZlJtc0dXVFhnQUENCkFnQUFBQUFBUWdBQUFFWUFhUUJzQUdVQUlBQkhBR1VBYndCa0FHRUFkQUJoQUdJQVlRQnpBR1VBSUFCR0FHVUFZUUIwQUhVQWNnQmwNCkFDQUFSQUJoQUhRQVlRQnpBR1VBZEFBQUFENEFBQUJHQUdrQWJBQmxBQ0FBUndCbEFHOEFaQUJoQUhRQVlRQmlBR0VBY3dCbEFDQUENClJnQmxBR0VBZEFCMUFISUFaUUFnQUVNQWJBQmhBSE1BY3dBQUFBQVJBRFZhY2VQUkVhcUNBTUJQb3pvVkJBQUFBQUVBWUFBQUFFUUENCk9nQmNBRXR0MVl0Y0FIUmVwbDdZVS9SbStsNlRYbHdBSEU0TVpqcFRLQUF5QURJQU1BQTFBREFBTWdBcEFGd0E1VjBMZXU1MlZWOWMNCkFCeE9ER1k2VTB5SVAyVTZVd09NWlZGY0FGb0FUQUJFQUVJQUxnQm5BR1FBWWdBQUFBSUFBQUFBQUFvQUFBQmFBRXdBUkFCQ0FBQUENCkVWcU9XSnZRMFJHcWZBREFUNk02RlFVQUFBQUJBQUVBQUFBU0FBQUFSQUJCQUZRQVFRQkNBRUVBVXdCRkFBQUFDQUJnQUFBQVJBQTYNCkFGd0FTMjNWaTF3QWRGNm1YdGhUOUdiNlhwTmVYQUFjVGd4bU9sTW9BRElBTWdBd0FEVUFNQUF5QUNrQVhBRGxYUXQ2N25aVlgxd0ENCkhFNE1aanBUVElnL1pUcFRBNHhsVVZ3QVdnQk1BRVFBUWdBdUFHY0FaQUJpQUFBQUFmQjEvbkVNNmdaRWh6NjMxVGRJcm40QkFBQUENCkFBQUJXRVB6ZVZmUUVaaS9BSUJmZk8waEJnQUFBQU1BQStZVWVaTEkwQkdMdGdnQUNlNU9RUWNBQUFBQkFQbmxGSG1TeU5BUmk3WUkNCkFBbnVUa0VJQUFBQUFRQ1d4T2wrSTlIUUVZT0RDQUFKdVpiTUNRQUFBQUVBQVFBQUVzV29KSm9GUzBBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBUUNhbVptWm1ablpQd0FBQUFBTkFBQUFBQUFBQUpiRTZYNGowZEFSZzRNSUFBbTVsc3dLQUFBQUFRQUJBQURQZ3Bnc0daeFYNClFBeWVQbFpjNGVrL0RqbDBnZUhOTDhBQUFBMEFBQUFBQUFBQUFBQUFBS0plZkJZZ3I5RVJpQmNJQUFuc2N5b0xBQUFBQXdELy8vLy8NCkFnQUFBQUFBQVFBQUFLTmVmQllncjlFUmlCY0lBQW5zY3lvTUFBQUFBZ0FENWhSNWtzalFFWXUyQ0FBSjdrNUJCd0FBQUFJQUFBQUENCkFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQUFBQUENCkFnQUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBZ0haQUFBQUFBQUNBZGtBQUFBQUFBSUIyUUFFQUFBQUFBQUlBQUFBQUFKcVptWm1abWJrL0FBQUFBQUFBV1VBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFDQUFBQUVJQVV3Qk5BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFDQUFBQUFBQUNBQUFBQUFBQUFBQUFQd0FBQUJJQUFBQlBBRUlBU2dCRkFFTUFWQUJKQUVRQUFBQXRycnFpbTViU0VhNTMNCkNBQUo3SE1xRFFBQUFBUUEvLzhBQUJJQUFBQlBBRUlBU2dCRkFFTUFWQUJKQUVRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8NCi8vLy9BQUQvL3d3QUFBQlRBRWdBUVFCUUFFVUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFEZ0FBQUFRQS8vOEFBQXdBQUFCVEFFZ0ENClFRQlFBRVVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFnQUFBQkNBRk1BVFFBQUFDMnV1cUtibHRJUnJuY0kNCkFBbnNjeW9QQUFBQUJBRC8vd0FBQ0FBQUFBZG94b3NCZUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUENClFnQkhBRmdBVndBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvUUFBQUFCQUQvL3dBQUNnQUFBTmhUOUdaTWlEcE9BQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBNEFBQUJVQUVJQVFnQkhBRTBBU2dBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvUkFBQUENCkJBRC8vd0FBRGdBQUFQNVdrV1hZVS9SbVlwZnZlUUFBR1VkUGZsU08waEdxMkFBQUFBQUFBQklBQUFBQkFBQUFBQUFHQUFBQUFBQUENCkFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFZ0FBQUVJQVJ3QlJBRlFBUWdCQ0FGTUFUUUFBQUMydXVxS2JsdElScm5jSUFBbnMNCmN5b1RBQUFBQkFELy93QUFFZ0FBQU5oVDlHWk5VdjVXa1dVSGFNYUxBWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFFQUFBQUVJQVJ3QlJBRVFBVEFCQ0FFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFGQUFBQUFRQS8vOEFBQkFBQUFEWVUvUm0NClRWSXdWM3Q4Rm44QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFGRUFSQUJNQUUwQVF3QUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lvVkFBQUFCQUQvL3dBQUVBQUFBTmhUOUdaTlVqQlhlM3dOVlBCNUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBVVFCUkFGTUFXQUJhQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2hZQUFBQUUNCkFQLy9BQUFRQUFBQTJGUDBaazFTUTJkZVhDZGdLSTBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRkFBQUFFSUENClJ3QlJBRkVBVXdCRUFGY0FSQUJOQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2hjQUFBQUVBUC8vQUFBVUFBQUEyRlAwWmsxU1EyZGUNClhGVlRUVS9qVGdGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCUUFBQUJDQUVjQVVRQlJBRk1BUkFCWEFFMEENClF3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5b1lBQUFBQkFELy93QUFGQUFBQU5oVDlHWk5Va05uWGx4VlUwMVBEVlR3ZVFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkhBRkVBV2dCTUFFUUFWd0JFQUUwQUFBQXRycnFpbTViU0VhNTMNCkNBQUo3SE1xR1FBQUFBUUEvLzhBQUJRQUFBRFlVL1JtVFZKUVZ6MkVWVk5OVCtOT0FYZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8NCi8vLy8vLzhBQUFBQUZBQUFBRUlBUndCUkFGb0FUQUJFQUZjQVRRQkRBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLaG9BQUFBRUFQLy8NCkFBQVVBQUFBMkZQMFprMVNVRmM5aEZWVFRVOE5WUEI1QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJRQUFBQkMNCkFFY0FVUUJMQUVNQVJBQk1BRUlBVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvYkFBQUFCQUQvL3dBQUZBQUFBTmhUOUdaTlVtTmkNClpKWXdWM3Q4Rm44QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFGRUFTd0JEQUZnQVV3QUENCkFDMnV1cUtibHRJUnJuY0lBQW5zY3lvY0FBQUFCQUQvL3dBQUZBQUFBTmhUOUdaTlVtTmlaSll3VjN0OCszeHdaUUFBR1VkUGZsU08NCjBoR3EyQUFBQUFBQUFCMEFBQUFCQUFBQUFBQUdBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUVJQVJ3QlINCkFFc0FRd0JOQUVvQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcUhnQUFBQVFBLy84QUFCUUFBQURZVS9SbVRWSmpZbVNXTUZkN2ZHS1gNCjcza0FBQmxIVDM1VWp0SVJxdGdBQUFBQUFBQWZBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUENCkFCUUFBQUJDQUVjQVVRQlVBRUlBUkFCTUFFMEFTZ0FBQUMydXVxS2JsdElScm5jSUFBbnNjeW9nQUFBQUJBRC8vd0FBRkFBQUFOaFQNCjlHWk5VdjVXa1dVd1YzdDhZcGZ2ZVFBQUdVZFBmbFNPMGhHcTJBQUFBQUFBQUNFQUFBQUJBQUFBQUFBR0FBQUFBQUFBQUF3QUFBQUENCkFBQUFBQUQvLy8vLy8vOEFBQUFBRUFBQUFFSUFSd0JSQUVjQVJBQk1BRmdBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xSWdBQUFBUUENCi8vOEFBQkFBQUFEWVUvUm1UVklWZ0RCWGUzeUxWd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkgNCkFGRUFSd0JFQUZBQVJBQktBRUlBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xSXdBQUFBUUEvLzhBQUJRQUFBRFlVL1JtVFZJVmdEQlgNCllWZW1YcWQrSzFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUZBQUFBRUlBUndCUkFGZ0FXZ0JFQUZjQVN3QkUNCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektpUUFBQUFFQVAvL0FBQVVBQUFBMkZQMFprMVN2MzYyY2pCWGFYSzlXNlplQUFBWlIwOSsNClZJN1NFYXJZQUFBQUFBQUFKUUFBQUFFQUFBQUFBQVlBQUFBQUFBQUFEQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFVQUFBQVFnQkgNCkFGRUFWQUJDQUZnQVNBQkVBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xSmdBQUFBUUEvLzhBQUJRQUFBRFlVL1JtVFZMK1ZwRmwNCnhuNFdVK05PQVhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUZBQUFBRUlBUndCUkFGUUFRZ0JZQUVnQVRRQkQNCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektpY0FBQUFFQVAvL0FBQVVBQUFBMkZQMFprMVMvbGFSWmNaK0ZsTU5WUEI1QUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQlFBQUFCQ0FFY0FVUUJhQUZvQVV3QllBRVFBVFFBQUFDMnV1cUtibHRJUnJuY0kNCkFBbnNjeW9vQUFBQUJBRC8vd0FBRkFBQUFOaFQ5R1pOVXMxNURXbGVYQ2RnNDA0QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBVUFBQUFRZ0JIQUZFQVdnQmFBRk1BV0FCTkFFTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFLUUFBQUFRQS8vOEENCkFCUUFBQURZVS9SbVRWTE5lUTFwWGx3bllBMVU4SGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRUFBQUFFSUENClJ3QlJBRWNBUkFCRUFFSUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFLZ0FBQUFRQS8vOEFBQkFBQUFEWVUvUm1UVklWZ0RCWFNYc3INClVnQUFHVWRQZmxTTzBoR3EyQUFBQUFBQUFDc0FBQUFCQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUENCkVnQUFBRUlBUndCUkFFWUFVZ0JFQUVJQVV3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5b3NBQUFBQkFELy93QUFFZ0FBQU5oVDlHWk4NClV0NllaVkV3Vndkb3hvc0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFGQUFBQUVJQVJ3QlJBRU1BV2dCREFGTUENCldBQk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLaTBBQUFBRUFQLy9BQUFVQUFBQTJGUDBaazFTemxkSGxWRm5YbHduWUFGNEFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJBQUFBQkNBRWNBVVFCTkFGTUFVd0JOQUFBQUxhNjZvcHVXMGhHdWR3Z0ENCkNleHpLaTRBQUFBRUFQLy9BQUFRQUFBQTJGUDBaazFTejJQd2ovU0xEbVlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFFQUFBQUVJQVJ3QlJBRWdBUkFCTkFFTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFMd0FBQUFRQS8vOEFBQkFBQUFEWVUvUm0NClRWSjNiWnRjRFZUd2VRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVNBQUFBUWdCSEFFZ0FWQUJDQUVJQVV3Qk4NCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektqQUFBQUFFQVAvL0FBQVNBQUFBMkZQMFpnNVUvbGFSWlFkb3hvc0JlQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFFZ0FSQUJNQUVJQVRRQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5b3gNCkFBQUFCQUQvL3dBQUVBQUFBTmhUOUdZT1ZEQlhlM3dXZndGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCQUENCkFBQkNBRWNBU0FCRUFFd0FUUUJEQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2pJQUFBQUVBUC8vQUFBUUFBQUEyRlAwWmc1VU1GZDcNCmZBMVU4SGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRUFBQUFFSUFSd0JJQUZFQVV3QllBRm9BQUFBdHJycWkNCm01YlNFYTUzQ0FBSjdITXFNd0FBQUFRQS8vOEFBQkFBQUFEWVUvUm1EbFJEWjE1Y0oyQW9qUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFQLy8vLy8vL3dBQUFBQVVBQUFBUWdCSEFFZ0FVUUJUQUVRQVZ3QkVBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xTkFBQUFBUUENCi8vOEFBQlFBQUFEWVUvUm1EbFJEWjE1Y1ZWTk5UK05PQVhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUZBQUENCkFFSUFSd0JJQUZFQVV3QkVBRmNBVFFCREFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektqVUFBQUFFQVAvL0FBQVVBQUFBMkZQMFpnNVUNClEyZGVYRlZUVFU4TlZQQjVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQlFBQUFCQ0FFY0FTQUJhQUV3QVJBQlgNCkFFUUFUUUFBQUMydXVxS2JsdElScm5jSUFBbnNjeW8yQUFBQUJBRC8vd0FBRkFBQUFOaFQ5R1lPVkZCWFBZUlZVMDFQNDA0QmVBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBVUFBQUFRZ0JIQUVnQVdnQk1BRVFBVndCTkFFTUFBQUF0cnJxaW01YlMNCkVhNTNDQUFKN0hNcU53QUFBQVFBLy84QUFCUUFBQURZVS9SbURsUlFWejJFVlZOTlR3MVU4SGtBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBRC8vLy8vLy84QUFBQUFGQUFBQUVJQVJ3QklBRXNBUXdCRUFFd0FRZ0JOQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2pnQUFBQUUNCkFQLy9BQUFVQUFBQTJGUDBaZzVVWTJKa2xqQlhlM3dXZndGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFCQUENCkFBQkNBRWNBU0FCTEFFTUFXQUJUQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S2prQUFBQUVBUC8vQUFBVUFBQUEyRlAwWmc1VVkySmsNCmxqQlhlM3o3ZkhCbEFBQVpSMDkrVkk3U0VhcllBQUFBQUFBQU9nQUFBQUVBQUFBQUFBWUFBQUFBQUFBQURBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBUUFBQUFRZ0JIQUVnQVN3QkRBRTBBU2dBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lvN0FBQUFCQUQvL3dBQUZBQUENCkFOaFQ5R1lPVkdOaVpKWXdWM3Q4WXBmdmVRQUFHVWRQZmxTTzBoR3EyQUFBQUFBQUFEd0FBQUFCQUFBQUFBQUdBQUFBQUFBQUFBd0ENCkFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUZBQUFBRUlBUndCSUFGUUFRZ0JFQUV3QVRRQktBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHoNCktqMEFBQUFFQVAvL0FBQVVBQUFBMkZQMFpnNVUvbGFSWlRCWGUzeGlsKzk1QUFBWlIwOStWSTdTRWFyWUFBQUFBQUFBUGdBQUFBRUENCkFBQUFBQVlBQUFBQUFBQUFEQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFRQUFBQVFnQkhBRWdBUndCRUFFd0FXQUFBQUMydXVxS2INCmx0SVJybmNJQUFuc2N5by9BQUFBQkFELy93QUFFQUFBQU5oVDlHWU9WQldBTUZkN2ZJdFhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFCUUFBQUJDQUVjQVNBQkhBRVFBVUFCRUFFb0FRZ0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXBBQUFBQUJBRC8NCi93QUFGQUFBQU5oVDlHWU9WQldBTUZkaFY2WmVwMzRyVWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBVUFBQUENClFnQkhBRWdBV0FCYUFFUUFWd0JMQUVRQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcVFRQUFBQVFBLy84QUFCUUFBQURZVS9SbURsUy8NCmZyWnlNRmRwY3IxYnBsNEFBQmxIVDM1VWp0SVJxdGdBQUFBQUFBQkNBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFCUUFBQUJDQUVjQVNBQlVBRUlBV0FCSUFFUUFUUUFBQUMydXVxS2JsdElScm5jSUFBbnNjeXBEQUFBQUJBRC8NCi93QUFGQUFBQU5oVDlHWU9WUDVXa1dYR2ZoWlQ0MDRCZUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBVUFBQUENClFnQkhBRWdBVkFCQ0FGZ0FTQUJOQUVNQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcVJBQUFBQVFBLy84QUFCUUFBQURZVS9SbURsVCsNClZwRmx4bjRXVXcxVThIa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFGQUFBQUVJQVJ3QklBRm9BV2dCVEFGZ0ENClJBQk5BQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLa1VBQUFBRUFQLy9BQUFVQUFBQTJGUDBaZzVVelhrTmFWNWNKMkRqVGdGNEFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUJRQUFBQkNBRWNBU0FCYUFGb0FVd0JZQUUwQVF3QUFBQzJ1dXFLYmx0SVINCnJuY0lBQW5zY3lwR0FBQUFCQUQvL3dBQUZBQUFBTmhUOUdZT1ZNMTVEV2xlWENkZ0RWVHdlUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFFZ0FSd0JFQUVRQVFnQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cEhBQUFBQkFELy93QUENCkVBQUFBTmhUOUdZT1ZCV0FNRmRKZXl0U0FBQVpSMDkrVkk3U0VhcllBQUFBQUFBQVNBQUFBQUVBQUFBQUFBQUFBQUFBQUFBQURBQUENCkFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBU0FBQUFRZ0JIQUVnQVJnQlNBRVFBUWdCVEFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektra0ENCkFBQUVBUC8vQUFBU0FBQUEyRlAwWmc1VTNwaGxVVEJYQjJqR2l3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVUNCkFBQUFRZ0JIQUVnQVF3QmFBRU1BVXdCWUFFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFTZ0FBQUFRQS8vOEFBQlFBQUFEWVUvUm0NCkRsVE9WMGVWVVdkZVhDZGdBWGdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEFBQUFBRUFBQUFFSUFSd0JJQUUwQVV3QlQNCkFFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFTd0FBQUFRQS8vOEFBQkFBQUFEWVUvUm1EbFRQWS9DUDlJc09aZ0FBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVFBQUFBUWdCSEFFZ0FTQUJFQUUwQVF3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cE0NCkFBQUFCQUQvL3dBQUVBQUFBTmhUOUdZT1ZIZHRtMXdOVlBCNUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBb0ENCkFBQkhBRmdBVXdCS0FBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektrMEFBQUFFQVAvL0FBQUtBQUFBOUdhd1pmWmw5SlVBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUVvQVF3QlVBRUlBUWdCVEFFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENClRnQUFBQVFBLy84QUFCQUFBQUQ2VjBCNC9sYVJaUWRveG9zQmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQWENCkFBQUFVd0JJQUVFQVVBQkZBRjhBVEFCbEFHNEFad0IwQUdnQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcVR3QUFBQVFBLy84QUFCb0ENCkFBQlRBRWdBUVFCUUFFVUFYd0JNQUdVQWJnQm5BSFFBYUFBQUFCbEhUMzVVanRJUnF0Z0FBQUFBQUFCUUFBQUFBUUFBQUFBQUJnQUENCkFBQUFBQUFNQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUQvL3hZQUFBQlRBRWdBUVFCUUFFVUFYd0JCQUhJQVpRQmhBQUFBTGE2Nm9wdVcNCjBoR3Vkd2dBQ2V4ektsRUFBQUFFQVAvL0FBQVdBQUFBVXdCSUFFRUFVQUJGQUY4QVFRQnlBR1VBWVFBQUFCbEhUMzVVanRJUnF0Z0ENCkFBQUFBQUJTQUFBQUFRQUFBQUFBQmdBQUFBQUFBQUFNQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUQvL3hBQUFBQkNBRWNBVVFCVUFFSUENClFnQklBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLbE1BQUFBRUFQLy9BQUFRQUFBQTJGUDBaazFTL2xhUlpSWi85MU1BQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFFQUFBQUVJQVJ3QklBRlFBUWdCQ0FFZ0FBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENClZBQUFBQVFBLy84QUFCQUFBQURZVS9SbURsVCtWcEZsRm4vM1V3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQVENCkFBQUFXQUJhQUZFQVZBQmFBRXdBV0FBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lwVkFBQUFCQUQvL3dBQUVBQUFBRXlJUDJVNlV3T00NCmRHVjdmSXRYQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFvQUFBQktBRU1BV2dCVUFBQUFMYTY2b3B1VzBoR3UNCmR3Z0FDZXh6S2xZQUFBQUVBUC8vQUFBS0FBQUF3R2psWjdaeUFXQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUENCkNnQUFBRW9BUXdCS0FFY0FBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFWd0FBQUFRQS8vOEFBQW9BQUFEQWFPVm4wMzZjWndBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFTQUFBQVR3Qk9BRXdBV1FCYUFFd0FRZ0JIQUFBQUxhNjZvcHVXMGhHdWR3Z0ENCkNleHpLbGdBQUFBRUFQLy9BQUFTQUFBQVR3Qk9BRXdBV1FCYUFFd0FRZ0JIQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8NCi93QUFBQUR6U1ZnZE13M1NFYUp2Q0FBSnR2SXJXUUFBQUFJQUFRQUFBRVZCQUFFY0RkSVJvbThJQUFtMjhpdGFBQUFBQndBTUFBQUENCld3QkNBRk1BVFFCZEFBQUEvLzhBQUFBQUFBQUFBQUVBQUFELy93QUEvLy8vLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQVAvL0VBQUENCkFFUUFaUUJtQUdFQWRRQnNBSFFBQUFBQ0FBQUFBQUIwUGxxMmt5blJFWnBEQUlESDdGeVdXd0FBQUFRQWxzVHBmaVBSMEJHRGd3Z0ENCkNibVd6RndBQUFBQkFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vL3dNQUFBQUJBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU5BQUFBQUFBQUFKYkU2WDRqMGRBUmc0TUlBQW01bHN4ZEFBQUFBUUFCQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFXVUFBQUFBQUFBQlpRQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUJXUUFGMlBscTJreW5SRVpwREFJREg3RnlXQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQWdRQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQURVdU1Ma1kvT0VaM2pBS29BUzdoUlhnQUFBQUdHQUFDUUFZQTRBUUFFeTg3TTVmLy9rWnNKMTVqaW5rbVgNClYzSzdPZVZjOHdBQWlWSlQ3c2xCMFJHSUNnZ0FDZXh6S2w4QUFBQUdBQUFBQUFBQUFBQUFBQUFEQUFBQUF3QUFBSXlWUWlRUjE5SVINCm4wRUF3RTlyeHFWZ0FBQUFBZ0QvL3dBQUFBQUFBQUFBLy84QUFBQUEvLzhBQUFBQUFBQUFBQUFBQUFBQUFIZERHaWJWMmRJUnFBYk0NCm40Y0x6VnBoQUFBQUFRQUFBQUFBQXdBQUFBTUFBQUFEQUFBQUFBQUFBQUFBQUFBREFBQUFBd0FBQUFNQUFBQUFBQUFBQUFBQUFBTUENCkFBQURBQUFBQXdBQUFBQUFBQUQvL3dBQUFBQUFBQUFBQUFBQUFBQUFja01hSnRYWjBoR29Cc3lmaHd2TldtSUFBQUFCQUFJQUFBQUMNCkFBQUFBUUFBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQVFBQUFBSUENCkFBQUFBQUFBQUFBQUFBQUEvLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQWlFdTcxYUhnMGhHZlRRREENClQydkhqbU1BQUFBQkFBQUFBQUFBQUFBQS8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThMOEQ1aFI1a3NqUUVZdTINCkNBQUo3azVCWkFBQUFBRUErZVVVZVpMSTBCR0x0Z2dBQ2U1T1FXVUFBQUFCQUpiRTZYNGowZEFSZzRNSUFBbTVsc3htQUFBQUFRQUINCkFBQTIyeUQ1UUdsV1FCRDlvLzNHd2tuQTlteVhHUGhNTU1BQkFBQUFBQUFBQUFCQUFBQUFBQTBBQUFBQUFBQUFsc1RwZmlQUjBCR0QNCmd3Z0FDYm1XekdjQUFBQUJBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUgvRFFBQUFBQUFBQUFBQUFBQS8vOEUNCkFBQUFFbkp3TU5WUzBCR284Z0JnaklYdDVXZ0FBQUFEQUFtS24wcUVRSVJCZm95NTEzV1ZVVUgrWmZkOEhrT0VRVWR5K1pjY3IxRkINCkFBQUFBQUJuWWlyU0hiSVJ2MUVJQUNBaTlYTnBBQUFBQmdESEFRQUFVRkpQU2tOVFd5SkRSME5UTWpBd01GOHpYMFJsWjNKbFpWOUgNClMxOWFiMjVsWHpReUlpeEhSVTlIUTFOYklrZERVMTlEYUdsdVlWOUhaVzlrWlhScFkxOURiMjl5WkdsdVlYUmxYMU41YzNSbGJWOHkNCk1EQXdJaXhFUVZSVlRWc2lSRjlEYUdsdVlWOHlNREF3SWl4VFVFaEZVazlKUkZzaVEwZERVekl3TURBaUxEWXpOemd4TXpjdU1Dd3kNCk9UZ3VNalUzTWpJeU1UQXhYVjBzVUZKSlRVVk5XeUpIY21WbGJuZHBZMmdpTERBdU1GMHNWVTVKVkZzaVJHVm5jbVZsSWl3d0xqQXgNCk56UTFNekk1TWpVeE9UazBNek5kWFN4UVVrOUtSVU5VU1U5T1d5SkhZWFZ6YzE5TGNuVm5aWElpWFN4UVFWSkJUVVZVUlZKYklrWmgNCmJITmxYMFZoYzNScGJtY2lMRFF5TlRBd01EQXdMakJkTEZCQlVrRk5SVlJGVWxzaVJtRnNjMlZmVG05eWRHaHBibWNpTERBdU1GMHMNClVFRlNRVTFGVkVWU1d5SkRaVzUwY21Gc1gwMWxjbWxrYVdGdUlpd3hNall1TUYwc1VFRlNRVTFGVkVWU1d5SlRZMkZzWlY5R1lXTjANCmIzSWlMREV1TUYwc1VFRlNRVTFGVkVWU1d5Sk1ZWFJwZEhWa1pWOVBabDlQY21sbmFXNGlMREF1TUYwc1ZVNUpWRnNpVFdWMFpYSWkNCkxERXVNRjBzUVZWVVNFOVNTVlJaV3lKRlVGTkhJaXcwTlRNd1hWMEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFpTk5BQUFBQUFBQnErTUFBQUFBQUFJalRRQUFBQUFBQWF2akFBQUFBQUFDSTAwQXRReHpyNGpZYVB5MUQNCkhPdmlOaG8vTFVNYzYrSTJHaitoZi85NEwvdlJFWlNpQ0FBSjdyN0xhZ0FBQUFFQUFVVkJBQUVjRGRJUm9tOElBQW0yOGlzQUFBQUENCkFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy84QUFBQUFBQUFBQUFBQUFBQUFBUC8vQUFELy93SUFBQUFBQUFJQUFBQUENCkFBSUFBQUFBQUFJQUFBQUFBQUZqWE5kYXdFeElwNzJ1Z3VYaC9IVnJBQUFBQVFBTUFBQUFXd0JDQUZNQVRRQmRBQUFBLy84QUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUNBQUFBQUFBQ0FBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUMNCkFBQUFBQUFDQUFBQUFBQUNBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFDQUFBQUFBQUNBQUFBQUFBQkFBQUENCkFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFFBQUFBQUFBQUFBQUFBQUFBQUENCkFGR21ZK2F0aXRBUnZzY0FnRjk4UW1oc0FBQUFJZ0FNQUFBQVVXZW5mZ09NNVdjNlV3QUFQZ0FBQUVZQWFRQnNBR1VBSUFCSEFHVUENCmJ3QmtBR0VBZEFCaEFHSUFZUUJ6QUdVQUlBQkdBR1VBWVFCMEFIVUFjZ0JsQUNBQVF3QnNBR0VBY3dCekFBQUEvLzhBQUFBQWhnRGgNCmRTWkNyRUt2N011NXQwajRSMjBBQUFBQkFBQUFBZ0FNQUFBQVF3QktBRVFBUXdCUkFBQUFBZ0FBQUFBQVBnQUFBRVlBYVFCc0FHVUENCklBQkhBR1VBYndCa0FHRUFkQUJoQUdJQVlRQnpBR1VBSUFCR0FHVUFZUUIwQUhVQWNnQmxBQ0FBUXdCc0FHRUFjd0J6QUFBQURBQUENCkFGTUFTQUJCQUZBQVJRQUFBQVFBQUFBQkFBQUFBQUFSQURWYWNlUFJFYXFDQU1CUG96b1ZiZ0FBQUFFQW1nQUFBRVlBT2dCY0FHK1ANCjlrNm5Uc0ZVWEFCMFhxWmUyRlAwWnZwZWsxNXZqL1pPWEFCTEFHa0FiZ0JuQUc4QUxnQkNBSFVBYVFCc0FHUUFSQUJDQUZ3QVFRQncNCkFIQUFjd0JjQUZRQVpRQnRBSEFBWEFCREFFb0FSQUJEQUZFQVhBQXlBREFBTWdBekFEQUFNZ0F3QURRQU1nQXdBRElBTlFBMEFETUENCk1RQTFBRElBWEFCVUFHVUFiUUJ3QUVjQVJBQkNBQzRBWndCa0FHSUFBQUFDQUFBQUFBQVFBQUFBVkFCbEFHMEFjQUJIQUVRQVFnQUENCkFCRmFqbGliME5FUnFud0F3RStqT2hWdkFBQUFBUUFCQUFBQUVnQUFBRVFBUVFCVUFFRUFRZ0JCQUZNQVJRQUFBQWdBbWdBQUFFWUENCk9nQmNBRytQOWs2blRzRlVYQUIwWHFaZTJGUDBadnBlazE1dmovWk9YQUJMQUdrQWJnQm5BRzhBTGdCQ0FIVUFhUUJzQUdRQVJBQkMNCkFGd0FRUUJ3QUhBQWN3QmNBRlFBWlFCdEFIQUFYQUJEQUVvQVJBQkRBRkVBWEFBeUFEQUFNZ0F6QURBQU1nQXdBRFFBTWdBd0FESUENCk5RQTBBRE1BTVFBMUFESUFYQUJVQUdVQWJRQndBRWNBUkFCQ0FDNEFad0JrQUdJQUFBQUI4SFgrY1F6cUJrU0hQcmZWTjBpdWZnRUENCkFBQUFBQUZZUS9ONVY5QVJtTDhBZ0Y5ODdTRndBQUFBQXdBRDVoUjVrc2pRRVl1MkNBQUo3azVCY1FBQUFBRUErZVVVZVpMSTBCR0wNCnRnZ0FDZTVPUVhJQUFBQUJBSmJFNlg0ajBkQVJnNE1JQUFtNWxzeHpBQUFBQVFBQkFBQVN4YWdrbWdWTFFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFCQUpxWm1abVptZGsvQUFBQUFBMEFBQUFBQUFBQWxzVHBmaVBSMEJHRGd3Z0FDYm1XekhRQUFBQUJBQUVBQURhTDJiOUcNCktGZEFZMG90djRxWEZrQ09LaGlNUWw4aVFBQUFEUUFBQUFBQUFBQUFBQUFBb2w1OEZpQ3YwUkdJRndnQUNleHpLblVBQUFBREFQLy8NCi8vOENBQUFBQUFBQkFBQUFvMTU4RmlDdjBSR0lGd2dBQ2V4ektuWUFBQUFDQUFQbUZIbVN5TkFSaTdZSUFBbnVUa0Z4QUFBQUFnQUENCkFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUENCkFBQUNBQUFBQUFBQkFBQUFBQUFBQUFBQUFnQUFBQUFBQWdBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFDQWRrQUFBQUFBQUlCMlFBQUFBQUFBZ0haQUFRQUFBQUFBQWdBQUFBQUFtcG1abVptWnVUOEFBQUFBQUFCWlFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFJQUFBQVFnQlRBRTBBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBQUFBQUFOQUFBQUVnQUFBRThBUWdCS0FFVUFRd0JVQUVrQVJBQUFBQzJ1dXFLYmx0SVINCnJuY0lBQW5zY3lwM0FBQUFCQUQvL3dBQUVnQUFBRThBUWdCS0FFVUFRd0JVQUVrQVJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8NCi8vLy8vLzhBQVAvL0RBQUFBRk1BU0FCQkFGQUFSUUFBQUMydXVxS2JsdElScm5jSUFBbnNjeXA0QUFBQUJBRC8vd0FBREFBQUFGTUENClNBQkJBRkFBUlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUNBQUFBRUlBVXdCTkFBQUFMYTY2b3B1VzBoR3UNCmR3Z0FDZXh6S25rQUFBQUVBUC8vQUFBSUFBQUFCMmpHaXdGNEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBb0ENCkFBQlpBRk1BUkFCTkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektub0FBQUFFQVAvL0FBQUtBQUFBZ1lrZ2ZlTk9BWGdBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFEZ0FBQUZvQVRBQkVBRmNBUkFCTkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektuc0ENCkFBQUVBUC8vQUFBT0FBQUFVRmM5aEZWVFRVL2pUZ0Y0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUE0QUFBQmENCkFFd0FSQUJYQUUwQVF3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cDhBQUFBQkFELy93QUFEZ0FBQUZCWFBZUlZVMDFQRFZUd2VRQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBS0FBQUFSQUJEQUUwQVNnQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cDkNCkFBQUFCQUQvL3dBQUNnQUFBQU9NNVdkaWwrOTVBQUFaUjA5K1ZJN1NFYXJZQUFBQUFBQUFmZ0FBQUFFQUFBQUFBQVlBQUFBQUFBQUENCkRBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQUtBQUFBU2dCVEFFMEFTZ0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXAvQUFBQUJBRC8NCi93QUFDZ0FBQUtHTGwzdGlsKzk1QUFBWlIwOStWSTdTRWFyWUFBQUFBQUFBZ0FBQUFBRUFBQUFBQUFZQUFBQUFBQUFBREFBQUFBQUENCkFBQUFBUC8vLy8vLy93QUFBQUFLQUFBQVRRQlRBRk1BVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lxQkFBQUFCQUQvL3dBQUNnQUENCkFNOWo4SS8waXc1bUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBb0FBQUJJQUVRQVRRQkRBQUFBTGE2Nm9wdVcNCjBoR3Vkd2dBQ2V4ektvSUFBQUFFQVAvL0FBQUtBQUFBZDIyYlhBMVU4SGtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFCZ0FBQUVJQVdnQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cURBQUFBQkFELy93QUFCZ0FBQUFkWjZHd0FBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUdnQUFBRk1BU0FCQkFGQUFSUUJmQUV3QVpRQnVBR2NBZEFCb0FBQUFMYTY2b3B1VzBoR3UNCmR3Z0FDZXh6S29RQUFBQUVBUC8vQUFBYUFBQUFVd0JJQUVFQVVBQkZBRjhBVEFCbEFHNEFad0IwQUdnQUFBQVpSMDkrVkk3U0VhclkNCkFBQUFBQUFBaFFBQUFBRUFBQUFBQUFZQUFBQUFBQUFBREFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBLy84V0FBQUFVd0JJQUVFQVVBQkYNCkFGOEFRUUJ5QUdVQVlRQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cUdBQUFBQkFELy93QUFGZ0FBQUZNQVNBQkJBRkFBUlFCZkFFRUENCmNnQmxBR0VBQUFBWlIwOStWSTdTRWFyWUFBQUFBQUFBaHdBQUFBRUFBQUFBQUFZQUFBQUFBQUFBREFBQUFBQUFBQUFBQVAvLy8vLy8NCi93QUEvLy96U1ZnZE13M1NFYUp2Q0FBSnR2SXJpQUFBQUFJQUFRQUFBRVZCQUFFY0RkSVJvbThJQUFtMjhpdUpBQUFBQndBTUFBQUENCld3QkNBRk1BVFFCZEFBQUEvLzhBQUFBQUFBQUFBQUVBQUFELy93QUEvLy8vLy8vL0FBQUFBQUFBQUFBQUFBQUFBQUFBQVAvL0VBQUENCkFFUUFaUUJtQUdFQWRRQnNBSFFBQUFBQ0FBQUFBQUIwUGxxMmt5blJFWnBEQUlESDdGeVdpZ0FBQUFRQWxzVHBmaVBSMEJHRGd3Z0ENCkNibVd6SXNBQUFBQkFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vL3dNQUFBQUJBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU5BQUFBQUFBQUFKYkU2WDRqMGRBUmc0TUlBQW01bHN5TUFBQUFBUUFCQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFXVUFBQUFBQUFBQlpRQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUJXUUFGMlBscTJreW5SRVpwREFJREg3RnlXQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQWdRQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQURVdU1Ma1kvT0VaM2pBS29BUzdoUmpRQUFBQUdHQUFDUUFZQTRBUUFFeTg3TTVmLy9rWnNKMTVqaW5rbVgNClYzSzdPZVZjOHdBQWlWSlQ3c2xCMFJHSUNnZ0FDZXh6S280QUFBQUdBQUFBQUFBQUFBQUFBQUFEQUFBQUF3QUFBSXlWUWlRUjE5SVINCm4wRUF3RTlyeHFXUEFBQUFBZ0QvL3dBQUFBQUFBQUFBLy84QUFBQUEvLzhBQUFBQUFBQUFBQUFBQUFBQUFIZERHaWJWMmRJUnFBYk0NCm40Y0x6VnFRQUFBQUFRQUFBQUFBQXdBQUFBTUFBQUFEQUFBQUFBQUFBQUFBQUFBREFBQUFBd0FBQUFNQUFBQUFBQUFBQUFBQUFBTUENCkFBQURBQUFBQXdBQUFBQUFBQUQvL3dBQUFBQUFBQUFBQUFBQUFBQUFja01hSnRYWjBoR29Cc3lmaHd2TldwRUFBQUFCQUFJQUFBQUMNCkFBQUFBUUFBQUFJQUFBQUNBQUFBQXdBQUFBTUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFBQUFBQUFBQVFBQUFBSUENCkFBQUFBQUFBQUFBQUFBQUEvLzhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQS8vLy8vd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBQWlFdTcxYUhnMGhHZlRRREENClQydkhqcElBQUFBQkFBQUFBQUFBQUFBQS8vOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQThMOEQ1aFI1a3NqUUVZdTINCkNBQUo3azVCa3dBQUFBRUErZVVVZVpMSTBCR0x0Z2dBQ2U1T1FaUUFBQUFCQUpiRTZYNGowZEFSZzRNSUFBbTVsc3lWQUFBQUFRQUINCkFBQTIyeUQ1UUdsV1FCRDlvLzNHd2tuQTlteVhHUGhNTU1BQkFBQUFBQUFBQUFCQUFBQUFBQTBBQUFBQUFBQUFsc1RwZmlQUjBCR0QNCmd3Z0FDYm1XekpZQUFBQUJBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUgvRFFBQUFBQUFBQUFBQUFBQS8vOEUNCkFBQUFFbkp3TU5WUzBCR284Z0JnaklYdDVaY0FBQUFEQUFtS24wcUVRSVJCNUJRZERaU01VVUhWNTZxUExFV0VRVWh5K1pjY3IxRkINCkFBQUFBQUJuWWlyU0hiSVJ2MUVJQUNBaTlYT1lBQUFBQmdESEFRQUFVRkpQU2tOVFd5SkRSME5UTWpBd01GOHpYMFJsWjNKbFpWOUgNClMxOWFiMjVsWHpReUlpeEhSVTlIUTFOYklrZERVMTlEYUdsdVlWOUhaVzlrWlhScFkxOURiMjl5WkdsdVlYUmxYMU41YzNSbGJWOHkNCk1EQXdJaXhFUVZSVlRWc2lSRjlEYUdsdVlWOHlNREF3SWl4VFVFaEZVazlKUkZzaVEwZERVekl3TURBaUxEWXpOemd4TXpjdU1Dd3kNCk9UZ3VNalUzTWpJeU1UQXhYVjBzVUZKSlRVVk5XeUpIY21WbGJuZHBZMmdpTERBdU1GMHNWVTVKVkZzaVJHVm5jbVZsSWl3d0xqQXgNCk56UTFNekk1TWpVeE9UazBNek5kWFN4UVVrOUtSVU5VU1U5T1d5SkhZWFZ6YzE5TGNuVm5aWElpWFN4UVFWSkJUVVZVUlZKYklrWmgNCmJITmxYMFZoYzNScGJtY2lMRFF5TlRBd01EQXdMakJkTEZCQlVrRk5SVlJGVWxzaVJtRnNjMlZmVG05eWRHaHBibWNpTERBdU1GMHMNClVFRlNRVTFGVkVWU1d5SkRaVzUwY21Gc1gwMWxjbWxrYVdGdUlpd3hNall1TUYwc1VFRlNRVTFGVkVWU1d5SlRZMkZzWlY5R1lXTjANCmIzSWlMREV1TUYwc1VFRlNRVTFGVkVWU1d5Sk1ZWFJwZEhWa1pWOVBabDlQY21sbmFXNGlMREF1TUYwc1ZVNUpWRnNpVFdWMFpYSWkNCkxERXVNRjBzUVZWVVNFOVNTVlJaV3lKRlVGTkhJaXcwTlRNd1hWMEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUpDVmdVRUENCkFBQ0ExaE5qd1FBQUFBQUFpTk5BQUFBQUFBQnErTUFBQUFBQUFJakRRQUFBQUFBQWF2akFBQUFBQUFDSXcwQXRReHpyNGpZYVAveXANCjhkSk5ZbEEvL0tueDBrMWlVRCtoZi85NEwvdlJFWlNpQ0FBSjdyN0xtUUFBQUFFQUFVVkJBQUVjRGRJUm9tOElBQW0yOGlzQUFBQUENCkFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy84QUFBQUFBQUFBQUFBQUFBQUFBUC8vQUFELy93SUFBQUFBQUFJQUFBQUENCkFBSUFBQUFBQUFJQUFBQUFBQUZqWE5kYXdFeElwNzJ1Z3VYaC9IV2FBQUFBQVFBTUFBQUFXd0JDQUZNQVRRQmRBQUFBLy84QUFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUNBQUFBQUFBQ0FBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUMNCkFBQUFBQUFDQUFBQUFBQUNBQUFBQUFBQ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFDQUFBQUFBQUNBQUFBQUFBQkFBQUENCkFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRFFBQUFBQUFBQUFBQUFBQUFBQUENCkFGR21ZK2F0aXRBUnZzY0FnRjk4UW1pYkFBQUFJZ0FTQUFBQVJBQk1BRlFBUWdCZkFFNEFUUUJMQUFBQVBnQUFBRVlBYVFCc0FHVUENCklBQkhBR1VBYndCa0FHRUFkQUJoQUdJQVlRQnpBR1VBSUFCR0FHVUFZUUIwQUhVQWNnQmxBQ0FBUXdCc0FHRUFjd0J6QUFBQS8vOEENCkFBQUFoZ0RoZFNaQ3JFS3Y3TXU1dDBqNFI1d0FBQUFCQUFBQUFnQVNBQUFBUkFCTUFGUUFRZ0JmQUU0QVRRQkxBQUFBQWdBQUFBQUENClBnQUFBRVlBYVFCc0FHVUFJQUJIQUdVQWJ3QmtBR0VBZEFCaEFHSUFZUUJ6QUdVQUlBQkdBR1VBWVFCMEFIVUFjZ0JsQUNBQVF3QnMNCkFHRUFjd0J6QUFBQURBQUFBRk1BYUFCaEFIQUFaUUFBQUFRQUFBQUJBQUFBQUFBUkFEVmFjZVBSRWFxQ0FNQlBvem9WblFBQUFBRUENCllBQUFBRVFBT2dCY0FFdHQxWXRjQUhSZXBsN1lVL1JtK2w2VFhsd0FIRTRNWmpwVEtBQXlBRElBTUFBMUFEQUFNZ0FwQUZ3QTVWMEwNCmV1NTJWVjljQUJ4T0RHWTZVMHlJUDJVNlV3T01aVkZjQUU0QVRRQkVBRUlBTGdCbkFHUUFZZ0FBQUFJQUFBQUFBQW9BQUFCT0FFMEENClJBQkNBQUFBRVZxT1dKdlEwUkdxZkFEQVQ2TTZGWjRBQUFBQkFBRUFBQUFTQUFBQVJBQkJBRlFBUVFCQ0FFRUFVd0JGQUFBQUNBQmcNCkFBQUFSQUE2QUZ3QVMyM1ZpMXdBZEY2bVh0aFQ5R2I2WHBOZVhBQWNUZ3htT2xNb0FESUFNZ0F3QURVQU1BQXlBQ2tBWEFEbFhRdDYNCjduWlZYMXdBSEU0TVpqcFRUSWcvWlRwVEE0eGxVVndBVGdCTkFFUUFRZ0F1QUdjQVpBQmlBQUFBQWZCMS9uRU02Z1pFaHo2MzFUZEkNCnJuNEJBQUFBQUFBQldFUHplVmZRRVppL0FJQmZmTzBobndBQUFBTUFBK1lVZVpMSTBCR0x0Z2dBQ2U1T1FhQUFBQUFCQVBubEZIbVMNCnlOQVJpN1lJQUFudVRrR2hBQUFBQVFDV3hPbCtJOUhRRVlPRENBQUp1WmJNb2dBQUFBRUFBUUFBRXNXb0pKb0ZTMEFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFRQ2FtWm1abVpuWlB3QUFBQUFOQUFBQUFBQUFBSmJFNlg0ajBkQVJnNE1JQUFtNWxzeWpBQUFBQVFBQkFBQ1gNClRiUlo0K2RWUUZ3Q2RUOFIxakJBL2hSU3hDNGtMY0FBQUEwQUFBQUFBQUFBQUFBQUFLSmVmQllncjlFUmlCY0lBQW5zY3lxa0FBQUENCkF3RC8vLy8vQWdBQUFBQUFBUUFBQUtOZWZCWWdyOUVSaUJjSUFBbnNjeXFsQUFBQUFnQUQ1aFI1a3NqUUVZdTJDQUFKN2s1Qm9BQUENCkFBSUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FBQUENCkFBQUFBQUFBQWdBQUFBQUFBUUFBQUFBQUFBQUFBQUlBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUFnSFpBQUFBQUFBQ0Fka0FBQUFBQUFJQjJRQUVBQUFBQUFBSUFBQUFBQUpxWm1abVptYmsvQUFBQUFBQUENCldVQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBQUFBRUlBVXdCTkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBQUNBQUFBQUFBQ0FBQUFBQUFBQUFBQUpBQUFBQklBQUFCUEFFSUFTZ0JGQUVNQVZBQkpBRVFBQUFBdHJycWkNCm01YlNFYTUzQ0FBSjdITXFwZ0FBQUFRQS8vOEFBQklBQUFCUEFFSUFTZ0JGQUVNQVZBQkpBRVFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUEvLy8vLy8vL0FBRC8vd3dBQUFCVEFHZ0FZUUJ3QUdVQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcXB3QUFBQVFBLy84QUFBd0ENCkFBQlRBR2dBWVFCd0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQWdBQUFCQ0FGTUFUUUFBQUMydXVxS2INCmx0SVJybmNJQUFuc2N5cW9BQUFBQkFELy93QUFDQUFBQUFkb3hvc0JlQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUENCkFBQUtBQUFBV1FCVEFFUUFUUUFBQUMydXVxS2JsdElScm5jSUFBbnNjeXFwQUFBQUJBRC8vd0FBQ2dBQUFJR0pJSDNqVGdGNEFBQUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUF3QUFBQlVBRUlBV1FCQ0FFZ0FBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENCnFnQUFBQVFBLy84QUFBd0FBQUQrVnBGbGhKZ1dmL2RUQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUFvQUFBQlUNCkFFSUFRZ0JJQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3FzQUFBQUVBUC8vQUFBS0FBQUEvbGFSWlJaLzkxTUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUNnQUFBRVFBVEFCQ0FFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXFyQUFBQUFRQS8vOEENCkFBb0FBQUF3VjN0OEZuOEJlQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFLQUFBQVJBQk1BRTBBUXdBQUFDMnUNCnVxS2JsdElScm5jSUFBbnNjeXF0QUFBQUJBRC8vd0FBQ2dBQUFEQlhlM3dOVlBCNUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8NCi8vLy9BQUFBQUFvQUFBQlJBRk1BV0FCYUFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektxNEFBQUFFQVAvL0FBQUtBQUFBUTJkZVhDZGcNCktJMEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8vLy8vLy84QUFBQUFEZ0FBQUZFQVV3QkVBRmNBUkFCTkFBQUFMYTY2b3B1VzBoR3UNCmR3Z0FDZXh6S3E4QUFBQUVBUC8vQUFBT0FBQUFRMmRlWEZWVFRVL2pUZ0Y0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vLy8NCkFBQUFBQTRBQUFCUkFGTUFSQUJYQUUwQVF3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cXdBQUFBQkFELy93QUFEZ0FBQUVOblhseFYNClUwMVBEVlR3ZVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy8vd0FBQUFBT0FBQUFXZ0JNQUVRQVZ3QkVBRTBBQUFBdHJycWkNCm01YlNFYTUzQ0FBSjdITXFzUUFBQUFRQS8vOEFBQTRBQUFCUVZ6MkVWVk5OVCtOT0FYZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRC8NCi8vLy8vLzhBQUFBQURnQUFBRm9BVEFCRUFGY0FUUUJEQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3JJQUFBQUVBUC8vQUFBT0FBQUENClVGYzloRlZUVFU4TlZQQjVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy8vL0FBQUFBQW9BQUFCVUFFSUFUUUJLQUFBQUxhNjYNCm9wdVcwaEd1ZHdnQUNleHpLck1BQUFBRUFQLy9BQUFLQUFBQS9sYVJaV0tYNzNrQUFCbEhUMzVVanRJUnF0Z0FBQUFBQUFDMEFBQUENCkFRQUFBQUFBQmdBQUFBQUFBQUFNQUFBQUFBQUFBQUFBLy8vLy8vLy9BQUFBQUE0QUFBQkxBRU1BUkFCTUFFSUFUUUFBQUMydXVxS2INCmx0SVJybmNJQUFuc2N5cTFBQUFBQkFELy93QUFEZ0FBQUdOaVpKWXdWM3Q4Rm44QmVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBS0FBQUFTd0JEQUZnQVV3QUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cTJBQUFBQkFELy93QUFEZ0FBQUdOaVpKWXcNClYzdDgrM3h3WlFBQUdVZFBmbFNPMGhHcTJBQUFBQUFBQUxjQUFBQUJBQUFBQUFBR0FBQUFBQUFBQUF3QUFBQUFBQUFBQUFELy8vLy8NCi8vOEFBQUFBQ2dBQUFFc0FRd0JOQUVvQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcXVBQUFBQVFBLy84QUFBNEFBQUJqWW1TV01GZDcNCmZHS1g3M2tBQUJsSFQzNVVqdElScXRnQUFBQUFBQUM1QUFBQUFRQUFBQUFBQmdBQUFBQUFBQUFNQUFBQUFBQUFBQUFBLy8vLy8vLy8NCkFBQUFBQTRBQUFCVUFFSUFSQUJNQUUwQVNnQUFBQzJ1dXFLYmx0SVJybmNJQUFuc2N5cTZBQUFBQkFELy93QUFEZ0FBQVA1V2tXVXcNClYzdDhZcGZ2ZVFBQUdVZFBmbFNPMGhHcTJBQUFBQUFBQUxzQUFBQUJBQUFBQUFBR0FBQUFBQUFBQUF3QUFBQUFBQUFBQUFELy8vLy8NCi8vOEFBQUFBQ2dBQUFFY0FSQUJNQUZnQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcXZBQUFBQVFBLy84QUFBb0FBQUFWZ0RCWGUzeUwNClZ3QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8vLy8vL3dBQUFBQU9BQUFBUndCRUFGQUFSQUJLQUVJQUFBQXRycnFpbTViU0VhNTMNCkNBQUo3SE1xdlFBQUFBUUEvLzhBQUE0QUFBQVZnREJYWVZlbVhxZCtLMUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy8vOEENCkFBQUFEZ0FBQUZnQVdnQkVBRmNBU3dCRUFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektyNEFBQUFFQVAvL0FBQU9BQUFBdjM2MmNqQlgNCmFYSzlXNlplQUFBWlIwOStWSTdTRWFyWUFBQUFBQUFBdndBQUFBRUFBQUFBQUFZQUFBQUFBQUFBREFBQUFBQUFBQUFBQVAvLy8vLy8NCi93QUFBQUFPQUFBQVZBQkNBRmdBU0FCRUFFMEFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXF3QUFBQUFRQS8vOEFBQTRBQUFEK1ZwRmwNCnhuNFdVK05PQVhnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQURnQUFBRlFBUWdCWUFFZ0FUUUJEQUFBQUxhNjYNCm9wdVcwaEd1ZHdnQUNleHpLc0VBQUFBRUFQLy9BQUFPQUFBQS9sYVJaY1orRmxNTlZQQjVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFBNEFBQUJhQUZvQVV3QllBRVFBVFFBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lyQ0FBQUFCQUQvL3dBQURnQUENCkFNMTVEV2xlWENkZzQwNEJlQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFPQUFBQVdnQmFBRk1BV0FCTkFFTUENCkFBQXRycnFpbTViU0VhNTNDQUFKN0hNcXd3QUFBQVFBLy84QUFBNEFBQUROZVExcFhsd25ZQTFVOEhrQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUQvLy8vLy8vOEFBQUFBQ2dBQUFFY0FSQUJFQUVJQUFBQXRycnFpbTViU0VhNTNDQUFKN0hNcXhBQUFBQVFBLy84QUFBb0ENCkFBQVZnREJYU1hzclVnQUFHVWRQZmxTTzBoR3EyQUFBQUFBQUFNVUFBQUFCQUFBQUFBQUFBQUFBQUFBQUFBd0FBQUFBQUFBQUFBRC8NCi8vLy8vLzhBQUFBQURBQUFBRVlBVWdCRUFFSUFVd0FBQUMydXVxS2JsdElScm5jSUFBbnNjeXJHQUFBQUJBRC8vd0FBREFBQUFONlkNClpWRXdWd2RveG9zQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQURnQUFBRU1BV2dCREFGTUFXQUJOQUFBQUxhNjYNCm9wdVcwaEd1ZHdnQUNleHpLc2NBQUFBRUFQLy9BQUFPQUFBQXpsZEhsVkZuWGx3bllBRjRBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCi8vLy8vLy8vQUFBQUFBb0FBQUJUQUVvQVRnQkdBQUFBTGE2Nm9wdVcwaEd1ZHdnQUNleHpLc2dBQUFBRUFQLy9BQUFLQUFBQWNHVnUNClkzUmUvVTRBQUJsSFQzNVVqdElScXRnQUFBQUFBQURKQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFNQUFBQUFBQUFBQUFBLy8vLy8vLy8NCkFBQUFBQW9BQUFCTkFGTUFVd0JOQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3NvQUFBQUVBUC8vQUFBS0FBQUF6MlB3ai9TTERtWUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vLzhBQUFBQUNnQUFBRWdBUkFCTkFFTUFBQUF0cnJxaW01YlNFYTUzQ0FBSjdITXENCnl3QUFBQVFBLy84QUFBb0FBQUIzYlp0Y0RWVHdlUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vLy93QUFBQUFHQUFBQVFnQmENCkFBQUFMYTY2b3B1VzBoR3Vkd2dBQ2V4ektzd0FBQUFFQVAvL0FBQUdBQUFBQjFub2JBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQLy8NCi8vLy8vd0FBQUFBUUFBQUFXQUJhQUZFQVZBQmFBRXdBV0FBQUFDMnV1cUtibHRJUnJuY0lBQW5zY3lyTkFBQUFCQUQvL3dBQUVBQUENCkFFeUlQMlU2VXdPTWRHVjdmSXRYQUFBWlIwOStWSTdTRWFyWUFBQUFBQUFBemdBQUFBRUFBQUFBQUFZQUFBQUFBQUFBREFBQUFBQUENCkFBQUFBUC8vLy8vLy93QUFBQUFhQUFBQVV3Qm9BR0VBY0FCbEFGOEFUQUJsQUc0QVp3QjBBR2dBQUFBdHJycWltNWJTRWE1M0NBQUoNCjdITXF6d0FBQUFRQS8vOEFBQm9BQUFCVEFHZ0FZUUJ3QUdVQVh3Qk1BR1VBYmdCbkFIUUFhQUFBQUJsSFQzNVVqdElScXRnQUFBQUENCkFBRFFBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBRC8veFlBQUFCVEFHZ0FZUUJ3QUdVQVh3QkINCkFISUFaUUJoQUFBQUxhNjZvcHVXMGhHdWR3Z0FDZXh6S3RFQUFBQUVBUC8vQUFBV0FBQUFVd0JvQUdFQWNBQmxBRjhBUVFCeUFHVUENCllRQUFBQmxIVDM1VWp0SVJxdGdBQUFBQUFBRFNBQUFBQVFBQUFBQUFCZ0FBQUFBQUFBQU1BQUFBQUFBQUFBQUEvLy8vLy8vL0FBRC8NCi93d0FBQUJZQUZvQVVRQkVBRTBBQUFBdHJycWltNWJTRWE1M0NBQUo3SE1xMHdBQUFBUUEvLzhBQUF3QUFBQk1pRDlsT2xQalRnRjQNCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQS8vLy8vLy8vQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJaEx1OVdoNE5JUm4wMEENCndFOXJ4NDdVQUFBQUFRQUFBQUFBQUFBQUFQLy9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFQQy9BK1lVZVpMSTBCR0wNCnRnZ0FDZTVPUWRVQUFBQUJBUG5sRkhtU3lOQVJpN1lJQUFudVRrSFdBQUFBQVFDV3hPbCtJOUhRRVlPRENBQUp1WmJNMXdBQUFBRUENCkFRQUFOdHNnK1VCcFZrQVEvYVA5eHNKSndQWnNseGo0VEREQUFRQUFBQUFBQUFBQVFBQUFBQUFOQUFBQUFBQUFBSmJFNlg0ajBkQVINCmc0TUlBQW01bHN6WUFBQUFBUUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCL3cwQUFBQUFBQUFBQUFBQUFQLy8NCkJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ2hmLzk0TC92UkVaU2lDQUFKN3I3TDJRQUFBQUVBQVVWQkFBRWNEZElSb204SUFBbTINCjhpc0FBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLzhBQUFBQUFBQUFBQUFBQUFBQUFQLy9BQUQvL3dJQUFBQUENCkFBSUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBSUENCkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUlBQUFBQUFBSUFBQUFBQUFJQUFBQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFCQUFJQUFBQUFBQUlBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUENCkFBQUFBQUFBQUFBSUFBQUFBQUFBQUFBQUFBQUFBQUFBbWdBQUFFWUFPZ0JjQUcrUDlrNm5Uc0ZVWEFCMFhxWmUyRlAwWnZwZWsxNXYNCmovWk9YQUJMQUdrQWJnQm5BRzhBTGdCQ0FIVUFhUUJzQUdRQVJBQkNBRndBUVFCd0FIQUFjd0JjQUZRQVpRQnRBSEFBWEFCREFFb0ENClJBQkRBRkVBWEFBeUFEQUFNZ0F6QURBQU1nQXdBRFFBTWdBd0FESUFOUUEwQURNQU1RQTFBRElBWEFCVUFHVUFiUUJ3QUVjQVJBQkMNCkFDNEFad0JrQUdJQUFBQUlBQUFBQUFBQUFBQUFBQUFBQUFBQW1nQUFBRVlBT2dCY0FHK1A5azZuVHNGVVhBQjBYcVplMkZQMFp2cGUNCmsxNXZqL1pPWEFCTEFHa0FiZ0JuQUc4QUxnQkNBSFVBYVFCc0FHUUFSQUJDQUZ3QVFRQndBSEFBY3dCY0FGUUFaUUJ0QUhBQVhBQkQNCkFFb0FSQUJEQUZFQVhBQXlBREFBTWdBekFEQUFNZ0F3QURRQU1nQXdBRElBTlFBMEFETUFNUUExQURJQVhBQlVBR1VBYlFCd0FDNEENCmN3QnhBR3dBYVFCMEFHVUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUVNQVNnQkVBRU1BVVFCQ0FFY0FBQUE9DQo8L0J5dGVzPjwvWE1MUGVyc2lzdGVkT2JqZWN0Pg==" }; if (!KGIS.Framework.AE.AELicense.AoInit()) { return; } string arguments = Environment.GetEnvironmentVariable("MY_ARGS"); if (!string.IsNullOrWhiteSpace(arguments)) args[0] = arguments; GeoprocessorHelper helper = new GeoprocessorHelper(); GPParamClass gPParamClass = new GPParamClass(); string strParm = args[0]; byte[] base64ToByte = Convert.FromBase64String(strParm.Trim()); strParm = Encoding.UTF8.GetString(base64ToByte); IVariantArray parameters = KGIS.Framework.AE.GeoDBAPI.DeSerialzedPersist(strParm) as IVariantArray; if (parameters != null) { string mType = parameters.Element[parameters.Count - 1].ToString(); parameters.Remove(parameters.Count - 1); if (mType == "ZLDB") { IFeatureLayer layer = parameters.Element[parameters.Count - 1] as IFeatureLayer; ESRI.ArcGIS.Geometry.ISpatialReference sp = (layer.FeatureClass as IGeoDataset).SpatialReference; parameters.Element[parameters.Count - 1] = sp; helper.ZLDataCheck(parameters); Marshal.ReleaseComObject(parameters); Console.WriteLine("增量数据检查,执行成功!"); Process.GetCurrentProcess().Kill(); } else if (mType == "BGDB") { IFeatureLayer layer = parameters.Element[1] as IFeatureLayer; ESRI.ArcGIS.Geometry.ISpatialReference sp = (layer.FeatureClass as IGeoDataset).SpatialReference; parameters.Element[parameters.Count - 1] = sp; helper.BGDataCheck(parameters); Marshal.ReleaseComObject(parameters); Console.WriteLine("变更数据检查,执行成功!"); Process.GetCurrentProcess().Kill(); } else if (mType == "CJDCQBG") { helper.CJDCQBG(parameters); Console.WriteLine("村级调查区处理,执行成功!"); Process.GetCurrentProcess().Kill(); } else if (mType == "CJDCQJX") { helper.CJDCQJX(parameters); Console.WriteLine("村级调查区界线处理,执行成功!"); Process.GetCurrentProcess().Kill(); } else if (mType == "XZQBG") { Console.WriteLine("行政区处理,执行开始!"); helper.XZQBG(parameters); Console.WriteLine("行政区处理,执行成功!"); Process.GetCurrentProcess().Kill(); } else if (mType == "XZQJX") { helper.XZQJX(parameters); Console.WriteLine("行政区界线处理,执行成功!"); Process.GetCurrentProcess().Kill(); } return; } else if (args != null && args.Length > 0) { //string strParm = args[0]; //byte[] base64ToByte = Convert.FromBase64String(strParm); //strParm = Encoding.UTF8.GetString(base64ToByte); gPParamClass = SerializeAPI.DeserializeToObject(strParm); } else { //string parm = Console.ReadLine(); //byte[] base64ToByte = Convert.FromBase64String(parm); //parm = Encoding.UTF8.GetString(base64ToByte); //gPParamClass = SerializeAPI.DeserializeToObject(parm); //if (gPParamClass == null) return; } IFeatureLayer _Layer = null; switch (gPParamClass.GPType) { case EnumGPType.Default: helper.RepairGeo(gPParamClass); break; case EnumGPType.Dissolve: helper.DissolveAnalysis(gPParamClass, ref _Layer); break; case EnumGPType.Union: helper.UnionAnalysis(gPParamClass, ref _Layer); break; case EnumGPType.FcToFc: helper.FeatureClassToFeatureClass(gPParamClass, ref _Layer); break; case EnumGPType.Intersect: helper.IntersectAnalysis(gPParamClass, ref _Layer); break; case EnumGPType.Erase: helper.EraseAnalysis(gPParamClass, ref _Layer); break; case EnumGPType.PolygonToLine: helper.PolygonToLine(gPParamClass, ref _Layer); break; case EnumGPType.UnsplitLine: helper.UnsplitLine(gPParamClass, ref _Layer); break; case EnumGPType.SelectLayerByLocation: { helper.MakeFeatureLayer(gPParamClass, ref _Layer); gPParamClass.FirstFeatureLayer2 = _Layer; IFeatureLayer tempLayer = null; helper.SelectLayerByLocationAnalysis(gPParamClass, ref tempLayer); FeatureClass fc = (_Layer.FeatureClass as FeatureClass); string path = gPParamClass.TempGDBPath; if (string.IsNullOrWhiteSpace(path)) { path = CreateTempDB("GP"); path = Path.Combine(path, "TempGDB.gdb"); } gPParamClass = new GPParamClass(); gPParamClass.FirstFeatureLayer2 = _Layer; gPParamClass.OutFeatureClassPath = path; gPParamClass.FcName = fc.Name; gPParamClass.IsGetOutPutFeature = true; helper.FeatureClassToFeatureClass(gPParamClass, ref _Layer); gPParamClass.OutFeatureClassPath = Path.Combine(path, gPParamClass.FcName); break; } case EnumGPType.SelectLayerByAttribute: { helper.MakeFeatureLayer(gPParamClass, ref _Layer); gPParamClass.FirstFeatureLayer2 = _Layer; //IFeatureLayer tempLayer = null; helper.SelectLayerByAttributeAnalysis(gPParamClass); FeatureClass fc = (_Layer.FeatureClass as FeatureClass); string FcName = string.IsNullOrWhiteSpace(gPParamClass.FcName) ? fc.Name : gPParamClass.FcName; string path = gPParamClass.TempGDBPath; if (string.IsNullOrWhiteSpace(path)) { path = CreateTempDB("GP"); path = Path.Combine(path, "TempGDB.gdb"); } gPParamClass = new GPParamClass(); gPParamClass.FirstFeatureLayer2 = _Layer; gPParamClass.OutFeatureClassPath = path; gPParamClass.FcName = FcName; gPParamClass.IsGetOutPutFeature = true; helper.FeatureClassToFeatureClass(gPParamClass, ref _Layer); gPParamClass.OutFeatureClassPath = Path.Combine(path, FcName); break; } case EnumGPType.MultipartToSinglePath: helper.MultipartToSinglePath(gPParamClass, ref _Layer); break; case EnumGPType.SpatialJoin: helper.SpatialJoinAnalysis(gPParamClass, ref _Layer); break; case EnumGPType.Identify: helper.IdentifyAnalysis(gPParamClass, ref _Layer); break; case EnumGPType.BGTBYCL: { //helper.BGTBYCL(gPParamClass); helper.CreateTempGDBForGP(gPParamClass); System.IO.FileInfo info = new System.IO.FileInfo(gPParamClass.TempGDBPath); Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, info.Name + ".gdb", "GXGC_Multipart")); return; } case EnumGPType.YBG: { helper.YBG(gPParamClass); Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, "GXGC_Multipart")); //helper.CreateTempGDBForGP(gPParamClass); //System.IO.FileInfo info = new System.IO.FileInfo(gPParamClass.TempGDBPath); //Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, info.Name + ".gdb")); return; } case EnumGPType.CZCYCL: { helper.CZCYCL(gPParamClass); Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, gPParamClass.FcName)); return; } case EnumGPType.CZCBG: { helper.CZCBG(gPParamClass); Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, gPParamClass.FcName)); return; } case EnumGPType.CJDCQBG: { helper.CJDCQBG(gPParamClass); Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, "CJDCQGXGC")); return; } case EnumGPType.XZQBG: { helper.XZQBG(gPParamClass); Console.WriteLine(Path.Combine(gPParamClass.TempGDBPath, "XZQGXGC")); return; } default: break; } Console.WriteLine(gPParamClass.OutFeatureClassPath); } catch (Exception ex) { Console.WriteLine(ex.Message); LogAPI.Debug(ex.Message); } finally { //Console.ReadKey(); } //Console.ReadKey(); } static string CreateTempDB(string pType) { string result = string.Empty; try { string gdbFolder = Directory.GetCurrentDirectory() + "\\Temp\\" + pType; if (!Directory.Exists(gdbFolder)) Directory.CreateDirectory(gdbFolder); try { DelectDirect(gdbFolder); } catch { //删除临时数据异常 不做处理 } IWorkspaceFactory pFtWsFct = new FileGDBWorkspaceFactory(); string gdbFileName = Guid.NewGuid().ToString(); string path = System.IO.Path.Combine(gdbFolder, gdbFileName); pFtWsFct.Create(path, "TempGDB", null, 0); result = path;// System.IO.Path.Combine(path, "TempGDB.gdb");//临时数据存放路径 } catch (Exception ex) { Console.WriteLine("创建临时数据库失败!"); throw ex; } return result; } private static void DelectDirect(string srcPath) { try { DirectoryInfo dir = new DirectoryInfo(srcPath); FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录 foreach (FileSystemInfo i in fileinfo) { if (i is DirectoryInfo) //判断是否文件夹 { DirectoryInfo subdir = new DirectoryInfo(i.FullName); subdir.Delete(true); //删除子目录和文件 } else { File.Delete(i.FullName); //删除指定文件 } } } catch (Exception e) { throw; } } } }