if (top.HlpSys === undefined) {
    top.HlpSys = new Object();
}

top.HlpSys.highlight = function(){
    var searchObj;
    var highlightObj;

    function decodeReferrer(q, config) {
        var query = new Array();

        if (q != null && q.length > 0) {
            query[0] = q[0];
            for (var i1 = 0; i1 < q.length; i1++) {
                query[query.length] = q[i1];
                if (i1 != 0) {
                    query[0] += "[^\\w]+" + q[i1];
                }
            }

        } else {
            return null;
        }

        var caseSens = config.caseSensitive;
        var exact = config.wholeWords;
        var qre = new Array();
        for (var i2 = 0; i2 < query.length; i2 ++) {
            query[i2] = caseSens ? query[i2] : query[i2].toLowerCase();
            if (exact)
                qre.push('\\b' + query[i2] + '\\b');
            else
                qre.push(query[i2]);
        }

        for (var i3 = 0; i3 < qre.length; i3 ++) {
            qre[i3] = new RegExp(qre[i3], caseSens ? "" : "i");
        }

        return qre;

    };

    function hiliteElement(elm, query) {
        if (!query || elm.childNodes.length == 0)
            return;

        var qre = query;
        var searchMethod = searchObj.config.searchMethod;

        var textproc = function(node, querryNum) {
            var q = querryNum;
            var match = null;
            var continuedSearch = true;
            if (searchMethod == 'phrase') {
                if (querryNum == 0) {
                    match = qre[q].exec(node.data);
                    q++;
                    querryNum++;
                    continuedSearch = false;
                }
                if (match) {
                    var val = match[0];
                    var k = '';
                    var node2 = node.splitText(match.index);
                    var node3 = node2.splitText(val.length);
                    var span = node.ownerDocument.createElement('SPAN');
                    node.parentNode.replaceChild(span, node2);
                    span.className = highlightObj.config.stylemapper[0];
                    span.appendChild(node2);
                    return span;
                } else {
                    if (qre[q] && qre[q].exec(node.data)) {
                        var words = normalizeSpace(node.data).split(/[\[ | \^ | \$ | \. | \| | \+ | \( | \) | ` | ~ | ! | # | % | & | - | \- | _ | = | \] | { | } | ; | ' | " | < | > | ,]/);
                        var w = 0;
                        var wrongSearch = false;
                        if (q == 1) {
                            for (w = 0; w < words.length; w++) {
                                if (qre[q].exec(words[w])) {
                                    break;
                                }
                            }
                        }
                        while (q < qre.length && w < words.length) {
                            if (qre[q].exec(words[w])) {
                                q++;
                                w++;
                            } else if (searchObj.data.stopWordsList[words[w].toLowerCase()] || words[w].length == 0) {
                                w++;
                            } else {
                                wrongSearch = true;
                                break;
                            }
                        }
                        if (!wrongSearch) {
                            q--;
                            if (q + 1 == qre.length) {
                                var matchS = qre[querryNum].exec(node.data);
                                var node2 = node.splitText(matchS.index);
                                var matchE = qre[q].exec(node2.data);
                                var node3 = node2.splitText(matchE.index + matchE[0].length);
                                var span = node.ownerDocument.createElement('SPAN');
                                node.parentNode.replaceChild(span, node2);
                                span.className = highlightObj.config.stylemapper[0];
                                span.appendChild(node2);
                                return span;
                            } else {
                                var nextNode = getFollowingTextNode(node);
                                if (nextNode != null) {
                                    var nextProcessedNode = textproc(nextNode, q + 1)
                                    if (nextNode != nextProcessedNode) {
                                        var matchS = qre[querryNum].exec(node.data);
                                        var node2 = node.splitText(matchS.index);
                                        var span = node.ownerDocument.createElement('SPAN');
                                        node.parentNode.replaceChild(span, node2);
                                        span.className = highlightObj.config.stylemapper[0];
                                        span.appendChild(node2);
                                        return nextProcessedNode;
                                    }
                                }
                            }
                        } else if (!continuedSearch && w < words.length) {
                            var matchT = (new RegExp(words[w], "i")).exec(node.data)
                            if (matchT) {
                                var node2 = node.splitText(matchT.index + matchT[0].length);
                                if (node.data.length - matchT.index - matchT[0].length == 0) {
                                    return node;
                                } else {
                                    return textproc(node2, 0);
                                }
                            }
                        }
                    }
                    return node;
                }
            } else {
                for (var i = 0; i < qre.length; i++) {
                    match = qre[i].exec(node.data);
                    if (match) {
                        var val = match[0];
                        var node2 = node.splitText(match.index);
                        var node3 = node2.splitText(val.length);
                        var span = node.ownerDocument.createElement('SPAN');
                        node.parentNode.replaceChild(span, node2);
                        span.className = highlightObj.config.stylemapper[0];
                        span.appendChild(node2);
                        return span;
                    }
                }
                return node;
            }
        };
        walkElements(elm.childNodes[0], 1, textproc);
    };

    function walkElements(node, depth, textproc) {
        var skipre = /^(head|script|style|textarea)/i;
        var count = 0;
        while (node && depth > 0) {
            count ++;
            if (count >= highlightObj.config.max_nodes) {
                var handler = function() {
                    walkElements(node, depth, textproc);
                };
                setTimeout(handler, 50);
                return;
            }

            if (node.nodeType == 1) { // ELEMENT_NODE
                if (!skipre.test(node.tagName) && node.childNodes.length > 0) {
                    node = node.childNodes[0];
                    depth ++;
                    continue;
                }
            } else if (node.nodeType == 3) { // TEXT_NODE
                node = textproc(node, 0);
                if (node.parentNode == null) {
                    alert(node.nodeName + ":1" + node.data + ":");
                }
            }

            if (node == null) {
                return;
            }

            if (node.nextSibling) {
                node = node.nextSibling;
            } else {
                while (depth > 0) {
                    node = node.parentNode;
                    depth --;
                    if (node.nextSibling) {
                        node = node.nextSibling;
                        break;
                    }
                }
            }
        }
    };

    function getFollowingTextNode(node) {
        node = getFollowingNode(node);
        if (node) {
            if (node.nodeType == 3 && normalizeSpace(node.data).length > 0) {
                return node;
            } else {
                return getFollowingTextNode(node);
            }
        } else {
            return null;
        }
    };

    function getFollowingNode(node) {
        if (node) {
            if (node.firstChild) {
                return node.firstChild;
            } else if (node.nextSibling) {
                return node.nextSibling;
            } else {
                while (node.parentNode) {
                    node = node.parentNode;
                    if (node.nextSibling) {
                        return node.nextSibling;
                    }
                }
                return null;
            }
        } else return null;
    };

    function normalizeSpace(string) {
        var regexp = new RegExp("[\\s][\\s]+","g");
        while(string.match(regexp)) {
            string = string.replace(regexp," ");
        }
        if (string.length == 1 && string == " ") {
            return "";
        } else {
            return string;
        }
    };

    function disHilite(node, config) {
        if (node != null) {
            if (node.nodeType == 1 || node.nodeType == 9) { // ELEMENT_NODE
                if ((node.nodeName.toLowerCase() == "span") && (node.attributes["class"] != null) && (node.attributes["class"].nodeValue.indexOf(config.stylename) == 0)) {
                    var childs1 = node.childNodes;
                    for (var j = 0; j < childs1.length; j++) {
                        node.parentNode.insertBefore(childs1[j], node);
                    }
                    node.parentNode.removeChild(node);
                } else if (node.childNodes.length > 0) {
                    var childs2 = node.childNodes;
                    for (var i = 0; i < childs2.length; i++) {
                        disHilite(childs2[i], config);
                    }
                }
            }
        }
    }

    function parseUrlParameters(queryString) {
        var args = new Object();
        var pairs = queryString.split(",");                 // Break at comma
        for (var i = 0; i < pairs.length; i++) {
            var pos = pairs[i].indexOf('=');          // Look for "name=value"
            if (pos == -1) continue;                  // If not found, skip
            var argname = pairs[i].substring(0, pos);  // Extract the name
            var value = pairs[i].substring(pos + 1);    // Extract the value
            args[argname] = decodeURIComponent(value);
        }

        return args;
    };



    return {
		config: {
            onload: true,
			elementid: '',
			max_nodes: 500,
			stylename: 'hilite',
			stylemapper: ['hilite','hilite1','hilite2'],
			debug_referrer: ''
		},

        onload: function() {
            if (top.HlpSys.search !== undefined) {
                searchObj = top.HlpSys.search;
                highlightObj = top.HlpSys.highlight;
                var parameters = window.location.search.substring(1);
                var args = parseUrlParameters(parameters);
                var arg = args["highlighting"];
                if (arg && arg.length > 0) {
                    var decodedWords = decodeURIComponent(arg);
                    var words = decodedWords.split("|");
                    var q = decodeReferrer(words, searchObj.config);
                    top.HlpSys.highlight.hilite(window.document, q, searchObj.config.highlightEnable);
                }
            }
        },

		hilite: function(doc, query, enable) {
			if (enable && query.length > 0) {
				if (doc != null) {
					hiliteElement(doc, query);
				}
			} else {
				disHilite(doc, this.config);
			}
		}
    };
}();

if (top.HlpSys.highlight.config.onload) {
    AddOnLoadFunction(top.HlpSys.highlight.onload);
}

// SIG // Begin signature block
// SIG // MIIZzQYJKoZIhvcNAQcCoIIZvjCCGboCAQExCzAJBgUr
// SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
// SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB
// SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFE2MzsbLmTfE
// SIG // zKMok2hIh80KFzvooIIUxzCCBIUwggNtoAMCAQICAwI6
// 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 // hkiG9w0BCQQxFgQU8GD/5C80JfZ3/FIahsrnYdceDf0w
// SIG // DQYJKoZIhvcNAQEBBQAEggEAp/VFsM2fBHwXNk5lJSq+
// SIG // DVKkzzEPzilvkfgVIT2/jD6h/GsYrzIMfKP3NGp0VzVA
// SIG // KB96k7qTA5swO5rejMnrCTpB/sljVqdLE7JmIZgGiwAo
// SIG // QCi5qMlZseeU8lMN6utYlVaWY0V0WMemltEYKJaC9GtJ
// SIG // QLIm7+I8SPra0jLeym6yJupAWwvCxIOU0h3EcVe7wW6i
// SIG // shUsL2KXM8zgdcTnY5vPs2gLlH8oVLljkc1SEhzsgB3T
// SIG // xjbKVcE3SALn2DNlS1FR7qik6UevPOD80z3Do0qK/bYi
// SIG // IPbcJHXFezIxX/E48kywXN2cYl6E2u1nGqN2muw1MrG1
// SIG // bBVsgY9abAuTPKGCAgswggIHBgkqhkiG9w0BCQYxggH4
// SIG // MIIB9AIBATByMF4xCzAJBgNVBAYTAlVTMR0wGwYDVQQK
// SIG // ExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEwMC4GA1UEAxMn
// SIG // U3ltYW50ZWMgVGltZSBTdGFtcGluZyBTZXJ2aWNlcyBD
// SIG // QSAtIEcyAhB+H99ymejSRaFdC6jlsVm6MAkGBSsOAwIa
// SIG // BQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG
// SIG // CSqGSIb3DQEJBTEPFw0xMjEyMTMxODMyMTZaMCMGCSqG
// SIG // SIb3DQEJBDEWBBSJ4vQyIn1ju4TS5sCU6aEXAiyHdTAN
// SIG // BgkqhkiG9w0BAQEFAASCAQCdHGlY1zSiKyO8MdVrbhGU
// SIG // ba9tqqaZMXvjDA+s2i7vZ84fVctp9Mq/6sRvvEkV5Nsn
// SIG // AVBYtlC3LrWtX3vT7Q4XJe88+NJGD3FbEFIe2zjv40yd
// SIG // zkxmyMLQ3GtTJQF9wOL+ujBsccdudNFZvKpdFbGXK56z
// SIG // UrnS4RbMJMHF78C+q1U6AFI6RYHSmVX1WFUvcT326JEa
// SIG // MJnUDENwvvGoPwveK0j4w+t3zbSd55ODEItYqkpFcQTE
// SIG // PKtUMt6wB3lO1NbhUR0+JzQJsQcKMu79OZ6UQM9W2Ej1
// SIG // GeE0FHJ9TvTx26+RFQeSsJmiiIhWkh97KtO4zrtLr1V/
// SIG // 9pqqogNxYGxh
// SIG // End signature block
