function WindowOnLoad()
{
	window.taskid = 0;
	window.file = "";		//最后的路径
	window.driver="";		//路径对应的磁盘,防止重复计算磁盘剩余空间
	window.disksize=-1;		//剩余磁盘大小
	window.filesize=-1;		//文件大小
	window.modify=false;		//是否允许修改

	window.ShowTask = ShowTask;
	window.AddTask = AddTask;
	window.OnGetDrag = OnGetDrag;

	window.defaultExt=".MP4";

	$("txtPath").emptyText = "";

	centerWindow();

	window.needCallback  = false;

	window.writePath = false;
}
function WindowOnClose()
{
	if(window.needCallback)
	{
		var downloader = Components.GetObject("@pplive.com/chDownloadMgr;1");
		if(downloader)
		{
			window.needCallback=false;
			downloader.newDownloadCallBack(window.taskid,false,window.file);
		}
	}
	Components.UnregisterObject("@pplive.com/newDownload;" + window.taskid);
}
function centerWindow()
{
	EwaUnFullScreen();
	var screen = window.screen;
	var left = screen.left + (screen.width - window.outerWidth)/2;
	var top = screen.top + (screen.height - window.outerHeight)/2;
	window.moveSizeTo(left, top, window.outerWidth, window.outerHeight);
	window.topmost = true;
}
function onok()
{	
	if(window.modify)
	{
		var downloader = Components.GetObject("@pplive.com/chDownloadMgr;1");
		if(downloader && verify())
		{	
			try
			{
				if(window.writePath)
				{
					var registry = Components.CreateObject("@pplive.com/registry;1");
					if (registry && registry.create(registry.HKCU,"Software\\PPLive\\Download"))
					{
						window.writePath = registry.writeString("Path",$("txtPath").value);			
					}
				}
			}
			catch(e)
			{
			}
			window.needCallback=false;
			downloader.newDownloadCallBack(window.taskid,true,window.file);
			var id = 8;
			var uiMainWindow = Components.GetObject("@pplive.com/ui/mainwindow;1"); 
			if(uiMainWindow)
			{
				if(uiMainWindow.runMode==0)
				{
					//旧模式
					if(!uiMainWindow.tidyMode && !EwaIsFullScreen() && !uiMainWindow.BossState)
					{
						if (!uiMainWindow.channelIsVisible())
						{
							uiMainWindow.showChannel(true);
						}
						uiMainWindow.tabs.put_selectedId(id); 
					}
					var ppFrame=Components.GetObject("@pplive.com/PPLStat;1"); 
					if(ppFrame) 
					{ 
						ppFrame.AddTabClickCount(id); 
					} 
				}
				else if (uiMainWindow.runMode==1 && !EwaIsFullScreen() && !uiMainWindow.tidyMode && !uiMainWindow.BossState)
				{
					//新模式
					uiMainWindow.SetSelectedTabName("Download");
				}
			}
			window.close();
		}
	}
	else
	{
		window.close();
	}
}

function oncancel()
{
	window.close();
}

function ShowTask(videoname,filepath,filename,filesize,taskid)
{
	window.title = videoname;
	window.needCallback  = false;
	$("windowTitle").value = "查看下载任务";
	window.taskid = taskid;
	window.file = "";
	window.driver="";
	window.disksize=-1;
	window.filesize=filesize;
	window.modify=false;

	$("lblDisk").visible = false;
	$("lblDiskSize").visible = false;
	$("lblDiskError").visible = false;

	$("txtFile").value = videoname;
	SetPath(filepath);
	$("txtSave").value = filename;
	OnGetDrag(filesize);
	$("lblSaveError").value = "";
	$("lblDiskError").value = "";

	$("txtFile").disabled = true;
	$("txtPath").disabled = true;
	$("txtSave").disabled = true;
	$("btnBrowser").disabled = true;
	$("txtSave").emptyText = $("txtSave").value;

	verifyFreeDiskSpace();
}

//defaultExt是缺省参数
function AddTask(videoname,filepath,filename,taskid,defaultExt)
{
	window.title = videoname;
	window.needCallback  = true;
	$("windowTitle").value = "新建下载任务";
	window.taskid=taskid;
	window.file = "";
	window.driver="";
	window.disksize=-1;
	window.modify=true;
	window.defaultExt=defaultExt.toUpperCase();
	
	$("lblDisk").visible = true;
	$("lblDiskSize").visible = true;
	$("lblDiskError").visible = true;

	$("txtFile").value = videoname;
	SetPath(filepath);
	$("txtSave").value = filename;
	$("lblFileSize").value = "未知";
	$("lblSaveError").value = "";
	$("lblDiskError").value = "";

	$("txtFile").disabled = true;
	$("txtPath").disabled = false;
	$("txtSave").disabled = false;
	$("btnBrowser").disabled = false;

	MakeSaveFilenameValid();
	$("txtSave").emptyText = $("txtSave").value;

	OnGetDrag(window.filesize);
	verifyFreeDiskSpace();
}
function SetPath(path)
{
	if(path && path.length!=0)
	{
		$("txtPath").value = path;
	}
	else
	{
		var filepath = Components.GetObject("@pplive.com/filepath;1");
		if(!filepath) return;
		$("txtPath").value = filepath.PathMaxFreeSpaceDisk("PPDownload");
		window.writePath = true;
	}
	$("txtPath").emptyText = $("txtPath").value;
}
function OnGetDrag(fsize)
{
	window.filesize=-1;
	if(fsize<=0)
	{
		$("lblFileSize").value="未知";
		return;
	}
	window.filesize = fsize;
	var filesize =(window.filesize/1024/1024).toFixed(2) + " M";
	$("lblFileSize").value = filesize;
	verifyFreeDiskSpace();
}
function verifyFreeDiskSpace()
{
	if(!$("txtPath")) return;
	var path = $("txtPath").value;
	if(path.length<2)
	{
		window.driver="";
		$("lblDiskSize").value = "未知";
		$("lblDiskError").value="";
		return false;
	}
	var driver = path.substring(0,1).toUpperCase();
	var colon = path.substring(1,2);
	if(colon!=":" || driver<'A' || driver>'Z') 
	{
		window.driver="";
		$("lblDiskSize").value = "未知";
		$("lblDiskError").value="";
		return false;
	}
	if(window.driver !=driver)
	{
		var FreeSpace = GetDiskFreeSpace(path);
		if(FreeSpace<=0)
		{
			$("lblDiskSize").value = "未知";
			$("lblDiskError").value="";
			return false;
		}
		window.driver =driver;
		window.disksize=GetDiskFreeSpace(path);
		var space =(window.disksize/1024/1024/1024).toFixed(2) + " G";
		$("lblDiskSize").value = space;
	}

	if(window.disksize==-1)return false;
	if(window.filesize>window.disksize)
	{
		if(window.modify)$("lblDiskError").value = "磁盘空间不够";
		return false;
	}
	else
	{
		$("lblDiskError").value="";
	}
	return true;
}
function MakeSaveFilenameValid()
{
	var filepath = Components.GetObject("@pplive.com/filepath;1");
	if(!filepath) return;	
	//文件名合法性
	var filename = $("txtSave").value;
	var fileExt = filepath.PathFindExtension(filename).toUpperCase();
	if(!fileExt || fileExt!=window.defaultExt)
	{
		$("txtSave").value = filename + window.defaultExt;
		filename = $("txtSave").value;
	}
	if(!filepath.IsValidFileName(filename))
	{
		$("txtSave").value=filepath.MakeFileNameValid(filename);
 		return;
	}	
}
function verify()
{
	if(!window.modify) return false;
	var downloader = Components.GetObject("@pplive.com/chDownloadMgr;1");
	var vy = false;
	var result = verifyPathAndFile();
	if (2 == result)
	{
		$("lblSaveError").value = "路径不可用";
		if(downloader)
		{	//modified by gjj.
			var ret = showTipDlg(1,1,"保存路径被保护或不可用，建议更换路径");
			if(ret==0) window.close();
		}
	}

	if(!verifyFreeDiskSpace())	//放到前面,防止出现，提示是否覆盖确定之后又磁盘空间不足
	{
		vy = false;
	}
	else
	{
		switch(result)
		{
		case 0:
			vy=true;
			$("lblSaveError").value="";
			break;
		case 1:
			break;
		case 2:
			$("lblSaveError").value = "路径不可用";
			if(downloader)
			{	//modified by gjj.
				var ret = showTipDlg(1,1,"保存路径被保护或不可用，建议更换路径");
				if(ret==0) window.close();
			}
			break;
		case 3:
			$("lblSaveError").value = "文件名不可用";
			break;
		case 4:
			$("lblSaveError").value = "路径过长";
			break;
		case 5:
			$("lblSaveError").value = "文件名过长";
			break;
		case 6:
			$("lblSaveError").value = "文件已存在";
			if(downloader)
			{//modified by gjj.
//				var ret = downloader.showTipDlg(1,1,"文件重名，请更改文件名");
				var ret = showTipDlg(3,1,"文件重名，建议更改文件名。点击“覆盖”将覆盖重名文件进行下载");
				if(0==ret)
					window.close();
				else if (3 == ret)
					vy = true;
				else
					vy=false;	//点击确定只是关掉这个提示框
			}
			break;
		}
	}

	return vy;
}

//0 成功
//1 程序错误
//2 路径不合法
//3 文件不合法 
//4 路径过长
//5 文件名过长
//6 文件已存在
function verifyPathAndFile()
{
	window.file = "";
	var filepath = Components.GetObject("@pplive.com/filepath;1");
	if(!filepath) return 1;
	//文件名合法性
	if($("txtSave").value.length==0)
	{
		$("txtSave").value = $("txtSave").emptyText;
	}
	var filename = $("txtSave").value;
	if(!filepath.IsValidFileName(filename)) return 3;

	var fileExt = filepath.PathFindExtension(filename).toUpperCase();
	if(!fileExt || fileExt!=window.defaultExt)
	{
		$("txtSave").value = filename + window.defaultExt;
		filename = $("txtSave").value;
	}
	if(!filepath.IsValidFileName(filename)) return 3;
	//全路径是否合法
	var pathname = $("txtPath").value;
	var file = filepath.PathAppend(pathname,filename);
	var filecfg = filepath.PathAppend(pathname,filename+".ppd.cfg");
	if(file.length==0 || filecfg.length==0)
	{
		if(pathname.length>240) return 4;
		else return 5;
	}

	//路径合法性
	
	if(!filepath.PathCreate(pathname))return 2;
	if(!filepath.PathAccessHit(pathname,2)) return 2;

	window.file = file;//允许用户选择覆盖,此句提前
	if(filepath.PathFileExists(file)) return 6;

	return 0;
}

//add by gjj.为了弹出的模态框禁用的时候新建下载任务的框而不是主窗口
//param1: 1表示不带CheckBox, 否则带 "口 同时删除本地文件"
//param2: 默认按钮，1:确定  2:取消。该参数暂时无效
//param3: 需要显示的文本
function showTipDlg(type, index, text)
{
	var finalText;
	if (text.length > 22)
	{
		finalText = text.substr(0, 22);
		finalText += ';';
		finalText += text.substr(23, text.length);
	}
	else
		finalText = text;

	if (1 == type)
		finalText += ';delfile=0';
	else if (2 == type)
		finalText += ';delfile=1';
	else if (3 == type)
		finalText += ';delfile=2';

	return window.showModalDialog('downloadTipDlg.xml', finalText);
}
// SIG // Begin signature block
// SIG // MIIVVgYJKoZIhvcNAQcCoIIVRzCCFUMCAQExCzAJBgUr
// SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
// SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
// SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFC1s99B9o+QX
// SIG // DfsNeqowiQD2d99xoIIRWzCCA3owggJioAMCAQICEDgl
// SIG // 1/r4Ya+e9JDnJrXWWtUwDQYJKoZIhvcNAQEFBQAwUzEL
// SIG // MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ
// SIG // bmMuMSswKQYDVQQDEyJWZXJpU2lnbiBUaW1lIFN0YW1w
// SIG // aW5nIFNlcnZpY2VzIENBMB4XDTA3MDYxNTAwMDAwMFoX
// SIG // DTEyMDYxNDIzNTk1OVowXDELMAkGA1UEBhMCVVMxFzAV
// SIG // BgNVBAoTDlZlcmlTaWduLCBJbmMuMTQwMgYDVQQDEytW
// SIG // ZXJpU2lnbiBUaW1lIFN0YW1waW5nIFNlcnZpY2VzIFNp
// SIG // Z25lciAtIEcyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
// SIG // iQKBgQDEtfJSFbyIhmApFkpbL0uRa4eR8zVUWDXq0TZe
// SIG // Yk1SUTRxwntmHYnI3SrEagr2N9mYdJH2kq6wtXaW8alK
// SIG // Y0VHLmsLkk5LK4zuWEqL1AfkGiz4gqpY2c1C8y3Add6N
// SIG // q8eOHZpsTAiVHt7b72fhcsJJwp5gPOHivhajY3hpFHut
// SIG // LQIDAQABo4HEMIHBMDQGCCsGAQUFBwEBBCgwJjAkBggr
// SIG // BgEFBQcwAYYYaHR0cDovL29jc3AudmVyaXNpZ24uY29t
// SIG // MAwGA1UdEwEB/wQCMAAwMwYDVR0fBCwwKjAooCagJIYi
// SIG // aHR0cDovL2NybC52ZXJpc2lnbi5jb20vdHNzLWNhLmNy
// SIG // bDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAOBgNVHQ8B
// SIG // Af8EBAMCBsAwHgYDVR0RBBcwFaQTMBExDzANBgNVBAMT
// SIG // BlRTQTEtMjANBgkqhkiG9w0BAQUFAAOCAQEAUMVLyCSA
// SIG // 3+QNJMLeGrGhAqGmgi0MgxWBNwqCDiywWhdhtdgF/ojb
// SIG // 8ZGRs1YaQKbrkr44ObB1NnQ6mE/kN7qZicqVQh2wuceg
// SIG // jVfg+tVkBEI1TgHRM6IXyE2qJ8fy4YZMAjhNg3jG/FPg
// SIG // 6+AGh92klp5eDJjipb6/goXDYOHfrSjYx6VLZNrHG1u9
// SIG // rDkI1TgioTOLL4qa67wHIT9EQQkHtWUcJLxI00SA66HP
// SIG // yQK0FM9UxxajgFz5eT5dcn2IF54sQ6LKU859PfYqOrhP
// SIG // lAClbQqDXfleU/QYs1cPcMP79a2VoA4X3sQWgGDJDytu
// SIG // hgTx6/R4J9EFxe40W165STLyMzCCA8QwggMtoAMCAQIC
// SIG // EEe/GZXfjVJGQ/fbbUgNMaQwDQYJKoZIhvcNAQEFBQAw
// SIG // gYsxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJu
// SIG // IENhcGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMQ8wDQYD
// SIG // VQQKEwZUaGF3dGUxHTAbBgNVBAsTFFRoYXd0ZSBDZXJ0
// SIG // aWZpY2F0aW9uMR8wHQYDVQQDExZUaGF3dGUgVGltZXN0
// SIG // YW1waW5nIENBMB4XDTAzMTIwNDAwMDAwMFoXDTEzMTIw
// SIG // MzIzNTk1OVowUzELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
// SIG // DlZlcmlTaWduLCBJbmMuMSswKQYDVQQDEyJWZXJpU2ln
// SIG // biBUaW1lIFN0YW1waW5nIFNlcnZpY2VzIENBMIIBIjAN
// SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqcqypMzN
// SIG // IK8KfYmsh3XwtE7x38EPv2dhvaNkHNq7+cozq4QwiVh+
// SIG // jNtr3TaeD7/R7Hjyd6Z+bzy/k68Numj0bJTKvVItq0g9
// SIG // 9bbVXV8bAp/6L2sepPejmqYayALhf0xS4w5g7EAcfrkN
// SIG // 3j/HtN+HvV96ajEuA5mBE6hHIM4xcw1XLc14NDOVEpkS
// SIG // ud5oL6rm48KKjCrDiyGHZr2DWFdvdb88qiaHXcoQFTyf
// SIG // hOpUwQpuxP7FSt25BxGXInzbPifRHnjsnzHJ8eYiGdvE
// SIG // s0dDmhpfoB6Q5F717nzxfatiAY/1TQve0CJWqJXNroh2
// SIG // ru66DfPkTdmg+2igrhQ7s4fBuwIDAQABo4HbMIHYMDQG
// SIG // CCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDov
// SIG // L29jc3AudmVyaXNpZ24uY29tMBIGA1UdEwEB/wQIMAYB
// SIG // Af8CAQAwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny
// SIG // bC52ZXJpc2lnbi5jb20vVGhhd3RlVGltZXN0YW1waW5n
// SIG // Q0EuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMIMA4GA1Ud
// SIG // DwEB/wQEAwIBBjAkBgNVHREEHTAbpBkwFzEVMBMGA1UE
// SIG // AxMMVFNBMjA0OC0xLTUzMA0GCSqGSIb3DQEBBQUAA4GB
// SIG // AEpr+epYwkQcMYl5mSuWv4KsAdYcTM2wilhu3wgpo17I
// SIG // ypMT5wRSDe9HJy8AOLDkyZNOmtQiYhX3PzchT3AxgPGL
// SIG // OIez6OiXAP7PVZZOJNKpJ056rrdhQfMqzufJ2V7duyuF
// SIG // PrWdtdnhV/++tMV+9c8MnvCX/ivTO1IbGzgn9z9KMIIE
// SIG // /DCCBGWgAwIBAgIQZVIm4bIuGOFZDymFrCLnXDANBgkq
// SIG // hkiG9w0BAQUFADBfMQswCQYDVQQGEwJVUzEXMBUGA1UE
// SIG // ChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNsYXNz
// SIG // IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB
// SIG // dXRob3JpdHkwHhcNMDkwNTIxMDAwMDAwWhcNMTkwNTIw
// SIG // MjM1OTU5WjCBtjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
// SIG // DlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
// SIG // biBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBv
// SIG // ZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t
// SIG // L3JwYSAoYykwOTEwMC4GA1UEAxMnVmVyaVNpZ24gQ2xh
// SIG // c3MgMyBDb2RlIFNpZ25pbmcgMjAwOS0yIENBMIIBIjAN
// SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvmcdtGCq
// SIG // EElvVhd8Zslehg3V8ayncYOOi4n4iASJFQa6LYQhleTR
// SIG // nFBM+9IivdrysjU7Ho/DCfv8Ey5av4l8PTslHvbzWHuc
// SIG // 9AG1xgq4gM6+J3RhZydNauXsgWFYeaPgFxASFSew4U00
// SIG // fytHIES53mYkZorNT7ofxTjIVJDhcvYZZnVquUlozzh5
// SIG // DaowqNssYEie16oUAamD1ziRMDkTlgM6fEBUtq3gLxuD
// SIG // 3KgRUj4Cs9cr/SG2p1yjDwupphBQDjQuTafOyV4l1Iy8
// SIG // 8258KbwBXfwxh1rVjIVnWIgZoL818OoroyHnkPaD5ajt
// SIG // YHhee2CD/VcLXUENY1Rg1kMh7wIDAQABo4IB2zCCAdcw
// SIG // EgYDVR0TAQH/BAgwBgEB/wIBADBwBgNVHSAEaTBnMGUG
// SIG // C2CGSAGG+EUBBxcDMFYwKAYIKwYBBQUHAgEWHGh0dHBz
// SIG // Oi8vd3d3LnZlcmlzaWduLmNvbS9jcHMwKgYIKwYBBQUH
// SIG // AgIwHhocaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw
// SIG // YTAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBf
// SIG // oV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMC
// SIG // GgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDov
// SIG // L2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYD
// SIG // VR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMDQGCCsG
// SIG // AQUFBwEBBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29j
// SIG // c3AudmVyaXNpZ24uY29tMDEGA1UdHwQqMCgwJqAkoCKG
// SIG // IGh0dHA6Ly9jcmwudmVyaXNpZ24uY29tL3BjYTMuY3Js
// SIG // MCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFDbGFzczND
// SIG // QTIwNDgtMS01NTAdBgNVHQ4EFgQUl9BrqCZwyKE/lB8I
// SIG // LcQ1m6ShHvIwDQYJKoZIhvcNAQEFBQADgYEAiwPA3ZTY
// SIG // QaJhabAVqHjHMMaQPH5C9yS25INzFwR/BBCcoeL6gS/r
// SIG // wMpE53LgULZVECCDbpaS5JpRarQ3MdylLeuMAMcdT+dN
// SIG // MrqF+E6++mdVZfBqvnrKZDgaEBB4RXYx84Z6Aw9gwrNd
// SIG // nfaLZnaCG1nhg+W9SaU4VuXeQXcOWA8wggURMIID+aAD
// SIG // AgECAhBtUn9NfWwaK6fvgdUMiddlMA0GCSqGSIb3DQEB
// SIG // BQUAMIG2MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy
// SIG // aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
// SIG // dXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVz
// SIG // ZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBh
// SIG // IChjKTA5MTAwLgYDVQQDEydWZXJpU2lnbiBDbGFzcyAz
// SIG // IENvZGUgU2lnbmluZyAyMDA5LTIgQ0EwHhcNMDkxMTE5
// SIG // MDAwMDAwWhcNMTIxMTE4MjM1OTU5WjCBzjELMAkGA1UE
// SIG // BhMCQ04xETAPBgNVBAgTCFNoYW5naGFpMREwDwYDVQQH
// SIG // EwhTaGFuZ2hhaTEbMBkGA1UEChQSUFBMaXZlIENvcnBv
// SIG // cmF0aW9uMT4wPAYDVQQLEzVEaWdpdGFsIElEIENsYXNz
// SIG // IDMgLSBNaWNyb3NvZnQgU29mdHdhcmUgVmFsaWRhdGlv
// SIG // biB2MjEfMB0GA1UECxQWUHJvZHVjdCBQbGFubmluZyBE
// SIG // ZXB0LjEbMBkGA1UEAxQSUFBMaXZlIENvcnBvcmF0aW9u
// SIG // MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY7Kff
// SIG // TNpvjGy6zGck0u1/S+B50zuxRF0HrIlPfcpSGmsQyfzm
// SIG // b2eigTz0KuN+palZSdpx0amg9gD+ANFSNo9uqfk1PLeP
// SIG // V7187RIh4taAGUnYROqkPr9kVAsU/SepgjYLVAU46+Bu
// SIG // FtDmCaenpb6rqE+0Y6AV50Rc3iBA0rHvawIDAQABo4IB
// SIG // gzCCAX8wCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4Aw
// SIG // RAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL2NzYzMtMjAw
// SIG // OS0yLWNybC52ZXJpc2lnbi5jb20vQ1NDMy0yMDA5LTIu
// SIG // Y3JsMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHFwMwKjAo
// SIG // BggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24u
// SIG // Y29tL3JwYTATBgNVHSUEDDAKBggrBgEFBQcDAzB1Bggr
// SIG // BgEFBQcBAQRpMGcwJAYIKwYBBQUHMAGGGGh0dHA6Ly9v
// SIG // Y3NwLnZlcmlzaWduLmNvbTA/BggrBgEFBQcwAoYzaHR0
// SIG // cDovL2NzYzMtMjAwOS0yLWFpYS52ZXJpc2lnbi5jb20v
// SIG // Q1NDMy0yMDA5LTIuY2VyMB8GA1UdIwQYMBaAFJfQa6gm
// SIG // cMihP5QfCC3ENZukoR7yMBEGCWCGSAGG+EIBAQQEAwIE
// SIG // EDAWBgorBgEEAYI3AgEbBAgwBgEBAAEB/zANBgkqhkiG
// SIG // 9w0BAQUFAAOCAQEAEHyS6zHfeAr7VXV0+4exGGIaodyt
// SIG // snOwewImElZdtDXV0P9r4B6gp1Ej1ZT8Ddco099Xc7NE
// SIG // e7gyfzCQh27Uq6DSVQP0P9zBI2VgwWaOLweplMHFqKrD
// SIG // q0DXzRAsXiYCu15ugktqWBRVhsOCrNFPcYAiEHhMeRJY
// SIG // 1p5pA+TyXSs2X5AyL1zfpaqrDfJKmhspWabkMbjyLWG9
// SIG // jkQv7K4rviPg//9QfzZoYG3cJBMDqLC3KsSFXs6GNzXo
// SIG // 7EDYhzgJFjpalJUV0n7TL+aPFgRY6/lG3UYPZtsRtGBI
// SIG // W2frpPZy0ww0vcTMzXYL+2TGyka40qCWF3XUw14+znhe
// SIG // yMNA5TGCA2cwggNjAgEBMIHLMIG2MQswCQYDVQQGEwJV
// SIG // UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNV
// SIG // BAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNV
// SIG // BAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52
// SIG // ZXJpc2lnbi5jb20vcnBhIChjKTA5MTAwLgYDVQQDEydW
// SIG // ZXJpU2lnbiBDbGFzcyAzIENvZGUgU2lnbmluZyAyMDA5
// SIG // LTIgQ0ECEG1Sf019bBorp++B1QyJ12UwCQYFKw4DAhoF
// SIG // AKBwMBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3DQEJ
// SIG // AzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM
// SIG // BgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBRmNpge
// SIG // agKABAo7uonrFnpfbYbW4DANBgkqhkiG9w0BAQEFAASB
// SIG // gM87kAe9Vc0BP0vvzDpYqye2bQIHYzV9Dm2iGR7Mx6U+
// SIG // QQt5978OXs3P12uU7WTvOAlmAws6yQkrQecH2a+MKjTB
// SIG // 2p54tGgn4mJL1gKIHWbL6GcFlewiEvg8bSjI/vgJWziI
// SIG // fT+PCLVSPnozlMWbIWuIbwOEITnuWuMKA6KVmYGzoYIB
// SIG // fzCCAXsGCSqGSIb3DQEJBjGCAWwwggFoAgEBMGcwUzEL
// SIG // MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ
// SIG // bmMuMSswKQYDVQQDEyJWZXJpU2lnbiBUaW1lIFN0YW1w
// SIG // aW5nIFNlcnZpY2VzIENBAhA4Jdf6+GGvnvSQ5ya11lrV
// SIG // MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZI
// SIG // hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMTA0MjcxMjU0
// SIG // NDNaMCMGCSqGSIb3DQEJBDEWBBTHMRW/bsXNbjNVCqOk
// SIG // UNhV9fS0vDANBgkqhkiG9w0BAQEFAASBgFxbV3UiCCkd
// SIG // 3ySQrGpbEZ/M+QHJf/xfMxAV9tOFZTDdOqspBZtsFrn3
// SIG // OxxW8gy95iQPhvw9xrZXP/BDQyxTBWCI1SbEC+eOBoph
// SIG // q+aT1u8+xl7zRnbfO+gpR9ezBwNM+SrpElRPQfnnosCS
// SIG // iEmSMXBi/oZNO43LVrsNQ0OaXGn7
// SIG // End signature block
