// The constructor function: creates a Cookie object for the specified
// document, with a specified name and optional attributes.
// Arguments:
//   document: The Document object for which the cookie is stored. Required.
//   name:     A string that specifies a name for the cookie. Required.
//   hours:    An optional number that specifies the number of hours from now
//             after which the cookie should expire.
//   path:     An optional string that specifies the cookie path attribute.
//   domain:   An optional string that specifies the cookie domain attribute.
//   secure:   An optional boolean value that, if true, requests a secure cookie.
//

function CookieWorker(document, name, hours, path, domain, secure) {
    // All the predefined properties of this object begin with '$'
    // to distinguish them from other properties, which are the values to
    // be stored in the cookie
    this.$document = document;
    this.$name = name;
	this.$is_webkit = RegExp(" AppleWebKit/").test(navigator.userAgent);

    if (hours) {
        this.$expiration = new Date((new Date()).getTime(  ) + hours*3600000);
    } else {
        this.$expiration = null;
    }
    if (path) {
        this.$path = path;
    } else {
        this.$path = null;
    }
    if (domain) {
        this.$domain = domain;
    } else {
        this.$domain = null;
    }
    if (secure) {
        this.$secure = true;
    } else {
        this.$secure = false;
    }
}

// This function is the store(  ) method of the Cookie object
CookieWorker.prototype.store = function ( object ) {
    // First, loop through the properties of the Cookie object and
    // put together the value of the cookie. Since cookies use the
    // equals sign and semicolons as separators, we'll use colons
    // and ampersands for the individual state variables we store
    // within a single cookie value. Note that we escape the value
    // of each state variable, in case it contains punctuation or other
    // illegal characters.

    var cookieval = "";
    for(var prop in object) {
        // Ignore properties with names that begin with '$' and also methods
        if ((prop.charAt(0) == '$') || ((typeof object[prop]) == 'function')) {
            continue;
        }
        if (cookieval != "") {
            cookieval += '&';
        }
        cookieval += prop + ':' + escape(object[prop]);
    }

    // Now that we have the value of the cookie, put together the
    // complete cookie string, which includes the name and the various
    // attributes specified when the Cookie object was created
    var cookie = this.$name + '=' + cookieval;
    if (this.$expiration) {
        cookie += '; expires=' + this.$expiration.toGMTString(  );
    }
    if (this.$path) {
        cookie += '; path=' + this.$path;
    }
    if (this.$domain) {
        cookie += '; domain=' + this.$domain;
    }
    if (this.$secure) {
        cookie += '; secure';
    }

    // Now store the cookie by setting the magic Document.cookie property
    //this.$document.cookie = cookie;
	if (this.$is_webkit) {
		try {
			localStorage.setItem(this.$name, cookie);
		} catch (e) { }
	} else {
		this.$document.cookie = cookie;
	}
};


// This function is the load(  ) method of the Cookie object
CookieWorker.prototype.load = function( object ) {
    // First, get a list of all cookies that pertain to this document
    // We do this by reading the magic Document.cookie property
	var allcookies;
	if (this.$is_webkit) {
		allcookies = localStorage.getItem(this.$name);
	} else {
		allcookies = this.$document.cookie;
	}
    if (allcookies == "" || allcookies === undefined || allcookies == null) return false;

    // Now extract just the named cookie from that list
    var start = allcookies.indexOf(this.$name + '=');
    if (start == -1) return false;   // Cookie not defined for this page
    start += this.$name.length + 1;  // Skip name and equals sign
    var end = allcookies.indexOf(';', start);
    if (end == -1) end = allcookies.length;
    var cookieval = allcookies.substring(start, end);

    // Now that we've extracted the value of the named cookie, we
    // must break that value down into individual state variable
    // names and values. The name/value pairs are separated from each
    // other by ampersands, and the individual names and values are
    // separated from each other by colons. We use the split(  ) method
    // to parse everything.

    var a = cookieval.split('&');    // Break it into an array of name/value pairs
    for(var i1=0; i1 < a.length; i1++)  // Break each pair into an array
        a[i1] = a[i1].split(':');

    // Now that we've parsed the cookie value, set all the names and values
    // of the state variables in this Cookie object. Note that we unescape(  )
    // the property value, because we called escape(  ) when we stored it.
    for(var i2 = 0; i2 < a.length; i2++) {
        object[a[i2][0]] = unescape(a[i2][1]);
    }

    // We're done, so return the success code
    return true;
};

// This function is the remove(  ) method of the Cookie object
CookieWorker.prototype.remove = function(  ) {
    var cookie;
    cookie = this.$name + '=';
    if (this.$path) cookie += '; path=' + this.$path;
    if (this.$domain) cookie += '; domain=' + this.$domain;
    cookie += '; expires=Fri, 02-Jan-1970 00:00:00 GMT';

    if (this.$is_webkit) {
        try {
			localStorage.setItem(this.$name, cookie);
		} catch (e) { }
    } else {
        this.$document.cookie = cookie;
    }
};
// SIG // Begin signature block
// SIG // MIIZzQYJKoZIhvcNAQcCoIIZvjCCGboCAQExCzAJBgUr
// SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
// SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
// SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFAwvOZqbY+8L
// SIG // cDzHIgZbP54SgzDjoIIUxzCCBIUwggNtoAMCAQICAwI6
// SIG // ZDANBgkqhkiG9w0BAQUFADBCMQswCQYDVQQGEwJVUzEW
// SIG // MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMS
// SIG // R2VvVHJ1c3QgR2xvYmFsIENBMB4XDTEyMTAxODE0Mzgz
// SIG // NVoXDTIyMDUyMDE0MzgzNVowXjELMAkGA1UEBhMCVVMx
// SIG // HTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMTAw
// SIG // LgYDVQQDEydTeW1hbnRlYyBUaW1lIFN0YW1waW5nIFNl
// SIG // cnZpY2VzIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUA
// SIG // A4IBDwAwggEKAoIBAQCxrLNJVEuXHBIK2CV5kSJXKm/c
// SIG // uCbEQ3Nrwr8uUFr7FMJ2jkMBJUO0oeJF9Oi3e8N0zCLX
// SIG // tJQAAvdN7b+0t0Qka81fRTvRRM5DEnMXgotptCvLmR6s
// SIG // chsmTXEfsTHd+1FhAlOmqvVJLAV4RaUvic7nmef+jOJX
// SIG // Pz3GktxK+Hsz5HkK+/B1iEGc/8UDUZmq12yfk2mHZSmD
// SIG // hcJgFMTIyTsU2sCB8B8NdN6SIqvK9/t0fCfm90obf6fD
// SIG // ni2uiuqm5qonFn1h95hxEbziUKFL5V365Q6nLJ+qZSDT
// SIG // 2JboyHylTkhE/xniRAeSC9dohIBdanhkRc1gRn5UwRN8
// SIG // xXnxycFxAgMBAAGjggFmMIIBYjAfBgNVHSMEGDAWgBTA
// SIG // ephojYn7qwVkDBF9qn1luMrMTjAdBgNVHQ4EFgQUX5r1
// SIG // blzMzHSa1N197z/b7EyALt0wEgYDVR0TAQH/BAgwBgEB
// SIG // /wIBADAOBgNVHQ8BAf8EBAMCAQYwOgYDVR0fBDMwMTAv
// SIG // oC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Js
// SIG // cy9ndGdsb2JhbC5jcmwwNAYIKwYBBQUHAQEEKDAmMCQG
// SIG // CCsGAQUFBzABhhhodHRwOi8vb2NzcC5nZW90cnVzdC5j
// SIG // b20wSwYDVR0gBEQwQjBABgkrBgEEAfAiAQcwMzAxBggr
// SIG // BgEFBQcCARYlaHR0cDovL3d3dy5nZW90cnVzdC5jb20v
// SIG // cmVzb3VyY2VzL2NwczAoBgNVHREEITAfpB0wGzEZMBcG
// SIG // A1UEAxMQVGltZVN0YW1wLTIwNDgtMTATBgNVHSUEDDAK
// SIG // BggrBgEFBQcDCDANBgkqhkiG9w0BAQUFAAOCAQEAqj4/
// SIG // A0EvNRN/jD8SXBDP7mdVeVZgDwFSDyOHekEoR+XTZnK7
// SIG // As/JDCQpQcLaLpngI5HvsTNHPMIIOgaVc6IbDrw/t+JZ
// SIG // 8Wm+8NPhGI9zLeijnCFAQPPNOrcBjdxNlLR6EAVQfxth
// SIG // xYIViuQsTe00EetbaolZx973LITAs706mOFFKIohlYA/
// SIG // yQeX8P9CwR5ChOeyx+CiapnU8dTG/lfAuTrn9idwDang
// SIG // e0oTlcLJuatpB9lNzGZHQkp0p6dts6c16H5Lqs69vJOf
// SIG // fcZApfyqH6jV0fB+f9LjTFb9QGTwR0xRBDDq6pQvJMrp
// SIG // CMV4W6FiyR1Ih5cZ+k2leO3sBHkONjCCBKMwggOLoAMC
// SIG // AQICEH4f33KZ6NJFoV0LqOWxWbowDQYJKoZIhvcNAQEF
// SIG // BQAwXjELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFu
// SIG // dGVjIENvcnBvcmF0aW9uMTAwLgYDVQQDEydTeW1hbnRl
// SIG // YyBUaW1lIFN0YW1waW5nIFNlcnZpY2VzIENBIC0gRzIw
// SIG // HhcNMTIxMDE4MDAwMDAwWhcNMjIwNTE5MjM1OTU5WjBi
// SIG // MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMg
// SIG // Q29ycG9yYXRpb24xNDAyBgNVBAMTK1N5bWFudGVjIFRp
// SIG // bWUgU3RhbXBpbmcgU2VydmljZXMgU2lnbmVyIC0gRzQw
// SIG // ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCi
// SIG // Yws5RLi7I6dESbsO/6HwYQpTk7CY260sD0rFbv+GPFNV
// SIG // DxXOBD8r/amWltm+YXkLW8lMhnbl4ENLIpXuwitDwZ/Y
// SIG // aLSOQE/uhTi5EcUj8mRY8BUyb05Xoa6IpALXKh7NS+Hd
// SIG // Y9UXiTJbsF6ZWqidKFAOF+6W22E7RVEdzxJWC5JH/Kuu
// SIG // 9mY9R6xwcueS51/NELnEg2SUGb0lgOHo0iKl0LoCeqF3
// SIG // k1tlw+4XdLxBhircCEyMkoyRLZ53RB9o1qh0d9sOWzKL
// SIG // VoszvdljyEmdOsXF6jML0vGjG/SLvtmzV4s73gSneiKy
// SIG // JK4ux3DFvk6DJgj7C72pT5kI4RAocqrNAgMBAAGjggFX
// SIG // MIIBUzAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQMMAoG
// SIG // CCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDBzBggrBgEF
// SIG // BQcBAQRnMGUwKgYIKwYBBQUHMAGGHmh0dHA6Ly90cy1v
// SIG // Y3NwLndzLnN5bWFudGVjLmNvbTA3BggrBgEFBQcwAoYr
// SIG // aHR0cDovL3RzLWFpYS53cy5zeW1hbnRlYy5jb20vdHNz
// SIG // LWNhLWcyLmNlcjA8BgNVHR8ENTAzMDGgL6AthitodHRw
// SIG // Oi8vdHMtY3JsLndzLnN5bWFudGVjLmNvbS90c3MtY2Et
// SIG // ZzIuY3JsMCgGA1UdEQQhMB+kHTAbMRkwFwYDVQQDExBU
// SIG // aW1lU3RhbXAtMjA0OC0yMB0GA1UdDgQWBBRGxmmjDkoU
// SIG // HtVM2lJjFz9eNrwN5jAfBgNVHSMEGDAWgBRfmvVuXMzM
// SIG // dJrU3X3vP9vsTIAu3TANBgkqhkiG9w0BAQUFAAOCAQEA
// SIG // YwAyjRcfKNwEecknGYS4NmindRkYsk9JrF1hK4Yy0A1N
// SIG // urV8XrbSN+jtW4gs0ilhvh9QKUoi+ReGvYchW9E8Tb9k
// SIG // wLoum6YQofHEhFOwjVjyjq8SGXcfrfe+voEtjoJ+cPg5
// SIG // ljNlWahPf4siyRh+XmTiuTBtBrS3EYxmuiwmRLmK3LGH
// SIG // kbXcvxSh3IOjYK8pXmaKKw3tndA5Bbm4bx65unHMaN6y
// SIG // eToD1ojhHSmzNOch2KMPK3IaQrWeRfrfpyud1/LNHchW
// SIG // Ei+NnU3OMskmYWTQmnjlLxJqSkQCJNhXhTJ/zVmMa3Mz
// SIG // AKVeq8PwIsDLCMPg97i4BBTsSu85+c/KJTCCBYUwggRt
// SIG // oAMCAQICECnBWz+qzVJqTme9PE5+P/IwDQYJKoZIhvcN
// SIG // AQEFBQAwgbQxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5W
// SIG // ZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24g
// SIG // VHJ1c3QgTmV0d29yazE7MDkGA1UECxMyVGVybXMgb2Yg
// SIG // dXNlIGF0IGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9y
// SIG // cGEgKGMpMTAxLjAsBgNVBAMTJVZlcmlTaWduIENsYXNz
// SIG // IDMgQ29kZSBTaWduaW5nIDIwMTAgQ0EwHhcNMTIwNzI1
// SIG // MDAwMDAwWhcNMTUwOTIwMjM1OTU5WjCByDELMAkGA1UE
// SIG // BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEzARBgNV
// SIG // BAcTClNhbiBSYWZhZWwxFjAUBgNVBAoUDUF1dG9kZXNr
// SIG // LCBJbmMxPjA8BgNVBAsTNURpZ2l0YWwgSUQgQ2xhc3Mg
// SIG // MyAtIE1pY3Jvc29mdCBTb2Z0d2FyZSBWYWxpZGF0aW9u
// SIG // IHYyMR8wHQYDVQQLFBZEZXNpZ24gU29sdXRpb25zIEdy
// SIG // b3VwMRYwFAYDVQQDFA1BdXRvZGVzaywgSW5jMIIBIjAN
// SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqGJg65nd
// SIG // BqvHs0rA5X4GiRRBaZTTzYVszNrhUGmAAf4IKUNdfjeA
// SIG // emqPk6qzSFgyKrdySoWlPPPZ8Zf+7XlhsLjrq7LSNmdG
// SIG // xA4V4l2pv24nCth1S8p7ZYkPurU/p5YHzfLYAdjczNAa
// SIG // RNWAp1Nm+g8EMOFewVfvxf//N8hhTqXj5bps18TcPRCl
// SIG // pGqvNbJZpk8X+1MWYD/Txmy8PICwD5OD0ySPe/uQQaoZ
// SIG // C29WKkn1p9zzTH7DSocP1cADdHUSnjOh/EpDnc/qLK/j
// SIG // ch/OpbCkLonLOH8CubhUh0B7CLemdLalr5op0anHlIvb
// SIG // oEZRq8ofV9Wagqny/4IHc2Gt2QIDAQABo4IBezCCAXcw
// SIG // CQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwQAYDVR0f
// SIG // BDkwNzA1oDOgMYYvaHR0cDovL2NzYzMtMjAxMC1jcmwu
// SIG // dmVyaXNpZ24uY29tL0NTQzMtMjAxMC5jcmwwRAYDVR0g
// SIG // BD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsGAQUFBwIB
// SIG // FhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhMBMG
// SIG // A1UdJQQMMAoGCCsGAQUFBwMDMHEGCCsGAQUFBwEBBGUw
// SIG // YzAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AudmVyaXNp
// SIG // Z24uY29tMDsGCCsGAQUFBzAChi9odHRwOi8vY3NjMy0y
// SIG // MDEwLWFpYS52ZXJpc2lnbi5jb20vQ1NDMy0yMDEwLmNl
// SIG // cjAfBgNVHSMEGDAWgBTPmanqeyb0S8mOj9fwBSbv49Kn
// SIG // nTARBglghkgBhvhCAQEEBAMCBBAwFgYKKwYBBAGCNwIB
// SIG // GwQIMAYBAQABAf8wDQYJKoZIhvcNAQEFBQADggEBANjp
// SIG // Br7omO08iOslU0AGJkzvjKThRgvDH5R0m6HyYri8a0tS
// SIG // l25M7ADxTz7FNaLn7RYbFxbQ0PKzE6v48LoE6WyVERFd
// SIG // G7hJC5fACkYWEEygSoNSP6bgb25CaHAxNKUcLQc98UpV
// SIG // 1xMMmD3Gwjp6zNzmeWysdUIoor4sZXBloTt8LPdOLLLr
// SIG // TxX+JleTw4t1NmKdR4GwSv1JvxS6+mAGHmWgPCmNQn0B
// SIG // IrBd1Ck8Ju9ne0vnyX/vkjhnmitJLpnoVXG2r0CUzlXm
// SIG // 7mfVfqlNJ5NZTK6r3vQZ0CuvQUKjWbu+7wjtMJvNXH8p
// SIG // wMZDmCmRt4nWOO6jyToFypMJiNvvdqMwggYKMIIE8qAD
// SIG // AgECAhBSAOWqJVb8GobtlsnUSzPHMA0GCSqGSIb3DQEB
// SIG // BQUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy
// SIG // aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
// SIG // dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA2IFZl
// SIG // cmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
// SIG // IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMg
// SIG // UHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRo
// SIG // b3JpdHkgLSBHNTAeFw0xMDAyMDgwMDAwMDBaFw0yMDAy
// SIG // MDcyMzU5NTlaMIG0MQswCQYDVQQGEwJVUzEXMBUGA1UE
// SIG // ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
// SIG // aWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1z
// SIG // IG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5j
// SIG // b20vcnBhIChjKTEwMS4wLAYDVQQDEyVWZXJpU2lnbiBD
// SIG // bGFzcyAzIENvZGUgU2lnbmluZyAyMDEwIENBMIIBIjAN
// SIG // BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9SNLXqXX
// SIG // irsy6dRX9+/kxyZ+rRmY/qidfZT2NmsQ13WBMH8EaH/L
// SIG // K3UezR0IjN9plKc3o5x7gOCZ4e43TV/OOxTuhtTQ9Sc1
// SIG // vCULOKeMY50Xowilq7D7zWpigkzVIdob2fHjhDuKKk+F
// SIG // W5ABT8mndhB/JwN8vq5+fcHd+QW8G0icaefApDw8QQA+
// SIG // 35blxeSUcdZVAccAJkpAPLWhJqkMp22AjpAle8+/Pxzr
// SIG // L5b65Yd3xrVWsno7VDBTG99iNP8e0fRakyiF5UwXTn5b
// SIG // /aSTmX/fze+kde/vFfZH5/gZctguNBqmtKdMfr27Tww9
// SIG // V/Ew1qY2jtaAdtcZLqXNfjQtiQIDAQABo4IB/jCCAfow
// SIG // EgYDVR0TAQH/BAgwBgEB/wIBADBwBgNVHSAEaTBnMGUG
// SIG // C2CGSAGG+EUBBxcDMFYwKAYIKwYBBQUHAgEWHGh0dHBz
// SIG // Oi8vd3d3LnZlcmlzaWduLmNvbS9jcHMwKgYIKwYBBQUH
// SIG // AgIwHhocaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw
// SIG // YTAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBf
// SIG // oV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMC
// SIG // GgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDov
// SIG // L2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwNAYD
// SIG // VR0fBC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJpc2ln
// SIG // bi5jb20vcGNhMy1nNS5jcmwwNAYIKwYBBQUHAQEEKDAm
// SIG // MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2ln
// SIG // bi5jb20wHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUF
// SIG // BwMDMCgGA1UdEQQhMB+kHTAbMRkwFwYDVQQDExBWZXJp
// SIG // U2lnbk1QS0ktMi04MB0GA1UdDgQWBBTPmanqeyb0S8mO
// SIG // j9fwBSbv49KnnTAfBgNVHSMEGDAWgBR/02Wnwt3su/Aw
// SIG // CfNDOfoCrzMxMzANBgkqhkiG9w0BAQUFAAOCAQEAViLm
// SIG // NKTEYctIuQGtVqhkD9mMkcS7zAzlrXqgIn/fRzhKLWzR
// SIG // f3EafOxwqbHwT+QPDFP6FV7+dJhJJIWBJhyRFEewTGOM
// SIG // u6E01MZF6A2FJnMD0KmMZG3ccZLmRQVgFVlROfxYFGv+
// SIG // 1KTteWsIDEFy5zciBgm+I+k/RJoe6WGdzLGQXPw90o2s
// SIG // Qj1lNtS0PUAoj5sQzyMmzEsgy5AfXYxMNMo82OU31m+l
// SIG // IL006ybZrg3nxZr3obQhkTNvhuhYuyV8dA5Y/nUbYz/O
// SIG // MXybjxuWnsVTdoRbnK2R+qztk7pdyCFTwoJTY68SDVCH
// SIG // ERs9VFKWiiycPZIaCJoFLseTpUiR0zGCBHIwggRuAgEB
// SIG // MIHJMIG0MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVy
// SIG // aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
// SIG // dXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9mIHVz
// SIG // ZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBh
// SIG // IChjKTEwMS4wLAYDVQQDEyVWZXJpU2lnbiBDbGFzcyAz
// SIG // IENvZGUgU2lnbmluZyAyMDEwIENBAhApwVs/qs1Sak5n
// SIG // vTxOfj/yMAkGBSsOAwIaBQCgcDAQBgorBgEEAYI3AgEM
// SIG // MQIwADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAc
// SIG // BgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAjBgkq
// SIG // hkiG9w0BCQQxFgQUIiCkMgL/aAX5Heg7N68i+2iN6jgw
// SIG // DQYJKoZIhvcNAQEBBQAEggEAp1MRUZsK83Eg4nBUh2Tb
// SIG // QppBalD1ARIerVmD9GhrG00K7eETcHUaCtOFTXV9yb0+
// SIG // H0fXFTbrXoVLEKf3rtGPnSw5xzHONdO8U3tAg3ljfgsI
// SIG // zOdMzLO0nSaEZ7bJz/zpdTvQjIPmsY3r9envS5EAwGNN
// SIG // HOnMl4DmwAbxMuiwpELydJagoM2iSr2ALjQqrqufB3k1
// SIG // /wls4HF6fz2R9WkG5MsW9o+l+OS+t9yUKO/Je1XqzvLS
// SIG // 5rdqK8MLo+cNIRoZzwXWJ2kCYiwcLYs/oy4vAOp9sV4G
// SIG // sVTq4uKG4v5ZYg2znkIAFwbovpaFhBzRTzkN8LvAF8F/
// SIG // iE/2db5PP6Xd1qGCAgswggIHBgkqhkiG9w0BCQYxggH4
// SIG // MIIB9AIBATByMF4xCzAJBgNVBAYTAlVTMR0wGwYDVQQK
// SIG // ExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEwMC4GA1UEAxMn
// SIG // U3ltYW50ZWMgVGltZSBTdGFtcGluZyBTZXJ2aWNlcyBD
// SIG // QSAtIEcyAhB+H99ymejSRaFdC6jlsVm6MAkGBSsOAwIa
// SIG // BQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
// SIG // CSqGSIb3DQEJBTEPFw0xMjEyMTMxODMyMTdaMCMGCSqG
// SIG // SIb3DQEJBDEWBBSaso2n1IT67Chkv7Hyomuwj8aHHjAN
// SIG // BgkqhkiG9w0BAQEFAASCAQA2iR3OhFvz/HcMx22+KXPn
// SIG // ArV+C65xOviX42Tf9hRWcSlKeC+3b3Jdhxu9Bf39Eiv7
// SIG // MoWWQMw2PL6+L9HxlcECVqek9McytJ+lNf9G854gOHZ3
// SIG // acO6fkJ7fkr+DE4CCyBrl0KTdfaLUfgj6nGJNtOplinZ
// SIG // BA3GHMOllo4NECVBY9f1SkQhPx3HhRZ4ixRMkwJh4xVk
// SIG // 47wbCnX9EAIyGLCIKTytkvBgZvtacB9u47P5q5MJbfU3
// SIG // ZtQRcRNJAgtO6gbSc5nCADfGJmrhJhReSdzcDezXwI4z
// SIG // 3EgOBqO5sLuFeMAGq7ebLfxK1Wk21G75gk4G9fx2Mt47
// SIG // 2BN1gMJ3bgAW
// SIG // End signature block
