Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/Program Files (x86)/Microsoft Office/Templates/1028/Behaviors11/ACTIONS/ |
// SharedLib v1.0 ///////////////////////////////////////////////////////////////////// // // escapeString // // Description: // Escapes necessary characters in string paramter. // E.g. "\" to "\\" // // Arguments: // strToEscape : string String to escape // // Return Value: // The escaped string. // ///////////////////////////////////////////////////////////////////// function escapeString( strToEscape ) { var astrUnEscaped = new Array(); var astrEscaped = new Array(); // these are regexp syntax: astrUnEscaped[0] = "\\\\"; astrUnEscaped[1] = "'"; astrUnEscaped[2] = '"'; // these are strings astrEscaped[0] = "\\\\"; astrEscaped[1] = "\\'"; astrEscaped[2] = '\\"'; return ReplaceSubStrings( strToEscape, astrUnEscaped, astrEscaped ); } ///////////////////////////////////////////////////////////////////// // // unescapeString // // Description: // Converts any escaped characters in string parameter to original, unescaped character. // E.g. "\\" to "\" // // Arguments: // strToUnEscape : string String to unescape // // Return Value: // The unescaped string. // ///////////////////////////////////////////////////////////////////// function unescapeString( strToUnEscape ) { var astrUnEscaped = new Array(); var astrEscaped = new Array(); // these are regexp syntax: astrEscaped[0] = "\\\\\\\\"; astrEscaped[1] = "\\\\'"; astrEscaped[2] = '\\\\"'; // these are strings astrUnEscaped[0] = "\\"; astrUnEscaped[1] = "'"; astrUnEscaped[2] = '"'; return ReplaceSubStrings( strToUnEscape, astrEscaped, astrUnEscaped ); } function escapeRegExpExpString( strToEscape ) { var astrUnEscaped = new Array(); var astrEscaped = new Array(); // these are regexp syntax: astrUnEscaped[0] = "\\\\"; astrUnEscaped[1] = "\\("; astrUnEscaped[2] = '\\)'; astrUnEscaped[3] = '\\.'; astrUnEscaped[4] = '\\$'; astrUnEscaped[5] = '\\{'; astrUnEscaped[6] = '\\}'; astrUnEscaped[7] = '\\['; astrUnEscaped[8] = '\\]'; astrUnEscaped[9] = '\\*'; // these are strings astrEscaped[0] = "\\\\"; astrEscaped[1] = "\\("; astrEscaped[2] = "\\)"; astrEscaped[3] = '\\.'; astrEscaped[4] = '\\$'; astrEscaped[5] = '\\{'; astrEscaped[6] = '\\}'; astrEscaped[7] = '\\['; astrEscaped[8] = '\\]'; astrEscaped[9] = '\\*'; return ReplaceSubStrings( strToEscape, astrUnEscaped, astrEscaped ); } function ReplaceSubStrings( strToReplace, astrFind, astrReplace ) { for( var nSubString = 0; nSubString < astrFind.length; nSubString++ ) { var re = new RegExp( astrFind[nSubString], "g" ); strToReplace = strToReplace.replace( re, astrReplace[nSubString] ); } return strToReplace; } function stricmp( str1, str2 ) { str1 = String( str1 ); str2 = String( str2 ); if( str1.toLowerCase() == str2.toLowerCase() ) return true; return false; } function isLowerCase( ch ) { var str = String( ch ); if( str.toLowerCase() == ch ) return true; return false; } function isUpperCase( ch ) { var str = String( ch ); if( str.toUpperCase() == ch ) return true; return false; } ///////////////////////////////////////////////////////////////////// // // isSpace // // Description: // Returns true if the given character is a particuliar representation // of a space character. // // Arguments: // ch : char The character to test // // Return Value: // True if ch is a white-space character, false otherwise. // ///////////////////////////////////////////////////////////////////// function isSpace( ch ) { switch( ch ) { case ' ': case '\r': case '\t': case '\n': return true; } return false; } ///////////////////////////////////////////////////////////////////// // // trimStringLeft // // Description: // Returns the passed in string with preceeding whitespace removed. // // Arguments: // strToTrim : string The string to be trimmed. // // Return Value: // The trimmed string. // ///////////////////////////////////////////////////////////////////// function trimStringLeft( strToTrim ) { var nPos; for( nPos = 0; nPos < strToTrim.length; nPos++ ) { if( !isSpace( strToTrim.charAt( nPos ) ) ) break; } return strToTrim.substr( nPos, strToTrim.length - nPos ); } ///////////////////////////////////////////////////////////////////// // // trimStringRight // // Description: // Returns the passed in string with proceeding whitespace removed. // // Arguments: // strToTrim : string The string to be trimmed. // // Return Value: // The trimmed string. // ///////////////////////////////////////////////////////////////////// function trimStringRight( strToTrim ) { var nPos; for( nPos = strToTrim.length - 1; nPos >= 0 ; nPos-- ) { if( !isSpace( strToTrim.charAt( nPos ) ) ) break; } return strToTrim.substr( 0, nPos + 1 ); } ///////////////////////////////////////////////////////////////////// // // trimQuotes // // Description: // Trims the preceeding and proceeding quotes around a given string. // This should be used when processing strings in a script call returned // from extractArgumentsFromScriptCall(). // // E.g. "'a string'" to "a string" // // Arguments: // strToTrim : string The string to be trimmed. // // Return Value: // The trimmed string. // ///////////////////////////////////////////////////////////////////// function trimQuotes( strToTrim ) { if( 0 < strToTrim.length ) { if( ( '\'' == strToTrim.charAt( 0 ) ) || ( '\"' == strToTrim.charAt( 0 ) ) ) { strToTrim = strToTrim.substr( 1, strToTrim.length - 1 ); } if( ( '\'' == strToTrim.charAt( strToTrim.length - 1 ) ) || ( '\"' == strToTrim.charAt( strToTrim.length - 1 ) ) ) { strToTrim = strToTrim.substr( 0, strToTrim.length - 1 ); } } return strToTrim; } /* function extractArguments( strScriptCall ) { var aRemoved = new Array(); aRemoved['('] = new Array(); aRemoved[')'] = new Array(); aRemoved[','] = new Array(); for( var nChar = 0; nChar < strScriptCall.length; nChar++ ) { var chQuote = null; if( '\'' == strScriptCall[nChar] || '\"' == strScriptCall[nChar] ) { chQuote = strScriptCall[nChar]; } if( chQuote ) { var bLastWasEscape = false; for( nChar++ ; nChar < strScriptCall.length; nChar++ ) { if( !bLastWasEscape ) { if( chQuote == strScriptCall[nChar] ) { break; } } var bRemove = false; if( '\\' == strScriptCall[nChar] ) { bLastWasEscape = true; } else { bLastWasEscape = false; } if( '(' == strScriptCall[nChar] ) bRemove = true; else if( ')' == strScriptCall[nChar] ) bRemove = true; else if( ',' == strScriptCall[nChar] ) bRemove = true; if( bRemove ) { aRemoved[strScriptCall[nChar]][aRemoved.length] = nChar; strScriptCall[nChar] = '_'; } } } } var aArguments = strArgumentList.split( "()," ); } */ ///////////////////////////////////////////////////////////////////// // // extractArgumentsFromScriptCall // // Description: // Returns an array of objects containing information about // the arguments of the original script call. // // Arguments: // strScriptCall : string The string returned by the extensions // "getScriptCall" API function. // // Return Value: // Array of "Return" objects, containing properties "strArgument" and // and "bIsURL". // ///////////////////////////////////////////////////////////////////// function extractArgumentsFromScriptCall( strScriptCall ) { function Return( strArgument, bIsURL ) { this.strArgument = strArgument; this.bIsURL = bIsURL; } var aReturn = new Array(); var nArgumentStartPos = strScriptCall.indexOf( "(" ) + 1; var nArgumentEndPos = strScriptCall.lastIndexOf( ")" ) - 1; if( ( 0 <= nArgumentStartPos ) && ( nArgumentStartPos <= nArgumentEndPos ) ) { var strArgumentList = strScriptCall.substr( nArgumentStartPos, nArgumentEndPos - nArgumentStartPos + 1 ); var oArgs = new VBArray( FrontPage.SplitArgs( strArgumentList, "," ) ); var aArguments = oArgs.toArray(); for( var nArg = 0; nArg < aArguments.length; nArg++ ) { var strArgument = aArguments[nArg]; var nLength = strArgument.length; var bIsURL = false; for( var nPos = 0; nPos < nLength; nPos++ ) { if( ( nPos + 1 < nLength ) && ( '/' == strArgument.charAt( nPos ) ) && ( '*' == strArgument.charAt( nPos+1 ) ) ) { var nCommentStart = nPos + 2; var nCommentEnd = 0; for( nPos += 2; nPos < nLength; nPos++ ) { if( ( nPos + 1 < nLength ) && ( '*' == strArgument.charAt( nPos ) ) && ( '/' == strArgument.charAt( nPos+1 ) ) ) { nCommentEnd = nPos - 1; nPos += 2; break; } } if( nCommentStart <= nCommentEnd ) { var strComment = strArgument.substr( nCommentStart, nCommentEnd - nCommentStart + 1 ); strComment.toLowerCase(); if( "url" == strComment ) { bIsURL = true; } strArgument = strArgument.substr( nCommentEnd + 3, nLength - nCommentEnd - 2 ); } break; } } strArgument = trimStringLeft( trimStringRight( strArgument ) ); aReturn[nArg] = new Return( strArgument, bIsURL ); } } return aReturn; } // HTML encode function htmlEncode(sText) { sText = ('' + sText).replace(/&/g,'&'); sText = sText.replace(/</g,'<'); sText = sText.replace(/>/g,'>'); return sText.replace(/"/g,'"'); } // HTML decode function htmlDecode(sText) { sText = ('' + sText).replace(/&/g,'&'); sText = sText.replace(/</g,'<'); sText = sText.replace(/>/g,'>'); return sText.replace(/"/g,'"'); } // Use this function for localized strings. // // Usage: // strBuildParam( "%1 and then %2", "1st", "2nd" ); // Would return: // "1st and then 2nd" // function strBuildParam(stPattern) { var re; var i; for (i = 1; i < strBuildParam.arguments.length; i++) { re = new RegExp("\\%" + i); stPattern = stPattern.replace(re, strBuildParam.arguments[i]); } return stPattern; } // SIG // Begin signature block // SIG // MIIaKAYJKoZIhvcNAQcCoIIaGTCCGhUCAQExCzAJBgUr // SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB // SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB // SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFBcNWRk+BW0A // SIG // UVgInwKKNapJv4azoIIUvDCCArwwggIlAhBKGdI4jIJZ // SIG // HKVdc18VXdyjMA0GCSqGSIb3DQEBBAUAMIGeMR8wHQYD // SIG // VQQKExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMRcwFQYD // SIG // VQQLEw5WZXJpU2lnbiwgSW5jLjEsMCoGA1UECxMjVmVy // SIG // aVNpZ24gVGltZSBTdGFtcGluZyBTZXJ2aWNlIFJvb3Qx // SIG // NDAyBgNVBAsTK05PIExJQUJJTElUWSBBQ0NFUFRFRCwg // SIG // KGMpOTcgVmVyaVNpZ24sIEluYy4wHhcNOTcwNTEyMDAw // SIG // MDAwWhcNMDQwMTA3MjM1OTU5WjCBnjEfMB0GA1UEChMW // SIG // VmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMO // SIG // VmVyaVNpZ24sIEluYy4xLDAqBgNVBAsTI1ZlcmlTaWdu // SIG // IFRpbWUgU3RhbXBpbmcgU2VydmljZSBSb290MTQwMgYD // SIG // VQQLEytOTyBMSUFCSUxJVFkgQUNDRVBURUQsIChjKTk3 // SIG // IFZlcmlTaWduLCBJbmMuMIGfMA0GCSqGSIb3DQEBAQUA // SIG // A4GNADCBiQKBgQDTLiDwaHwsLS6BHLEGsqcLtxENV9pT // SIG // 2HXjyTMqstT2CVs08+mQ/gkM0NsbWrnN5/aIsZ3AhyXr // SIG // fVgQc2p4y3EV/cZY9imrWF6WBP0tYhFYgRzKcZTVIlgv // SIG // 1cwUBYQ2upSqtE1K6e47Iq1WmX4hnGyGwEpHl2q0pjbV // SIG // /Akt07Q5mwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGFV // SIG // Dj57x5ISfhEQjiLM1LMTK1voROQLeJ6kfvOnB3Ie4lnv // SIG // zITjiZRM205h77Ok+0Y9UDQLn3BW9o4qfxfO5WO/eWkH // SIG // cy6wlSiK9e2qqdJdzQrKEAmPzrOvKJbEeSmEktz/umdC // SIG // SKaQEOS/YficU+WT0XM/+P2dT4SsVdH9EWNjMIIEAjCC // SIG // A2ugAwIBAgIQCHptXG9ik0+6xP1D4RQYnTANBgkqhkiG // SIG // 9w0BAQQFADCBnjEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1 // SIG // c3QgTmV0d29yazEXMBUGA1UECxMOVmVyaVNpZ24sIElu // SIG // Yy4xLDAqBgNVBAsTI1ZlcmlTaWduIFRpbWUgU3RhbXBp // SIG // bmcgU2VydmljZSBSb290MTQwMgYDVQQLEytOTyBMSUFC // SIG // SUxJVFkgQUNDRVBURUQsIChjKTk3IFZlcmlTaWduLCBJ // SIG // bmMuMB4XDTAxMDIyODAwMDAwMFoXDTA0MDEwNjIzNTk1 // SIG // OVowgaAxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8w // SIG // HQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTsw // SIG // OQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93 // SIG // d3cudmVyaXNpZ24uY29tL3JwYSAoYykwMTEnMCUGA1UE // SIG // AxMeVmVyaVNpZ24gVGltZSBTdGFtcGluZyBTZXJ2aWNl // SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA // SIG // wHphh+uypwNjGysaYd6AtxUdoIuQPbsnkoQUOeuFzimS // SIG // BmZIpANPjehPp/CvXtEvGceR8bWee5Ehzun/407w/K+V // SIG // WLhjLeaO9ikYzXCOUMPtlrtA274l6EJV1vaF8gbni5kc // SIG // MfMDD9RMnCQq3Bsbj4LzsO+nTeMUp+CP1sdowmFYqXLU // SIG // +DBIT9kvb2Mg2YnKgnvCS7woxYFo5+aCQKxGOqD5PzbN // SIG // TLtUQlp6ZXv+hOTHR1SsuT3sgMca98QzgYHJKpX7f146 // SIG // h5AU28wudfLva+Y9qWC+QgGqT6pbqD8iMZ8SFflzoR6C // SIG // iwQr6kYCTG2PH1AulUsqeAaEdD2RjyxHMQIDAQABo4G4 // SIG // MIG1MEAGCCsGAQUFBwEBBDQwMjAwBggrBgEFBQcwAYYk // SIG // aHR0cDovL29jc3AudmVyaXNpZ24uY29tL29jc3Avc3Rh // SIG // dHVzMAkGA1UdEwQCMAAwRAYDVR0gBD0wOzA5BgtghkgB // SIG // hvhFAQcBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3 // SIG // dy52ZXJpc2lnbi5jb20vcnBhMBMGA1UdJQQMMAoGCCsG // SIG // AQUFBwMIMAsGA1UdDwQEAwIGwDANBgkqhkiG9w0BAQQF // SIG // AAOBgQAt809jYCwY2vUkD1KzDOuzvGeFwiPtj0YNzxpN // SIG // vvN8eiAwMhhoi5K7Mpnwk7g7FQYnez4CBgCkIZKEEwrF // SIG // mOVAV8UFJeivrxFqqeU7y+kj9pQpXUBV86VTncg2Ojll // SIG // CHNzpDLSr6y/xwU8/0Xsw+jaJNHOY64Jp/viG+P9QQpq // SIG // ljCCBBIwggL6oAMCAQICDwDBAIs8PIgR0T72Y+zfQDAN // SIG // BgkqhkiG9w0BAQQFADBwMSswKQYDVQQLEyJDb3B5cmln // SIG // aHQgKGMpIDE5OTcgTWljcm9zb2Z0IENvcnAuMR4wHAYD // SIG // VQQLExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAfBgNV // SIG // BAMTGE1pY3Jvc29mdCBSb290IEF1dGhvcml0eTAeFw05 // SIG // NzAxMTAwNzAwMDBaFw0yMDEyMzEwNzAwMDBaMHAxKzAp // SIG // BgNVBAsTIkNvcHlyaWdodCAoYykgMTk5NyBNaWNyb3Nv // SIG // ZnQgQ29ycC4xHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jw // SIG // b3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFJvb3Qg // SIG // QXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A // SIG // MIIBCgKCAQEAqQK9wXDmO/JOGyifl3heMOqiqY0lX/j+ // SIG // lUyjt/6doiA+fFGim6KPYDJr0UJkee6sdslU2vLrnIYc // SIG // j5+EZrPFa3piI9YdPN4PAZLolsS/LWaammgmmdA6LL8M // SIG // tVgmwUbnCj44liypKDmo7EmDQuOED7uabFVhrIJ8oWAt // SIG // d0zpmbRkO5pQHDEIJBSfqeeRKxjmPZhjFGBYBWWfHTdS // SIG // h/en75QCxhvTv1VFs4mAvzrsVJROrv2nem10Tq8YzJYJ // SIG // KCEAV5BgaTe7SxIHPFb/W/ukZgoIptKBVlfvtjteFoF3 // SIG // BNr2vq6Alf6wzX/WpxpyXDzKvPAIoyIwswaFybMgdxOF // SIG // 3wIDAQABo4GoMIGlMIGiBgNVHQEEgZowgZeAEFvQcO9p // SIG // cp4jUX4Usk2O/8uhcjBwMSswKQYDVQQLEyJDb3B5cmln // SIG // aHQgKGMpIDE5OTcgTWljcm9zb2Z0IENvcnAuMR4wHAYD // SIG // VQQLExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xITAfBgNV // SIG // BAMTGE1pY3Jvc29mdCBSb290IEF1dGhvcml0eYIPAMEA // SIG // izw8iBHRPvZj7N9AMA0GCSqGSIb3DQEBBAUAA4IBAQCV // SIG // 6AvAjfOXGDXtuAEk2HcR81xgMp+eC8s+BZGIj8k65iHy // SIG // 8FeTLLWgR8hi7/zXzDs7Wqk2VGn+JG0/ycyq3gV83TGN // SIG // PZ8QcGq7/hJPGGnA/NBD4xFaIE/qYnuvqhnIKzclLb5l // SIG // oRKKJQ9jo/dUHPkhydYV81KsbkMyB/2CF/jlZ2wNUfa9 // SIG // 8VLHvefEMPwgMQmIHZUpGk3VHQKl8YDgA7Rb9LHdyFfu // SIG // ZUnHUlS2tAMoEv+Q1vAIj364l8WrNyzkeuSod+N2oADQ // SIG // aj/B0jaK4EESqDVqG2rbNeHUHATkqEUEyFozOG5NHA1i // SIG // twqijNPVVD9GzRxVpnDbEjqHk3Wfp9KgMIIEyTCCA7Gg // SIG // AwIBAgIQaguZT8AA3qoR1NhAmqi+5jANBgkqhkiG9w0B // SIG // AQQFADBwMSswKQYDVQQLEyJDb3B5cmlnaHQgKGMpIDE5 // SIG // OTcgTWljcm9zb2Z0IENvcnAuMR4wHAYDVQQLExVNaWNy // SIG // b3NvZnQgQ29ycG9yYXRpb24xITAfBgNVBAMTGE1pY3Jv // SIG // c29mdCBSb290IEF1dGhvcml0eTAeFw0wMDEyMTAwODAw // SIG // MDBaFw0wNTExMTIwODAwMDBaMIGmMQswCQYDVQQGEwJV // SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH // SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv // SIG // cmF0aW9uMSswKQYDVQQLEyJDb3B5cmlnaHQgKGMpIDIw // SIG // MDAgTWljcm9zb2Z0IENvcnAuMSMwIQYDVQQDExpNaWNy // SIG // b3NvZnQgQ29kZSBTaWduaW5nIFBDQTCCASAwDQYJKoZI // SIG // hvcNAQEBBQADggENADCCAQgCggEBAKKEFVPYCzAONJX/ // SIG // OhvC8y97bTcjTfPSjOX9r/3FAjQfJMflodxU7H4CdEer // SIG // 2zJYFhRRKTjxfrK0jDpHtTlOblTCMQw6bfvNzctQnBuu // SIG // p9jZSiY/tcXLj5biSfJt2OmWPt4Fz/CmVTetL2DNgGFC // SIG // oUlUSg8Yt0vZk5kwWkd1ZLTTu922qwydT7hzOxg6qrSH // SIG // jLCIsE1PH04RtTOA3w06ZG9ExzS9SpObvKYd+QUjTmAp // SIG // j8wq8oSama2o2wpwe9Y0QZClt2bHXBsdozMOm1QDGj+Y // SIG // kLjM5z0EdEMcj/c55rOsSHprKg5iAWE5dm79PpgHSxTx // SIG // AUb9FQDgR9pP5AXkgCUCAQOjggEoMIIBJDATBgNVHSUE // SIG // DDAKBggrBgEFBQcDAzCBogYDVR0BBIGaMIGXgBBb0HDv // SIG // aXKeI1F+FLJNjv/LoXIwcDErMCkGA1UECxMiQ29weXJp // SIG // Z2h0IChjKSAxOTk3IE1pY3Jvc29mdCBDb3JwLjEeMBwG // SIG // A1UECxMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEwHwYD // SIG // VQQDExhNaWNyb3NvZnQgUm9vdCBBdXRob3JpdHmCDwDB // SIG // AIs8PIgR0T72Y+zfQDAQBgkrBgEEAYI3FQEEAwIBADAd // SIG // BgNVHQ4EFgQUKVy5G7bNM+67nll99+XKLsQNNCgwGQYJ // SIG // KwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0PBAQD // SIG // AgFGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEE // SIG // BQADggEBAEVY4ppBf/ydv0h3d66M2eYZxVe0Gr20uV8C // SIG // oUVqOVn5uSecLU2e/KLkOIo4ZCJC37kvKs+31gbK6yq/ // SIG // 4BqFfNtRCD30ItPUwG2IgRVEX2SDZMSplCyK25A3Sg+3 // SIG // 6NRhj3Z24dkl/ySElY0EVlSUoRw6PoK87qWHjByMS3lf // SIG // tUn6XjJpOh9UrXVN32TnMDzbZElE+/vEHEJx5qA9Re5r // SIG // AJ+sQr26EbNW5PvVoiqB2B9OolW+J49wpqJsG/9UioK8 // SIG // gUumobFmeqkXp8sGwEfrprPpMRVTPSoEv/9zSNyLJ0P8 // SIG // Y+juJIdbvjbR6DH1Mtle33l6ujCsaYZK+4wRvxuNVFkw // SIG // ggUPMIID96ADAgECAgphBxFDAAAAAAA0MA0GCSqGSIb3 // SIG // DQEBBQUAMIGmMQswCQYDVQQGEwJVUzETMBEGA1UECBMK // SIG // V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG // SIG // A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYD // SIG // VQQLEyJDb3B5cmlnaHQgKGMpIDIwMDAgTWljcm9zb2Z0 // SIG // IENvcnAuMSMwIQYDVQQDExpNaWNyb3NvZnQgQ29kZSBT // SIG // aWduaW5nIFBDQTAeFw0wMjA1MjUwMDU1NDhaFw0wMzEx // SIG // MjUwMTA1NDhaMIGhMQswCQYDVQQGEwJVUzETMBEGA1UE // SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe // SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSsw // SIG // KQYDVQQLEyJDb3B5cmlnaHQgKGMpIDIwMDIgTWljcm9z // SIG // b2Z0IENvcnAuMR4wHAYDVQQDExVNaWNyb3NvZnQgQ29y // SIG // cG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw // SIG // ggEKAoIBAQCqmb05qBgn9Cs9C0w/fHcup8u10YwNwjp0 // SIG // 15O14KBLP1lezkVPmnkp8UnMGkfuVcIIPhIg+FXy7l/T // SIG // 4MqWvDDe/ljIJzLQhVTo8JEQu/MrvhnlA5sLhh3zsDmM // SIG // uP0LHTxzJqxXK8opohWQghXid6NAUgOLncJwuh/pNPbz // SIG // NZJOVYP42jC2IN5XBrVaQgbeWcvy36a9FUdxGSUj0stv // SIG // mxl532pb8XYFeSn8w1bKj0QIhVWKy8gPRktVy4yWd0qH // SIG // 6KlBBsf/DeloV2Nyw2lXtEPPMjow3Bvp1UMmKnn+ldsi // SIG // ZyTJL9A04+b7UUmGuDzQJV/W7J4DYYepaEDH+OID5s8F // SIG // AgMBAAGjggFAMIIBPDAOBgNVHQ8BAf8EBAMCBsAwEwYD // SIG // VR0lBAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFGvIxlEg // SIG // 8LQv06C2rn9eJrK4h1IpMIGpBgNVHSMEgaEwgZ6AFClc // SIG // uRu2zTPuu55Zffflyi7EDTQooXSkcjBwMSswKQYDVQQL // SIG // EyJDb3B5cmlnaHQgKGMpIDE5OTcgTWljcm9zb2Z0IENv // SIG // cnAuMR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9yYXRp // SIG // b24xITAfBgNVBAMTGE1pY3Jvc29mdCBSb290IEF1dGhv // SIG // cml0eYIQaguZT8AA3qoR1NhAmqi+5jBKBgNVHR8EQzBB // SIG // MD+gPaA7hjlodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v // SIG // cGtpL2NybC9wcm9kdWN0cy9Db2RlU2lnblBDQS5jcmww // SIG // DQYJKoZIhvcNAQEFBQADggEBADUj/RNU/Onc8N0MFHr6 // SIG // p7PO/ac6yLrl5/YD+1Pbp5mpoJs2nAPrgkccIb0Uy+dn // SIG // QAnHFpECVc5DQrTNG12w8zIEPRLlHacHp4+jfkVVdhuW // SIG // lZFp8N0480iJ73BAt9u1VYDAA8QutijcCoIOx0Pjekhd // SIG // uAaJkkBsbsXc+JrvC74hCowvOrXtp85xh2gj4bPkGH24 // SIG // RwGlK8RYy7KJbF/90yzEb7gjsg3/PPIRRXTyCQaZGN1v // SIG // wIYBGBIdKxavVu9lM6HqZ070S4Kr6Q/cAfrfYH9mR13L // SIG // LHDMe07ZBrhujAz+Yh5C+ZN8oqsKntAjEK5NeyeRbya+ // SIG // aPqmP58j68idu4cxggTYMIIE1AIBATCBtTCBpjELMAkG // SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO // SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m // SIG // dCBDb3Jwb3JhdGlvbjErMCkGA1UECxMiQ29weXJpZ2h0 // SIG // IChjKSAyMDAwIE1pY3Jvc29mdCBDb3JwLjEjMCEGA1UE // SIG // AxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEH // SIG // EUMAAAAAADQwCQYFKw4DAhoFAKCBqDAZBgkqhkiG9w0B // SIG // CQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4w // SIG // DAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQU01Wl // SIG // 01Yknby1e9FT7tg5OuQ4XE8wSAYKKwYBBAGCNwIBDDE6 // SIG // MDigFoAUAHMAdAByAGkAbgBnAHMALgBqAHOhHoAcaHR0 // SIG // cDovL29mZmljZS5taWNyb3NvZnQuY29tIDANBgkqhkiG // SIG // 9w0BAQEFAASCAQAdNkayTnWbY+aUNjkTEGcaT5rkcPO2 // SIG // uR3grjU+ZC2hVlv4v5C2pAkaop3qawOSJkFm04YB5ifo // SIG // 6Eqo5FEMz5KgALAEm36ahuAS6KS0Kcn3gW5wMCwaTN1k // SIG // f3V9+inmZP+ProDbVTXZsZJ1JAMdPTBMg5tlrV0P77ci // SIG // RwC+IhgHbBxeJgOBaG6M26pOhzMikGwa62GcZtyygiAc // SIG // OFzkM6N2szpBUtmjupLv9YNbfkoxOeO8J6VkGNqBY3+R // SIG // +kfXmqTTDQtBupzBsn3+CPucN0z2Kg/1kGu+McuZo5kB // SIG // mEa8EBpPZ8zH6JOYqwSCRW9+/1f0GLZdAwQsH/YuE4mn // SIG // NSk5oYICTDCCAkgGCSqGSIb3DQEJBjGCAjkwggI1AgEB // SIG // MIGzMIGeMR8wHQYDVQQKExZWZXJpU2lnbiBUcnVzdCBO // SIG // ZXR3b3JrMRcwFQYDVQQLEw5WZXJpU2lnbiwgSW5jLjEs // SIG // MCoGA1UECxMjVmVyaVNpZ24gVGltZSBTdGFtcGluZyBT // SIG // ZXJ2aWNlIFJvb3QxNDAyBgNVBAsTK05PIExJQUJJTElU // SIG // WSBBQ0NFUFRFRCwgKGMpOTcgVmVyaVNpZ24sIEluYy4C // SIG // EAh6bVxvYpNPusT9Q+EUGJ0wDAYIKoZIhvcNAgUFAKBZ // SIG // MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI // SIG // hvcNAQkFMQ8XDTAzMDcxNTA2MzAyMVowHwYJKoZIhvcN // SIG // AQkEMRIEEGIN4aT/PGSSrESgBU70hswwDQYJKoZIhvcN // SIG // AQEBBQAEggEAgMiKSZcemHADhjd92tzItS/ygNEXeVtJ // SIG // rLwtjFcSWLyA0lKPQENhnoeJHC3sdlierkFKj9mHI3IC // SIG // 64YeyPCKbzUQzt2aGq3m2QiZXuEIk2lLWJcwuOnv1H3b // SIG // rdOoBxZbdoMH/CC+cfIu1IUnPM/J4wb7EnvOiF7W3Sx7 // SIG // 34xZIVAY+uc800OZI/P3V6tI228sTg7bMM/lMrFV1IkO // SIG // fzVfjBJE2FQ1Tyn8Psthsvzo2eAvSmqAam0xmoANCH2e // SIG // g+cd/eYbstlaOoghZqbBd8tj+AfRf0sy4tdksCh/rLhi // SIG // eWWrvlbE/XC5a8d+VXSZYU+AMg0ZlYzOc+cyOAe24pwhEg== // SIG // End signature block