//func
var EWA = null;
var MFRAME = null;
var PPP = null;

function GetEWA()
{
	if (!EWA)
	{
		EWA = Components.GetObject2("EWA");
	}
	return EWA;
}

function GetMFRAME()
{
	if (!MFRAME)
	{
		MFRAME = Components.GetObject2("mframe");
	}
	return MFRAME;
}

function GetPPP()
{
	if (!PPP)
	{
		PPP = Components.GetObject2("PPP");
	}
	return PPP;
}

//PPPlayer
function PPPlayer()
{
	this.bAlreadyPlaying  = false;      //是否正在播放
	this.bCanPlay = false;              //是否可以播放
	this.bCanPrevious = false;          //是否出现上一集按钮
	this.bCanNext = false;              //是否出现下一集按钮
	this.bChannelBtnStatus = true;      //是否显示频道列表
	this.nPlayFileType = 0;             //播放文件类型
	this.nVolume = 0;                   //记录音量
	this.rt = 0;
	this.vtp = -1;
	this.linkid = 0;
	this.nRunMode = 0;                  //客户端运行模式
	this.bTidyMode = false;             //迷你模式
	this.bFullScreen = false;           //全屏
	this.bDisabledInfoBtn = true;       //是否禁用信息按钮
	this.bMute = false;                 //是否处于静音状态
	this.DataRateWnd = null;
	this.VolumePopDlg = null;
	this.dragging = false;
	this.StateInfoText = "";
	this.bErrorStateInfo = false;
	this.nPlayState = 0;                 // 记录onstatechangeex里的状态
	this.checkVolumeHoverTimeId=0;
	this.zwLowSpeedCount=0;
	this.zwHighSpeedCount=0;

	this.nCurNumDot = 0;
	this.arrDotDS = new Array();
	this.arrDotTime = new Array();
	this.arrDotBtn = new Array();
	this.nHoverIndex = -3;
	this.nOldHover = -3;

	this.IsAlreadyInit = false;
	this.m_tmSkipHeadbeg = -1;	
	this.m_tmSkipHeadend = -1;
	this.m_tmSkipTailbeg = -1;	
	this.m_tmSkipTailend = -1;
	this.bIsSkipDotInited = false;
	this.bIsContentDotInited = false;
	this.bCurPeriod = false;
	this.dtTimeBeg = new Date();
	this.dtTimeEnd = new Date();
	this.bIsAdFinished = false;
	this.nTimeType = true;

	this.bNoVolumeTips = false;
	
	this.zwNotShowLowBitrateSwitch=false;
	this.zwNotShowHighBitrateSwitch=false;
	this.zwNotShowPause2Buffer=false;
	this.zwNotShowBalloon=false;
	this.zwCalcLowSpeed = false;
	var registry = Components.CreateObject("@pplive.com/registry;1");
	if (registry && registry.create(registry.HKCU, "Software\\PPLive\\PPTV\\UserEdu"))
	{	
			var LowBitrateSwitch = registry.readDWORD("LowBitrateSwitch");
			if(LowBitrateSwitch>=3)this.zwNotShowLowBitrateSwitch=true;

			var HighBitrateSwitch = registry.readDWORD("HighBitrateSwitch");
			if(HighBitrateSwitch>=3)this.zwNotShowHighBitrateSwitch=true;		

			var Pause2Buffer = registry.readDWORD("Pause2Buffer");
			if(Pause2Buffer>0)this.zwNotShowPause2Buffer=true;
	}
	
	if(this.zwNotShowLowBitrateSwitch && this.zwNotShowHighBitrateSwitch && this.zwNotShowPause2Buffer)this.zwNotShowBalloon=true;
}

PPPlayer.prototype.Play = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		try{ewa.Play();}catch(e){}
	}
}

PPPlayer.prototype.Pause = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		try{ewa.Pause();}catch(e){}
	}
}

PPPlayer.prototype.Stop = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		try{ewa.Stop();}catch(e){}
	}
}

PPPlayer.prototype.PlayNewItem = function(nPreOrNext)
{
	var mframe = GetMFRAME();
	if (mframe)
	{
		return mframe.PlayNewItem(nPreOrNext);
	}
}

PPPlayer.prototype.get_Mute = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		return ewa.Mute;
	}
	return false;
}

PPPlayer.prototype.put_Mute = function(bMute)
{
	var ewa = GetEWA();
	if (ewa)
	{
		ewa.Mute = bMute;
	}
}

PPPlayer.prototype.get_Volume = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		return ewa.Volume;
	}
	return 0;
}

PPPlayer.prototype.get_PlayState = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		return ewa.PlayState;
	}
	return -2;
}

PPPlayer.prototype.get_FullScreen = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		return ewa.FullScreen;
	}
	return false;
}

PPPlayer.prototype.get_Duration = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		return ewa.Duration;
	}
	return 0;
}

PPPlayer.prototype.get_CurrentPosition = function()
{
	var ewa = GetEWA();
	if (ewa)
	{
		return ewa.CurrentPosition;
	}
	return 0;
}

PPPlayer.prototype.get_PPP = function()
{
	var ppp = GetPPP();
	return ppp;
}

PPPlayer.prototype.get_EWA = function()
{
	var ewa = GetEWA();
	return ewa;
}

PPPlayer.prototype.get_MFRAME = function()
{
	var mframe = GetMFRAME();
	return mframe;
}

PPPlayer.prototype.put_CurrentPosition = function(newVal)
{
	var ewa = GetEWA();
	if (ewa)
	{
		ewa.CurrentPosition = newVal;
	}
}

PPPlayer.prototype.put_FullScreen = function(bFullScreen)
{
	var ewa = GetEWA();
	if (ewa)
	{
		ewa.FullScreen = bFullScreen;
	}
}

//event
PPPlayer.prototype.OnStateChange = function(newVal)
{
	if (newVal == 0)  //buffering
	{
		var ppp = GetPPP();
		if (ppp)
		{
			this.nPlayFileType = ppp.PlayFileType;
			if (this.nPlayFileType != 0)
			{
				this.bCanPlay = true;
			}
		}
	}
	else if (newVal == 2) //play
	{
		this.bAlreadyPlaying = true;
		this.bCanPlay = true;
	}
	else if (newVal == 4 || newVal == 5) //stop || media end
	{
		this.bAlreadyPlaying = false;
		this.bCanPlay = false;
	}

	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnStateChange(newVal);
	}
}
PPPlayer.prototype.OnPlayControlChange = function()
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.ReAnchorBalloon();
	}
}
PPPlayer.prototype.OnStateChangeEx = function(newVal)
{
	if (newVal == 7)
	{
		var ppp = GetPPP();
		if (ppp)
		{
			var playopt = ppp.PlayOption;
			if (playopt)
			{
				this.rt = playopt.rt;
				this.vtp = playopt.vtp;
				this.linkid = playopt.linkid;
			}
		}
	}

	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnStateChangeEx(newVal);
	}
}

PPPlayer.prototype.OnStateChangeExFull = function(Message,Action,wParam,lParam)
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnStateChangeExFull(Message,Action,wParam,lParam);
	}
}

PPPlayer.prototype.OnFullScreen = function(bFullScreen)
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnFullScreen(bFullScreen);
	}
	this.bFullScreen = bFullScreen;
}

PPPlayer.prototype.OnPlayItemChange = function(bCanPrevious,bCanNext)
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnPlayItemChange(bCanPrevious,bCanNext);
	}
	this.bCanPrevious = bCanPrevious;
	this.bCanNext = bCanNext;
}

PPPlayer.prototype.OnSetVolume = function(vol)
{
	this.nVolume = vol;
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnSetVolume(vol);
	}
}

PPPlayer.prototype.OnMute = function(newVal)
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnUpdateMute();
	}
}

PPPlayer.prototype.OnClickControl = function(newVal)
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnClickControl(newVal);
	}
}

PPPlayer.prototype.OnPutPosition=function(newVal)
{
	var ppplayercontrol = Components.GetObject2("PPPlayerControl");
	if (ppplayercontrol)
	{
		ppplayercontrol.OnPutPosition(newVal);
	}
}
// SIG // Begin signature block
// SIG // MIIVVgYJKoZIhvcNAQcCoIIVRzCCFUMCAQExCzAJBgUr
// SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
// SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
// SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFOrVe2xl08aC
// SIG // 3aBF4fcRmpYiKOGboIIRWzCCA3owggJioAMCAQICEDgl
// 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 // BgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBTOroRP
// SIG // OVkTBa02KD+RVKFW+u7pcDANBgkqhkiG9w0BAQEFAASB
// SIG // gFdL6dCe35TTAxLPdGMSGhO3A4msiUXkITqsU732eIEE
// SIG // /sAiGeLfmwliFImxHJ2c+i8O/fk/UgZO/A6lm3IU4mw7
// SIG // U8gZEsXjSWNPkD4494Nly1Ws0h8JdGty1MMncNhT90R0
// SIG // lSt13tVkW6KeT3SU+JZbT9aq/kzoNKKfYj2sFGProYIB
// SIG // fzCCAXsGCSqGSIb3DQEJBjGCAWwwggFoAgEBMGcwUzEL
// SIG // MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ
// SIG // bmMuMSswKQYDVQQDEyJWZXJpU2lnbiBUaW1lIFN0YW1w
// SIG // aW5nIFNlcnZpY2VzIENBAhA4Jdf6+GGvnvSQ5ya11lrV
// SIG // MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZI
// SIG // hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMTA4MjYxMzM1
// SIG // MDlaMCMGCSqGSIb3DQEJBDEWBBRSCopCBVwqMF7N5sPc
// SIG // UCkveqtcWjANBgkqhkiG9w0BAQEFAASBgJ9cfwKaHstM
// SIG // +2xuX2mN0vX/OBax+BA1YIEC5e3abj9hhRf4vq8WqZcD
// SIG // 3jwD3p5ah2Y6kYQwivuxzqAXUh/U/7LDGPOc+uic5Por
// SIG // V6B7Os6N5U5ry4IY4uQ/YYL1DcaNT+iLS/NokSNr/wVE
// SIG // p1k3sw7rd7SYiWmN8tUIOcCP8tVs
// SIG // End signature block
