年度变更建库软件5.0版本
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

305 lines
84 KiB

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<GPParamClass>(strParm);
}
else
{
//string parm = Console.ReadLine();
//byte[] base64ToByte = Convert.FromBase64String(parm);
//parm = Encoding.UTF8.GetString(base64ToByte);
//gPParamClass = SerializeAPI.DeserializeToObject<GPParamClass>(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;
}
}
}
}